77范文网 - 专业文章范例文档资料分享平台

重庆理工大学-C语言程序设计基础教程_习题答案(纪纲_金艳)(4)

来源:网络收集 时间:2019-06-17 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

do{ printf(“=”, x-=2); } while(!(--x));

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

5.2.14 下面程序的功能是计算正整数2345的各位数字的平方和,请选择填空。

#include void main()

{ 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 void main()

{ 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 void main() { int i,j,x=0;

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 void main() { int i;

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 void main( ) { int i;

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 void main() { char ch; int i,j,k; i=j=k=0;

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 void mian() { int i;

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 void main()

{ 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 void main()

{ int x,i,max,min; scanf(“%d”,&x); min=max=x;

for (i=2;i<=10;i=i++) {

scanf(“%d”,&x);

if(xmax) max=x; }

printf(“%d,%d”,max,min); }

5.3.8 (1)判断一个数是否为素数。(2)输出3-100之间的所有素数。 (1)判断m素数 #include void main() {int i,k,m;

scanf(“%d”,&m); k=sqrt(m);

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库重庆理工大学-C语言程序设计基础教程_习题答案(纪纲_金艳)(4)在线全文阅读。

重庆理工大学-C语言程序设计基础教程_习题答案(纪纲_金艳)(4).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/662820.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: