二、C语言基本题
1、判断哪个错误 ( B )
A、 while (2); 语句; B、do语句; while (0) C、for (; 0 ;) 语句; D、语句;
2、哪个保留字不正确?B)A、if B、Char C、float D、default
3、以下哪个结果为1。(D)A、3%5 B、3/5.0 C、3/5 D、3<5
4、以下哪个表达式不正确?(A)
A、3E1.0 B、1.0E3 C、.2E D、3E-2
5、以下哪个是字符常量?(B)A、“A” B、‘\x10’ C、‘oa’ D、.a
6、设a, b, c, d分别为char , int , float , double 问 a+b*c/d最后的结果为什么类型? 答:double 型
7、int n,i ; 以下哪个错误(C)
A、n = ( i-1 ) B、n = n++ C、i = (n+1)++ D、n= i<0
8、int x=8 ; while (-- x >6 ) printf ("*") 的结果是多少?( * )
9、for ( k = 2 ; ++k < 4 ; k++) ++k ; k为多少?答:k = 6
10、for ( i = 0 , j = 10 ; ( j > 0) && (i<4) ; i++, j--); 循环几次?答:4次
11、int i =10,j = 10 ; printf ("i=%d,j= %d\n" ,--i ; j--) ,输出结果i , j 为多少? 答: i = 9 , j = 10
12、程序:int x = 2;
do printf ("%d", x --);
while (! ( --x));
输出结果是多少? 答:2,0
13、以下程序输出结果是多少?
#include <stdio.h>
main()
{ int i=1,j=3;
printf(″%d,″,i++);
{ int i=0;
i+=j*2;
printf(″%d,%d″,i,j); }
printf(″%d,%d″,i,j); } 答: 1,6,3,2,3
14、 以下程序段输出是多少?
main ( )
{ int x=2 , y =-1, z = 2;
if (x<y) z=2;
if (y<0) z =0;
else z += 1;
printf ("%d \ n", z ) } 答: 输出为 0
15、以下程序段输出是多少?
main ( )
{ int x =11 ;
while ( x >10 && x <50)
{ x ++;
if (x/3) { x++, break ;}
else continue ; }
printf ("%d\n" , x ); } 答: 输出为 13
16. main ( )
{ int k , m = 0 ;
for ( k = 0; k < 2; k + + )
{ m + + ;
if ( m %2) continue ;
m + + ; }
print f ( "m = %d\n " , m ) ; } 输出结果 m = 3
√ 17. 完成填空
输出1000以内能被3整除,且个位为6的所有整数,
main ( )
{ int i , m ;
for (i = 0 ; i < = 999 ; i + + )
{ m = i * 10+ 6;
if ( m % 3 ! =0 ) continue
printf ( " %d ;" m ) ; } }
18. 键盘输入的若干个学生成绩,统计并输入最高和最低成绩 ,当输入负数时跳出 .
main ( )
{ float x , max ,min ;
scanf (" %f " , & x);
max = min =x
while ( x > =0 )
if (x<min) min=x;
if (x>max ) max =x ;
scanf ("%f" ,& x); }
printf ("\n max =%f, min = %f " max ,min ); }
19、char a [ ] ="123" ,b[ ] ={ '1', '2', '3'} 以下哪个正确? ( D )
A a[3] 是不可知的任意字符 B 数组 a, b 的长度相等
C b[3] 为 "\0" D 数组 a 长度大于 b
20. char s [ ] = "123\0" 的长度 为 5