c语言程序设计教程习题,《C语言程序设计教程》习题参考答案

1、C 语言程序设计教程习题参考答案默认分类 2007-09-10 12:38:44 阅读 6618 评论 13 字号:大中小 订阅 【习题 1】一、简答题(在课本中寻找答案,略 )1.1 C 程序的基本结构包括哪些内容?1.2 如何定义标识符?1.3 输入格式、输出格式的组成包括哪些内容?1.4 C 语言函数分为哪两类?1.5 计算表达式的值应该考虑哪些方面?1.6 上机调试程序的步骤如何?二、判断并改错1.7 C 程序执行的入口是 main()函数,所以 main 函数必须放在程序的开头。错误:main 函数可以放在程序的任何位置。并不限定在程序的开头。1.8 定义一个函数包括数据说明部分和执。

2、行语句部分,两者可以交叉出现。错误:不可以交叉出现,数据说明部分在执行语句部分的前面。1.9 编辑与编译不是一回事。错误:不是一回事。编辑完成源程序的输入和修改;编译是对源程序进行语法检查,如果无语法错误,则生成目标程序。1.10 scanf(%d,%d,&x,&y);的正确输入格式:3,4。正确1.11 注释内容太多会影响程序的执行效率。 错误:不会影响程序的执行效率。因为在编译时,编译系统将注释内容删除或用空格代替,所以注释内容不会编译到目标程序中。1.12 所有的数学公式可以直接出现在源程序中。错误:数学公式需要转换成 C 语言能够接受的公式才能出现在源程序中。三、编程题1.13 在屏幕。

3、上输出自己名字的拼音。提示:中文名字叫“张三”,对应的拼音为“Zhang San”,输出用 printf()函数。1.14 输入圆的半径,求圆的周长,并将结果保留两位小数输出到屏幕上。提示:定义圆的半径 r,圆的周长:2*3.14*r,输出结果保留 2 位小数可以用 %.2f1.15 输入两个整数,输出其中最大者。提示:模仿例 1.31.16 输入三个整数,输出其中最小者。提示: min(min(a,b),c); 【习题 2】一、简答题(在课本中寻找答案,略 )2.1 常量与变量的区别?2.2 C 语言中的标识符的定义规则?2.3 变量为什么要“先定义,后使用” ?2.4 字符常量a 与字符串。

4、常量a有何区别?2.5 大小写字母转换的规则是什么?2.6 变量的具有哪三种属性?二、单项选择题2.7C 语言中,int 型数据在内存中的存储形式是( D)。A)ASCII 码 B)原码 C)反码 D)补码2.8下面四个选项中,均是不合法的用户标识符的选项是(C)。)BA 、x_0、do)float、1a0、_Y)x-y、goto、123)_123、tmp 、CHAR2.9下列选项中不正确的常数的选项是(D)。)0x12F )-1.23E-2 ) 12.0 )03882.10下面正确的字符常量是(B)。)a ) )n )3762.11下面正确的字符串常量是(C)。)a )376 )n )376。

5、2.12表达式A+4*25.0-b 的正确结果是(B)。)67 )67.0 )不确定 )67L2.13执行 printf(%x,100);后的输出结果是(C)。)100 )0x100 )0X64 )642.14int 型的-1 在内存中的存储形式是(A )。)1111 1111 1111 1111)0000 0000 0000 0001)1111 1111 1111 1110)1000 0000 0000 00012.15存储字符串abc376需要的字节数是( D)。)11 )13 )6 ) 7【习题 3】一、计算题3.1 2.8+7%3*11%2/4 (答案:2.8)3.2 5/2+5.0/。

6、2+7%6 (答案:5.5)3.3 a=12,a*=2+3 (答案:a=60)3.4 a=3,b=4,c=5,a+bc&b= =c (答案:0)3.5 35?3:5b)&(n=cd),计算表达式后 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若有代数式 ,则不正确的 C 语言表达式是(C)。A)x/b/c*y*8 B)8*x*y/b/c C)8*x*y/b*c D)x*y/c/b*83.9有如下类型说明:int k,a,b;uns。

