C语言课本习题答案.doc

上传人:s****u 文档编号:12766718 上传时间:2020-05-23 格式:DOC 页数:12 大小:46KB
返回 下载 相关 举报
C语言课本习题答案.doc_第1页
第1页 / 共12页
C语言课本习题答案.doc_第2页
第2页 / 共12页
C语言课本习题答案.doc_第3页
第3页 / 共12页
点击查看更多>>
资源描述
【习题1】一、简答题(在课本中寻找答案,略)1.1 C程序的基本结构包括哪些内容?1.2 如何定义标识符?1.3 输入格式、输出格式的组成包括哪些内容?1.4 C语言函数分为哪两类?1.5 计算表达式的值应该考虑哪些方面?1.6 上机调试程序的步骤如何?二、判断并改错1.7 C程序执行的入口是main()函数,所以main函数必须放在程序的开头。错误:main函数可以放在程序的任何位置。并不限定在程序的开头。1.8 定义一个函数包括数据说明部分和执行语句部分,两者可以交叉出现。错误:不可以交叉出现,数据说明部分在执行语句部分的前面。1.9 编辑与编译不是一回事。错误:不是一回事。编辑完成源程序的输入和修改;编译是对源程序进行语法检查,如果无语法错误,则生成目标程序。1.10 scanf(%d,%d,&x,&y);的正确输入格式:3,4。正确1.11 注释内容太多会影响程序的执行效率。 错误:不会影响程序的执行效率。因为在编译时,编译系统将注释内容删除或用空格代替,所以注释内容不会编译到目标程序中。1.12 所有的数学公式可以直接出现在源程序中。错误:数学公式需要转换成C语言能够接受的公式才能出现在源程序中。三、编程题1.13 在屏幕上输出自己名字的拼音。提示:中文名字叫“张三”,对应的拼音为“Zhang San”,输出用printf()函数。1.14 输入圆的半径,求圆的周长,并将结果保留两位小数输出到屏幕上。提示:定义圆的半径r,圆的周长:2*3.14*r,输出结果保留2位小数可以用%.2f1.15 输入两个整数,输出其中最大者。提示:模仿例1.31.16 输入三个整数,输出其中最小者。提示: min(min(a,b),c); 【习题2】一、简答题(在课本中寻找答案,略)2.1 常量与变量的区别?2.2 C语言中的标识符的定义规则?2.3 变量为什么要“先定义,后使用”?2.4 字符常量a与字符串常量a有何区别?2.5 大小写字母转换的规则是什么?2.6 变量的具有哪三种属性?二、单项选择题2.7C语言中,int型数据在内存中的存储形式是(D)。A)ASCII码 B)原码 C)反码 D)补码2.8下面四个选项中,均是不合法的用户标识符的选项是(C)。)BA 、x_0、do)float、1a0、_Y)x-y、goto、123)_123、tmp、CHAR2.9下列选项中不正确的常数的选项是(D)。)0x12F )-1.23E-2 )12.0 )03882.10下面正确的字符常量是(B)。)a ) )n )3762.11下面正确的字符串常量是(C)。)a )376 )n )3762.12表达式A+4*25.0-b的正确结果是(B)。)67 )67.0 )不确定 )67L2.13执行printf(%x,100);后的输出结果是(C)。)100 )0x100 )0X64 )642.14int型的-1在内存中的存储形式是(A)。)1111 1111 1111 1111)0000 0000 0000 0001)1111 1111 1111 1110)1000 0000 0000 00012.15存储字符串abc376需要的字节数是(D)。)11 )13 )6 )7【习题3】一、计算题3.1 2.8+7%3*11%2/4 (答案:2.8)3.2 5/2+5.0/2+7%6 (答案:5.5)3.3 a=12,a*=2+3 (答案:a=60)3.4 a=3,b=4,c=5,a+bc&b= =c (答案:0)3.5 35?3:5b)&(n=cd),计算表达式后m,n的值?(答案:m=0,n=1)3.7设int b=7;float a=2.5,c=4.7;求下面表达式的值。 a+(int)(b/2*(int)(a+c)/2)%4 (答案:4.5)二、单项选择题3.8若有代数式 ,则不正确的C语言表达式是(C)。A)x/b/c*y*8 B)8*x*y/b/c C)8*x*y/b*c D)x*y/c/b*83.9有如下类型说明:int k,a,b;unsigned long w=8;double x=2.9则以下不符合C语言语法的表达式是(A)。)x%(-3) )w*=-2)k=(a=6,b=4,a-b) )a*=a+=a-=(b=4)*(a=3)3.10有如下类型说明: float n; int m; 则以下能实现将n中的数值保留小数点后两位,第三位四舍五入的表达式是(B)。)n=(n*100+0.5)/100.0 )m=n*100+0.5,n=m/100.0)n=n*100+0.5/100.0 )n=(n/100+0.5)*100.03.11设k=7,x=12;则下列表达式值为3的是(D)。)x%=(k%=5) )x%=(k-k%5))x%=k-k%5 )(x%=k)-(k%=5)3.12已知m=48,ch=a,n=0;则表达式(m=n&chy?1:1.5);后的输出结果是(D)。)语法错误 )1 )1.5 )1.5000003.14能表示条件0x100的表达式是(D)。)0=x=0,x=0&x=0&ch=0&ch=0|ch60?pass:fail);3.17输入一个年份y,如果是闰年,输出“y is a leap year”,否则输出“y is not a leap year.”提示:printf(%d is %s,y%4=0&y%100!=0|y%400=0?a leap year.:not a leap year.);3.18输入三条边a,b,c,如果它们能构成一个三角形,输出“Yes”,否则输出“No”。提示:printf(%s,a+bc&a+cb&b+ca?Yes:No);3.19输入三个数x,y,z,按从小到大的输出结果。提示:分别用max0,min0代表最大、最小值,mid0表示中间值。max0=(xy?x:y)z?(xy?x:y):z;max0=(xy?x:y)z?(xy?x:y):z;mid0=x+y+z-max0-min0;3.20输入一个平面上的点坐标,判断它是否落在圆心(0,0),半径为1的圆内,如果在圆内,输出“Yes”,否则输出“No”。提示:分别用x,y代表平面上一个点。printf(%s,x*x+y*y=0?Yes:No);【习题4】以下的编程题目要求首先画出程序的传统流程图或N-S流程图,再编写程序代码。上机实验时再输入到计算机中进行调试,并将调试过程中出现的问题和测试情况记录下来。(流程图请读者自己参考课本自己画,略)4.1编程实现,输入一个整数,判断它是否为偶数,并显示相应的信息。提示:x代表输入的整数,if(x%2=0) printf(neven);else printf(nodd);4.2 编程实现,输入一个平面上的点,判断它是否落在单位圆上,并显示相应的信息。提示:x,y代表平面坐标,if(x*x+y*y=1) printf(nYes);else printf(nNo);4.3 编程实现,输入一个成绩等级(A-E),显示相应的百分制成绩段。 A: 90-100 B: 80-89 C: 70-79 D: 60-69 E: 60提示:char grade; if(grade=A) printf(n90-100); else if(grade=B) printf(n80-89); .4.4 写出下面程序的运行结果: #include main() int a=-1,b=1,c=5; switch(a0) case 1:switch(b-21)|(t8) x=3; else x=1; else x=0;提示:int t; if(t10) c=0; else c=t;switch(t) case 0: x=0;break; case 1: case 2: x=3; case 3:case 4:case 5: case 6: x=2; case 7:case 8: case 9: x=3; case 10: x=2; 4.7 编程实现一个具有简单四则运算功能的计算器。提示:参照例4.18,随机产生3个数,其中一个数用来判断是哪种运算。4.8 编程实现,输入一行字符,将其中的数字字符对应的整数值加起来并输出结果。如: a45b8&*3 则是4+5+8+3,结果为20。提示:char c; int sum=0;while(c=getchar()!=n) if(c=0&c=9) sum=sum+c-0;4.9 编程实现,求 的值。提示:先计算n!,再在计算阶乘的外面套上一层循环。注意:20!是一个很大的值,float s=1;int i;例如:计算6!:for(i=1;i=6;i+) s=s*i;4.10 编程实现,找出1000之内的所有完数,并按下面格式输出其因子: 6 its factors are 1,2,3, 所谓“完数”是指一个数如果恰好等于它的因子之和,因子是指能够整除该数的数。提示:先判断数是否为完数,如果是再考虑输出因子。以6为例输出因子: for(i=1;i6;i+) if(6%i=0) printf(%d,i);4.11 编程实现,计算序列的前20项之和, , , , , , ,.提示:这是一个累加式,每项是一个分式,用a、b分别表示分子、分母。注意:如果a、b都是整数,则是整除。float sum=0,a=2,b=1; int i;for(i-1;i=20;i+)sum=sum+a/b;a=a+b;b=a-b; 4.12 编程实现,求Sn=a+aa+aaa+.+ aa.a之值,其中a是一个数字。如:2+22+222+2222+22222(此时n=5),n,a由键盘输入。提示:这是一个累加式,后1项可以由前一项表示,譬如:第2项可以由第1项表示: 第1项 t=a; 第2项:t=t*10+a;4.13 编程实现,把从键盘输入的金额数(以圆为单位)按人民币面额划分,然后显示支付该金额的各种面额人民币的数量。提示:譬如:123.58元可以表示100元:1张;20元:1张;2元:1张;1元:1张;5角:1张;5分:1枚;2分:1枚;1分:1枚。为了简单可以只完成整数部分转换,即输入的金额数为整数。4.14 编程实现,使用循环结构打印以下图案。 * * * * * * * * * * * * * * * * * * * * * * * * *提示:输出时,本图案要按向上三角形和向下三角形进行输出。每行输出中包括空格输出,*号输出。输出空格和*号个数要与行循环控制变量关联起来。4.15 编程实现,以菜单方式实现猜数游戏系统。(功能自己设定)提示:模仿例4.14和例4.18完成。功能可以包括猜数范围,人数等设置。4.16 编程实现,以菜单方式实现四则运算辅助教学系统。提示:随机产生两个操作数和运算符+、-、*、/,由使用者输入一个数,判断计算结果与输入的数是否相等,如果相等,表示正确,否则是错误的。
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 图纸专区 > 考试试卷


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!