C语言选择题(附答案) 下载本文

1、以下程序运行完后的输出数据是:__aaaaaaaaa__ main() {

int a=10 ; for( ; a ; ) {

a--; if(a==0) break; printf(\ } }

2、以下程序运行完后a的值是: __1__ main() {

int i, a=0 ; for(i=0; i<10; i++) i++; a++; printf(\ }

3、 以下程序运行完后a的值是: __5__ main() {

int i, a=0 ; for(i=0; i<10; i++) a++, i++;

printf(\ }

4、以下程序运行完后的结果是:_#*#*_ main() {

13

int k;

for (k=1;k<5;k++) {

if(k%2!=0) printf(\ else printf(\ } }

5、以下程序运行完后s的值是: _1.0__ main() { int n ; float s=1.0; for(n=10;n>1;n--) s=s+1/n; printf(\ }

第七单元 while与do-while循环

一、选择题

1、break语句的正确的用法是( C )。

A)无论在任何情况下,都中断程序的执行,退出程序。 B)在多重循环中,只能退出最靠近的那一层循环语句。 C)跳出多重循环。 D)只能修改控制变量。

2、int i=0; while( i++ < 5); 循环结束后i的值是( C )。 A)6 B)7 C)5 D)8

3、语句while ( E ); 括号中的表达式E等价于( D )。 A)E==0 B)E!=1 C)E!=0 D)E==1

14

4、 int i=1; while( --i ) ; 循环次数是( B )。 A)无限次 B)0 C)2 D)1 7、do-while语句的循环体( B )。

A)可能一次都不执行 B)至少要执行一次 C)由循环条件决定循环次数 D)B C均正确

8、对下面的while语句,循环体执行次数是( A )次。 a=30; while ( a--) ;

A)30 B)31 C)39 D)都不对 9、在C语言中,下列说法中正确的是( B )。 A)不能使用\… while\的循环。

B)\的循环必须使用break语句退出循环。 C)\的循环中,当条件为0时将结束循环。 D) \的循环中,当条件为非0时将结束循环。 10、下面的循环执行完后,循环次数是( B )次。 while( k=10 )

k--;

A)9 B)10 C)11 D)无穷次 二、判断题

( )1、while 适合控制循环次数不确定的循环。(V)

( )2、无论循环条件是否满足,do ... while循环的循环体至少执行一次。(V) ( )3、while( 'a' ) ;是一个死循环。(V)

( )4、在实际编程中,do-while循环完全可以用for循环替换。(V) ( )5、continue;语句和break;语句有同样的作用。(X)

第八单元 数组

一、选择题

1、下列描述中不正确的是( A )。 A) 字符型数组中可能存放字符串。

15

B) 可以对字符型数组进行整体输入、输出。 C) 字符串函数声明在包ctype.h中。 D) 字符串的结束符是‘\\0‘。

2、定义如下变量和数组: int i ; int x[6] ={1,2,3,4,5,6};

则语句for(i=0;i<3;i++) printf(\\的输出结果是( D )。 A) 1 2 3 B)1 3 5 C)2 4 6 D)6 5 4 3、以下对二维数组a进行正确初始化的是( D )。

A) int a[2][3]={{1,2},{3,4},{5,6}}; B) int a[ ][3]={1,2,3,4,5,6}; C)int a[2][ ]={1,2,3,4,5,6}; D) int a[2][ ]={{1,2},{3,4}}; 4、下列程序的输出结果是( A )。 char a[]=\strcpy( str , strcat( a, b ) ); printf( \

A)xyabcAB B)abcABz C)ABabcz D)abcdABCD 5、不能把字符串:Hello!赋给数组b的语句是( B )。 A)char b[10]={'H','e','l','l','o','!'}; B)char b[5] =\C)char b[10]; strcpy(b,\)char b[10]=\6、下列对数组定义不正确的语句是( A )。

A)int m[5]; B)char b[]={‘h’,’e’}; C)int a[10]={1,6,8,4}; D)char p[]; 7、以下对二维数组 a的正确定义是( A ) A)int a[3][] ; B)float a(3,4) ; C)double a[2][4]; D)float a(3)(4) ; 8、给出以下定义: char x[ ]="abcdefg";

char y[ ]={'a','b','c','d','e','f','g'}; 以下正确的叙述是( D )。

A)数组x和数组y等价 B)数组x和数组y长度相等

C)数组x的长度大于数组y的长度,因为还存储了一个结束符

16