ImageVerifierCode 换一换
格式:DOCX , 页数:20 ,大小:27.57KB ,
资源ID:4008714      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/4008714.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(C语言程序设计第23章习题答案魏为民.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

C语言程序设计第23章习题答案魏为民.docx

1、C语言程序设计第23章习题答案魏为民习题2参考答案一、基础题1若二维数组a有m列,则在aij前的元素个数为:A)j*m+i B) i*m+jC)i*m+j-1 D)i*m+j+1B2在C语言中(以16位PC机为例),五种基本数据类型存储空间长度的排列顺序是:A) charintlong int=floatdoubleB) char=intlong int=floatdoubleC) charintlong int=float=doubleD) char=int=long int=floatdoubleA3在C语言的变量类型说明中,int,char,float等类型的长度是:A) 固定的 B)

2、由用户自己定义的C) 任意的 D) 与机器字长有关的D4. 设变量a是整型,f是实型,i是双精度型,则表达式10+a+i*f的数据类型是:A) int型 B)float型 C) double型 D)不确定C5C语言中的变量名只能由字母,数字和下划线三种字符组成,且第一个字符:A) 必须为字母 B) 必须为下划线C) 必须为字母或下划线 D) 可以是字母,数字或下划线中的任意一种C6设a=1,b=2,c=3,d=4,则表达式ab?a:c=y&chB&!y)的值是:A) 0 B) 语法错 C) 1 D) 假C10下面程序的输出结果是:main() int a=-1, b=4, k; k=(a+=0

3、)&(!(b-=0); printf(%d,%d,%dn,k,a,b);A) 1,1,2 B) 1,0,3 C) 0,1,2 D) 0,0,3B11已知字母A的ASCII码为十进制的65,下面程序的输出是:main() char ch1,ch2; ch1=A+5-3; ch2=A+6-3; printf(%d,%cn,ch1,ch2);A) 67,D B) B,C C) C,D D) 不确定的值A12下面程序的输出的是main() int x=10,y=3; printf(%dn,y=x/y);A) 0 B) 1 C) 3 D) 不确定的值C二、程序设计题1从键盘上输入一个小写字母,编程输出其

4、对应的大写字母以及它们的十进制ASCII码。程序如下:#include void main() char ch; printf(Please input a lower character:); ch=getchar(); printf(Lower is %c, ASCII is %dn,ch,ch); printf(Upper is %c, ASCII is %dn,ch-32,ch-32);2一个水分子的质量约为3.010-23g,1夸脱水大约950g。编写一个程序,要求输入水的夸脱数,然后显示这么多水中包含多少水分子。程序如下:#include void main() double q,

5、m; printf(Please input the quality of water (quart):); scanf(%lf,&q); m=q*950.0/(3.0e-23); printf(The moleculus of %f quart water is %en,q,m);3写出下列程序的运行结果:#include void main() char c1=a,c2=b,c3=c,c4=101,c5=116; printf(“a%cb%ctc%ctabcn”,c1,c2,c3); printf(“tb%c%cn”,c4,c5);运行结果:aabb cc abcAN4若a=3,b=4,c

6、=5,x=1.2,y=2.4,z=-3.6,u=51274,n=128765,c1=a,c2=b。写出程序,使之输出下面的结果。a = 3 b = 4 c = 5x = 1.200000, y = 2.400000, z = -3.600000x + y = 3.60 y + z = -1.20 z + x = -2.40u = 51274 n = 127865c1 = a or c1 = 97c2 = b or c2 = 98程序如下:#include void main() int a=3,b=4,c=5; double x=1.2,y=2.4,z=-3.6; unsigned int u

7、=51274,n=128765; char c1=a,c2=b; printf(a = %d b = %d c = %dn,a,b,c); printf(x = %f, y = %f, z = %fn,x,y,z); printf(x + y = %5.2f y + z = %5.2f z + x = %5.2fn,x+y,y+z,z+x); printf(u = %u n = %un,u,n); printf(c1 = %c or c1 = %dn,c1,c1); printf(c2 = %c or c2 = %dn,c2,c2);5用下面的scanf函数输入数据,使a=3,b=7,x=8.

8、5,y=71.82,c1=A,c2=a。说明在键盘上如何输入数据。#include void main() int a,b; float x,y; char c1,c2; scanf(“a = %d b = %d”,&a,&b); scanf(“x = %f y = %e”,&x,&y); scanf(“c1 = %c, c2 = %c”,&c1,&c2);输入数据:a = 3 b = 7x = 8.5 y = 7.182e1c1 = A, c2 = a验证程序:#include void main() int a,b; float x,y; char c1,c2; scanf(a = %d

