C. 反复执行某些程序代码 D. 以上都是
(2) 假定所有变量均已正确定义,下列程序段运行后x 的值是__B_。 a=b=c=0,x=35;
if(!a) x--; else if(b); if(c) x=3; else x=4; A. 34 B. 4 C. 35 D. 3
(3) 下面的程序片段所表示的数学函数关系是_ A____。 if(x<0) y= -1;
else if(x>0) y=1; else y=0;
(4) 下列各语句序列中,能够且仅输出整型变量a、b 中最大值的是( C )。 A. if(a>b) printf(\B. printf(\
C. if(a>b) printf(\D. if(a0) y=1;
else if(x==0) y=0; else y= 1;
printf(\
A. 1 B. 5 C. 0 D. 2
(6) 程序段int x=5,y=8,max; max=(x>y)?x:y; printf(\的输出结果是 B 。 A. 5 B. 8 C. 3 D. 13
(7) 程序段 int x=3,a=1;switch(x) {case 4: a++;case 3: a++;case 2: a++;case 1: a++;} printf (\的输出结果是 D 。
A. 1 B. 2 C. 3 D. 4
(8) 下列语句应将小写字母转换为大写字母,其中正确的是( B )。
A.if(ch>='a'&ch<='z') ch=ch-32; B.if(ch>='a'&&ch<='z')ch=ch-32; C.ch=(ch>='a'&&ch<='z')?ch-32:’’; D.ch=(ch>'a'&&ch<'z')?ch-32:ch;
2. 阅读程序,写出运行结果 (1) printf(\void main () } { 输出:10,4, 3 int a=10, b=4, c=3; (2) if(a
5
int x=100, a=10, b=20, ok1=5, ok2=0; printf(\ if(a
else x=-1; 输出:-1;
(3)
(5)
int k,a=1,b=2; void main() k=(a++==b) ? 2:3; {
printf(\ int s=1,k=0; 输出:3 switch (s) (4)
{
void main() case 1: k+=1;break; {
case 2: k+=2;break; int s=1,k=0; default: k+=3;
switch (s) }
{
printf(“%d”,k); case 1: k+=1; }
case 2: k+=2; 输出:1 default: k+=3;
}
printf(“%d”,k);
}输出:6
第5章 循环结构程序设计习题
1. 单项选择题
(1)for(i=1;i<9;i+=1);该循环共执行了 B 次。 A. 7 B. 8 C. 9 D. 10
(2)int a=2;while(a=0) a--;该循环共执行了 A 次。 A. 0 B. 1 C. 2 D. 3
(3)执行完循环 for(i=1;i<100;i++);后,i 的值为 B 。 A. 99 B. 100 C. 101 D. 102 (4)以下 for语句中,书写错误的是 D 。
A. for(i=1;i<5;i++); B. i=1;for(;i<5;i++); C. for(i=1;i<5;) i++; D. for(i=1,i<5,i++);
(5) C 语句,在循环条件初次判断为假,还会执行一次循环体。 A. for B. while C. do-while D. 以上都不是 (6)循环结构的特点是 C 。
A. 从上至下,逐个执行 B. 根据判断条件,执行其中一个分支 C. 满足条件时反复执行循环体 D. 以上都对
(7) i、j已定义为 int 类型,则以下程序段中内循环体的执行次数是 A 。 for(i=5;i;i--)
6
for(j=0;j<4;j++){?}
A. 20 B. 24 C. 25 D. 30
(8) C 语言 while 语句中,用于条件的表达式是 D 。
A. 关系表达式 B. 逻辑表达式 C. 算术表达式 D. 任意表达式
(9) int a=1, x=1; 循环语句while(a<10) x++; a++; 的循环执行 D 。 A. 无限次 B. 不确定次 C. 10 次 D. 9 次 (10)下列程序段执行后 s 的值为 A 。
int i=1, s=0; while(i++) if(!(i%3)) break ; else s+=i ; A. 2 B. 3 C. 6 D. 以上均不是
2. 填空题
(1)三种循环语句是 等价 价的。
(2)当循环体中的switch语句内有break语句,则只跳出 swicth 语句。同样,当switch语句中有循环语句,内有 break 语句,则只跳出 循环 语句。
(3)循环体执行遇到continue 语句时 跳过本次循环进入下次循环 。
(4)下列程序的功能是输入一个正整数,判断是否是素数,若为素数输出 1,否则输出 0,请为程序填空。 void main( ) {
int i, x, y=1; scanf(\
for(i=2; i<=x/2; i++)
if ( x%i==0 ) { y=0; break; } printf(\}
(5)输入 N个实数,输出其中的最大值、最小值。 #include
int n,i;
float no1,nmax,nmin; scanf(\ nmax=no1;
nmin=no1 ; for(i=2;i<=n;i++) {
scanf(\ if(no1>nmax) nmax=no1;
if(no1 printf(\} (6)输入若干个字符,分别统计数字字符的个数、英文字母的个数,当输入换行符时输出统计结果,运行结束。 #include 7 void main( ) { char ch; int s1=0,s2=0 ; while(( ch=getchar() )!='\\n') { if(ch>='0'&&ch<='9') s1++; if(ch>='a'&&ch<='z' || ch>=’A’||ch<=’Z’) s2++; } } 3. 阅读下列程序,写出程序运行的输出结果 (1) void main( ) { int y=9; for( ;y>0; y--) if(y%3==0) { printf(\--y); continue;} } 输出:852 (2)main() { int k,n,m; n=10;m=1;k=1; while(k++<=n) m*=2; printf(\} 输出:1024 (3) void main ( ) { int i=5; do {switch (i%2) {case 4: i--; break; case 6: i--; continue; } i-- ; i-- ; printf(\ } while(i>0); } 输出:i=3 i=1 i=-1 (4)#include 8
相关推荐: