




下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、精品文档复制)【习题C 语言程序设计 第三版 部分习题 ( 谭浩强 著) 清华大学出版社 课后答案 .txtcopy 别人的个性签名,不叫抄袭,不叫没主见,只不过是感觉对了。遇到过的事一样罢了。 1】一、简答题 ( 在课本中寻找答案,略 )1.1 C 程序的基本结构包括哪些内容?1.2 如何定义标识符?1.3 输入格式、输出格式的组成包括哪些内容?1.4 C 语言函数分为哪两类?1.5 计算表达式的值应该考虑哪些方面?1.6 上机调试程序的步骤如何?二、判断并改错1.7 C 程序执行的入口是 main() 函数,所以 main 函数必须放在程序的开头。 错误: main 函数可以放在程序的任何
2、位置。并不限定在程序的开头。1.8 定义一个函数包括数据说明部分和执行语句部分,两者可以交叉出现。 错误:不可以交叉出现,数据说明部分在执行语句部分的前面。1.9 编辑与编译不是一回事。 错误:不是一回事。编辑完成源程序的输入和修改;编译是对源程序进行语法检查,如果无 语法错误,则生成目标程序。1.10 scanf("%d,%d",&x,&y); 的正确输入格式: 3,4< 回车 >。 正确1.11 注释内容太多会影响程序的执行效率。 错误:不会影响程序的执行效率。因为在编译时,编译系统将注释内容删除或用空格代替, 所以注释内容不会编译到目标程序
3、中。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】
4、一、简答题 ( 在课本中寻找答案,略 )2.1 常量与变量的区别?2.2 C 语言中的标识符的定义规则?2.3 变量为什么要“先定义,后使用”?2.4 字符常量 'a' 与字符串常量 "a" 有何区别?2.5 大小写字母转换的规则是什么?2.6 变量的具有哪三种属性?二、单项选择题2.7 C 语言中, int 型数据在内存中的存储形式是(D)。A)ASCII 码 B )原码 C )反码 D )补码2.8 下面四个选项中,均是不合法的用户标识符的选项是(C)。A)BA、x_0、doB)float、1a0、_YC)x-y、goto、123D)_123、tmp、C
5、HAR2.9下列选项中不正确的常数的选项是(D)。A)0x12FB) -1.23E-2C)12.0D) 03882.10下面正确的字符常量是(B)。A)"a"B) ''C) "n"D)"376"2.11下面正确的字符串常量是( C)。A)'a'B) '376'C) "n"D) 3762.12表达式 'A'+4*25.0-'b'的正确结果是(B)。A)67B) 67.0C)不确定D)67L2.13执行 printf("%x&qu
6、ot;,100);后的输出结果是( C)。A)100B) 0x100C) 0X64D)642.14 int 型的-1 在内存中的存储形式是( A)。A) 1111 1111 1111 1111B) 0000 0000 0000 0001C) 1111 1111 1111 1110D) 1000 0000 0000 00012.15 存储字符串 "'abc376"A) 11 B) 13 C) 6需要的字节数是( D)。D) 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
7、.3 a=12,a*=2+3(答案: a=60)3.4 a=3,b=4,c=5,a+b>c&&b= =c (答案: 0)3.5 3>5?3:5<8?25:40 (答案: 25)3.6 设 a=1,b=2,c=3,d=4,m=n=1 ,有表达式 (m=a>b)&&(n=c>d) ,计算表达式后 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 若有代数式,则不正确的
8、C语言表达式是C)。A) x/b/c*y*8B) 8*x*y/b/cC) 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)。A) x%(-3)B) w*=-2C) k=(a=6,b=4,a-b)D) a*=a+=a-=(b=4)*(a=3)3.10 有如下类型说明 :float n;int m;则以下能实现将 n 中的数值保留小数点后两位,第三位四舍五入的表达式是(B)。A)n=(n*100+0.5)/100.0B)m=n*100+0.5,n=m/
9、100.0C)n=n*100+0.5/100.0D)n=(n/100+0.5)*100.03.11 设 k=7,x=12; 则下列表达式值为 3的是( D)。A)x%=(k%=5)B)x%=(k-k%5)C) x%=k-k%5D) (x%=k)-(k%=5)3.12 已知 m=48,ch='a',n=0; 则表达式(m>=n&&chv'b'&& ! n)的值是(B)。A) 0 B) 1 C)真 D) 非 03.13 下面哪个式子在 b为奇数时结果为假(C)。A) a%2=1 B) !(a%2=0)C ) !( a%2)D)
10、a%23.13 执行 printf("%f",(x=3,y=5,x>y?1:1.5);后的输出结果是( D)。A)语法错误B) 1 C) 1.5 D) 1.5000003.14 能表示条件 0W xw 100的表达式是(D)。A) 0<=x<=100B) x>=0,x<=100C) 0w xw 100D) x>=0&&x<=1003.15 判断 char 型变量 ch 为数字的正确表达式是(B)。A) ch>="0"&&ch<="9"B) ch>
11、;='0'&&ch<='9'C) '0' wchw '9'D) ch>='0'|ch<='9'三、编程题(应用条件运算)3.16 输入一个整型成绩x,如果大于等于60分,输出“ pass ”,否则输出“ fail ”。 提示: printf("%s",x>60?"pass":"fail");3.17 输入一个年份 y,如果是闰年,输出“ y is a leap year ” ,否则输出“ y is n
12、ot 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+b>c&&a+c>b&&b+c>a?"Yes":"No");3.19 输入三个数 x
13、,y,z ,按从小到大的输出结果。 提示:分别用 max0, min0 代表最大、最小值, mid0 表示中间值。max0=(x>y?x:y)>z?(x>y?x:y):z;max0=(x<y?x:y)<z?(x<y?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"
14、;:"No");【习题 4】以下的编程题目要求首先画出程序的传统流程图或 N-S 流程图,再编写程序代码。上机实验 时再输入到计算机中进行调试,并将调试过程中出现的问题和测试情况记录下来。( 流程图请读者自己参考课本自己画,略 )4.1 编程实现,输入一个整数,判断它是否为偶数,并显示相应的信息。提示: x 代表输入的整数, if(x%2=0) printf("neven");else printf("nodd");4.2 编程实现,输入一个平面上的点,判断它是否落在单位圆上,并显示相应的信息。提示: x,y 代表平面坐标, if(x
15、*x+y*y=1) printf("nYes");else printf("nNo");4.3 编程实现,输入一个成绩等级( A-E),显示相应的百分制成绩段。A: 90-100B: 80-89C: 70-79D: 60-69E: <60提示: char grade; if(grade='A') printf("n90-100"); else if(grade='B') printf("n80-89");4.4 写出下面程序的运行结果: #include<stdio.h&
16、gt;main()int a=-1,b=1,c=5;switch(a>0)case 1:switch(b-2<0)case 1:printf("&");break;case 2:printf("*");break;case 0:switch(c= =5)case 0:printf("!");break;case 1:printf("#");break; default:printf("%");default:printf(""); 运行结果: &#
17、4.5 将以下语句改写成 switch 语句。 if(t>0)&&(t<=10)if(t>=3)&&(t<=6) x=2;else if(t>1)|(t>8) x=3;else x=1;else x=0; 提示: int t;if(t<=0|t>10) 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=
18、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! ,再在计算阶乘的外面套上
19、一层循环。注意:20!是一个很大的值, floats=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;i<6;i+) if(6%i=0) printf("%d,",i);4.11 编程实现,计算序列的前 20 项之和,?7提示:这是一个累加式,每项是一个分式,用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 编
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 明星夫妻协议书
- 车辆低压借款合同协议
- 车间改造预算合同协议
- 个人专属化妆品牌代理协议
- 畜牧养殖产业废弃物处理合作合同
- 工资报酬劳动合同协议书
- 物流开票协议书
- 超市采购猪肉合同协议
- 车队安全生产协议书范本
- 日欧贸易协议书
- 新版院感培训课件
- (高清版)DB36∕T 1332-2020 水利工程标识标牌
- 脱硫塔拆除施工方案
- 北京二十中2025届高考英语二模试卷含解析
- 《高速公路电动汽车清障救援作业规范》
- 五年级下册异分母分数加减法练习200题有答案
- 我的家乡江西吉安
- 肺栓塞病人的术后护理
- 机场地震应急处理与疏散预案
- 《阻燃材料与技术》课件 颜龙 第3、4讲 阻燃基本理论、阻燃剂性能与应用
- 服务礼仪培训课件
评论
0/150
提交评论