程序设计基础C语言第版习题及答案.pdf
《程序设计基础C语言第版习题及答案.pdf》由会员分享,可在线阅读,更多相关《程序设计基础C语言第版习题及答案.pdf(105页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第 1 章C语言概述【习 题 1-1 简述C语言的特点。答:C语言的特点:C 语言简洁、紧凑、使用灵活、方便;运算符丰富;数据结构丰富;c 是结构式语言;C语法限制不太严格,程序设计自由度大:C语言允许直接访问物理地址:c 语言程序生成代码质量高;C 语言适用范围大,可移植性好。【习题1-2】简述上机调试运行C程序的操作步骤。答:上机运行C语言程序的操作步骤为:启 动 V is u a l C+6.O f 建立工程f 创建源程序文件一输入(编辑)源程序内容一保存源程序文件一编译源程序文件一连接目标程序一执行程序一开始另一个程序。【习题1-3 上机运行本章的3 个例题。答:略。【习题1-4】请从
2、以下的4个选项中选择一个正确答案。(1)A (2)A (3)C (4)B【习题5】参照本章例题,编写一个C语言程序,输出以下信息:N ice t o meet yo u!编写程序如下:#inclu dev o id ma in 0(p r int f(*n);p r int f(N ice t o meet yo u!n);p r int f(*n);)第 2章 基本数据类型和运算符 习题2 7 上机编辑并调试本章所有例题。答:略。【习题2-2】下面哪些是合法的常量?2 0 0.5 0 1 2 1 3 e5.1 E-5 8 e4 5.0 x 6 a mn O K a 0 1 2 a/b 答:合
3、法的常量有:2 0 0.5 0 1 2 8 e4 5.0 x 6 a合法的常量有:O K a 0 1 2 a/b 【习题2-3 下面的变量名中哪些是合法的?A&b a b cl2 3 a b c%A b C a _ b _ cint a b c 1 2 3 a b c a b?ca b e a*b c a,b e答:合法的变量名有:a b c 1 2 3 A b C a b _ c a b c【习题2-4】指出下面的变量定义哪些是正确的,哪些是不正确的,为什么?(D int i,j;flo a t a,b;(3)int a,b;flo a t a,b;(4)flo a t a,int b;(5
4、)cha r a);答:错误,因为关键字I nt应该全为小写字母正确错,因为同一变量在程序的同一处不应该声明为不同的数据类型错,因为不同类型的变量要分别声明,其间应使用分号,而不是逗号错,a 表示字符常量,不能用作变量名【习题2-5】把下列数学式子写成C语言表达式。(1)3.26 ex+i (a+b)43(2)2 +-+b3s i n(x)g*o 2r(4)2n r+7 t r2+c os(4 5 )loanrate(y+rater(1+rate)Mh-1对应的C语言表达式分别为:(1)3.26*e x p(x)+l.0/3*p ow(a+b,4)(2)2*s q r t(x)+(a+b)/(
5、3*s i n(x)(3)g*m l*m 2/(r*r)(4)2*3.14*r+3.14*r*r+c os(3.14/18 0*4 5)(5)l oa n*r a t e*p ow(l+r a t e,m on t h)/(p ow(l+r a t e,m on t h)-1)【习题2-6】C语言中为什么要引入转义字符?答:在字符集中,有一类字符具有这样的特性:当从键盘上输入这个字符时,显示器上就可以显示这个字符,即输入什么就显示什么。这类字符称为可显示字符,如a、b、$等。但另一类字符却没有这种特性。它们或者在键盘上找不到对应的一个键,或者当按键以后不能显示键面上的字符,为了解决这 问题,在
6、C语言中引入了转义字符。【习题2-7】逻辑表达式的值是什么?只能用1和0才能表示真值和假值吗?答:逻辑表达式的值是一个逻辑量“真”或 者“假”,不是只有用1表示真值,用0表示假值,在判断一个量为真假时,常以0表示假,以非。表示真。【习题2-8 对于表达式(l+2)*(y=3),可以肯定(1+2)先计算,而(y=3)后计算吗?答:不 能。【习题2-9 “&”和“II”严格地执行运算符优先级的规则吗?它的规则是什么?答:逻辑运算符不按照规定的优先级计算。在逻辑表达式的求值过程中,如果从“&”或“II”左边的运算对象部分已经能够确定整个逻辑表达式的值,则不再求右边运算对象的值,这样做提高了运算速度。
7、具体地说:若“&”的左运算对象值为0,则不再对右运算对象求值,因整个式子的结果必定为0。若“II”的左运算对象值为非0,则不再对右运算对象求值,因整个式子的结果必定为I。以上所说的这种运算的规则是c对逻辑运算的特殊处理规则。它严格地执行从左到右运算的规则,不受运算符优先级所影响。【习题2-10】字符常量和字符串常量有什么区别?答:字符常量和字符串常量的区别:从形式上看,字符常量使用单引号,而字符串常量使用双引号。从内部存储来看,编译程序在每个字符串的尾部自动加上了一个空字符N U L L(即0)作为字符串的结束标志,而字符常量则不存在这种情况。【习题2-11招下面语句组进行简写。(Di n t
8、 i;i n t j;x=0;y=0;G 3)x=x+y;(4)i n t x,y;x=y-(y/10)*10;i n t x;x=x+l;(6)y=x;一x;对应的简写语句分别为:(1)i n t a,b;(2)x=y=0;(3)x+=y;(4)i n t x,y;x=y%10;(5)i n t x;x+;或 x+=l;或+x;(6)y=x 一;【习题2-12写出下面程序运行后的结果。程序运行结果:2,3程序运行结果:y=5.000000程序运行结果:c h l=6 5,c h 2=9 7B,b(4)程序运行结果:0,4 8程序运行结果:0221(6)程序运行结果:a,A,3 2,3 2程序
9、运行结果:01,60,1 5,1 5程序运行结果:2,2,11,2,10,2,2-1,2,2程序运行结果:324程序运行结果:323,343,4,401第3章 顺序和选择结构程序设计【习题3-1】请从以下的4个选项中选择1 个正确答案。1 .结构化程序设计的三种基本结构是()。A.函数结构、判断结构、选择结构 B.平行结构、嵌套结构、函数结构C.顺序结构、选择结构、循环结构 D.判断结构、嵌套结构、循环结构【正确答案】C2 .p ut c ha r()函数可以向终端输出一个(A.整型变量表达式值B.实型变量值C.字符串D.字符或字符型变量值【正确答案】D3 .若已定义d o ub l e y;
10、拟从键盘输入一个值赋给变量y,则正确的函数调用是()。A.s c a n f(%d ,&y);C.s c a n f(%l f ,&y);【正确答案】C4,若有以下定义:fl o a t x;in t a,A.s wit c h(x)c a s e 1.0:p r in t f(*n );c a s e 2:p r in t f(*n )C.s wit c h(a+b)c a s e 1:p r in t f(*n );c a s e 2:p r in t f(*n );)B.s c a n f(7.2 f ,&y);D.s c a n f(%l d ,&y);b;则正确的s wit c h语
11、 句 是()。B.s wit c h(x)c a s e 1,2:p r in t f(*n );c a s e 3:p r in t f(*n );D.s wit c h(a-b);c a s e l:p r in t f(*n );c a s e 2:p r in t f(*n );)组成配对关系【正确答案】C5.为了避免嵌套的if-el s e语句的二义性,C 语言规定el s e总是与(A.缩排位置相同的if B.在其之前未配对的ifC.在其之前尚未配对的最近的if D.同一行上的if【正确答案】B【习题3-2 if语句有那3种形式,请分别画出每种形式的执行流程图。【参考答案】(1)顺
12、序结构(3)循环结构(当型循环)循环结构(直到型循环)【习题3-3】下面哪些语句是合法的?(1)if(a=b)p r in t f(,Hel l o,0 ;(2)if(a=b)p r in t f(,Hel l o,z)(3)if(a=b)p r in t f(Hel l o )el s ep r in t f(Go o d b ye);(4)if a=bp r in t f(Hel l o );【正确答案】(1)合法。(2)不合法。(3)不合法。(4)不合法。【习题3-4】读程序写结果。(1)从键盘输入5 8#in c l ud evo id m a in()(in t a;scanf&a)
13、;if(a 5 0)p r in t f(A=%d,a);if(a 4 0)p r in t f(B=%d,a);if(a 3 0)p r in t f(O%d,a);)答案:A=5 8 B=5 8 C=5 8(2)#in c l ud evo id m a in()(in t x=1 0,y=2 0,t=0;if(x=y)t=x;x=y;y=t;p r in t f(d,%d n,x,y);答 案:2 0(3)#in c l ud evo id m a in()(in t p,a=5;if(p=a!=0)p r in t f(绘d n”,p);el s ep r in t f(d n,p+2
14、);)答案:1(4)#in c l ud evo id m a in()(in t a=4,b=3,c=5,t=0;if(a b)t=a;a=b;b=t;if(a c)t=a;a=c;c=t;p r in t f(/z%d%d%d n,a,b,c);答案:5 3 4(5)#in c l ud evo id m a in()(in t i,m=0,n=0,k=0;fo r(i=9;i=l l;i+)s wit c h(i/1 0)c a s e 0:m+;n+;b r ea k;c a s e 1 0:n+;b r ea k;d efa ul t:k+;n+;)p r in t f(d%d%d
15、n,m,n,k);)答案:1 3 2(6)#in c l ud evo id m a in()in t n=0,m=l,x=2;if(!n)x-=l;if(m)x-=2;if(x)x-=3;p r in t f C%d n/Z,x);)答案:-4(7)#in c l ud evo id m a in()(in t x=l,y=0,a=0,b=0;s wit c h(x)c a s e 1:s wit c h(y)c a s e 0:a+;b r ea k;c a s e 1:b+;b r ea k;)c a s e 2:a+;b+;b r ea k;)p r in t f(/d%d nzz,a
16、,b);)答案:2 1(8)#in c l ud evo id m a in()(in t a=3,b=4,c=5,t=9 9;if(b a&a c)t=a;a=c;c=t;if(a c&b c)t=b;b=a;a=t;p r in t f(%d%d /d n,a,b,c);答案:4 3 5(9)#in c l ud evo id m a in()(in t n=,c ;s wit c h(n+)(d efa ul t:p r in t f(er r o r );b r ea k;c a s e a :c a s e A :c a s e b :c a s e B :p r in t f(go
17、 o d);b r ea k;,小,上 _ /c a s e c :c a s e C :p r in t f(p a s s );c a s e d :c a s e D :p r in t f(wa r n );)答案:p a s s wa r n【习题3-5 有如下if条件语句:if(a b)if(c d)x=l;el s e if(a c)if(b d)x=2;el s e x=3;el s e if(c d)x=4;el s e x=5;试按缩进对齐的格式将以上语句改写为结构更清晰的等效i f语句,并在每个条件表达式之后用逻辑表达式注释所满足的条件。【正确答案】x=l;if(a b)
18、tif(c d)/*(a b)&(c d)*/x=2;el s e if(a c)if(b d)/*(a b)&(ac)*/*(a b)&(a c)&(b d)*/x=3;el s e/*(a b)&(a=d)*/x=4;el s e if(c=b)&(c=b)&(c=d)*/【习题3-6】有两个程序段:(1)if(a b)(2)if(a b)if(c=d)x=l;if(c=d)x=l;el s e x=2;el s e x=2;它们所表示的逻辑关系是下列所示关系中的哪一个?-2 a 2 b 且 c H d L 2 且 c H d a b 且 c=dX=Y 1 a b 且 c=dX=Y答案:(
19、1)所表示的是3,(2)所表示的是2 1 a b 且 c=dX=Y-2 a 2 b a b 且 c=dX=Y-2 c W d【习题3-7】写一程序,从键盘上输入1年份y ear (4位十进制数),判断其是否闰年。闰年的条件是:能被4 整除、但不能被10 0 整除,或者能被40 0 整除。程序如下:/*c3_7.c*/tti n cl ude s tdi o.hvo i d m ai n()(i n t y ear;s c a n f f t y e a r);i f(y ear%40 0=0|(y ear%4=0&y ear%10 0!=0)p r i n tf(,z%d i s a l ea
20、p y ear nz,,y ear);el s ep r i n tf(/z%d i s n o t a l eap y ear n,z,y ear);【习题3-8】设计一个程序,从健盘输入3 个整数,按由小到大的顺序输出。程序如下:/*c3_8.c*/#i n cl udevo i d m ai n()(i n t a,b,c;i f(a b)t=a;a=b;b=t;i f(a c)t=a;a=c;c=t;p r i n tf(d%d%dn ,a,b,c);【习题3-9】编程序计算下面的函数:e7 7-1 0 x ly=|x|+2 3 W x W 4I s i n(x2)当 x 取其他值时程
21、序如下:/*c3_9.c*/#i n cl ude tti n cl ude vo i d m ai n()(fl o at x,y;p r i n tf(输入 x:);sc a nf&x);i f(x 0&x=3&x=4)/*若 3WxW4*/y=fabs(x)+2;el s e/*若 x210*/y=s i n(x*x);p r i n tf(z/x=%.If,y=%.2fn ,x,y);【习题3 7 0】编程序计算下面的分段函数:输入x 值,求下列相应y 值。(1 (x l)y=J 2x+l (IWxWl O)I 3x+2(x210)分析:对于分段函数,往往采用多路分支选择语句实现。程序
22、如下:/*c3_10.c*/i n cl ude vo i d m ai n()(i n t x,y;p r i n tf(输入 x:);sc a nf&x);i f(x l)/*若 xVl*/(y=x;p r i n tf(,zx=%3d,y=x=%dn,z,x,y);)el s e i f(x=10)/*若 IWXWIO*/(y=2*x+l;p r i n tf fx=%3d,y=2*x+l=%dn,x,y);)el s e/*若 x210*/(y=3*x+2;p r i n tf(x=%3d,y=3*x+2=%dn”,x,y);)【习题3-11输入一个整数m,判断它能否被3、13、17
23、整除,如果能被三个数之一整除,则输出它能被整除的信息,否则输出m不能被3、13、17 整除的信息。试编写该程序。程序如下:c*/tti n cl ude vo i d m ai n()i n t m;s can f(a%d9f,&m);i f(m%3=0|m%13=0|m%17=0)p r i n tf(can be di vi ded!”);el s ep r i n tf(can n o t be d i v i d e d!;【习题3-12若一个学生是某校的学生,且是男生,则输出“m al e”;若是女生,则输出“fem al e;若不是某校的学生,则输出“No”。试编写该程序并画出流程
24、图。程序如下:/*c3_12.c*/#i n cl ude vo i d m ai n()(i n t s cho o l,s ex;s can f(%d,,&s cho o l,&s ex);i f(s cho o l=l)(i f(s ex=l)p r i n tf(m al e);el s ep r i n tf(fem al e);)el s ep r i n tf(No );【习题3 7 3】某产品的国内销售价为8 0 箱以下,每 箱 35 0 元,超 过 8 0 箱,超过部分每箱优惠20 元;国外销售价为10 0 0 箱 以 3每箱9 0 0 元,超 过 10 0 0 箱,超过部分
25、每箱优惠 15 元。试编写计算销售额的程序。程序如下:/*c3_13.c*/i n cl ude vo i d m ai n()fl o at m o n ey;i n t n ati o n al,co un t;p r i n tf(In p ut n ati o n al o r exter n al:);s c a n f&n a t i o n a l);p r i n tf(In p ut co un t o f p r o duct:);s can f(%d,&co un t);i f(n ati o n al)/*国内销售*/i f(co un t=8 0)m o n ey=c
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 程序设计 基础 语言 习题 答案
限制150内