C语言程序设计》试题库
1. 以下选项中,非法的字符常量   C 
A’\n’            B’\t’            C“\n”            D‘\x0a’
2. C语言中,合法的八进制常量是  B 
A32                B016                C0X2d            D-100
3. C语言中,合法的长整型常量是  B 
A3276893          B27L                C3.14            D65535
4. 十进制整数200的十六进制表示为   D 
5. 下列叙述中正确的是
    AC语言编译时不检查语法      BC语言的子程序有过程和函数两种
    CC语言的函数可以嵌套定义    DC语言所有函数都是外部函数
6. xyt均为int型变量,则执行语句:x=y=2t=++x||++y;后,y的值为  C  /*运算符*/
A4                B3                C2            D1
7. xyz均为int型变量,则执行语句:x=8y=6z=++x&&++y;后y的值为  B 
A8                B7                  C6                D)不定值
8. 能正确表示关系xyzC语言表达式为  A 
    A(x<=y)&&(y<=z)                   B(x<=y)AND(y<=z)
C(x<=y<=z)                        D(x<=y)&(y<=z)
9. 能正确表示逻辑关系“a10a0”的C语言表达式为  C 
    Aa>=10  or  a<=0                  Ba>=10  &&  a<=0
Ca>=10  ||  a<=0                  Da>=0  |  a<=10
10. 以下合法的赋值语句是  A 
Ax=y=100      Bd--        Cx+y    Dc=inta+b);(无值)
11. xyz被定义为int型变量,要从键盘给它们输入数据,正确的输入语句是  B 
    AINPUT  xyz;              Bscanf(“%d%d%d”,&x,&y,&z);
    Cscanf(“%d%d%d”,x,y,z);        Dread(“%d%d%d”,&x,&y,&z);
12. xy均为int型变量,且x=6y=3,则语句printf”%d%d\n”x++++y);的输出结果是  C 
A63          B73      C64      D74
13. 以下程序的输出结果是  B 
#include<stdio.h>
main( ){
  int  i=010,j=10;
  printf(“%d,%d”,++i,j--);
}
A1110          B910        C0109          D109
14. 若有定义:int  a , b=5,*p=&a; 则能完成“a=b”赋值功能的语句是  D 
    Aa=*p;            Ba=&b;            Ca=**p;            Dc语言库函数)*p=*&b;
15. 表达式x=14/3*4的值为   C 
A0                B1                C16                D17
16. 表达式x=7%5/2)的值为  B 
A0                B1                C2                D3
17. 函数调用语句“func(x1,x2+x3,(x4,x5));”中含有的实参个数是   A 
A3                B4                C5                D)有语法错误
18. 以下程序的输出结果是   C 
main()
  { int  a=4
  printf”%d\n”,(a-=a+=a*a));
  }
    A-6              B12        C0            D-12
19. tint型变量,进入下面的循环之前,t的值为0(或3、或未初始化)
whilet=1              /*循环条件的判断*/
  { …… }
则以下叙述中正确的是  B 
    A)循环控制表达式的值为0              B循环控制表达式的值为1
C)循环控制表达式不合法                D)以上说法都不对
20. 当调用一个函数时,如果实参是一个数组名,则向函数传递的是  B  /*参数传递*/
    A)数组的长度                  B数组的首地址
    C)数组每一个元素的地址        D)数组每个元素中的值
21. 在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是  B 
    A)地址传递                              B单向值传递
    C)由实参传递给形参,再由形参传回实参    D)传递方式由用户指定
22. 以下函数值的类型是  A 
funfloat  x
{  float  y
    y=3*x-4
return  y
}
Aint                  B)不确定          Cvoid          Dfloat
23. 以下程序的输出结果是  D 
int  func(int  a, int  b){
return(a+b);
}
main( ){
int x=2,y=5,z=8,r;
r=func(func(x,y),z);
printf(”%d\n”r);
}
A12                  B13              C14            D15
24. 设有以下函数:
int  fint  a
{  int  b=0
    static  int  c=3    b++  c++
    return a+b+c); }
如果在下面的程序中调用该函数,则输出结果是  B 
main()
  {  int  a=2jval
    forj=0j<3j++val=f(a);
printf”%d\n”val);
  }
    A7                B9                C11              D13
25. 以下程序执行后sum的值为   C 
    A15              B14        C不确定        D0
main(){
int isum
fori=1i<6i++sum+=i
printf”%d\n”,sum;
}
26. 以下程序的输出结果是  C 
    A)非法      Ba[2]的地址    C8        D7
main()
  {char  a[10]={9876543210}*p=a+1
printf”%d”*p);
  }
27. 以下程序的输出结果是   D 
    A15          B13            C11        D7
main()
  {int  a[]={135791113151719}*p
p=a
printf”%d\n”*p+6);
}
28. 以下程序的输出结果是  10
  main()
    {  int  arr[]={30252015105}*p=arr
        p++
        printf”%d\n”*p+3));
    }
29. 以下定义中,错误的是  B 
Aint  a[ ]={0123}              Bint  n=5a[n]
Cchar  s[20]=”test”                  Dchar  *a[5]
30. 若有定义:float  x[5]={024};,则数组x在内存中所占字节数  D 
A3            B6            C10            D20
31. 以下程序的输出结果是  C 
main()
  {  int  ka[10]
      fork=0k<10k++a[k]=10-k
      printf”%d%d%d”a[2]a[5]a[8]);
  }
A258          B741          C852          D369
32. 以下数组定义中不正确的是   D 
Aint  a[2][3]                  Bint  a[][3]={0123}
Cint  a[ ]={0,1,2,3,4,5,6,7,8,9}    Dint  d[3][ ]={{1,2,3}{4,5,6}{7,8,9}}
33. 以下程序的输出结果是  620 
main()
  {  char  st[20]=”hello.\0\t\’\\”
      printf”%d%d\n”strlenst),sizeofst));
  }
34. 以下选项中,不能正确赋值的是  A 
Achar  s[10] s=”China”          Bchar  s[ ]={’t’’e’’s’’t’}
Cchar  s[20]=”Hello.”                Dchar  *s4=”China”
35. 以下只有在使用时才为该类型变量分配内存的存储类说明是  B 
    Aauto static                    Bauto register
    Cregister static                  Dextern register
36. 当执行下面的程序时,如果输入123,则输出结果是 1236789