7、igned long w=8;double x=2.9则以下不符合 C 语言语法的表达式是(A)。)x%(-3) )w*=-2)k=(a=6,b=4,a-b) )a*=a+=a-=(b=4)*(a=3)3.10有如下类型说明:float n;int m;则以下能实现将 n 中的数值保留小数点后两位,第三位四舍五入的表达式是(B)。)n=(n*100+0.5)/100.0 )m=n*100+0.5,n=m/100.0)n=n*100+0.5/100.0 )n=(n/100+0.5)*100.03.11设 k=7,x=12;则下列表达式值为 3 的是(D)。)x%=(k%=5) )x%=(k-k%。

8、5))x%=k-k%5 )(x%=k)-(k%=5)3.12已知 m=48,ch=a,n=0;则表达式(m=n&chy?1:1.5);后的输出结果是(D)。)语法错误 )1 )1.5 )1.5000003.14能表示条件 0x100 的表达式是( D)。)0=0,x=0&x=0&ch=0&ch=0|ch60?pass:fail);3.17输入一个年份 y,如果是闰年,输出“y is a leap year”,否则输出 “y is not a leap year.”提示:printf(%d is %s,y%4=0&y%100!=0|y%400=0?a leap year.:not a leap 。

9、year.);3.18输入三条边 a,b,c,如果它们能构成一个三角形,输出 “Yes”,否则输出“No”。提示:printf(%s,a+bc&a+cb&b+ca?Yes:No);3.19输入三个数 x,y,z,按从小到大的输出结果。提示:分别用 max0,min0 代表最大、最小值,mid0 表示中间值。max0=(xy?x:y)z?(xy?x:y):z;max0=(xmain() int a=-1,b=1,c=5;switch(a0)case 1:switch(b-20)&(t=3)&(t1)|(t8) x=3;else x=1;else x=0;提示:int t;if(t10) c=0;。

10、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=2; 4.7 编程实现一个具有简单四则运算功能的计算器。提示:参照例 4.18,随机产生 3 个数,其中一个数用来判断是哪种运算。4.8 编程实现,输入一行字符,将其中的数字字符对应的整数值加起来并输出结果。如:a45b8&*3 则是 4+5+8+3,结果为 20。提示:char c; int sum=0;while(c=getchar(。

11、)!=n) if(c=0&c0 )。选择题5.6 若有 int s4=1,2,3,4;,则 ss0+2*s2-s3的值是( D )A.1 B.2 C.3 D.45.7 对数组的描述正确的是( B )。A数组一旦定义其大小是固定的,但数组元素的类型可以不同。B数组一旦定义其大小是固定的,但数组元素的类型必须相同。C数组一旦定义其大小是可变的,但数组元素的类型可以不同。D数组一旦定义其大小是可变的,但数组元素的类型必须相同。5.8 对字符串Boy 进行完整赋值的操作是( B )。Achar s3 = B,o,y; B. char s = Boy;Cchar s3 = Boy; D.char s3;。

12、 s=Boy;5.9 在 c 语言中引用数组元素时,其数组下标的数据类型允许是( C )。A整型常量 B.整型表达式C整型常量或整型表达式 D.任何类型的表达式5.10 对以下说明语句的正确理解是( B )。int a10=6,7,8,9,10;A将 5 个初值依次赋给 a1至 a5B将 5 个初值依次赋给 a0至 a4C将 5 个初值依次赋给 a6至 a10D因为数组长度与初值的个数不相同,所以此语句不正确三、看程序写结果5.11main()int a33 = 1,0,2, 2,2,0,2, c33,i,j;for(i=0; in,临时变量 t,t=m%n;m=n;n=t;直到 n 等于 0。

13、。6.26 有 33 的矩阵 A 和 32 的矩阵 B,编制一个函数,求 C=AXB。提示:参照习题 5.17,A,B,C 三个数组作为函数参数。 6.27 编写一函数,使输入的一个字符串按反序存放,在主函数中输入输出字符串。提示:一维字符数组用来存放字符串,并且将它传递到函数,在函数中通过元素值交换来完成反序存放。 6.28 编制一个函数,由参数传入一个字符串,统计此字串中字母、数字、和其他字符的个数,在主函数中输入字符串并显示统计结果。提示:参照例题 6.10。 6.29 定义一个宏,实现将两个数互换,并写出程序,输入两个数作为使用参数,并显示结果。提示:带参数宏,swap(a,b,t).。

14、6.30 编写以下函数:输入职工的姓名和职工号;按职工号由小到大排序,姓名顺序也随之调整;输入一个职工号,用折半法找出该职工的姓名,从主函数输入要查找的职工号,输出该职工姓名。提示:定义一个二维数组来存放职工信息;用数组名作函数的参数传递;通过“起泡算法” 或“选择算法”;折半查找法先决条件是数据已经有序。【习题 7】1.1 语句 int a,*p=&a;的含义是什么? 答:定义整型变量 a,和整型指针变量 p,并且 p 指向变量 a。1.2 写出下列数组元素的指针法表示。(1 ) num3 (2) data42答:(1)*(num+3) (2) *(*(data+4)+2)1.3 写出下列数组元素的下标法表示。(1 ) *(*(a+1)+2) (2) (*(a+3)4 (3) *(a2+5) 答:(1)a12 (2) a34 (3) a251.4 分析程序,写出程序输出结果。(1) main() int a5=1,2,3,4,5;int *p=&a1;printf(%d,p2);输出结果:4(2) main() char a=I love China!;char *p=a;p=p+2;printf(。

《《C语言程序设计教程》习题参考答案》由会员宝路分享,可在线阅读,更多相关《《C语言程序设计教程》习题参考答案》请在金锄头文库上搜索。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值