数据类型、运算符与表达式部分思考题
一、填空题
【1】C语言中,标识符只能由 、 和 组成,且第一个字符必须为
或 。
【2】每一个变量被指定为一确定类型,在编译时系统为其分配相应的 。
【3】C整型常数可用三种形式表示:23= = 。
【4】数值在内存中实际是以补码表示的,如-23的实际存放是 。
【5】C的字符常量是用 括起来的 ,而字符串常量则是 括起来的 ,且结尾加一个字符‘\0’作为 。
【6】表达式3*9%2+9%2*5的值是 。
【7】表达式7.0*(2/3)的值是 。
【8】已知int i=0,j=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));的输出结果是 。
【11】C语言的运算符按运算对象的数目可分为 、 和 运算符。!a是 。 是唯一的三目运算符。
【12】把k1、k2定义成整型变量,并赋初值0的定义语句是 。
【13】若k为int型变量且赋值7,请写出赋值表达式k*=k+3的运算结果 。
【14】表达式3*6%2的计算结果 。
【15】若x为double型变量,请写出运算表达式x=3.2,++x后,表达式的值是 ,变量x的值是 。
【16】C语言中,字符在内存占 字节。
【17】ASCII 代码在内存中以 进制形式存放。
【18】语句printf(“You are \rA\x20niceE\b\040boy!\n”);的输出结果是 。
二、判断题
【19】C程序中,对用到的所有数据都必须指定其数据类型。
【20】C语言中,数据的基本类型包括整型、字符型、实型和逻辑型。
【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】求正数补码的方法是将其化为二进制形式之后按位取反。
【25】C语言标识符中,大写字母和小写字母被认为是不同的两个字符。
【26】已知 char c; c= “a”,则printf(“%c”,c);语句可以输出字符a。
【27】在强制类型转换时,得到一个所需类型的中间变量,原来变量的类型未发生变化。
【28】表达式x%=y+3 等同于x=x%(y+3)。
【29】整型、实型、字符型数据间可以混合运算。
【30】C语言要求对所有变量“先定义,后使用”。
【31】在赋值表达中符号(=)左边的变量和右边的值可以是不同的类型。
三、选择题
【32】下列选项中,合法的实型常量有( )。
A.e5 B. 3.5e4.4 C. .256 D. 23
【33】C语言中,整型数据在内存中的存储形式是( ),字符型数据的存储形式是( )。
A.反码 B.ASCII码 C.原码 D.补码
【34】下列可以正确定义数据类型的关键字是( )。
A. Long B. signed C. shorter D. integer
【35】已知 float x=-5;int 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 的值为( )。
A.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
【51】C语言中的简单的数据类型有( )。
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的值是( )。
A.a 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小时内删除。
发表评论