一、选择题
-
下面四个选项中,均是不合法的用户标识符的选项的是_C______。
A.A p_o do
B.float lao _A
C.b-a goto int
D._123 temp INT -
以下选项中可以作为C语言中合法整数的是_C______。
A.10110B
B.0386
C.0Xffa
D.x2a2 -
以下选项中合法的实型常数是_C______。
A.5E2.0
B.E-3
C.2E0
D.1.3E -
以下选项中可作为C语言合法常量的是_A______。
A.-80
B.-080
C.-8e1.0
D.-80.0e -
下面四个选项中,均是合法转义字符的选项是__B_____。
A.'\' ' \\' '\n'
B.'\'' '\017' '\t'
C.'\018' ' \f' '\xab'
D.'\\0' '\101' 'x1f'
-
下面不正确的字符串常量是___A____。
A. ‘abc’
B. “12’12”
C. “0”
D. " " -
以下选项中不属于C语言的类型的是____D___。
A.signed short int
B.unsigned long int
C.unsigned int
D.long short -
在C语言中,要求运算数必须是整型的运算符是___D____。
A./
B.++
C.!=
D.% -
以下运算符中优先级最低的是_C______。
A.&&
B.<=
C.||
D.== -
以下运算符中优先级最高的是____B___。
A.&&
B.<=
C.||
D.== -
若x = 2 , y=3,则x && y的结果是__B_____。
A.0
B.1
C.2
D.3 -
若x,i,j和k都是int型变量,则计算表达式x = ( i = 4 , j = 16 , k = 32 )后,x的值为___C____。
A.4
B.16
C.32
D.52 -
若有定义:int a = 7 ; float x = 2.5 , y = 4.7 ; ,则表达式x + a % 3 * ( int )( x + y ) % 2 / 4的值是___A____。
A.2.500000
B.2.750000
C.3.500000
D.0.000000 -
若有以下类型说明语句:char w ; int x ; float y ; double z ; ,则表达式w * x + z - y的结果为___D____类型。
A.float
B.char
C.int
D.double -
已有定义:int x = 3 , y = 4 , z = 5 ; 则表达式!( x + y ) + z – 1 && y + z / 2的值是___D____。
A.6
B.0
C.2
D.1 -
以下选项中非法的表达式是___D____。
A.0 <= x < 100
B.i = j == 0
C.( char )( 65 + 3 )
D.x + 1 = x + 1 -
设a、b、c、d、m、n均为int型变量,且a = 5、b = 6、c = 7、d = 8、m = 2、n = 2,则逻辑表达式( m = a > b ) && ( n = c > d)运算后,n的值为___C____。
A.0
B.1
C.2
D.3 -
若变量c为char类型,能正确判断出c为小写字母的表达式是___D____。
A.‘a’ <= c <= ‘z’
B.( c >= ‘a’ ) || ( c <= ‘z’ )
C.( ‘a’ <= c ) and ( ‘z’ >= c )
D.( c >= ‘a’ ) && ( c <= ‘z’ ) -
若x和y代表整型数,以下表达式中不能正确表示数学关系|x―y|<10的是___C____。
A.abs( x – y ) < 10
B.x – y > -10 && x – y < 10
C.!( x – y ) < -10 || !( y – x ) > 10
D.( x – y ) * ( x – y ) < 100
二、填空题
-
C语言中的标识符只能由三种字符组成,它们是
数字
、字母
和下划线
。(请按照ASCII码递增顺序填写) -
在C语言中(以32位PC机为例),一个char型数据在内存中所占的字节数为
1
,一个int型数据在内存中所占的字节数为4
,一个float型数据在内存中所占的字节数为4
,一个double型数据在内存中所占的字节数为8
。 -
有以下定义int m = 5,y = 2;则计算表达式y += y -= m *= y后的y值是
-16
。 -
若定义:int a = 2,b = 3;float x = 3.5,y = 2.5;则表达式( float )(a + b ) / 2 + ( int ) x % ( int ) y的值是
3.5
。 -
x和n均为int型变量,且x的初值为12,n的初值为5,则计算表达式x %= ( n %= 2 )后x的值为
0
。 -
设所有变量均为整型,则表达式( a = 2 , b = 5 , a++ , b++ , a + b )的值为
9
。 -
a、b和c均是int型变量,则计算表达式a = ( b = 4 ) + ( c = 2 )后,a值为
6
,b值为4
,c值为2
。 -
a是int型变量,且a的初值为6,则计算表达式a += a -= a * a后a的值为
-60
。 -
设y是int型变量,请写出判断y为奇数的关系表达式
y%2==1
。 -
若a,b,c均为整型变量,则执行以下语句a = b = c = 0 ; a++ && ++b || c++ ; 后,a的值为
1
,b的值为0
,c的值为1
。
11.下面程序的运行结果是 b
。
#include<stdio.h>
int main( ){
char m ;
m = 'B' + 32 ;
printf( "%c\n" , m ) ;
return 0 ;
}
- 下面程序的运行结果是
0
。
#include<stdio.h>
int main( ){
int x = 3 , y = 5 ;
printf( "%d\n" , x / y ) ;
return 0 ;
}
- 下面程序的运行结果是
0
。
#include<stdio.h>
int main( ){
int m = 0xabc , n = 0xabc ;
m -= n ;
printf( "%x\n" , m ) ;
return 0 ;
}
- 下面程序的运行结果是
10,2
。
#include<stdio.h>
int main( ){
int x = 10 , y = 3 ;
printf( "%d,%d\n" , x++ , --y ) ;
return 0 ;
}
- 下面程序的运行结果是
3,20,30,1
。
#include<stdio.h>
int main( ){
int a = 2 , b=20 , c=30 , d ;
d = ++a <= 10 || b-- >= 20 || c++ ;
printf( "%d,%d,%d,%d\n" , a , b , c , d ) ;
return 0 ;
}