资源预览内容
第1页 / 共51页
第2页 / 共51页
第3页 / 共51页
第4页 / 共51页
第5页 / 共51页
第6页 / 共51页
第7页 / 共51页
第8页 / 共51页
第9页 / 共51页
第10页 / 共51页
亲,该文档总共51页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
C 语言 1-7 章课后作业答案第一章 C 语言概述【习题 1-1】简述 C 语言的特点。答:C 语言的特点:C 语言简洁、紧凑、使用灵活、方便;运算符丰富;数据结构丰富; C 是结构式语言;C语法限制不太严格,程序设计自由度大;C 语言允许直接访问物理地址;C 语言程序生成代码质量高;C 语言适用范围大,可移植性好。【习题 1-2】请从以下的 4 个选项中选择一个正确答案。(1)A (2)C (3)B (4)D (5)A (6)C【习题 1-3】填空。(1)英文字母、下划线、数字(2)函数(3) 函数头、函数体(4)独立(5) ;、#、/*/、 、 、 main、main【习题 1-4】请指出以下哪些是合法的标识符?哪些又是合法的用户标识符。101 int 3ip x_1 x+1 count 1234Xy x%y if while a.bc x&y _ _1_112 Abc name x break for x=y合法的标识符有:x_1、int、count、Xy、if、while、 Abc、name、x、break 、for合法的用户标识符有:x_1、 count、Xy、Abc、name、x【习题 1-5】简述上机调试运行 C 程序的操作步骤。答:上机运行 C 语言程序的操作步骤为:启动 Visual C+ 6.0建立工程创建源程序文件输入(编辑)源程序内容保存源程序文件编译源程序文件连接目标程序执行程序开始另一个程序。【习题 1-6】上机运行本章的 3 个例题。略【习题 1-7】参照本章例题,编写一个 C 语言源程序,输出以下信息:*Nice to meet you!* 编写程序如下:#includevoid main()printf(*n);printf(Nice to meet you!n);printf(*n);第二章 基本数据类型和运算符【习题 2.1】上机编辑并调试本章所有例题。答:略。【习题 2.2】下面哪些是合法的常量?220 0.5 012 13e5.1 E-5 8e4 5. 0x6amn OK a 012 a/b 答:合法的常量有:20 0.5 012 8e4 5. 0x6a合法的常量有: OK a 012 a/b 【习题 2.3】下面的变量名中哪些是合法的?A&b abc123 abc% AbC int long 123abcchar ab?c double abc a_bc a*bc float 答:合法的变量名有:abc123 AbC a_bc【习题 2.4】指出下面的变量定义哪些是正确的,哪些是不正确的,为什么?Int i,j;float a,A;int a,b;float a,b;float a,int b;char a;答:错误,因为关键字 Int 应该全为小写字母 正确错,因为同一变量在程序的同一处不应该声明为不同的数据类型错,因为不同类型的变量要分别声明,其间应使用分号,而不是逗号错,a表示字符常量,不能用作变量名【习题 2.5】填空题。整型、实型、字符型ASCII 码1、2 fj【习题 2.6】把下列数学式子写成 C 语言表达式。(1)3.26e x+ (a+b)413(2) sin()ab(3) 21rmg(4)2r+r 2+cos(45)(5) (11monthatelon对应的 C 语言表达式分别为:(1)3.26*exp(x)+1.0/3*pow(a+b,4)(2)2*sqrt(x)+(a+b)/(3*sin(x)(3)g*m1*m2/(r*r)(4)2*3.14*r+3.14*r*r+cos(3.14/180*45)(5)loan*rate*pow(1+ rate, month)/(pow(1+rate, month)-1)3【习题 2.7】C 语言中为什么要引入转义字符?答:在字符集中,有一类字符具有这样的特性:当从键盘上输入这个字符时,显示器上就可以显示这个字符,即输入什么就显示什么。这类字符称为可显示字符,如 a、b、$等。但另一类字符却没有这种特性。它们或者在键盘上找不到对应的一个键,或者当按键以后不能显示键面上的字符,为了解决这一问题,在 C 语言中引入了转义字符。【习题 2.8】 “&”和“” 严格地执行运算符优先级的规则吗?它的规则是什么?答:逻辑运算符不按照规定的优先级计算。在逻辑表达式的求值过程中,如果从“& ”或“”左边的运算对象部分已经能够确定整个逻辑表达式的值,则不再求右边运算对象的值,这样做提高了运算速度。具体地说:若“&”的左运算对象值为 0,则不再对右运算对象求值,因整个式子的结果必定为 0。若“”的左运算对象值为非 0,则不再对右运算对象求值,因整个式子的结果必定为 1。以上所说的这种运算的规则是 C 对逻辑运算的特殊处理规则。它严格地执行从左到右运算的规则,不受运算符优先级所影响。【习题 2.9】字符常量和字符串常量有什么区别?答:字符常量和字符串常量的区别主要有两点: 从形式上看,字符常量使用单引号,而字符串常量使用双引号。 从内部存储来看,编译程序在每个字符串的尾部自动加上了一个空字符 NULL(即0)作为字符串的结束标志,而字符常量则不存在这种情况。 【习题 2.10】 将下面语句组进行简写。int i;int j;x=2;y=2;x=x+y;int x,y;x=y-(y/10)*10;int x;x=x+1;y=x;-x;对应的简写语句分别为:(1)int i,j;(2)x=y=2;(3)x+=y;(4)int x,y;x=y%10;(5)int x;x+; 或 x+=1; 或 +x;(6)y=x-;【习题 2.11】 写出下面程序运行后的结果。 程序运行结果:1 程序运行结果:8,104程序运行结果:y=5.000000 程序运行结果:b,3.140000,4 程序运行结果:0,48 程序运行结果 :a=8 程序运行结果 :01,60,15,15 程序运行结果 :2,2,11,2,10,2,2-1,2,2 程序运行结果:324 程序运行结果 :323,343,4,401第三章 顺序和选择结构程序设计【习题 3.1】单选题。1、C 2、D 3、C 4、C 5、B【习题 3.2】略【习题 3.3】下面哪些语句是合法的 ?(1) if(a=b)printf(Hello);(2) if(a=b)printf(Hello )(3) if(a=b)printf(Hello )elseprintf(Goodbye);(4) if a=bprintf(Hello );答:(1)合法的,其余的不合法【习题 3.4】读程序写结果。(1)运行结果:A=58B=58C=58(2)运行结果:20,0(3)运行结果:1(4)运行结果:5 3 4(5)运行结果:1 3 25(6)运行结果:-4(7)运行结果:2 1(8)运行结果:435(9)运行结果:passwarn【习题 3.5】有如下 if 条件语句:if(avoid main()int year;scanf(“%d”,&year);if(year%400=0|year%4=0&year%100!=0)printf(“%d 年是闰年。n ”,year);elseprintf(“%d 年不是闰年。n ”,year);6【习题 3.8】设计一个程序,从键盘输入 3 个整数,按由小到大的顺序输出。#includevoid main() int x,y,z,t; scanf(%d,%d,%d,&x,&y,&z);if(xy) t=x; x=y; y=t; /*交换 x,y 的值*/ if(xz) t=z; z=x; x=t; /*交换 x,z 的值*/ if(yz) t=y; y=z; z=t; /*交换 z,y 的值*/ printf(small to big: %d %d %dn,x,y,z); 【习题 3.9】编写程序,计算下面的函数。(0#includevoid main()int x , y;printf(please enter a number xn);scanf(%d,&x);if(x0&x=3&xvoid main()int x,y;scanf(%d,&x);if(x=1&xvoid main()int m;scanf(%d,&m);if(m%3=0|m%13=0|m%17=0)printf(%d 能被整除!,m);elseprintf(%d 不能被整除!,m);【习题 3.12】 若一个学生是某校的学生,且是男生,则输出“male” ;若是女生,则输出“female” ;若不是某校的学生,则输出“No” 。试编写该程序并画出流程图。程序如下:#includevoid main()int hust = 1;int s;char sex ;printf(please enter the students school and sexn);scanf(%d,%c,&s,&sex);if( s = hust )if(sex = M)printf(Malen);else printf(Femalen);elseprintf(Non);【习题 3.13】 某产品的国内销售价,80 箱以下,每箱 350 元,超过 80 箱,超过部分每箱优惠 20 元;国外销售价,1000 箱以下,每箱 900 元,超过 1000 箱,超过部分每箱优惠 15 元。试编写计算销售额的程序。程序如下:#include void main( ) float money; int national, count; printf(Input national orexternal:); scanf(%d,&national); printf(Input count ofproduct:); scanf(%d,&count); if (national) if(countvoid main()char c;c=getchar();if(c=a&c=A&c=u&c=U&cvoid main()9int s=0,i;for(i=1;ivoid main()int s=0,i=1;while(ivoid main()int s=0,i=1;dos+=i;i+;while(i void main( ) int n;for(n=100;nvoid main( ) float sum=0.0,ave=0.0,score;int i; for(i=0;ivoid main( ) float sum=0.0;int i,j=1; for(i=1;ivoid main()int a,b,t;scanf(%d,%d,&a,&b);while(a!=b)if(ab)t=a;
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号