C/C++测试题
数据类型和表达式
 
一、选择题
1、下列数据中,不合法的实型数据的是( C   )。
    (A) 0.123    (B) 123e3    (C) 2.1e3.5    (D) 789.0
2、若有定义:
    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
3、设变量a是int型,f是float型,i是double型,则表达式10+’a’+i*f值的数据类型
为( C   )。
    (A) int    (B) float    (C) double    (D)不确定
4、在位运算中,操作数左移一位,其结果相当于( A   )。
    (A)操作数乘以2    (B)操作数除以2
    (C)操作数除以4    (D)操作数乘以4
5、若有以下说明语句,则该语句( B )。
    char s='\092';
    (A)使s的值包含1个字符    (B)说明不合法,s的值不确定
    (C)使s的值包含4个字符    (D)使s的值包含3个字符
6、若kl,k2,k3,k4均为int型变量,为了将整数10赋给kl和k3,将整数20赋给k2
和k4,则对应以下scanf()函数调用语句的正确输入方式是(D )(<CR>代表换行符,ㄩ代
表空格)。
    scanf(“%d%d”,&k1,&l2);
    scanf(“%d,%d”,&k3,&k4);
(A)1020<CR>        (B) 10ㄩ20<CR>      (C) 10, 20<CR>    (D) 10ㄩ20<CR>
1020<CR>                   10ㄩ20<CR>         10, 20<CR>         10, 20<CR>
7、若变量已正确定义并赋值,以下符合C语言语法的表达式是( B )。
(A)a:= b+1    (B)a=b=c+2    (C) int 18.5%3    (D)a=a+7=c+b
8、在C/C++语言中,逻辑值“真”用(   D )表示。
(A) true    (B)大于0的数    (C)非0整数    (D)非0的数
9、下列可用于C/C++语言用户标识符的一组是( B )。
(A) void, define, WORD    (B) a3_b3,_123,Car
(C) For, -abc, IF Case       (D) 2a, DO, sizeof
10、下列选项中非法的表达式为(   D).
(A) 0<=x<100     (B) i=j==0   (C) (char)(65+3) (D) x+1=x+1
(A)a==1    (B)++i;    (C)a=a++=5;    (D)a=int(i);
二、读程序分析程序的运行结果
11、以下程序的结果是( B )。
int a=21,b=11;
cout<<(--a+b)<<","<<(--b+a);
     (A) 29,28     (B) 31,30   (C) 28,29    (D) 30,31
12、以下程序的结果是( D )。
      int a=3,b=10;
      cout<<(a<<2|b>>1);
       (A)1    (B)5  (C)12    (D)13
13、两次运行以下程序,如果从键盘上分别输入6盒4,则输出的结果是( A )。
int main( )
{
  int a;
  cin>>a;
  if(a++>5)cout<<a;
    else cout<<a--;
}
(A)7和5    (B)6和3  (C)7和4    (D)6和4
三、填空题
14、若有以下说明和语句,则c的二进制数是   0001 。//字符型数据占一个字节,4位
    char a=3,b =6, c; c=a^b>>2;
15、若有以下说明和语句,则c的二进制数是        1000 。
    char a=3, b=6, c; c=~a&b<<1;
16、设a=00101101,若想通过a^b运算使a的高4位取反,低4位不变,则b的二进
制数应是 11110000        。
 
	posted on 2011-05-31 21:53 
DoubleW 阅读(1458) 
评论(0)  编辑 收藏 引用