9、b = %d,&a,&b); scanf(x = %f y = %e,&x,&y); scanf(c1 = %c, c2 = %c,&c1,&c2); printf(a = %d b = %dn,a,b); printf(x = %.2f y = %.2fn,x,y); printf(c1 = %c, c2 = %cn,c1,c2);6编写程序,输入一个华氏温度,求出相应的摄氏温度(输出结果保留两位有效数字)。公式为:程序如下:#include void main() float f,c; printf(Please input f=); scanf(%f,&f); c=5.0/9*(f-32

10、); printf(f=%0.2f,c=%0.2fn,f,c);习题3一、基础题1设a,b和c都是int型变量,且a=3,b=4,c=5,则下面的表达式中值为0的表达式是A) a&b B) a=bC) a|b+c&b-c D) !(a15?a+10:a-10; printf(%dn, b) ;A) 5 B) 25 C) 15 D) 10A4下面程序的输出结果是#include main( ) int a=2, b=7, c=5; switch(a0) case 1:switch(b0) case 1: printf(); break; case 0: printf(!); break; cas

11、e 0:switch(c=5) case 0: printf(*); break; case 1: printf(#); break; default: printf(%);break; default: printf(&); printf(n);A) & B) !#& C) % D) *&B5以下程序的运行结果是( )。main( ) int a=0, b=1, c=0, d=20, x; if (a) d=d-10; else if (!b) if (!c) x=15; else x=25; printf(%dn, d);A) 15 B) 25 C) 20 D) 10C6若k是int型变量

12、,且有下面的程序片段:k=8;if (k=0) if (k=0) printf(#) else printf(&);else printf(*);上面程序片段的输出结果是A) # B) & C) * D) 有语法错误,无输出结果D(第一个printf语句少分号)7假定所有变量均已正确说明,下列程序段运行后x的值是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) 3B8若i,j已定义为int类型,则以下程序段中内循环体的总的执行次数是for (i=5;i;i-)for (j=0;j4;j+

13、).A) 20 B) 25 C) 24 D) 30A9设i,j,k均为int型变量,则执行完下面的for循环后,k的值为for(i=0,j=10;i=j;i+,j-) k=i+j;A) 12 B) 10 C) 11 D) 9B10有以下程序段int k=0;while (k=1) k+; while循环执行的次数是A) 无限次 B) 有语法错,不能执行 C) 一次也不执行 D) 执行一次A11C语言中while 和do-while 循环的主要区别是( )。A) do-while的循环体至少无条件执行一次B) while 的循环控制条件比do-while 的循环控制条件严格C) do-while

14、 允许从外部转到循环体内D) do-while 的循环体不能是复合语句A12以下叙述正确的是( )。A) continue语句的作用是结束整个循环的执行B) 只能在循环体内和switch语句体内使用break语句C) 在循环体内使用break语句或continue语句的作用相同D) 从多层循环嵌套中退出时,只能使用goto语句B13对下面程序段,描述正确的是( )。for(t=1;t=100;t+) scanf(%d, &x); if (x0) continue; printf(%dn, t);A) 当x=0时,什么也不输出C) printf函数永远也不执行 D) 最多允许输出100个非负整数

15、D14以下程序的输出结果是( )。#include main() int i; for(i=1;i=5;i+) if(i%2) printf(*); else continue; printf(#); printf($n);A) *#$ B) #*#*#*$ C) *#*#*#$ D) *#*$A15以下程序的输出结果是( )。#include main( ) int count, i=0; for(count=1; count8;y=+i) printf(%d %d , x-, y);A) 10 1 9 2 B) 9 8 7 6 C) 10 9 9 0 D) 10 10 9 1D18设有以下

16、程序main( ) int n1, n2; scanf(%d, &n2); while (n2!=0) n1=n2%10; n2=n2/10; printf(%d, n1); 程序运行后,如果从键盘上输入1298,则输出结果为( 8921 )。892119下面程序的运行结果是( )。main( ) int s=0, i=1; while (s=10) s=s+i*i; i+; printf(%d, -i);A) 4 B) 3 C) 5 D) 6B20以下程序运行后的输出结果是( )。#include main( ) int s=0, k; for(k=7;k=0;k-) switch(k) c

17、ase 1: case 4: case 7: s+; break; case 2: case 3: case 6: break; case 0: case 5: s+=2; break; printf(s=%dn, s);A)s=5 B)s=1 C)s=3 D)s=7D21下面程序的功能是:计算1到10之间奇数之和及偶数之和,请填空。#include main( ) int a, b, c, i; a=c=0; for(i=0;i=10;i+=2) a+=i; _; c+=b; printf(偶数之和=%dn, a); printf(奇数之和=%dn, c-11);A) i+=2 B) i+

