c语言练习试题库
  单项选择题
  1.有char c=’1’,下面说法中正确的是(    )。
  A. 语句putc+2);的输出结果为51
  B. 语句put“%d”,c+2);的输出结果为3
  C. 语句put“%c”,c+2);的输出结果为51
  D. 语句put“%c”,c+2);的输出结果为3
  2.设c1,c2均是char型变量,则下面不正确的函数调用为(    )。
  A. scanf(”c1=2=%c”,&c1,&c2);
  B. get);
  C. putc2);
  D. putc1,c2);
  3.为了表示关系x>=y>=z,下面C语言表达式中正确的是(    )。
  A. (x>=y)&&(y>=z)
  B. (x>=y)and(y>=z)
  C. (x>=y>=z)
  D. (x>=y)&(y>=z)
  4.设x,y,z,t为int型变量,则执行以下语句后,t的值为(    )。
  x=y=z=1;
  t=++x||++y&&++z;
  A. 不定值
  B. 2
  C. 1
  D. 0
  5.对if语句中表达式的类型,下面正确的说法是(    )。
  A. 必须是关系表达式
  B. 必须是关系表达式或逻辑表达式
  C. 可以是任意表达式
  D. 必须是关系表达式或算术表达式
  6.对for(表达式1;;表达式3)可以理解为(    )。
  A. for(表达式1;0;表达式3)
  B. for(表达式1;表达式1;表达式3)
  C. for(表达式1;1;表达式3)
  D. for(表达式1;表达式3;表达式3)
  7.执行语句for(i=1;i++<4;);之后,变量i的值为(    )。
  A. 3
  B. 4
  C. 5
  D. 不确定
  8.若二维数组a有m列,则在a[i][j]前的元素个数为(    )。
  A. j*m+i
  B. i*m+j
  C. i*m+j-i
  D. i*m+j+1
  9.下面说法中正确的是(    )。
  A. 在C语言中,可以使用动态内存分配技术,定义元素个数可变的数组结构体数组不能作为参数传递给函数
  B. 在C语言中,数组元素的个数可以不确定,允许随即变动
  C. 在C语言中,数组元素的数据类型可以不一致
  D. 在C语言中,定义数组后,就确定了它能容纳的相同数据类型元素的个数
  10.不能把字符串:“good!”赋给数组b的语句是(    )。
  A. char b[10]={’g’,’o’,’o’,’d’,’!’};
  B. char b[10];b=“good!”;
  C. char b[10];strcpy(b, “good!”) ;
  D. char b[10]=“good!”;
  11.执行下面程序段,给x,y赋值时,不能作为数据分隔符的是(    )。
  int x,y;
  scanf(”%d%d”,&x&y);
  A. 回车
  B. Tab键
  C. 回车
  D. 逗号
  12.已知ch是字符型变量,下面不正确的赋值语句为(    )。
  A. ch=’a+b’;
  B. ch=’’;
  C. ch=’7’+’9’;
  D. ch=5+9;
  13.下面程序段的输出结果是(    )。
  char c1=’6’,c2=’0’;
  printf(”%c,%c,%d,%d ”,c1,c2,c1-c2,c1+c2);
  A. 因输出格式不合法,输出出错信息
  B. 6,0,6,102
  C. 6,0,7,6
  D. 6,0,5,7
  14.在C语言的循环语句for, while,do while中,用于直接中断最内层循环的语句是(    )。
  A. switch
  B. continue
  C. break
  D. if
  15.下面的循环结构中,不是无限循环的是(    )。
  A. for( i=1;;i++) printf(“%d”,i--);

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