《C语言》课程综合复习资料
一、单选题
1. 在C语言中,字符型数据在内存中的存储形式是
    A)原码  B)补码      C)反码    D)ASCII码
2. 在C语言中,十进制数47可等价地表示为
A)  2f      B)  02f      C)  57    D)  057
3. 设有定义:int x=12,n=5; 则表达式 x%=(n%2) 的值为
A)  0   B) 1       C) 2    D) 3
4. 设有定义语句:char str[][20]={,"Beijing""中国石油大学"},*p=str;
printf("%d\n",strlen(p+20)); 输出结果是
A)10     B) 6      C) 0      D20
5. 已定义以下函数:  fun(int *p)
{  return *p;  }
该函数的返回值是 
A)不确定的值                    B)形参p所指存储单元中的值
C)形参p中存放的值              D)形参p的地址值
6. C语言中,函数返回值的类型是由
A)return语句中的表达式类型决定
B)调用函数的主调函数类型决定
C)调用函数时的临时类型决定
D)定义函数时所指定的函数类型决定
7. 有以下函数定义:
      void  fun( int  n , double  x )  { …… }
  若以下选项中的变量都已正确定义并赋值,则对函数fun的正确调用语句是
  A fun( int  y , double  m );    B k=fun( 10 , 12.5 );
C fun( 10 , 12.5 );              D void  fun( 10 , 12.5 );
8. 以下选项中不能正确赋值的是
A  char  b[]={Hello};
B  char  b[10];b="Hello!";
C  char  b[10]= "Hello!";
D  char  *str="Hello!";
9. 若有以下定义:char s[20]= "programming"*ps=s;则不能代表字符g的表达式是
Aps+3      Bs[3]        Cps[3] 字符串函数puts        Dps+=3,*ps
10. 当对两个字符串进行比较时,应该使用的函数是
A) strcat      B) strcmp    C) strcpy      D) strlen
11. 若i为整型变量,则以下循环的次数是
for(i=2;i==0;)printf(“%d”,i--);
A) 无限次    B) 0次      C) 1次      D) 2次
12. 以下关于数组的描述正确的是
A) 数组大小固定,但是可以有不同类型的数组元素
B) 数组大小可变,但是所有数组元素的类型必须相同
C) 数组大小固定,所有元素的类型必须相同
D) 数组大小可变,可以有不同类型的数组元素
13.  以下能正确定义数组并正确赋初值的语句是
    A)int N=5,b[N][N];                  B)int a[1][2]={{1},{3}};
    C)int c[2][]= {{1,2},{3,4}};        D)int d[3][2]={{1,2},{34}};
14.  设有定义 int a[ ]={1,5,7,9,11,13}, *p=a+3;*(p-2) , *(a+4) 的值是
A)5  11     B)1  9   C)5  9   D)错误
15.  已知char b[5],*p=b; ,则正确的赋值语句是
A)b=abcd; B)*b=abcd”;  C p=abcd”;   D)*p=abcd;
16. 用数组名作为函数调用时的实参,则实际传递给形参的是
A)数组的第一个元素值      B)数组中全部元素值
C)数组的首地址          D)数组的元素个数
17. 以下叙述中不正确的是
A)在不同的函数中可以使用相同名字的变量
B)函数中的形式参数是局部变量
C)在一个函数内定义的变量只在本函数范围内有效
D)在一个函数内的复合语句中定义的变量在本函数范围内有效
18. 当对两个字符串进行比较时,应该使用的函数是
A) strcat      B) strcmp      C) strcpy        D) strlen
19. 有如下定义:long  m;char  c;float  x;double  y;则表达式c+m*x/y的值的类型是
A) long          B) char          C) float        D) double
20. 假设已定义 char  c[8]= "test";  int  i; 则下面的输出函数调用中错误的是
A) printf("%s",c);          B) for(i=0;i<8;i++)  printf("%c",c[i]);
C) puts(c)                  D) for(i=0;i<8;i++)  puts(c[i]);
21. 若有以下定义:char s[20]= "programming",*ps=s;则不能代表字符g的表达式是
A) ps+3          B) s[3]        C) ps[3]      D) ps+=3,*ps
22. 以下选项中不能正确赋值的是
A) char  b[]={′H′,′e′,′l′,′l′,′o′,′!′};
B) char  b[10];b="Hello!";
C) char  b[10]= "Hello!";
D) char  *str="Hello!";
23. 有以下函数定义:

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。