18、C) b=b+1 D) b=i+1D22运行以下程序后,如果从键盘上输入12,8,则输出结果为( )。main( ) int a, b, n1, n2, t; scanf(%d, %d, &n1, &n2); if (n1n2) t=n1;n1=n2;n2=t; a=n1;b=n2; while (b!=0) t=a%b; a=b; b=t; printf(%d, %dn, a, n1*n2/a);A) 2,6 B) 4,24 C) 4,12 D) 8,96B二、程序设计题1输入一个实数x,计算并输出下式的值,直到最后一项的绝对值小于10-5(保留两位小数)。程序如下:#include #in

19、clude main() float x; int n=1; float s=0.0,term; printf(Please input the x:); scanf(%f,&x); term=1.0*x/n; while(fabs(term)10e-5) s=s+term; n=n+1; term=term*x/n; printf(The result is:%.2fn, s);2输入园的半径r,求该圆的周长、面积。结果保留两位小数。程序如下:#include void main() float pi=3.14,s,c,r; printf(请输入圆的半径:); scanf(%f,&r); s

20、=pi*r*r; c=2*pi*r; printf(圆的面积为: %f,周长为: %fn,s,c); 3有一分数序列,求出这个数列前20项之和。程序如下:#includevoid main() int i,n=20; double s=0, a,b,c; for ( a=2,b=1,s=0,i=1; i=n; i+ ) s +=a/b; c=b, b=a, a=a+c; /调整下一项的分子分母 printf(s=%f n, s);4百钱买百鸡问题:鸡翁一值钱五,鸡母一值钱三,鸡雏三值钱一。凡百钱买百鸡,问鸡翁、鸡母、鸡雏各几何?程序如下:#includevoid main() int Cock

21、,Hen,Chick; for(Cock=0;Cock=20;Cock+) for(Hen=0;Hen=33;Hen+) Chick=100-Cock-Hen; if(Cock*5+Hen*3+Chick/3.0=100) printf(Cock=%d,Hen=%d,Chick=%dn,Cock,Hen,Chick); 5输入两个正整数m和n,求其最大公约数和最小公倍数。提示:求最大公约数的算法如下:(1)将两个数中较大的放在变量m中,较小的放在n中;(2)求出m被n除后的余数;(3)若余数为0,转步骤(7),否则转步骤(4);(4)把除数作为新的被除数,余数作为新的除数;(5)求出新的余数;

22、(6)重复步骤(3)(5);(7)输出n,即为最大公约数。最小公倍数 =(mn)最大公约数。程序如下:#include main() int p,r,n,m,temp; printf(请输入两个正整数n,m:); scanf(%d,%d,&n,&m); if(nm) temp=n; n=m; m=temp; p=n*m; while(m!=0) r=n%m; n=m; m=r; printf(它们的最大公约数为:%dn,n); printf(它们的最小公倍数为:%dn,p/n);6编程求Sn=a + aa + aaa + + aaaa的值,其中a和n的值从键盘上输入。 例如当a=2,n=4时,

23、Sn=2+22+222+2222=2468。程序如下:#include main() int a,n,i=1,sn=0,tn=0; printf(a,n=); scanf(%d,%d,&a,&n); while(i=n) tn=tn+a; sn=sn+tn; a=a*10; i+; printf(a+aa+aaa+.=%dn,sn);7编写一程序,功能是输入一个整数,将它反向输出。例如,输入12345,则输出54321。程序如下:#include void main( ) int x; printf(input x: ); scanf (%d, &x); while(x 0) printf(%

24、d , x%10); x = x / 10; 8编程解决数学题:有一长阶梯,若每步跨2阶,最后剩1阶;若每步跨3阶,最后剩2阶;若每步跨5阶,最后剩4阶;若每步跨6阶,最后剩5阶;只有每步跨7阶,最后才正好1阶不剩。问这条阶梯共有多少阶?程序如下:#include void main() int Step=0; while(1) if(Step%2=1)&(Step%3=2)&(Step%5=4)&(Step%6=5)&(Step%7=0)break; Step+; printf(The Step is %dn,Step); 9编程解决三色球问题。 若一个口袋中放有12个球,其中3个红色球,3个白色球,6个黑色球,从中任取8个球,问共有多少种不同的颜色搭配?程序如下:#include main( ) int white,red,black,count=0; for(white=1;white=3;white+) for(red=1;red=3;red+) black=8-white-red; if(black=6) count=count+1; printf(whitet%dtredt%dtblackt%dn,white,red,black)

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1