c同步练习 下载本文

中,在编译时将产生错误信息的是(C)

A)if(x++); B)if(x>y&&y!=0); C)if(x>y) x- - D)if(y<0) {;} else y++; else x++; [07/04] 以下选项中,当x为大于1的奇数时,值为0的表达式(D)

A)x%2==1 B)x/2 C)x%2!=0 D)x%2==0 [07/04]以下叙述中正确的是(C)

A)break语句只能用于switch语句体中

B)continue语句的作用是:使程序的执行流程跳出包含它的所有循环

C)break 语句只能用在循环体内和switch语句体内 D)在循环体内使用break语句和continue语句的作用相同

[07/04]有以下程序(A) main() {int k=5,n=0; do {switch(k)

{case1: case3:n+=1; break; default;n=0;k--;

case2: case4:n+=2;k--;break; }

printf(“%d”,n); }while(k>0&&n<5); }程序运行后的输出结果是

A)235 B)0235 C)02356 D)2356 [07/04] 以下程序的运行结果是 ________#&_______ main() {int a=2,b=7,c=5; switch (a>0) {case 1: switch (b<0)

{case 1:switch(“@”); break; Case 2: printf(“!”); break; }

case 0: switch(c==5) { case 0: printf(“*”); break; case 1: printf(“#”); break; case 2: printf(“$”); break;

}

default : printf(“&”); }

printf(“\\n”); }

第二部分上机

1. 编写程序,输入一个整数,打印出它是奇数还是偶数。

2. 编写函数,输入a,b,c三个数,打印出最大者。

3. 输入两个数,分别放入x,y中,若两个数不相等,则

输出其中较大的一个,若两个相等,则输出字符串x==y和x的值。

4. 输入三个整数,分别放在变量a,b,c中,然后把输入

的数据按由大到小的顺序放在变量a,b,c中,最后输出a,b,c中的值。

5. 输入一个数,判断它是否能被3和7整除,若能输出

YES,反之输出NO

6. 编写程序,根据输入的温度度数给出相用的等级,大

于等于40度的等级为A,0度以下的等级为F,其余每10度分一个等级!(参考例题4.5,注意break的用法)

第5章 循环结构

一、选择题

1、在C语言的循环语句for,while,do-while中,用于直接中断最内层循环的语句是()。 A)switch B)continue C)break D)if 2、下面程序的执行结果是( )。 main() { int i=0; while(i++<=1)

第 9 页 共 38 页

printf(\ printf(\

A)1 2 3 B)0 1 2 C)1 1 2 D)1 2 2

3、若i、j已定义为int型,则以下程序段中循环体总 i+=11; a+=i; }

printf(\ }

的执行次数是( )。 for(i=5;i;i--) for(j=0;j<4;j++) {....}

A)20 B)24 C)25 D)30 4、下列程序的执行结果是( )。 main() { int x=10; do { x--; }while(--x); printf(\ A)-1 B)1 C)8 D)0

5、下列程序的执行结果是( )。 main() { int i,sum;

for(i=1;i<=3;sum++) sum+=i;

printf(\ A)6 B)3 C)死循环 D)0 6、下列程序段的执行结果是( )。 main()

{ int x=3;

do{ printf(\ }while(!(--x)); }

A)1 B)3 0 C)1 -2 D)死循环 7、下列程序的执行结果是( )。 #include main()

{ int i=0,a=0; while(i<20) { for(;;)

{ if((i)==0)break; else i--; }

A)21 B)32 C)33 D)11 8、下列程序的执行结果是( )。 main() { int x=3;

do{ printf(\ }while(--x); }

A)1 B)30 3 C)1 -2 D)死循环 9、下列程序的输出结果是( )。 main()

{ int x=15; while(x>10&&x<50) { x++;

if(x/3){ x++;break;} else continue; }

Printf(“%d\\n”,x); } 二、程序题

1、编写程序求两个整数的最大公约数。

2、整元换零钱问题。把1元兑换成1分、2分、5分的硬币,共有多少种不同的换法,编写程序来实现。

2,3,5,85,13218,13...... 3、有一个分数序列:123,编写

