C语言习题集(100题)1. i=2;printf("%d",i++);打印出来的数字为?
答案:2
解:i++和++i均为自增表达式,执行完后,i都会加1,均会有i+=1,也就是i=2+1=3的效果。不过,两个表达式的值不同。i++表达式的值为自增1之前i的值。这里也就是2。++i为只增1之后的i的值,也就是3。
因此,i=2;printf("%d",i++);打印出来的数字为2;
i=2;printf("%d",++i);打印出来的数字为3。
2. unsigned char i=0;i--;i为?
答案:255
unsigned char的...
1. i=2;printf("%d",i++);打印出来的数字为?
答案:2
解:i++和++i均为自增表达式,执行完后,i都会加1,均会有i+=1,也就是i=2+1=3的效果。不过,两个表达式的值不同。i++表达式的值为自增1之前i的值。这里也就是2。++i为只增1之后的i的值,也就是3。
因此,i=2;printf("%d",i++);打印出来的数字为2;
i=2;printf("%d",++i);打印出来的数字为3。
2. unsigned char i=0;i--;i为?
答案:255
unsigned char的为1个字节,数据范围从0~255。
i=0已经位于数据范围的下边界,如果再-1,会发生负溢出,溢出至255。
如果i=255,再加1,则会发生正溢出,溢出至0。
类似的情况参考下表
表1
类型说明符
数的范围
字节数
字符型
signed char
-128~127
即-27~(27-1)
1
无符号
字符型
unsigned char
0~255
即0~(28-1)
1
短整量
short[ int]
-32768~32767
即-215~(215-1)
2
无符号
短整型
unsigned short
0~65535
即0~(216-1)
2
长整型
整型
long 或
int
-2147483648~2147483647
即-231~(231-1)
4
无符号长整型
无符号整型
unsigned long
unsigned int
0~4294967295
即0~(232-1)
4
3. signed char i=0;i--;此时i为?
答案:-1
解:参考表1
signed char数据范围从-128~127。
当i=0,i自减1,不会发生溢出。
因此,i=0-1=-1
4. int i;for(i=0;i<100;i--);循环次数为?100
5. int i;for(i=0;i<100;i++);循环结束后,i=?100
解:参考表1
int的范围为-21亿~+21亿
因此,i在0~100的范围内的自增1操作,不会发生溢出。
循环次数计算考虑i的值的变化,i从0变到99,都满足i<100循环执行条件。
当i=99+1的时候,条件被打破,循环推出。
因此,循环推出后i=100
如果没有溢出,则通过以下公式计算
for(i=start;i
sqrt, sin ,cos 使用之前都得#include
strlen使用之前都得#include
24. 0x22转化为十进制为___ 34
0x22=2*161+2*160=34
25. 22转化为十六进制
22/16=1 22%16=6
1/16=0 1%16=1
22转化为16进制为0x16
222转化为16进制
222/16=13 222%16=14
13/16=0 13%16=13
14转化为十六进制为E
13转化为十六进制为D
222转化为16进制为0xDE
26. 22转化为二进制数为______(前面的0不要省略,总共写出8位数字)
思路:先转化为16进制,再由16进制转化为2进制。
22转化为16进制为0x16,0x16转化为二进制为00010110
0x22转化为二进制为_____(前面的0不要省略,总共写出8位数字)
0x22转化为二进制为00100010
对于十六进制到二进制的转化
可以现先在草稿纸上写出如下表格,然后查表
表3
十进制
0
1
2
3
4
5
6
7
十六进制
0
1
2
3
4
5
6
7
二进制
0000
0001
0010
0011
0100
0101
0110
0111
十进制
8
9
10
11
12
13
14
15
十六进制
8
9
A
B
C
D
E
F
二进制
1000
1001
1010
1011
1100
1101
1110
1111
27. 0x22转化为二进制为____(前面的0不要省略,总共写出8位数字)
直接查表
0x22=00100010
28. int的上限为多少亿?(写出数字即可,不要带单位)
int范围 -21亿~21亿,见表1
29. 编译程序程序总共有四部,第一步是?A.预处理 B.链接
编译程序程序总共有四部:预处理-》编译-》汇编-》链接
30. 预处理指令前通常有什么符号?#
#define
#include
#ifdef
#endif
31. void是否为合法的变量名?(填T或F)F
32. _123是否是合法的变量名?(填T或F)T
合法变量名以下划线_和字母开头,中间可以有数字。不能用关键字。
void为关键字,不能作为合法变量名。但是Void可以,因为C语言区分大小写
33. char a[1000000]该数组的定义是否正确?(填T或F)T
sizeof(a)=1000000*sizeof(a[0])=1000000<1024*1024=1M Bytes
本文档为【C语言习题集(100题)】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑,
图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。