int n;
scanf(\
if(n!=10)
if(n>10) printf(\ \ else printf(\ \ } (3)
void main ( ) {
int n;
scanf(\
else printf(\
if(n==10)printf(\ if(n>10) printf(\ \
else printf(\ \ }
10.下面程序的输出结果是: #include
int x=100,a=20,b=10;
16
int v1=5,v2=0; if(a
11. 有如下程序段。 if (a
当a=1,b=3,c=5,d=4时执行完下面一段程序后x的值是 当a=4,b=3,c=5,d=4时执行完下面一段程序后x的值是 当a=1,b=3,c=4,d=3时执行完下面一段程序后x的值是
17
当a=1,b=3,c=1,d=1时执行完下面一段程序后x的值是
12.有三个整数a,b,c,由键盘输入,输出其中最大的数。
13.某商店推出打折活动,要求购物达到或超过2000元的打八折,购物达到或超过1000元不到2000元的打八五折,购物达到或超过500元不到1000元的减50元,购物不到500元的原价,请写出相应的程序(分别用switch和if—else结构)
13.随机给出一个不多于5位的数,计算出他的位数,按个十百千的顺序输出。
第五章 循环结构
复习要点:
1. for循环结构。
2. while和do- while循环结构。 3. continue语句和break语句。 4. 循环的嵌套。
1.C语言三个循环语句分别是 while 语句, do-while 语句和 for 语句。
2.至少执行一次循环体的循环语句是 do-while 。 3.以下对循环结构相关知识描述错误的( E )。
A)循环结构需要包含结束循环的条件,否则循环结构将陷入死循环
18
B)break的意义是直接跳出循环结构,continue的意义是结束本次循环进入下次循环
C)死循环是指无限循环下去,永远不结束,所以死循环一定是有害的 D)for循环结构的表达式1,只执行一次
E)for循环结构的表达式1,2,3都可以省略,所以表达式1,2,3之间的分号可以省略
F)for循环结构如表达式2省略,则系统认为表达式2的值永远为真 4.下面程序段 int n=2;
while (n=0) {printf(“%d”,n);n--;} 则下面描述中正确的是( C )。
A)while循环执行2次 B)循环是无限循环 C)循环题语句一次也不执行 D)循环体语句执行一次 5.下述程序段中,( C输出5150 ) 与其他程序段的作用不同。 A)s=0;k=1; B)s=0;k=1;
while (1) { Repeat : s+=k ; s+=k ; k=k+1 ; if (++k<=100)
if (k>100) break ; goto Repeat;
} printf(“\\n%d”,s) ; 输出5050
printf(“\\n%d”,s) ;
19
输出5050
C)k,s=0; D)s=0;k=1;
for (k=1;k<=100;s+=++k); do printf(“\\n%d”,s) ; s+=k;
while (++k<=100) ; printf(“\\n%d”,s) ;
6.以下程序段的循环次数是( B ) 。 for (i=2; i= =0; ) printf(“%d” , i--) ;
A)无限次 B)0次 C)1次 D)2次 7.有以下程序 main( ) { int i,n=0; for(i=2;i<5;i++) { do
{ if(i%3) continue; n++; } while(!i); n++;}
printf(“n=%d\\n”,n);
} 程序执行后的输出结果是(D ) A)n=5 B)n=2 C)n=3 D) n=4
8.下面程序的输出结果是 。
20