程序求此数列的前20项之和的程序。

第5章 循环结构练习题2

一、选择题

(1)在C语言中,下列叙述正确的是() A)不能使用do-while语句构成的循环。

B)do-while语句构成的循环,必须用break语句才能退出。

C)do-while语句构成的循环,当while语句中的表达

第 10 页 共 38 页

式值为非零时结束循环。

D)do-while语句构成的循环,当while语句中的表达 }

A)10 B)9 式值为零时结束循环。 (2)有如下程序段: int i=0; while(!i==0) { i=i+1;

Printf(“%d\\n”,i); }

则下列说法中正确的是() A)while循环执行2次 B)循环是无限循环

C)循环体语句一次也不执行 D)循环体语句执行一次 (3)有如下程序段: int i=0; while(i++<=2);

printf(\

则正确的执行结果是last=( )。 A)2 B)3 C)4 D)无结果

(4)执行下面的程序后,a的值为( )。 main() { int a,b;

for(a=1,b=1;a<=100;a++) { if(b>=20)break; if(b%3==1) { b+=3; continue; } b-=5; } } A)7 B)8 C)9 D)10 (5)定义如下变量: int x=10;

则下列循环的输出结果是( )。 while(x>7) { x--;

printf(\

9 8 8 7 C)10 D)9 9 8 8 7 7 6

(6)下面程序的输出结果是( )。 main() { int i;

for(i=1;i<6;i++) { if(i%2)

{ printf(\ printf(\ }

printf(\ }

A)#*#*# B)#### C)***** D)*#*#* (7)下面程序的输出结果是( )。 #include main() { int a,b;

for(a=1,b=1;a<=100;a++) { if(b>=20)break; if(b%3==1)

{ b+=3;continue;} b-=5; }

printf(\ }

A)7 B)8 C)9 D)10 (8)下列程序的输出结果是( )。 main() { int x=9; for(;x>0;x--) if(x%3==0)

{ printf(\

第 11 页 共 38 页

continue; } }

A)741 B)852 C)963 D)875421 (10)下列程序的执行结果是( )。 main() { int x=3;

do{ printf(\ }while(!x); }

A)321 B)3 C)不输出任何内容 D)陷入死循环 二、程序题

1、以下程序的功能是:从键盘上输入若干个学生的成绩,统计并输出

最高成绩和最低成绩,当输入负数时结束输入。请补充程序中的空缺语句。 main()

{ float x,amax,amin; scanf(\ amax=x; amin=x; while(_______) { if(x>amax)amax=x; if(_______)amin=x; scanf(\ }

printf(\ }

2、“百鸡问题”:1只大公鸡值5个钱,1只母鸡值3个钱,3只小鸡值1个钱。

现在100个钱,要买100只鸡,是否可以?若可以,给出一个解,要求3种鸡都 有。写出求解该题的程序。

main() {int k=5,n=0; do {switch(k)

{case1: case3:n+=1; break; default;n=0;k--;

case2: case4:n+=2;k--;break; }

printf(“%d”,n); }while(k>0&&n<5); }程序运行后的输出结果是

A)235 B)0235 C)02356 D)2356 2.有以下程序 mian() {int i,j;

for(i=1;i<4;i++)

{for(j=i;j<4;j++) printf(“%d*%d=%d “,i,j,i*j); printf(“\\n”);}}程序运行后的输出结果是(B)

A) 1*1=1 1*2=2 1*3=3 B) 1*1=1 1*2=2 1*3=3

2*1=2 2*2=4 2*2=4

2*3=6

3*1=3 3*3=9

C) 1*1=1 D) 1*1=1 1*2=2 2*2=4 2*1=2 2*2=4

1*3=3 2*3=6 3*3=9 3*1=3 3*2=6 3*3=9 3.有以下程序 #include main() {int y=9; for( ; y>0;y--)

if(y%3= =0) printf(\程序的运行结果是 A)741 B)963 C)852 D)875421 4.有以下程序 #include main()

第 12 页 共 38 页

第5章 循环结构练习题3

1.有以下程序(A)