do{ printf(“=”, x-=2); } while(!(--x));
A) 1 2 B) 3 2 C) 2 3 D) 1 -2
5.2.14 下面程序的功能是计算正整数2345的各位数字的平方和,请选择填空。
#include
{ int n=2345,sum=0;
do
{ sum=sum+( [1] B ); n=( [2] C ) }while(n);
printf(“sum=%d”,sum);
}
[1] A) n B) (n)*(n)
C) n/10 D) (n/10)*(n/10) [2] A) n/1000 B) n/100
C) n/10 D) n
5.2.15 执行程序段:x=-1;do{x=x*x;} while(!x);的结果是( C )。
A) 死循环 B) 循环执行2次 C) 循环执行一次 D) 有语法错误 5.2.16 以下能正确计算1*2*3*4…*10的程序段是( C )。
A) do(i=1;s=1;s=s*i;i++) while(i<=10); B) do(i=1;s=0;s=s*i;i++) while(i<=10); C) i=1;s=1; do(s=s*i;i++) while(i<=10); D) i=1;s=0; do(s=s*i;i++) while(i<=10);
5.2.17 下面程序的功能是从键盘输入若干学号,然后输出学号中百位数字式3的
学号(输入0时结束循环),请选择填空。 #include
{ long int num;
scanf(“%ld”,&num); do
{ if( [1] B) printf(“%ld”, num); scanf(“%ld”,&num); }whle( [2] C ))
}
[1] A) num0/10==3 B) num/100==3
C) num/10==3 D) num/10==3
[2] A) !num B) num<0==0 C) !num==0 D) !num!=0 5.2.18 对于for(表达式;;表达式3)可理解为( B )。
A) for(表达式;0;表达式3) B) for(表达式;1;表达式3)
C) for(表达式;表达式1;表达式3) D) for(表达式;表达式3;表达式3) 5.2.19 以下不正确的描述是( B )。
A) break语句不能用于循环语句和switch语句外的任何其他语句 B) 在switch语句中使用break语句或continue语句的作用相同
C) 在循环语句中使用continue语句是为了结束本次循环,而不是终止整
个循环的执行。
D) 在循环语句中使用break语句是为了使流程跳出循环体,提前结束循环
5.2.20 若i为整型变量,循环语句for(i=2,i==0;) printf(“%d”,i--);的执行次数为(B)。
A) 无限次 B) 0次 C) 1次 D) 2次 5.2.21 以下叙述正确的是(C )。
A) for循环中设置if(条件)break,当条件成立时中止程序执行。
B) for循环中设置if (条件)continue,当条件成立时中止本层循环。 C) for循环中设置if (条件)break,当条件成立时中止本层循环。 D) for循环中设置if (条件) continue,当条件成立时暂停程序执行。 5.2.22 下面关于for循环的正确描述是(D )。
A) for循环只能用于循环次数已经确定的情况。 B) for循环是先执行循环体语句,后判断表达式。 C) 在for循环中,不能用break语句跳出循环体。 D) for循环的循环体语句中,可以包含多条语句。
5.2.23 循环语句for(i=0,x=0; !x&&i<=5; i++);的执行次数为(B)。
A) 5次 B) 6次 C) 1次 D) 无限 5.2.24 以下程序段的输出结果是( D )。
int x,i;
for(i=1;i<=100;i++)
{ x=I; if(++x%2==0) if(++x%3==0) if(++x%7==0) printf(“%d”,x); } A) 39 81 B) 42 84 C) 26 68 D) 28 70 5.2.25 以下描述正确的是( C )。
A) goto语句只能用于退出多层循环 B) switch语句不能出现continue语句 C) 只能用continue语句来终止本次循环 D) 在循环中break语句不能独立出现 5.2.26 以下不是无限循环的语句是( A )
A) for(y=0,x=1;x>++y; x=i++) i=x; B) for(; ; x++=i);
C) while(1) { x++; }
D) for(i=10; ; i- -) sum+=i;
5.2.27 下面程序段的输出结果是( D )。
int i,sum;
for(i=1;i<=10;i++) sum+=sum printf(“%d\\n”, i);
A) 10 B) 9 C) 15 D) 11 5.2.28 下面程序段的运行结果是(D )。
for(x=3; x<6; x++) printf((x%2)?(“**%d”):(“##%d\\n”),x);
A) **3 B)##3 C) ##3 D) **3##4 ##4 **4 **4##5 **5 **5 ##5
5.2.29 执行语句for(i=1; i++<4; );后变量i的值是( C )。
A) 3 B) 4 C) 5 D) 不定 5.2.30 下面程序段运行结果是(C)。
int i,j,k;
for(i=2;i<6;i++,i++) { k=1;
for(j=i; j<6; j++) k+=j; } printf(“%d\\n”,k);
A) 4 B) 5 C) 10 D) 7 5.2.31 下面程序段( D )。
for( t=1; t<=100; t++) { scanf(“%d”, &x); If(x<0) continue; printf(”=”,t); }
A) 当x<0时整个循环结束 B) x>=0时什么也不执行
C) printf函数永远也不执行 D) 最多允许输出100个非负数 5.2.32 下面程序段运行结果是( A)。
int i,j,a=0;
for(i=0;i<2;i++)
{ for(j=0; j<4; j++) {if(j%2) break; a++;} a++; } printf(“%d\\n”,a);
A) 4 B) 5 C) 6 D) 7 5.2.33 下面程序的运行结果是( B)。
#include
for(i=0;i<2;i++) { x++;
for(j=0;j<=3;j++)
{ if(j%2) continue; x++; } x++; }
printf(“x=%d\\n”,x); }
A) x=4 B) x=8 C) x=6 D) x=12 5.2.34 下面程序段运行结果是( A)。
#include
for(i=1; i<=5; i++) { if(i%2) printf(”*”); else continue; printf(“#”); }
printf(“$\\n”);
}
A) *#*#*#$ B) #*#*#*$ C) *#*#$ D) #*#*$
5.2.35 有一堆零件(100~200之间),如果分成4个零件一组的若干组,则多2
个零件;若分成7个零件一组,则多3个零件;若分9个零件一组,则多5个零件。下面程序是求这堆零件的总数,请选择填空。 #include
for(i=100; i<201; i++) if((i-2)%4==0)
if(!(i-3)%7) if( D )
printf(”%d”, i); }
A) i%9=5 B) i%9!=5 C) (i-5)%9!=0 D) i%9==5
5.3编程题
5.3.1 输入一行字符,分别统计出其中字母、数字和其它字符的个数。 #include
while( (ch=getchar() )!=‘\\0’)
{ if(ch>’a’&&ch<‘z’||ch>’A’&&ch<‘Z’ ) i++; //统计字母
else if(ch>’0’&&ch<‘9’) j++; //统计数字
else k++; //统计其它 }
printf(“字母个数:%d,数字个数:%d,其他字符:%d”,i, j, k);
5.3.2 求100~200之间不能被3整除也不能被7整除的数。 #include
for (i=100;i<=200;i++) {
if (i%3==0&&i%7==0) printf(“]”,i); } } 5.3.3 求 1?11111??????23499100。
#include
main() {
int i; float s=0,k=1; for (i=1;i<=100;i++) { s=s+ k / i ; k = -k ; }
printf(\ } 5.3.4 求
111????1?22?3n?(n?1),直到某一项小于0.001时为止。
void main()
{
int i ;
float t=0.5,s=0,i=1; while (t>=0.001) { s=s+t; i++;
t=1/(i*(i+1)); }
printf(\ }
5.3.5 用迭代法求
X?a。迭代公式为:
Xn?1?1?a?Xn??2?Xn????,要求迭代精度满足
。|Xn?1?Xn|?0.00001提示:a
#include
Void main( ) {
由键盘输入,x1=a/2.
float x1,x2,a,k; scanf(\
x1=a/2; x2=(x1+a/x1)/2; while(fabs(x1-x2)>=0.00001) { x1=x2;
x2=(x1+a/x1)/2; } printf(\ %f\}
5.3.6 假设x,y是整数,编写程序求xy的最后3位数,要求x,y从键盘输入。 #include
{ int x. y, i, b, s, g, san; long m=1;
scanf(“%d,%d”,&x, &y); for(i=1; i<=y; i++) m=m*x
san=m00; //求出最后3位数
b=san/100; //求出最后3位数的百位 s=san0/10; //求出最后3位数的十位 g=san; //求出最后3位数的个位 printf(“%d,%d,%d”,b,s,g); }
5.3.7 从键盘上输入10个整数,求其中的最大值和最小值。 #include
{ int x,i,max,min; scanf(“%d”,&x); min=max=x;
for (i=2;i<=10;i=i++) {
scanf(“%d”,&x);
if(x
printf(“%d,%d”,max,min); }
5.3.8 (1)判断一个数是否为素数。(2)输出3-100之间的所有素数。 (1)判断m素数 #include
scanf(“%d”,&m); k=sqrt(m);
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库重庆理工大学-C语言程序设计基础教程_习题答案(纪纲_金艳)(4)在线全文阅读。
相关推荐: