当前位置:文档之家› 第二章数据类型

第二章数据类型

第二章数据类型一、选择题1.C语言中的标识符只能由字母、数字和下划线组成,且第一个字符( )。

A.必须为字母B.必须为下划线C.必须为字母或下划线D.可以是字母,数字和下划线中任一字符2.VS2008作为开发环境,long、int和short这3种类型数据所占用内存大小的叙述中正确的( )。

A.均占4个字节B.根据数据的大小来决定所占内存的字节数C.由用户自己定义D.由C语言编译系统决定3.在C语言中,char型数据在内存中是以( )形式存储的。

A.原码B. ASCII码C.补码D. EBCDIC码4.以下不能定义为用户标识符的是( )。

A. MainB. _0C. _intD. sizeof5. 以下选项中关于C语言常量的叙述错误的是( )。

A.所谓常量,是指在程序运行过程中,其值不能被改变的量B.常量分为整型常量、实型常量、字符常量和字符串常量C.常量可分为数值型常量和非数值型常量D.经常被使用的变量可以定义成常量6.在C语言中,合法的字符常量是( )。

A.“\x41”B.‘\x41’C.‘ab’D.“ab”7.以下选项中不能用作C程序合法常量的是( )。

A.1,234B.'123'C.123D."\x7G"8.下列符号可以作为变量名的是( )。

A. +aB. *pC._DAYD. next day9.设c是字符变量,则以下表达式正确的是( )。

A. c=666B. c=‘c’C. c=“c”D. c=“abcd”10.若有定义语句:int a=3,b=2,c=1;,以下选项中错误的赋值表达式是( )。

A.a=(b=4)=3;B.a=b=c+1;C.a=(b=4)+c;D.a=1+(b=c=4);11.设ch是char型变量,其值为A,且有下面的表达式:ch=(ch>='A'&&ch<='Z')?(ch+32):ch.该表达式的值是( )。

A. AB. aC. ZD. z12.int x=3,y=2;则表达式x+=x*=y+8的值为( )。

A. 28B. 30C. 60D. 1713.设x=2.7,a=8,y=4.9,算术表达式x+a%3*(int)(x+y)%5/3的值为( )。

A. 2.7B. 3.7C. 4.7D. 4.0314. 若有定义语句:int a=10;double b=3.14;则表达式'A'+a+b 值的类型是( )。

A. charB.intC.doubleD.float15.若有定义语句:int k1=10,k2=20;,执行表达式(k1=k1>k2)&&(k2=k2>k1)后,k1和k2的值分别为( )。

A.0和1B.0和20C.10和1D.10和2016.C 语言中要求操作数必须是整数的运算符是( )。

A./B.%C.!=D.=17.以下关于运算符优先顺序的描述中正确的是( )。

A.关系运算符<算术运算符<赋值运算符<逻辑与运算符B.逻辑与运算符<关系运算符<算术运算符<赋值运算符C.赋值运算符<逻辑与运算符<关系运算符<算术运算符D.算术运算符<关系运算符<赋值运算符<逻辑与运算符18.以下叙述不正确的是( )。

A.逗号运算符的运算级最低B.ABC 和abc 是两个不同的变量C.若a 和b 类型相同,在执行a=b 后,b 的自身值不变D.‘a ’和“a ”是完全等价的常量19. 以下关于C 语言的叙述中正确的是( )。

A.C 语言中的注释不可以夹在变量名或关键字的中间B.C 语言中的变量可以再使用之前的任何位置进行定义C.在C 语言算术的书写中,运算符两侧的操作数类型必须一致D.C 语言的数值常量中夹带空格不影响常量值的正确表示20. 若有代数式cdab 3 ,则不正确的C 语言表达式是( )。

A .a/c/d*b*3 B .3*a*b/c/d C .3*a*b/c*d D .a*b/d/c*321. 逻辑运算符两侧运算对象的数据类型( )。

A .只能是0或1B .只能是0或非0正数C .只能是整型或字符型数据D .可以是任何类型的数据22.已知字符‘A ’的ASCII 为65,字符变量c1的值是‘A ’,c2的值是‘D ’。

执行语句printf(“%d,%d ”,c1,c2-2);后,输出结果是( )。

