1006班C语言测试题
姓名: 学号:
1.以下程序的输出结果为( )。 main( ) { int i=010,j=10; printf("%d,%d\n",i++,j--); } A 11,9 B 9,10 C 8,10 D 9,92.设a为int型变量,执行下列赋值语句后,a的取值分别是( )。a=125.534;a=20.0/3;a=(int)125.521%4; A 125,6,31, B 125,6,1, C 125,6.666666,31, D 125.534,6.666666,2,3.设i和k都是int类型,则for循环语句( )。 for(i=0,k=-1;k=1;i++,k++) printf("****\n"); A 循环结束的条件不合法 B 循环体一次也不执行 C 循环体只执行一次 D 是无限循环4.以下程序的输出结果为( )。 main( ) { char c; int i; for(i=65;i<68;i++) { c=i+32; switch(c) { case 'a':case 'b':case 'c':printf("%c,",c);break; default:printf("end");} } } A a,b,c,end B a,a,a,end C a,a,a, D a,b,c,
5.为表示关系x>=y>=z,应该使用C语言表达式( )
A,(x>=y)&&(y>=z) B,(x>=y)AND(y>=z) C,( x>=y>=z) D,(x>=y)&(y>=z)
6,表达式10!=9的值是( )
A,1 B 非零值C 0 D 1
7. ???C语言表达式2/5*10的值是? ?? ???。A)??0.04? ?? ???B) 4? ?? ???C) 4.0? ?? ???D) 0
8.已知变量f和i的类型说明: float f=12.34; int i; 则以下符合C语言语法的表达式是? ?? ???。A)??i=(int)f%5? ??B)??i=int(f)%5 C)??i=f%5? ?D)??i=(int f)%5
9. 在C语言中,以下错误的描述是? ?? ???。A) break语句不能用于循环语句和switch语句外的任何其它语句B) 在switch语句中使用break语句或continue语句的作用相同C) 在循环语句中使用continue语句是为了结束本次循环,而不是终止整个循环D) 在循环语句中使用break语句是为了使流程跳出循环体,提前结束循环10. 以下C函数的功能是? ?? ???。int fun(int x,int y){ int z=0;z=x>y?x:y;return z;? ? } A) 求x 和y二者中的最大值? ? B) 求x 和y二者中的最小值
C) 返回一个不确定的值? ??D) 返回函数值为“0”11.下列数据中,为字符串常量的是( )
A、‘M’ B、‘$you’ C、”hello” D、basic
12、若y为int 型变量,则执行以下语句后,y的值是( )
y=8;y+=y-=y*y;
A、64 B、-56 C、-112 D、-4813.下面定义语句中,错误的是( )
A、int a[ ]={1,2}; B、 char *a[ ];
C、char s[10]=”BASI”; D、 int n=5,a[n];能正确表示“当x的取值在[1,10]和[200,210]范围内为真,否则为假”的表达式是 (C )。
A)(x>=1) && (x<=10) && (x>=200) && (x<=210)
B)(x>=1) || (x<=10) || (x>=200) || (x<=210)
C)(x>=1) && (x<=10) || (x>=200) && (x<=210)
D)(x>=1) || (x<=10) && (x>=200) || (x<=210)
14.下面程序中有错误的行是 (每行程序前面的数字表示行号)。 D
1 main()
2 {
3 float a[3]={1};
4 int i;
5 scanf(“%d”,&a);
6