2-1
请读程序:
#include<cstdio>
using namespace std;
int main()
{ int a=4,b=7;
printf("%d\n",(a=a+1,b+a,b+1));
return 0;
}
则上面程序的输出结果是( )
A.5
B.4
C.13
D.8
2-2
如果int a=3,b=4;则条件表达式"a<b? a:b"的值是( )。
A.3
B.4
C.0
D.1
2-3
若“int n; float f=13.8;”,则执行“n=(int)f%3”后,n的值是( )。
A.1
B.4
C.4.333333
D.4.6
2-4
设float x=2.5,y=4.7;int a=7;,printf("%.1f",x+a%3*(int)(x+y)%2/4)的结果为()
A.2.5
B.2.8
C.3.5
D.3.8
2-5
若有定义:int a=5,b=2,c=1;则表达式a-b<c||b==c的值是( )
A.0
B.1
C.2
D.-1
2-6
能正确表示逻辑关系:“10≤x≤20” 的C语言表达式是( )
A.
x>=10 and x<=20
B.
x>=10 or x<=20
C.
x>=10 && x<=20
D.
x>=10 || x<=20
2-7
若变量c为char类型,能正确判断出c为小写字母的表达式是( )。
A.'a'<=c<='z'
B.(c>='a')||(c<='z')
C.('a'<=c)and('z'>=c)
D.(c>='a')&&(c<='z')
2-8
判断 i 和 j 至少有一个值为非0的表达式是____。
A. i!=0 && j!=0
B. i+j!=0
C. i || j
D. i&&j
2-9
表达式__不能用于判断“x和y不同时为零”。
A.
x!=0 || y!=0
B.
x || y
C.
!(x==0 || y==0)
D.
!(x==0 && y==0)
2-10
若变量已正确定义并赋值,表达式 -k++
等价于( )。
A.-(k++)
B.-(k+1)
C.-(++k)
D.(-k)++
2-11
定义 char a;
则以下赋值语句不恰当的是:
A.a = 65;
B.a = "A";
C.a = '\65';
D.a = 6 + 'A';
2-12
以下选项中,非法的字符常量是____。
A.'t'
B.'\65'
C."n"
D.'\t'
2-13
为表示“a和b都不等于0”,应使用的C语言表达式是()。
A.(a!=0) || (b!=0)
B.a || b
C.!(a=0)&&(b!=0)
D.a && b
2-14
设整型变量a=2,则执行下列语句后,浮点型变量b的值不为0.5的是( )。
A.b=1.0/a;
B.b=(float) (1/a);
C.b=1/(float)a;
D.b=1/(a*1.0);
2-15
下面( )表达式的值为4。
A.11/3
B.11.0/3
C.(float)11/3
D.(int)(11.0/3+0.5)
2-16
C语言中,关系表达式和逻辑表达式的值是( )。
A.0
B.1
C.0 或 1
D.'T' 或 'F'
2-17
若有定义int x=3, y=2和float a=2.5, b=3.5,则表达式:(x+y)%2+(int)a/(int)b的值是( )。
A.0
B.2
C.1.5
D.1
2-18
若有定义:int a=8,b=5,c;执行语句c=a/b+0.4;后,c的值为( )。
A.1.4
B.1
C.2.0
D.2
2-19
设ch是char型变量且为'A',经过下面的表达式运算后ch的值是( )。
ch=(ch>='A'&&ch<='Z')?(ch+32):ch;
A.A
B.a
C.Z
D.z
2-20
执行printf("%f",(x=3,y=5,x>y?1:1.5));后的输出结果是( )。
A.语法错误
B.1
C.1.5
D.1.500000
2-21
若变量已正确定义,表达式 (j=3, j++) 的值是 ( )
A.3
B.4
C.5
D.6
2-22
变量a
和b
为double
型,以下判断a
与b
数值相等的最恰当的写法是:
A.a == b
B.a = b
C.(a-b>=-1e-6) && (a-b<=1e-6)
D.a - b == 0
2-23
定义变量int a,b;
,则表达式a = (b = 3, 4), 5;
执行过后,a
、b
的值分别是:
A.5, 4
B.4, 4
C.4, 3
D.3, 3