C语言运算符与表达式的练习题答案Word文档格式.docx
《C语言运算符与表达式的练习题答案Word文档格式.docx》由会员分享,可在线阅读,更多相关《C语言运算符与表达式的练习题答案Word文档格式.docx(30页珍藏版)》请在冰豆网上搜索。
D.-12
(9)在以下一组运算符中,优先级最低的运算符是(D)。
A.*
=
C.+
D.=
(10)设整型变量i值为2,表达式(++i)+(++i)+(++i)的结果是(B,上机13)。
A.6
B.12
C.15
表达式出错
(11)若已定义x和y为double类型,则表达式x=1;
y=x+3/2的值是(D)。
A.1
B.2
C.2.0
D.2.5
*(12)设a=1,b=2,c=3,d=4,则表达式:
a<
b?
a:
c<
d?
d的结果为(D)。
A.4
B.3
C.2
D.1
(13)设a为整型变量,不能正确表达数学关系:
10<
15的C语言表达式是(A)。
A.10<
15
B.a==11||a==12||a==13||a==14
C.a>
10&
a<
(a<
=10)&
(a>
=15)
*(14)设f是实型变量,下列表达式中不是逗号表达式的是(B)。
A.f=3.2,1.0
B.f>
0,f<
10
C.f=2.0,f>
0
D.f=(3.2,1.0)
*(15)设ch是char型变量,其值为'
A'
,则下面表达式的值是(B)。
ch=(ch>
='
ch<
Z'
)?
(ch+32):
ch
A.A
B.a
C.Z
D.Z
(16)以下运算符中,结合性与其他运算符不同的是(A)。
A.++
B.%
C./
D.+
(17)以下用户标识符中,合法的是(B)。
A.int
B.nit
C.123
D.a+b
(18)C语言中,要求运算对象只能为整数的运算符是(A)。
A.%
B./
C.>
D.*
(19)PC机中,'
\n'
在内存占用的字节数是(A)。
C.3
D.4
(20)字符串"
ABC"
在内存占用的字节数是(B)。
B.4
C.6
D.8
(21)要为字符型变量a赋初值,下列语句中哪一个是正确的(B)。
A.chara="
3"
;
B.chara=’3’;
C.chara=%;
D.chara=*;
(22)下列不正确的转义字符是(C)。
A.\\
B.\'
C.074
D.\0
填空题
(1)C语言中的逻辑值“真”是用
1
表示的,逻辑值“假”是用
表示的。
(2)
设c='
w'
a=1,b=2,d=-5,
则表达式'
x'
+1>
c,'
y'
!
=c+2,-a-5*b<
=d+1,b==a=2的值分别为
、
。
(5)
设floatx=2.5,y=4.7;
inta=7;
,表达式x+a%3*(int)(x+y)%2/4的值为
(6)
判断变量a、b的值均不为0的逻辑表达式为
a*b!
=0或a!
=0&
b!
=0
(7)
求解赋值表达式a=(b=10)%(c=6),表达式值、a、b、c的值依次为
4,10,6
(8)
求解逗号表达式x=a=3,6*a后,表达式值、x、a的值依次为
18,3,3
。
(9)数学式a/(b*c)的C语言表达式是
a/(b*c);
第一单元C语言概述
一、选择题
1、C语言中主函数的个数为(A)个。
A)1B)2
C)无穷个D)任意个
2、以下关于C语言描述错误的是(D)。
A)一个C程序总是从main函数开始执行T
B)每个语句和数据声明的最后必须有一个分号T
C)C语言的注释符是以“/*”开始并以“*/”结束的T
D)一个C程序可以包含多个main函数F
3、C语言源程序文件后缀为(C)。
A).EXEB).OBJC).CD).ASM
4、C语言是由(C)组成的。
A)子程序B)主程序与子程序C)函数D)过程
5、C语言属于(B)语言
A)机器语言B)汇编语言C)高级语言D)面向对象语言
第二单元C语言基础
1、C语言中普通整型变量int在内存中占(B)字节。
A)1B)2C)3D)4
2、下列不是C语言基本数据类型的是(A)。
A)字符型B)整型
C)浮点型D)结构体
3、有关自增、自减运算,以下只有(D)是正确的。
A)---fB)++78C)a—b++D)d++
4、已知A=7.5,B=2,C=3.6,表达式(A>
B&
C>
A)||(A<
C>
B)的值是(A)。
A)0B)10C)1D)5
5、若有x=1,y=2,z=3,则表达式(x<
y?
x:
y)==z的值是(D)。
A)1B)2C)3D)0
6、判断char型变量ch是否为大写字母的正确表达式是(C)。
A)‘A’<
=ch<
=‘Z’B)(ch>
=‘A’)&
(ch<
=‘Z’)
C)(ch>
=‘Z’)D)(‘A’<
=ch)AND(‘Z’>
=ch)
7、判断整型变量digit是否为数字的正确表达式是(C)。
A)‘0’<
=‘9’B)(ch>
=‘0’)&
=‘9’)
=‘9’)D)(‘0’<
=ch)AND(‘9’>
8、一个C程序的执行是从(A)。
A)本程序的main函数开始,到main函数结柬
B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束
C)本程序的main函数开始,到本程序文件的最后一个函数结束
D)本程序文件的第一个函数开始,到本程序main函数结束
9、在以下标识符中,合法的是(C)
A)ifB)0xyC)_xyD)case
10、C语言中各种类型的数据其实决定了占用内存的字节数。
float占(C)。
A)一字节B)二字节C)四字节D)八字节
11、下列各选项中,(A)是有效的标识符。
A)abB)3dayC)day-3D)#abc
12、以下叙述正确的是(C)
A)在C程序中,每行只能写一条语句
B)若a是实型变量,C程序中不允许a=10这种赋值。
C)在C程序中,%是只能用于整数运算的运算符
D)在C程序中,无论是整数还是实数,没有什么区别
13、有输入语句:
scanf(“a=%d,b=%d,c=%d”,&
a,&
b,&
c);
为使变量a的值为1,b的值为3,c的值为2,则正确的数据输入方式是(B)。
A)132↙B)1,3,2↙
C)a=1b=3c=2↙D)a=1,b=3,c=2↙
14、设整型变量a为5,使b不为2的表达式是(
C
)。
A)b=a/2
B)b=6-(--a)
C)b=a%2
D)b=a>
3?
2:
1
15、以下程序的输出结果是(
D
intx=10,y=10;
printf(“%d
%d\n”,x--,--y);
A)10
10
B)9
9
C)9
D)10
9
16、选出下列标识符中不是合法的标识符的是(
D)。
A)hot_do
B)cat1
C)_pri
D)2ab
17、设有如下定义:
intx=10,y=3,z;
则语句printf("
%d\n"
z=x%y);
的输出结果是(
A)1
B)0
C)4
D)3
18、各种基本数据类型的存贮空间正确的长度排列为(
A)int<
char<
float<
double
B)double<
float<
int<
char
C)char<
int<
D)float<
char<
double
19、下面的变量说明中(
)是正确的。
A)char:
a,b,c;
B)chara;
b;
c;
C)chara,b,c;
D)chara,b,c。
20、转义字符“反斜杠线”的表示方法正确的是(
B)。
A)
\
B)
\\
)‘\’
D)
“\”
21、若x=5,y=3则y*=x+5;
y的值为(
B)
20
C)
15
D)
30
22、能正确表示a和b同时为正或同时为负的逻辑表达式是(
)
A)(a>
=0||b>
=0)&
0||b<
0)
B)(a>
=0&
b>
0&
b<
0)
C)(a+b>
0)&
(a+b<
=0)
D)a*b>
23、C语言中,合法的字符型常数是(
A)‘A’
B)“A”
C)65
D)A
24、下列程序段的输出结果是(
charc1,c2;
c1=65;
c2=65+32+1;
printf(“%c,%c”,c1,c2);
A)a,B
B)a,b
C)A,b
D)A,B
25、下列语句不具有赋值功能的是(
)
A)a*=b
B)x=1
C)a+b
D)a++
26、在C语言中,存储一个整型、字符型、双精度实型变量所需的字节(
A)。
A)2、1、8
B)4、1、4
C)4、1、4
D)2、2、8
27、下列程序段输出结果是(
B
intj=2,i=1;
j/=i*j;
printf(“%d”,j);
A)0
B)1
C)2
D)3
28、不是C语言提供的合法关键字是(
A)switch
B)char
C)case
D)this
29、在C语言中,要求参加运算的数必须时整数的运算符是(
A)/B)*C)%D)=
30、若已定义x和y为double类型,且x=1;
则表达式y=x+3/2的值是(
C)。
A)
31、设a为整型变量,不能正确表达数学关系:
15的C语言表达式是(
A)10<
B)a==11||a==12||a==13||a==14
C)a>
10&
D)!
=10)&
=15)
32、表达式“10!
=9”的值是(
A)true
B)非零值
C)0
D)1
33、设a,b为字符型变量,执行scanf(“a=%c,b=%c”,&
b)后使a为’A’,b为’B’,从键盘上的正确输入是(
A)’A’‘B’
B)’A’,’B’
C)A=A,B=B
D)a=A,b=B
34、设有单精度变量f,其值为。
执行语句“n=((int)f)%3;
”后,n的值是(
35、普通整形int能够处理的数据范围是(
A)-32767~32767
B)-32768~32768
C)-32767~32768
D)-32768~32767
36、若定义x为double型变量,则能正确输入x值的语句是。
B
A)scanf(“%f”,x);
B)scanf(“%f”,&
x);
C)scanf(“%lf”,&
D)scanf(“%5.1f”,&
x)
37、执行x=(6*7%8+9)/5;
后,x的值为(
A)1
B)2
C)3
D)4
38、若有代数式3ae/bc,则不正确的c语言表达式是(
A)a/b/c*e*3
B)3*a*e/b/c
C)3*a*e/b*c
D)a*e/b/c*3
(
B)x/=y+9
C)x*=y-6
D)x+=y+2
40、以下能正确定义整型变量z、b、c并为其赋初值5的语句是(
A)int
a=b=c=5;
B)int
a,c,c=5;
C)a=5,b=5,c=5;
D)a=b=c=5;
41、C语言中双精度浮点型变量double在内存中占(D)字节。
A)1B)2C)4D)8
42、以下哪个数学函数的作用是求某数的平方根(A)。
A)sqrt()B)fabs()C)pow()D)exp()
43、两次运行下面的程序,如果从键盘上分别输入6和3,则输出结果是(
intx;
scanf("
%d"
&
if(++x>
5)
printf("
x);
else
x--);
A)7和5
B)6和3
C)7和4
D)6和4
44、执行语句"
x=(a=3,b=a--)"
后,x,a,b的值依次为(
B)。
A)3,3,2
B)3,2,2
C)3,2,3
D)2,3,2
45、读出以下语句的输出结果是(
intx=10,y=10;
printf("
%d
%d\n"
x--,--y);
10B)9
9C)9
10D)10
*46、C语言中,合法的字符串型常数是(
B)"
A"
C)‘abcd’
D)abcd
47、为表示关系x≥y≥z,应使用C语言表达式(
A
A)(x>
=y)&
(y>
=z)
B)(x>
=y)AND(y>
=z)
C)(x>
=y>
D)(x>
=z)&
48、C语言的输入与输出操作是由(
)完成的。
A)输入语句
B)输出语句
C)输入与输出函数
D)输入与输出语句
49、设有intx=11;
则表达式(x+1/3)的值是(
B)11.333333
C)11
D)12
50、若已定义x和y为double类型,则表达式x=1,y=x+3/2的值是(
C)
C)2.0
D)
二、判断题
( )1、“A”是一个字符常量。
X
( )2.、在程序运行过程中其值可以改变的量称为变量。
V
( )3、在C语言中,变量可以先使用再定义。
( )4、在C语言中,所有算术运算符的优先级都相同。
( )5、程序中若要使用数学函数就必须包含头文件””。
( )6、程序中若要使用printf()函数就必须引用头文件””。
( )7、在标准C中,“=”是判断两个数是否相等。
( )8、在标准C中,使用所有输入输出函数必须包含“”文件。
( )9、在C语言中输出数据时可以指定数据的精度,即小数点后保留几位。
V
()10、C语言中的基本数据类型有字符型、整型和浮点型。
()11、所有的C语言程序都必须有一个名为main的主函数。
V
()12、/运算符要求运算数必须是整数。
X
()13、Int,#a15,char都是合法的标识符。
X
()14、'
b'
和"
b"
是不同的两种常量。
()15、C语言本身没有输入输出语句,要实现输入输出必须调用相应的输入输出函数。
V
第三单元算法
一、判断题
()1、算法简而言之就是基于某种计算机语言,利用数据结构来解决具体问题的思路和方法。
()2、描述算法的图形化方法之一就是程序流程图。
V
()3、描述算法可以用自然语言、传统流程图、N-S流程图来描述。
()4、算法要有一定的逻辑性和健壮性。
()5、算法的特点之一是无穷性。
X
第四单元顺序结构
1、下列标识符中合法的标识符是(A)
A)int2B)ifC)2twoD)a#b
2、选出下列标识符中不是合法的标识符的是(B)
A)hot_doB)cat@113C)INTD)_2ab
3.、以下选项中属于C语言的数据类型是(B)
A)字符串型B)双精度型C)逻辑型D)布尔型
4、设有如下定义:
intx=10,y=3,z;
则语句printf("
z=x%y);
的输出结果是(D)
A)3B)0C)4D)1
5、设整型变量n的值为2,执行语句"
n+=n;
"
后,n的值是(B)
A)0B)4C)-4D)2
()1、结构化程序设计的三种结构是顺序结构、选择结构和循环结构。
()2、可以用printf("
123);
语句输出一个十六进制整数。
()3、可以用scanf("
%x"
da);
语句从键盘接收一个八进制整数给变量da。
()4、语句scanf("
%5.2f"
&
a);
是正确的。
()5、如果a是一维字符数组名,则语句scanf("
%s"
第五单元选择结构
1、有以下程序段
inta;
if(3&
2)
a=1;
else
a=2;
执行后a=(
A)1B)2C)3D)0
2、表达式:
10!
=9的值是(
A)true
B)非零值
C)0
D)1
3、设intx=1,y=1;
表达式(!
x++||y--)的值是_(
B)1
C)2
D)-1
4、设整型变量s,c1,c2的值均为2,则执行语句(s=(c1==c2))后,s的值为:
A)0
5、设整型变量a,b的值分别为1,0,那么a&
b的结果是(
A)0B)1C)2D)都不对
6、设整型变量a,b的值分别为1,0,那么a||b的结果是(
7、设整型变量a,b的值分别为1,0,那么a!
=b的结果是(
8、设整型变量a,b的值分别为1,0,那么a||(b++)的结果是(
A)0B)1C)2D)都不对
9、设整型变量a,b的值分别为1,0,那么a&
(++b)的结果是(
10、设整型变量a,b的值分别为1,2,那么表达式a>
a+b:
a-b的结果是(
A)1B)2C)3D)-1
11、下边程序段
inta=2,b=3,c=4;
if(c=a+b)printf(“OK!
”)
elseprintf(“NO!
”);
输出结果是(
A)OK!
B)NOC)程序错误D)以上都不对
12、设整型变量a,b的值分别为1,0,那么a==b的结果是(
13、设整型变量a,b的值分别为1,0,那么!
(a==b)的结果是(
14、设整型变量a,b的值分别为1,2,那么!
a&
15、设x为非零,则下列描述错误的是(
A)!
(x==0)B)x!
=0C)3*x!
=0D)x>
16、下列表达式的值中哪个表示为逻辑假(
A)1B)3C)0D)-1
17、设整型变量a,b的值分别为6