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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

C语言程序设计课后习题18参考答案文档格式.docx

1、1、C 2、A 3、B 4、A 5、B 6、B 7、D 8、A 9、A 10、B 11、A 12、B习题2参考答案1、C语言有哪些特点?(1)简洁紧凑、灵活方便;(2)运算符丰富;(3)数据结构丰富;(4)C语言是结构式语言;(5)C语言的语法限制不太严格、程序设计自由度大;(6)C语言允许直接访问物理地址,可以直接对硬件进行操作;(7)C语言程序生成代码质量高,程序执行效率高;(8)C语言使用范围大,可移至性好;(9)具有预处理功能;(10)具有递归功能。2、C语言的主要应用有哪些?(1)许多系统软件和大型应用软件都是用C语言编写的,如UNIX、Linux等操作系统。(2)在软件需要对硬件进

2、行操作的场合,用C语言明显优于其他高级语言。例如,各种硬件设备的驱动程序(像显卡驱动程序、打印机驱动程序等)一般都是用C语言编写的。(3)在图形、图像及动画处理方面,C语言具有绝对优势,特别是游戏软件的开发主要就是使用C语言。(4)随着计算机网络飞速发展,特别是Internet的出现,计算机通信就显得尤其重要,而通信程序的编制首选就是C语言。(5)C语言适用于多种操作系统,像Windows、UNIX、Linux等绝大多数操作系统都支持C语言,其他高级语言未必能得到支持,所以在某个特定操作系统下运行的软件用C语言编制是最佳选择。3、列举几种程序设计语言。C语言、Java语言、Pascal语言、B

3、ASIC语言、LOGO语言等。1、机器语言 汇编语言 高级语言2、机器语言3、ALGOL 604、多个函数5、main6、#include7、定义 使用8、声明部分 执行部分 声明部分 执行部分1、D 2、B 3、B 4、C 5、C 6、C 7、D 8、C 9、D 10、A 11、B 12、 A 13、B 14、C 15、A习题3参考答案一、填空题1、整型 字符型 实型2、字母 数字 下划线 字母 下划线3、直接 符号 符号4、0 0x5、1 26、4 87、-32768327678、-169、x+=1;10、2611、(m/10)%10*100+m/100(100*10)+m%10二、选择题

4、1、D 2、C 3、A 4、B 5、B 6、D 7、B 8、C 9、A 10、A 11、C 12、B 13、B 14、D 15、B 16、D 17、B 18、D 19、C 20、A 21、B 22、D 23、D 24、D 25、D 26、D 27、C 28、A 29、C 30、B习题4参考答案1、scanf printf2、按指定的输出格式将信息输出到屏幕上 常规字符 格式控制符3、X、E、G4、getche输入的字符回显,而getch输入的字符不回显5、fflush6、解决某个问题的具体的方法和步骤7、自然语言描述 伪代码 流程图 N-S图8、顺序 分支 循环1、B 2、C 3、D 4、C

5、5、B 6、C 7、D 8、C 9、B 10、B 11、D 12、C 13、D 14、D 15、A三、编程题1、编写一程序要求任意输入四位十六进制整数,以反序的方式输出该十六进制数。例如:输入9AF0,则输出0FA9。 #include void main() unsigned short a, b; scanf(“%4x”, &a) /输入4位十六进制数给变a b=(a & 0X000F)12; /取a的最低一位十六进制数并左移12位后赋值给b b+=(a & 0X00F0)4; /取a的次第一位十六进制数并左移4位后与b相加再赋值给b 0X0F00) /取a 的次高一位十六进制数并右移4位

6、后与b相加再赋值给b 0XF000) float a, b, c; float d; float x1, x2; printf(“input a, b, c: ”); scanf(“%f%f%f”, &b, &c); d=sqrt(b*b-4*a*c); x1=(-b+d)/(2*a); x2=(-b-d)/(2*a); printf(“x1=%.2f x2=%.2fn”, x1, x2);6、假设从键盘输入某日午夜零点到现在已经历的时间(单位:s),遍一程序计算到现在为止已近过了多少天,现在的时间是多少? unsigned long t, r; int d, h, m, s; printf(

7、“second=”); scanf(“%d”, &t); d=t/(24*3600); r=t%(24*3600); h=r/3600; m=(r%3600)/60; s=(r%3600)%60; printf(“have passed days is %d, current time is %02d:%02d:%02dn”, d, h, m, s):习题5参考答案编程题1、编一程序判断输入整数的正负性和奇偶性。 int a; if (a=0) printf(“the number %d is positive numbern”, a); else printf(“the number %d

8、is negative numbern”, a); if (a%2=0) printf(“the number %d is even numbern”, a); printf(“the number %d is odd numbern”, a);2、编程判断输入数据的符号属性。#include0) sign=1;else if (x=0) sign=0; sign=-1;printf(“sign= %dn”, sign);3、输入任意三个数num1、num2、num3,按从小到大的顺序排序输出。int num1, num2, num3;scanf(“%d%d%d”, &num1, &num2,

