注:以下内容为教材部分习题答案,如发现错误请告知,欢迎讨论——张惕远
习题二
一、 选择题
1、 C
2、 BCD
3、 A
4、 A(注:本题强调用户标识符,所以if、int不是,但是sin是用户标识符,原因是库函数不是标准语法成分,开发库函数的程序员也是用户,main虽然不是语法成分,但开发平台预定义了main为console application的执行入口,并且规定了定义格式,所以用户不能用作它用,但_main可以)
5、 (D)(C)
6、 C
7、 D
8、 B
9、 A
10、 D
11、 B(注:本题是求strlen("\\\”DEF\”\\”)的值,即字符串中有效字符的个数,不含串结尾符,sizeof(“…”)的值与前者不同,含串结尾符)
12、 D
13、 C
14、 D
15、 A
16、 B
17、 A
18、 B
二、 判断题
(对)(错)(错)(对)
三、 填空题
1、B 66回车
2、n1=%d\nn2=%d
3、5
四、 计算下列各表达式的值
1、注:本书假设采用16位编译平台,所以int和unsigned int均为2字节类型。
(1)47
(2)38
(3)9
(4)0xFFC6 or 65478
(5)104
(6)2
2、(1)6
(2)50
(3)1
(4)-16 or 0xFFF0
(5)1
(6)20
3、表达式值 a的值 b的值
(1)0 5 3
(2)1 5 3
(3)3 1 3
(4)15 10 4
(5)8 8 3
(6)1 5 3
4、表达式值 x的值 y的值
(1)12 25 2
(2)0 24 3
(3)1 24 3
(4) 27 24 3
(5) 1 24 3
(6)6 6 3
(7)24 24 24(y<<=3)
(8)27 24 3
(9)-29or0xffe3 24 3
以上类型均为int
5、表达式值 x的值 y的值
(1)0 0 1
(2)1 2 1
(3)1 0 0
(4)-3 -3 3
(5)4 2 4
以上类型均为int
五、 程序分析题
b=20(注:中间4个空格)a=3600回车
习题三
一、 填空题
1、 s=6回车
2、 s=96回车
3、 (1) c=getchar() or scanf(“%c”,&c)
(2) c-32 or c-‘a’+’A’
习题四
一、 写出程序运行结果:
1、 no 1 a=1no 1 a=0no 1 a=1no 1 a=0(注:教材中关于func函数的原型有错,应该改为:void func();)
2、 a=0 b=0 c=0
a=1 b=0 c=0
a=2 b=0 c=0
3、 main:x=5,y=1,n=1
fun:x=6,y=21,n=11
main:x=5,y=1,n=11
fun:x=8,y=31,n=21
习题五
一、 选择题和填空题
1、 D
c语言程序设计教材答案2、 D
3、 C
4、 6
5、 CDABC
6、 (1)j+=2
(2)a[j]>a[i]
(注:教材中for语句有错,应该去掉表达式3后面的分号“;”)
最后输出为u nalggace
7、 (1) s[j] (2)s[j]
8、 D
9、 B
10、 6
11、 isdigit(s[i])该带参数的宏用来判断字符s[i]是不是数字字符,该宏的定义在头文件ctype.h中
12、 ‘\0’和str1[i] -str2[i]
二、1、第7行sum=0;
第10行改为:scanf(“%d”,&a[i][j]);
习题六
一、 选择题
1、 D
2、 D
3、 D
4、 C
5、 CD
6、 D
7、 B
8、 B
二、 填空题
1、*(p+3) 2 22
2、cdefg
bcdefg
abcdefg
7
3、6385
三、 程序分析题
9、 第5行改为:p =&s[0]; or p=s;
10、 第4,5行合为:double x,y,*p;
11、 第4行改为:int x,*p=&x;否则p为“野指针” 或者在给p赋值之前定义一个int变量y,然后p=&y;
12、 第4,5行交换书写次序。
习题七
一、 选择题
1、 A
2、 D
3、 B
4、 D
5、 C
6、 A
7、 B
二、 程序填空题
1、a[k] a[k] a[k]
2、a[i] j 6 or i+1
三、 改错题
1、 第3行最后加分号“;”
第4行改为:void main( )
第7行去掉三个& 运算符
第8,9行改为:
if(strcmp(a,b)>0)swap(a,b);
if(strcmp(b,c)>0)swap(b,c);
if(strcmp(a,b)>0)swap(a,b);
swap函数改为:
void swap(char *pstr1,char *pstr2)
{
char p[80];//千万不能用char *p;没有赋初值即为“野指针”,危险!
strcpy(p,pstr1);
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论