C语言课后作业答案
- 格式:doc
- 大小:141.50 KB
- 文档页数:22
第0章习题1. 将下列十进制数分别转化为二进制数、八进制数和十六进制数:(1)128 (2)511 (3)1024 (4)65535 (5)1048575答:(1)10000000、200、80(2)111111111、777、1FF(3)10000000000、2000、400(4)1111111111111111、177777、FFFF(5)11111111111111111111、3777777、FFFFF2. 将下列二进制数转化为十进制数和十六进制数:(1)1100110101B (2)101101.1011B答:(1)821、335(2)45.6875、2D.B3. 写出下列数的原码、反码、补码:15、-20、-27/32答:(1)00001111、00000000、00001111(2)10010100、11101011、11101100(3)1.1101100、1.0010011、1.00101004. 16位无符号定点整数的数值表示范围为多少?8位补码的表示范围是多少?16位补码的表示范围是多少?答:0~65535、-128~127、-32768~327675.1968年Dijkstra提出结构化程序设计的思想的原因是什么?简要回答结构化程序设计的经典定义。
答:结构化程序设计概念的提出主要是源于程序结构的层次性与模块化使得构造出来的软件具有良好的可理解性和可维护性,随着软件规模的扩大与复杂性的提高,程序的可维护性成为程序设计者们关注的重要问题之一。
如果一个程序的代码块仅仅通过顺序、选择和循环这3种基本控制结构进行连接,并且每个代码块只有一个入口和一个出口,则称这个程序是结构化的。
6.C程序在内存中存储在哪儿?计算机的内存空间是如何分区的?分区存放不同类型的数据的目的是什么?答:C语言程序属于应用程序,程序代码本身存放在应用程序区,程序运行时处理的数据存放在应用程序数据区。
计算机的内存空间主要分为3个区:系统程序区、应用程序区和数据区,其中数据区又分为系统程序数据区和应用程序数据区两类。
C语言课后习题标准答案第1章C语言概述一、简答题1.(1)语言简洁、紧凑,使用方便、灵活;(2)运算符丰富;(3)具有丰富的数据类型;(4)具有结构化的控制语句;(5)语法限制不太严格,程序设计自由度大;(6)C语言允许直接访问物理地址,能进行位(bit)操作,能实现汇编语言的大部分功能,可以直接访问硬件;(7)生成目标代码质量高,程序执行效率高;(8)用C语言写的程序可移植性好,基本上不作修改就能用于各种型号的计算机和各种操作系统。
2.顺序结构,分支结构,循环结构3.所谓算法就是为解决一个问题而采取的方法和步骤。
算法的特性:有穷性、确定性、输入、输出、可行性。
表示算法的方式:(1)用自然语言表示;(2)用流程图表示;(3)用N—S流程图表示;(4)用伪代码表示;(5)用计算机语言表示。
二、算法1.瓶子A里盛有醋瓶子B里盛有酱油那一个空瓶C将A中的醋倒入C将B中的酱油倒入A将C中的醋倒入B2.输入一个数放在a中max=a以下步骤重复9次:输入一个数放在a中如果a>max,max=b打印max的值3.如果ﻩﻩa<btemp=aﻩa=bﻩﻩb=temp如果c>aﻩtemp1=aﻩﻩtemp2=ba=cﻩb=temp1ﻩc=temp2否则ﻩ如果ﻩc>bﻩtemp=bﻩb=cﻩc=temp打印a,b,c的值4.i=1sum=0以下程序循环100遍:sum=sum+iﻩi=i+1打印sum的值5.如果(n除以3的余数为0并且n除以5的余数为0)n能够同时被3和5整除否则ﻩn不能够同时被3和5整除6.i=101以下语句循环50遍:ﻩj=2ﻩflag=1ﻩ当j<(i除以2的整数部分)时循环以下语句:ﻩﻩ如果i除以j的余数为零ﻩﻩﻩflag=0ﻩﻩﻩ退出该循环如果flag=1ﻩﻩﻩ打印i的值ﻩi=i+17.如果m<nﻩﻩtemp=mﻩﻩm=nn=tempi=nj=1做以下循环,直到m能够被i/j整除:如果i能够被j整除并且m能够被i/j整除i/j即是m和n的最大公约数ﻩ跳出循环否则ﻩj=j+1打印i/j的值8.data=b*b—4*a*c如果data>0否则如果data=0ﻩx1=x2=—b/2否则无实数解三、编程题1.main(){ﻩprintf(“##############################\n”);ﻩprintf(“How do youdo?\n”);ﻩprintf(“##############################\n”);}2.main(){adata b x2)(1+-=a data b x2)(2--=。
第1章绪论一、选择题1-5 CDACA 6-10 BABBA 11-15 CACDA二、程序填空题(1)函数(2)主/main(3)scanf printf(4)函数(5){ } (6)编译_ 链接(7)/*_____和_*/___(8)_.c_(9)程序设计语言(10)机器语言__、_汇编语言_和__高级语言__第2章基本数据类型及顺序结构程序设计一、选择题1-5 DCABB 6-10 DDA不要A 11-15 AABDB 16-20 BCDAB21-25 CADBA 26-30 DBACA 31-35 BDCBB二、程序阅读题(1)G (2)0 (3)3 (4)2,1 (5)0 (6)16 (7)261 (8)7 (9)b (10)3 (11)10300 (12)10200 (13)2 20.0 (14)67 G三、程序填空题1、基本数据类型、构造类型其它类型2、4 4 8 13、double4、abs(x)>55、6.66、y%2!=07、i=10,j=20 8、n1=%d\nn2=%d9、printf(“a=%d, b=%d”,a,b) ; 10、1第3章分支结构一、选择题1-5 DA不要CD 6-10 BDBBC 11-15 CACCB 16-20 BDBAC21-25CDACB 26-30AADBB二、程序阅读题(1)20,0 (2)5858 (3)58(4)BBBB(5)-4(6)9 4 5 (7)_#&_(8)1,3,3(9)1 (10)0三、程序填空题(1)x%7==0&&x%11==0 (2)y%100!=0&&y%4==0 f=0(3)g/10(4)ch>=’a’ && ch<=’z’32(5)a:b c:t1 (6)a+b>c&&a+c>b&&b+c>a第四章循环结构一、选择题1-5 ABBCD 6-10 BBBAC 11-15 BDABC 16-20 CCCCA 21-25ACDBB 26-30 ADAAC 二、程序阅读题(1)52 (2)8921 (3)5(4)210(5)14,4(6)1978(7)0918273645(8)5(9)6(10)X=4三、程序填空题(1)-f (2)1.0/i (3)t*10 (4)18 (5)x (6)1.0/(i*i)(7)N i (8)i%10 i/10 (9)a+i b+i+1 (10)i<10 j%3==0第五章函数一、选择题1-5 CBCDD 6-10 BABDC 11-15DDBAB 16-20 DBBAC 21-25BBBBC二、程序阅读题(1)1,5,1,1,0,-2 (2)14 (3)1 3 6 (4)9 (5)9.0(6)1,6,3,2,3 (7)15 (8)3,2,2,3 (9)m=4 k=4 i=5 k=5(10)10 (11)15三、程序填空题(1)double max (2)check(n-i) x%i==0 (3)return 0 return 1(4)max(int , int) (5)func() m++(6)fun(10)(7)s=1,a=1,b=1(8)x x*x+1第六章数组一、选择题1-5 CDBBD 6-10 DCDDA 11-15 CACDC 16-20 BAAAA 21-25 BDBAA26-30 DCCDB二、程序阅读题(1)99 (2)204 (3)357 (4)30 (5)6 (6)abc (7)CDABC (8) 3 4 (9)5678901234 (10)abcbcc三、程序填空题(1)i=1 x[i-1] (2)a[i-1] a[9-i] (3) j/2 str[j-1] (4) i-0;i<9-j;i++ i<10 (5)b[j][i] printf(”\n”); printf(”\n”); (6) x[i][i] x[i-1][j-1]+x[i-1][j](7)s[i]>=’0’&&s[i]<=’9’(8)s[i++] (9) s[i]>=’0’&&s[i]<=’9’(10) j=j+2 a[i]>a[j]第七章指针一、选择题1-5 BBBDA 6-10 DCDAC 11-15 BBDDC 16-20 CACDA 21-25 DDADC26-30 BABAA二、程序阅读题(1)3 (2)60 (3) 6 (4)3 (5)8 (6)Afgd (7)6(8)\0 (9)15 (10)24三、程序填空题(1)60(2)a+10 *p%2==0 (3)*pmax=x (4) *p>*s(5) str+strlen(str) t==0 huiwen(str) (6) *++p(7) ’\0’ (8) int * (9) *str++ i (10)a[row][colum] row第八章结构体一、选择题1-5 BBDBB 6-10 BCBCA 11-15 CDBDD 16-20 AACCD二、程序阅读题(1)30 (2)51 (3)4 (4)defdef (5)1001,ChangRong,1098.0 (6)2,3 (7)Qian,P,95,92(8)80 (9)13431 (10)Penghua 20045 527三、程序填空题(1)struct DATE d={2006,10,1} ;(2)ex (3) struct list * next(4) p=(double *)malloc(sizeof(double))(5) person[i].sex t==0 huiwen(str) (6) p++(7) struct STRU第9章文件一、选择题1-5 CABDD 6-10 DDCBC 11-15 BABDD 16-20 DADDA二、程序阅读题(1)12456 (2)1,2,3,0,0,1,2,3,0,0,(3)123 (4)Chinang三、程序填空题(1)“a+”(2)“d1.dat”, “r”(4) “bi.dat”,”w”(5) fp==0 !feof(fp) (6) Hell(7) fopen myf (8)“filea.dat”, “r”第10 章预处理命令一、选择题1-5 DDCCB 6-10 BBBDB 11-15 BABCB二、程序阅读题(1)125(2)8(3)12(4)12 (5)7.5(6)81(7)7 (8)c (9)25 (10)28。
第1章习题参考答案1、选择题(1)C (2)C (3)D (4)B (5)D(6)D (7)C (8)A (9)A (10)C2、填空题(1)函数、一个主函数、函数。
(2) /*、*/ 。
(3) 连接。
(4) # 。
(5) main 。
(6) /*……*/ 。
(7) .h 。
(8) F5 。
(9) .exe (10) .exe 、 .obj 、.exe 。
3、程序设计题(1) #include <stdio.h>void main(){printf(" *\n");printf(" * S *\n");printf(" *\n");}(2) #include <stdio.h>void main(){printf("*****************\n");printf("Your are welcome!\n");printf("-----------------\n");}(3) #include <stdio.h>void main(){char c1,c2;printf("请输入c1和c2的值:");c1=getchar();scanf(" %c",&c2);printf("c1=%c\n",c1);printf("c2=");putchar(c2);printf("\n");}第2章习题参考答案1、简述算法的概念。
答:算法就是为解决一个具体的问题而使用的确定的、有限的方法和步骤。
2、算法应具备哪些特性?答:算法应具备有穷性、确定性、可行性、输入、输出等五种特性。
3、分别说明什么是自然语言描述法?什么是框图语言描述法?什么是伪语言描述法?什么是N-S框图语言描述法?它们的优缺点各是什么?答:①用人们日常使用的语言来描述算法,称为算法的自然语言描述法。
C 语言课后作业题参考答案第二章2.2 用赋值表达式表示下列计算1) c b a x y +=2) 2/5262)(lne d a x -+= 3) y X aX X=+sin cos π24) R R R R =++1111123 5)232)4(7)2(5)2(31x x x x x y ++++=参考答案:1) y=pow(x,a+pow(b,c))或者:exp((a+exp(c*log(b)))*log(x))2) x=pow(log(sqrt(a+d*d))-exp(26),5.0/2)或者:exp(5.0/2*log(log(sqrt(a+d*d))-exe(26)))3) y=sin(x)/(a*x)+fabs(cos(3.1415926*x/2))4) R=1.0/(1.0/R1+1.0/R2+1.0/R3)5) y=x/(1+(x/(3+(pow(2*x,2)/5+(pow(2*x,3)/(7+pow(4*x,2)))))))2.6 编写程序,输入两个整数,分别求它们的和、差、积、商、余数并输出。
参考答案:#include<stdio.h>void main(){int m,n;printf("请输入2个整数\n");scanf("%d%d",&m,&n);printf("%d+%d=%d\n",m,n,m+n);printf("%d-%d=%d\n",m,n,m-n);printf("%d*%d=%d\n",m,n,m*n);printf("%d 除以%d :%f\n",m,n,(float)m/n);printf("%d 除以%d 的余数:%d\n",m,n,m%n);} 2.9 已知摄氏温度C 与华氏温度F 的转换关系是)32(95-=F C ,编写一个摄氏温度与华氏温度转换的程序,输入C ,输出F.参考答案:#include<stdio.h>void main(){float f,c;printf("请输入摄氏温度的值:\n");scanf("%f",&c); //输入33//f=9*c/5+32; //结果为91.4f=9.0/5*c+32; //结果为91.4//f=9/5*c+32; //结果为65printf("转换为华氏温度是:%f\n",f);} 第3章 分支程序设计3.3 编写程序,输入一个字母,若其为小写字母,将其转换成相应的大写字母,然后输出。