C语言习题答案全解.ppt
《C语言习题答案全解.ppt》由会员分享,可在线阅读,更多相关《C语言习题答案全解.ppt(69页珍藏版)》请在课桌文档上搜索。
1、C语言习题答案,第一章第三章第四章,第五章 第六章 第七章,第八章,第一章,1.51.6,1.5请参照本章例题,编写一个C程序,输出以下信息:*Very Good!*解:main()printf(*n);printf(n);printf(Very Good!n);printf(n);printf(*n);,for(i=0;i30;i+)printf(“*”);,循环语句,1.6编写一个程序,输入a b c三个值,输出其中最大者。解:main()int a,b,c,max;printf(请输入三个数a,b,c:n);scanf(%d,%d,%d,#include void main()int m
2、ax(int x,int y);int a,b,c,d;scanf(“d,d,%d”,第三章,3.33.53.63.73.83.93.10,3.3 请将下面各数用八进制数和十六进制数表示:(1)10(2)32(3)75(4)-617(5)-111(6)2483(7)-28654(8)21003 解:十 八 十六(10)=(12)=(a)(32)=(40)=20(75)=(113)=4b(-617)=(176627)=fd97-111=177621=ff91 2483=4663=963-28654=110022=9012 21003=51013=520b,3.5字符常量与字符串常量有什么区别?解
3、:字符常量是一个字符,用单引号括起来。字符串常量是由0个或若干个字符连接而成,用双引号把它们括起来,存储时自动在字符串最后加一个结束符号0.,3.6写出以下程序的运行结果:#include void main()char c1=a,c2=b,c3=c,c4=101,c5=116;printf(a%c _b%ctc%ct_abcn,c1,c2,c3);printf(tb%c_%cn,c4,c5);,A,N,P48 转义字符(一个制表区8位),解:程序的运行结果为:aa_bb_ _ _cc_ _ _ _ _ _abc _ _ _ _ _ _ _ A _ N,P364 ASCII码,3.7将“Chi
4、na”译成密码.密码规律:用原来的字母后面第4个字母代替原来的字母,例如,字母“A”后面第4个字母是“E”,用“E”代替“A”.因此,“China”应译为“Glmre”.请编一程序,用赋初值的方法使c1,c2,c3,c4,c5分别变成G,1,m,r,e,并输出.main()char c1=C,c2=h,c3=i,c4=n,c5=a;c1+=4;c2+=4;c3+=4;c4+=4;c5+=4;printf(“The key is%c%c%c%c%cn,c1,c2,c3,c4,c5);,P62 复合赋值运算符,3.8例3.6能否改成如下:#include void main()int c1,c2;
5、(原为 char c1,c2)c1=97;c2=98;printf(%c%cn,c1,c2);printf(%d%dn,c1,c2);,解:可以.因为在可输出的字符范围内,用整型和字符型作用相同.,3.9求下面算术表达式的值.(1)x+a%3*(int)(x+y)%2/4=2.5(x=2.5,a=7,y=4.7)(2)(float)(a+b)/2+(int)x%(int)y=3.5(设a=2,b=3,x=3.5,y=2.5),P55 算术运算符,(除法运算符。如:)除号两边为整型则结果为整型(模运算符,或称求余运算符,两侧均应为整型数据,如:的值为)。正负号取决于被除数符号-的值为-,-(-)
6、的值仍为-,3.10写出下面程序的运行结果:#include void main()int i,j,m,n;i=8;j=10;m=+i;n=j+;printf(%d,%d,%d,%dn,i,j,m,n);,P57 自增自减运算符,i+与+i的区别:是先执行后,再使用的值;是先使用的值后,再执行。,解:结果:9,11,9,10,第四章,4.44.54.74.84.9,4.4.a=3,b=4,c=5,x=1.2,y=2.4,z=-3.6,u=51274,n=128765,c1=a,c2=b.想得 到以下的输出格式和结果,请写出程序要求输出的结果,P76 格式字符,main()int a,b,c;l
7、ong int u,n;float x,y,z;char c1,c2;a=3;b=4;c=5;x=1.2;y=2.4;z=-3.6;u=51274;n=128765;c1=a;c2=b;printf(n);,printf(a=%2d b=%2d _ _ c=%2dn,a,b,c);,printf(x=%8.6f,y=%8.6f,z=%9.6fn,x,y,z);,printf(x+y=%5.2f_y=z=%5.2f_z+x=%5.2fn,x+y,y+z,z+x);,printf(u=%6ld_ _n=%9ldn,u,n);,printf(c1=%c or%d(ASCII)n,c1,c1);pri
8、ntf(c2=%c or%d(ASCII)n,c2,c2);,结果如下:a=_3 b=_4 _ _ c=_5,x=1.200000,y=2.400000,z=-3.600000,x+y=_3.60_y+z=-1.20_z+x=-2.40,u=_51274_ _n=_ _ _128765,c1=a or 97(ASCII)c2=B or 98(ASCII),4.5请写出下面程序的输出结果.结果:57 _ _ 5 _ _ 7 67.856400,-789.123962 67.856400_,-789.123962 _ _ _ 67.86,_-789.12,67.856400,-789.123962
9、,67.856400,-789.123962 6.785640e+001,-7.89e+002 A,65,101,41 1234567,4553207,d687 65535,17777,ffff,-1 COMPUTER,_ _ COM,4.6解:可按如下方式在键盘上输入:a=3 b=7 8.5 _ 71.82 A _ a,说明:在编程使用一个或多个scanf函数时,第一个输入行末尾输入的“回车”被第二个scanf函数吸收.因此在第二三个scanf函数的双引号后设一个空格以抵消上行输入的回车.如果没有这个空格,按上面输入数据会出错.,4.7用下面的scanf函数输入数据使a=10,b=20,c1
10、=A,c2=a,x=1.5,y=-3.75,z=67.8,请问 在键盘上如何输入数据?scanf(%5d%5d%c%c%f%f%*f%f,运行时输入:_ _ _ 10 _ _ _ 20Aa1.5-3.75 _ 1.5,67.8 注解:按%5d格式的要求输入a与b时,要先键入三个空格,而后再打入10与20。%*f是用来禁止赋值的。在输入时,对应于%*f的地方,随意打入了一个数1.5,该值不会赋给任何变量。,4.8设圆半径r=1.5,圆柱高h=3,求圆周长,圆面积,圆球表面积,圆球体积,圆柱体积,用scanf输入数据,输出计算结果,输出时要求有文字说明,取小数点后两位数字.请编程.解:main()
11、float pi,h,r,l,s,sq,vq,vz;pi=3.1415926;printf(请输入圆半径r圆柱高h:n);scanf(%f,%f,4.9输入一个华氏温度,要求输出摄氏温度,公式为C=5/9(F-32),输出要有文字说明,取两位小数.解:main()float c,f;printf(请输入一个华氏温度:n);scanf(%f,第五章,5.45.55.65.7,5.85.95.10,5.4有三个整数a,b,c,由键盘输入,输出其中最大的数.main()int a,b,c;printf(请输入三个数:);scanf(%d,%d,%d,/*ab&ac*/,P99 if语句嵌套,P97
12、else if语句,方法2:使用条件表达式.main()int a,b,c,termp,max;printf(请输入 A,B,C:);scanf(%d,%d,%d,P102 条件运算符,条件运算符格式:表达式?表达式表达式 功能:判断表达式1的值,如果成立就执行表 达式2,否则就执行表达式3,5.5 main()int x,y;printf(输入x:);scanf(%d,5.6百分制成绩#includevoid main()float score;char grade;printf(“请输入学生成绩”);scanf(“%f”,switch(int)(score/10)case 10:case
13、9:grade=A;break;case 8:grade=B;break;case 7:grade=C;break;case 6:grade=D;break;case 5:case 4:case 3:case 2:case 1:case 0:grade=E;printf(“score=%d,grade=%cn”,score,grade);,default:grade=E;,main()long int num;int indiv,ten,hundred,housand,tenthousand,place;printf(请输入一个整数(0-99999):);scanf(%ld,5.7给一个不多于
14、5位的正整数,要求:1.求它是几位数2.分别打印出每一位数字3.按逆序打印出各位数字.例如原数为321,应输出123.,switch(place)case5:printf(%d,%d,%d,%d,%d,tenthousand,thousand,hundred,ten,indiv);printf(n反序数字为:);printf(%d%d%d%d%dn,indiv,ten,hundred,thousand,tenthousand);break;case 4:printf(%d,%d,%d,%d,thousand,hundred,ten,indiv);printf(n反序数字为:);printf(%
15、d%d%d%dn,indiv,ten,hundred,thousand);break;case 3:printf(%d,%d,%dn,hundred,ten,indiv);printf(n反序数字为:);printf(%d%d%dn,indiv,ten,hundred);break;case 2:printf(%d,%dn,ten,indiv);printf(n反序数字为:);printf(%d%dn,indiv,ten);break;case 1:printf(%dn,indiv);printf(n反序数字为:);printf(%dn,indiv);,5.8 1.if语句 main()lon
16、g i;float bonus,bon1,bon2,bon4,bon6,bon10;bon1=100000*0.1;/*初始化变量*/bon2=100000*0.075+bon1;bon4=200000*0.05+bon2;bon6=200000*0.03+bon4;bon10=400000*0.015+bon6;printf(请输入利润);scanf(%ld,main()long i;float bonus,bon1,bon2,bon4,bon6,bon10;int branch;bon1=100000*0.1;/*初始化变量*/bon2=bon1+100000*0.075;bon4=bon
17、2+200000*0.05;bon6=bon4+200000*0.03;bon10=bon6+400000*0.015;printf(请输入利润:);scanf(%ld,用switch语句编程序,5.9 输入四个整数,按大小顺序输出.main()int t,a,b,c,d;printf(请输入四个数:);scanf(%d,%d,%d,%d,5.10塔#include”stdio.h”#include”math.h”void main()int h=10;float x,y,x1=2,y1=2,x2=-2,y2=2,x3=-2,y3=-2,x4=2,y4=-2,d1,d2,d3,d4;print
18、f(请输入一个点(x,y):);scanf(%f,%f,第六章,6.16.26.36.46.56.6,6.76.86.96.106.146.15,6.1输入两个正数,求最大公约数最小公倍数.main()int a,b,num1,num2,temp;printf(请输入两个正整数:n);scanf(%d,%d,6.2输入一行字符,分别统计出其中英文字母,空格,数字和其它字符的个数.解:#include main()char c;int letters=0,space=0,degit=0,other=0;printf(请输入一行字符:n);while(c=getchar()!=n)if(c=a,6
19、.3求s(n)=a+aa+aaa+aaa之值,其中a是一个数字.解:main()int a,n,count=1,sn=0,tn=0;printf(请输入a和n的值:n);scanf(%d,%d,6.4 求1+2!+3!+4!+20!.main()float n,s=0,t=1;for(n=1;n=20;n+)t=t*n;s=s+t;printf(1!+2!+20!=%en,s);,P43,p46数据范围,%f:以小数形式输出单,双精度数,隐含输出六位小数%e:以指数形式输出实数%g:选用%f或%e格式中输出宽度较短的一种格式,不输出无意义的0(了解),结果:2.561327e+18%f:256
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 习题 答案

链接地址:https://www.desk33.com/p-263974.html