C语言程序设计 清华大学出版社 马秀丽 刘志妩科后习题3解答
习 题3参考答案
请将下列十进制数用8进制数和十六进制数表示:
答案:
题号 十进制 八进制 十六进制
15 17 F
64 100 40
75 113 4B
-617 176627 FD97
⑤ -111 177621 FF91
⑥ 2484 4664 9B3
-28654 110022 9012
⑧ 2008 3730 7D8
3.2 请写出给定数据25、-2、8以不同数据类型在内存中的存贮形式。
数据类型-225Int11111111111111100000000000011001long1111111111111111111111111111111000000000000000000000000000011001short11111111111111100000000000011001char00011001unsigned int11111111111111100000000000011001unsigned short11111111111111100000000000011001字符常量和字符串常量有什么区别?
C语言允许使用的字符串常量是一对用双引号括起来的字符序列。
需注意'a'和"a"是不同的:前者是一个字符,可以赋给一个变量;后者是一个字符串。C 规定在每一个字符串的结尾加一个字符串结束标志'\0',在C语言中没有专门的字符串变量。
3.4 写出以下程序的运行结果。
# include "stdio.h"
main()
{char c1,c2,c4,c3,c5;
clrscr();
c1='a';c2='b';c3='c';c4='\101';c5='\116';
printf("a%c b%c c%c \tabc\n",c1,c2,c3);
printf("\t\b%c %c",c4,c5);
}
运行结果为:
下表中给出了几个数据及相应的数据类型,当每行中的已定义数据类型的数据给其他数据类型赋值时结果如何?将空格处填上赋值后的结果。
intcharunsignedfloatLong int99'c'9999.00000099100'd'100100.00000010076'L'7676.0000007653'5'5353.655368'D'6868.0000006842'*'4242.00000042-16553565535.00000065535
3.6 选择题(请选择一个正确答案)
1.已知字母A的ASCII码为十进制65,下面的程序输出的是______
main()
{ char c1,c2;
c1= ‘A’+ ‘5’ –‘3’;
c2= ‘A’+ ‘6’ –‘3’;
printf(“%d ,%c \n”,c1,c2 );
}
A. 67, D B. 67, C C. 68, D D. 68, C
答案:A
2.设有下列定义和输入语句:
float a,b;
char c,d;
scanf("%c%c",&c,&d);
scanf("%f %f",&a,&b);
若分别为a、b、c、d输入3.14、0.02、E、F,正确的输入形式是______
A. E , F ( B. E F ( C. EF ( D. EF (
3.14 0.02( 3.14 0.02( 3.14 0.02( 3.14 , 0.02(
答案:C
3.若x,y均为double型变量,则以下正确的是______
A. scanf("%lf %lf", &x , &y ); B. scanf("%d%d", &x , &y);
C. scanf("%lf %lf", x , y ); D. s