9、 &num3);if (num1=num2) if (num2 printf(“%d %d %dn”, num3, num1, num2); printf(“%d %d %dn”, num1, num3, num2);else if (num2 printf(“%d %d %dn”, num3, num2, num1); printf(“%d %d %dn”, num2, num3, num1); printf(“%d %d %dn”, num2, num1, num3);4、在屏幕上显示一张如下所示的时间表。 char c; printf(“*Time*n”);printf(“1 morni

10、ngn”);printf(“2 afternoonn”);printf(“3 nightn”);printf(“Please enter your choice:c=getcahr();switch (c)case 1: printf(“Good morningn”); brenk;case 2: printf(“Good afternoonn”); break;case 3: printf(“Good nightn”);default: printf(“Selection error!n”);5、输入一个年份和月份,打印出该月份有多少天(考虑闰年),用switch语句编程。 int year

11、, month; printf(“Input year, month: scanf(“%d %d”, &year, &month); switch (month) case 1: case 3: case 5: case 7: case 8: case 10: case 12: printf(“31 daysn”); case 4: case 6: case 9: case 11: printf(“30 daysn”); case 2: if (year%4=0 & year%100!=0)| (year%400=0) printf(“29 daysn”); printf(“28 daysn”

12、); default: printf(“Input error!习题6参考答案1、编程计算2+4+6+98+100的值。(1)利用for循环语句实现,在循环体外为sum赋初值0。int i, sum=0;for(i=2; i=100; i+=2)sum+=i;printf(“sum= %dn”, sum);(2)利用while循环语句实现,在循环体外为i和sum赋初值。int i=2, sum=0;while(i=100)i+=2;2、编程计算1*2*3+4*5*6+99*100*101的值。int i;long term, sum=0;for(i=1;=99;term=i*(i+1)*(i+

13、2);sum+=term;3、编程计算1!+2!+3!+10!的值。(1)用累加和算法,累加项为term=term*i; i=1,2,10。Term的初始值为1,使用单重循环完成。long term=1, sum=0;=10; i+)term*=i;printf(“1! = %ldn”, sum);(2)用内层循环求阶乘,外层循环控制累加的项数。int i, j;term=1;for(j=1; j=i; j+) term*=j;4、编程计算a+aa+aaa+aa.a(n个a)的值,n和a的值由键盘输入。long term=0, sum=0;int a, i, n;printf(“Input a

14、, n:scanf(“%d,%d”, &n);=n;term=term*10+a;printf(“sum=%ldn”, sum);5、参考答案:float term, result=1;int n;for(n=2; n=le-5);printf(“sin(x) = %f, count= %dn”, sum, count);7、参考答案:int i, j, k, n;printf(“result is:for(n=100;1000; n+)i=n/100; /分出百位j=(n-i*100)/10 /分出十位k=n%10; /分出个位if(n=i*i*i+j*j*j+k*k*k) printf(“

15、%d ”, n);printf(“n”);8、参考答案:int i1, i2, i3, i4, k, n;printf(“Input data is:k=abs(n);i1=k/1000; /分离出千位i2=(k-i1*1000)/100 /分离出百位i3=(k-i1*1000-i2*100)/10 /分离出十位i4=k%10; /分离出个位printf(“The sum of the total bit is %dn”, i1+i2+i3+i4);9、参考答案:int n, m=0, s, r;s=n;While(s!r=s%10; /从低位到高位逐一分离m=10*m+r; /重新组合一正数

16、s=s/10; /求其商if(m=n)printf(“yesn”);printf(“non”);10、参考答案:int x, y, z, count=0; /x,y,z分别表示5分、2分和1分硬币的数量for(x=1; x=28; x+) /5分硬币最多不超过28枚 for(y=1; y=73; y+) /2分硬币最多不超过73枚 z=100-x-y; /共有100枚硬币,减去5分和2分硬币后为1分硬币数量 if(5*x+2*y+z=150) count+ /增加一种方案 printf(“%02d, %02d, %02d ”, x, y, z); /输出每一种方案 if (count%6=0)

17、 printf(“n”); /没输出6种方案后,换行printf(“count=%dn”, count);11、设计思想:将A、B、C、D4个人的回答用一条件表达式来表示,对于A的回答:thisman!=A;对于B的回答:thisman=C;对于C的回答:thisman=D;对于D的回答:=D;然后,采用枚举的方法,一个人一个人的去试,如果这4个条件表达式中有3个为真,即4个条件表达式的值相加为3,则可判定是其中某人做的好事。参考答案:int k=0; sum=0; g=0;char thisman=;for (k=0; k=3; k+) /循环控制变量为k,循环共进行4次thisman=A+

18、k; /初始认为A做好事,依次为B、C、Dsum=(thisman!=A)+(thisman=C)+(thisman=D)+(thisman!=D);if (sum=3)printf(“This man is %cn”, thisman);g=1;if (g!=1) printf(“Cant foundn”);12、参考答案(1):for (i=1; i+) /先显示前三行 for (j=1;=i-1; j+) /输出每行前的空格 printf(“ ”);=5-2*(i-1); j+) /输出每行的*号 printf(“*”);=2; i+) /接着显示后两行=2-i;=2*i+1;参考答案(2):void ma

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

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