数据类型、运算符与表达式部分思考题
一、填空题
1C语言中,标识符只能由                  组成,且第一个字符必须为
             
2】每一个变量被指定为一确定类型,在编译时系统为其分配相应的           
3C整型常数可用三种形式表示:23=      =     
4】数值在内存中实际是以补码表示的,如-23的实际存放是                     
5C的字符常量是用        括起来的          ,而字符串常量则是        括起来的          ,且结尾加一个字符‘\0’作为                   
6】表达式3*9%2+9%2*5的值是     
7】表达式7.0*2/3)的值是     
8】已知int i=0j=3;执行语句i=-j++;后,i=    j=   
9】已知int x=3,y=4;则执行表达式 x=x>y 后,变量x 的值为   
10】已知int x=1,y=-1;则语句 printf(%d\n,(x--&&++y));的输出结果是   
11C语言的运算符按运算对象的数目可分为                  运算符。!a                                          是唯一的三目运算符。
12】把k、k定义成整型变量,并赋初值0的定义语句是                     
13】若k为int型变量且赋值7,请写出赋值表达式k*=k+3的运算结果     
14】表达式3*%2的计算结果     
15】若x为double型变量,请写出运算表达式x=3.2,++x后,表达式的值是      ,变量x的值是     
16C语言中,字符在内存占      字节。
17ASCII 代码在内存中以      进制形式存放。
18】语句printf(You are \rA\x20niceE\b\040boy!\n);的输出结果是           
二、判断题
19C程序中,对用到的所有数据都必须指定其数据类型。
20C语言中,数据的基本类型包括整型、字符型、实型和逻辑型。
21】‘\065’代表的字符是大写字母A
22】已知char a; int b; float c; double d; 则执行语句 c=a+b+c+d; 之后,变量c的数据类型应是double 型。
23】已知 float a, b;  int x; 则执行语句x=a%b;之后,x结果为a除以b的余数。
24】求正数补码的方法是将其化为二进制形式之后按位取反。
25C语言标识符中,大写字母和小写字母被认为是不同的两个字符。
26】已知 char c; c= a”,则printf(%c,c);语句可以输出字符a
27】在强制类型转换时,得到一个所需类型的中间变量,原来变量的类型未发生变化。
28】表达式x%=y+3 等同于x=x%(y+3) 
29】整型、实型、字符型数据间可以混合运算。
30C语言要求对所有变量“先定义,后使用”。
31】在赋值表达中符号(=)左边的变量和右边的值可以是不同的类型。
三、选择题
32】下列选项中,合法的实型常量有(      )。
    Ae5        B. 3.5e4.4        C. .256        D. 23
33C语言中,整型数据在内存中的存储形式是(      ),字符型数据的存储形式是(      )。
    A.反码        B.ASCII           C.原码      D.补码
34】下列可以正确定义数据类型的关键字是(      )。
    A. Long            B. signed            C. shorter            D. integer
35】已知 float x=-5int y; 执行语句y=x%2;则变量Y的结果是(      )。
    A. –1        B. 1            C. 0            D.语句本身有错误
36】已知 int a;则使用逗号表达式 (a=3/2,a*5), a+10”的结果为 (      ) ,变量a的值为(      )。
    A. 1        B.11        C.5        D.0   
    A. 1        B.15        C.6        D.11
37】已知int a; float b; 下列语句中正确的是(      )。
    A. (int )%a        B. int (b)%a        C.int (b%a)        d. (int)b%a
38】已知 #define N 3 的宏定义,执行i=N*3 之后,i值为(      )。
    A. 3        B. 6        C. 9        D. ABC都不对
39】字符串“\\\34x,y0\t”的长度是(      )。
    A. 9        B. 8        C. 7        D.6
40】下列可以正确表示字符型常数的是       )。逗号表达式的运算顺序
    A. b        B. ‘\t’        C. \n        D.298
41】已知float x=3, y;则 y=x++*++x的结果为(      )。
    A. y=9        B. y=12        C.y=16        D.表达式错误
42】已知int x=10, y=3, z ;则下列语句的输出结果是(      )。
    printf(%d\n, z=(x/y , x%y ));
    A. 1        B. 3        C. 0        D.4
43】在C语言中,数字059是一个(      )。
    A. 八进制数        B.十六进制数            C.十进制数        D.非法数
44】将字符赋给字符变量,正确的表达式是(      )。
    A. x= g        B. x=101        C.x= ‘\147’        D.x=0147’
45】以下运算符中优先级别最高的运算符为(      )。
    A. ||        B.!        C. &        D.=
46】已知 int y, x=5 ;执行语句y= -x--; y 的值是(      )。
    A. 5        B.4        C. –5        D. –4
47】已知 int  x=5;执行语句x - = -- x;x的值是(      )。
    A. 1        B.0        C.-1        D.ABC都不对
48】已知 int x=6; x+=x=x*x ; 语句后,x 的值为(      )。
    .36        B.60        C.-60        D.-24
49】已知 int x=5, y; 则执行 y=(++x)+(x――)后的y 值是(      )。
    A.12    B.10        C.11        D.13
50】已知int a=5, b=3 ; 则执行以下语句后的输出为(      )。
    printf(%d\n , a/=(b%=2);
    A. 5    B. 1        C. 0        D. 2
51C语言中的简单的数据类型有(      )。
    A.整型、实型、逻辑型    B.整型、实型、字符型
    C.整型、字符型、逻辑型  D.整型、实型、逻辑型、字符型
52】若所用变量都已正确定义,以下选项中,非法的表达式是(      )。
    A.a!=4||’b’    B.a’%4    C .‘a’=1/2*(x=y=20,x*3)    D.’A’+32
53】下面的程序段执行后,B的值是(      )。
    Aa    B. 1      C .2      D. 3
    int x=36,B;
    char z=’A’;
    B=((x)&&(z<’a’));
四、改错题
【54】    main( )
        {
float  a,b,c,s,v;
            printf(input a,b,c:\n);
            scanf(%d%d%d,a,b,c);
              S=a*b;
            V=a*b*c;
            printf(%f %f %f,a,b,c);
            printf(s=%f\n,s);
printf(v=%f\n,v);
        }
五、读程序填空
【55】/*程序功能:求1+2+3……+100*/
main( )
{    int i, sum=0;
    i=1;
    while(      )
    {    sum=sum+i;
               
    }
    printf(%d,sum);
}
六、读程序写结果
【56】main ( )
{ int c1,c2;
c1=97;
c2=98;
printf(%c:%c\n,c1,c2);
printf(%d %d,c1,c2);
}
执行结果:                   
【57】    main ( )
{ int a=1,b=2,t=-1,z;
            t*=b/a+(++t);
            z=(a-b,a+b)/a;
            printf(%d %d,t,z);
}
执行结果:               
【58】main( )
    {    int a=4,b=2,c=1;
        printf(%d,%d,%d,(a++,--b),a/b,a%c);
        printf(%d,%d,%d,a,b,c);
    }
执行结果:               

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。