A. A,BB. A,68C. 65,66D. 65,6823. 有以下程序#include<stdio.h>main(){ int x=011;printf("%d\n",++x);} 程序运行后的输出结果是( )。

A. 12 B. 11 C. 10 D. 924. 若有定义和语句:int n=10;printf(“%\n”,n);其输出结果是( )。

A.输出10B.输出一空行C.没有输出D.编译不通过25.设有如下程序段:int x=2002,y=2003;printf("%d\n",(x,y));则以下叙述中正确的是A.输出语句中格式说明符的个数少于输出项的个数,不能正确输出B.运行时产生出错信息C.输出值为2002D.输出值为200326.若x,y定义为整型变量,z为double型,错误的输入语句是( )。

A. scanf("%d%lx,%le",&x,&y,&z);B. scanf("%2d*%d%lf",&x,&y,&z);C. scanf("%x%*d%o",&x,&y);D. scanf("%x%o%6.2f",&x,&y,&z);27. 若有定义:int a,b;,通过语句scanf("%d;%d",&a,&b);,能把整数3赋给变量a,5赋给变量b的输入数据是( )。

A. 3 5B. 3,5C. 3;5D. 3528. 若k1,k2,k3,k4均为int型变量,为了将整数10赋给k1和k3,将整数20赋给k2和k4,则对应以下scanf()函数调用语句的正确输入方式是( )。

scanf(“%d%d”,&k1,&k2);scanf(“%d,%d”,&k3,&k4);A.1020B.10[20 C.10,20 D. 10[201020 10[20 10,20 10,2029. 有以下程序:#include<stdio.h>main(){ int a=666, b=888;printf(“%d\n”,a,b);} 程序运行后的输出结果是( )。

A. 错误信息B.666C.888D.666,88830. 有如下程序,输入数据12345[678↙后,x的值y的值是( )。

#include<stdio.h>main(){ int x;float y;scanf(“%3d%f”,&x,&y);}A.123456 678.000000B.123 45.000000C.123 456.678000D.345 678.00000031. putchar函数可以向终端输出一个( )。

A.整型变量表达式值B.实型变量值C.字符串D.字符或字符变量值32.以下说法正确的是( )。

A.输入项可以为一个实型常量,如scanf(“%f,3.5);B.只有格式控制,没有输入项,也能进行正确输入,如scanf(“a=%d,b=%d);C.当输入一个实型数据时,格式控制部分应规定小数点后的位数,如scanf(“%4.2f",&f);D.当输入数据时,必须指明变量的地址,如scanf(“%f",&f);二、填空题1.在C语言中,标识符只能由_______________、_______________和_______________3种字符组成,且第一个字符必须是_______________或_______________。

2.C语言中定义char ch;描述“ch是否为小写字母”的表达式是。

3. 字符串常量是一对_______________括起来的字符序列,字符常量是一对_______________括起来的字符,转义字符‘\n’表示的含义_________________,‘\t’表示的含义_________________。

4. 在C语言中,可以利用_______________,将一个表达式的值转换成所需类型。

5. 在C语言中,输入语句的一般格式为___________________________ ,输出语句的一般格式为___________________________ 。

格式说明符中可以用“%d”表示_______________,“%f”表示_______________。

符号&是_______________运算符。

6. 有一输入函数scanf(”%d”,k);则不能使float类型变量k得到正确数值的原因是_______________。

7.定义int x,y;执行y=(x=1,++x,x+2);后,y的值是_______________。

8.定义int x=10,y,z; 执行y=z=x; x=y==z;后,x的结果是_______________。

9.若x=3、y=2、z=1,表达式x<y?y:x的值为_______________。

10.表达式8/4*(int)2.5/(int)(1.25*(3.7+2.3))的数据类型为_______________,值为_______________。

11.若有以下定义,请写出以下程序段中输出语句执行后的结果。

(1)(2)(3)int i = -200, j =2500;printf(“(1) %d %d”, i, j);printf(“(2) i = %d, j = %d\n”, i, j);printf(“(3) i = %d\n j = %d\n”, i, j);12.使用“getchar( )”函数时,程序的开头必须写一条包含命令为____________。

相关主题