C语言习题集Word文档格式.docx
《C语言习题集Word文档格式.docx》由会员分享,可在线阅读,更多相关《C语言习题集Word文档格式.docx(35页珍藏版)》请在冰豆网上搜索。
![C语言习题集Word文档格式.docx](https://file1.bdocx.com/fileroot1/2022-11/16/d1119006-3427-4def-9eb0-f55f33ed70a1/d1119006-3427-4def-9eb0-f55f33ed70a11.gif)
C语言习题集2数据类型、运算符与表达式
一)选择题
1.若x、i、j、k都是int型变量,则计算下面表达式后,x的值为
。
x=(i=4,j=16,k=32)
A)4
B)16
C)32
D)52
2.下列四组选项中,均不是C语言关键字的选项是
A)define
IF
type
B)getc
char
printf
C)include
case
scanf
D)while
go
pow
3.下列四组选项中,均是不合法的用户标识符的选项是
。
A)W
P_0
do
B)b-a
goto
int
C)float
la0
_A
D)-123
abc
TEMP
4.下列四组选项中,均是合法转义字符的选项是
A)‘\”’
‘\\’
‘\n’
B)‘\’
‘\017’
‘\”’
C)‘\018’
‘\f’
‘xab’
D)‘\\0’
‘\101’
‘xlf’
5.下面正确的字符常量是
A)“c”
B)‘\\’’
C)‘’
D)‘K’
6.以下叙述不正确的是
A)在C程序中,逗号运算符的优先级最低
B)在C程序中,MAX和max是两个不同的变量
C)若a和b类型相同,在计算了赋值表达式a=b后,b中的值将放入a中,二b中的值不变
D)当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值
7.以下叙述正确的是
A)在C程序中,每行只能写一条语句
B)若a是实型变量,C程序中允许赋值a=10,因此实型变量中允许存放整型数
C)在C程序中,%是只能用于整数运算的运算符
D)在C程序中,无论是整数还是实数,都能被准确无误地表示
8.已知字母A的ASCII码为十进制数65,且c2为字符型,则执行语句c2=‘A’+‘6’-‘3’后,c2中的值为
A)D
B)68
C)不确定的值
D)C
9.sizeof(float)是
A)一个双精度型表达式
B)一个整型表达式
C)一种函数表达式
D)一个不合法的表达式
10.设C语言中,一个int型数据在内存中占2个字节,则unsignedint型数据的取值范围为
A)0~255
B)0~32767
C)0~65535
D)0~2147483647
11.设有说明:
charw;
intx;
floaty;
doublez;
则表达式w*x+z-y值的数据类型为
A)float
B)char
C)int
D)double
12.设以下变量均为int类型,则值不等于7的表达式是
A)(x=y=6,x+y,x+1)
B)(x=y=6,x+y,y+1)
C)(x=6,x+1,y=6,x+y)
D)(y=6,y+1,x=y,x+1)
(二)填空题
1.若有以下定义,则计算表达式y+=y-=m*=y后的y值是【1】。
intm=5,y=2;
2.
在C语言中,一个int型数据在内存中占2个字节,则int型数据的取值范围为【2】。
3.若s是int型变量,且s=6,则下面表达式的值为【3】。
s%2+(s+1)%2
4.
若a是int型变量,则下面表达式的值为【4】。
(a=4*5,a*2),a+6
5.若x和a均是int型变量,则计算表达式
(1)后的x值为【5】,计算表达式
(2)后的x值为【6】。
(1)x=(a=4,6*2)
(2)x=a=4,6*2
6.
若a是int型变量,则计算下面表达式后a的值为【7】。
a=25/3%3
7.若x和n均是int型变量,且x和n的初值均为5,则计算表达式后x的值为【8】,n的值为【9】。
x+=n++
8.
若有定义:
charc=‘\010’;
则变量c中包含的字符个数为【10】。
9.若有定义:
intx=3,y=2;
floata=2.5,b=3.5;
则下面表达式的值为【11】
(x+y)%2+(int)a/(int)b
10.已知字母a的ASCII码为十进制数97,且设ch为字符型变量,则表达式ch=‘a’+‘8’-‘3’的值为【12】。
C,A,B,A,D
D,C,A,B,C
D,C
-16,
0~65535,
1,26,12,4
2,10,6,1,1,
102
C语言习题集3简单的C程序设计
(一)选择题
1.putchar函数可以向终端输出一个。
A)整型变量表达式B)实型变量值
C)字符串
D)字符或字符型变量值
2.printf函数中用到格式符%5s,其中数字5表示输出的字符串占用5列。
如果字符串长度大于5,则输出按方式;
如果字符串长度小于5,则输出按方式。
A)从左起输出该字符串,右补空格B)按原字符长从左向右全部输出
C)右对齐输出该字符串,左补空格D)输出错误信息
3.阅读以下程序,当输入数据的形式为:
25,13,10<
CR>
(注:
<
表示回车),则正确的输出结果为。
main()
{intx,y,z;
scanf(“%d%d%d”,&
x,&
y,&
z);
printf(“x+y+z=%d\n”,x+y+z);
}
A)x+y+z=48B)x+y+z=35C)x+z=35D)不确定值
4.根据下面的程序及数据的输入和输出形式,程序中输入语句的正确形式应该为。
main()
{charch1,ch2,ch3;
输入语句
printf(“%c%c%c”,ch1,ch2,ch3);
输出形式:
ABC
输入形式:
AB
A)scanf(“%c%c%c”,&
ch1,&
ch2,&
ch3);
B)scanf(“%c,%c,%c”,&
C)scanf(“%c%c%c”,&
D)scanf(“%c%c”,&
5.已知ch是字符型变量,下面正确的赋值语句是。
A)ch=‘a+b’;
B)ch=‘\0’;
C)ch=‘7’+‘9’;
D)ch=5+9;
1.以下的输出结果是【1】。
{shorti;
i=-4;
printf(“\ni:
dec=%d,oct=%o,hex=%x,unsigned=%u\n”,i,i,i,i);
}
2.以下的输出结果是【2】。
{charc=‘x’;
printf(“c:
dec=%d,oct=%o,hex=%x,ASCII=%c\n”,c,c,c,c);
3.以下的输出结果是【3】。
{intx=1,y=2;
printf(“x=%dy=%d*sum*=%d\n”,x,y,x+y);
printf(“10Squaredis:
%d\n”,10*10);
4.假设变量a和b均为整型,以下语句可以不借助任何变量把a、b中的值进行交换。
请填空。
a+=【4】;
b=a-【5】;
a-=【6】;
5.若x为int型变量,则执行以下语句后的x值为【7】。
x=7;
x+=x-=x+x;
z=m=0xFFFF
6.有一输入语句scanf(“%d”,k);
则不能使float类型变量k得到正确数值的原因是【8】和【9】。
D,
B,C,D,4题有误?
,5:
语法上BCD都对,题意不明
C语言习题集4逻辑运算与判断选取控制
1.逻辑运算符两侧运算对象三数据类型
A)只能是0和1
B)只能是0或非0正数
C)只能是整型或字符型数据
D)可以是任何类型的数据
2.判断char型变量ch是否为大写字母的正确表达式是
A)'
A'
=ch<
='
Z'
B)(ch>
)&
(ch<
)
C)(ch>
&
)
D)('
=ch)AND('
>
=ch)
3.若希望当A的值为奇数时,表达式的值为"
真"
,A的值为偶数时,表达式的值为"
假"
则以下不能满足要求的表达式是
A)A%2==