1c语言数据类型与运算符含答案详解K12教育文档.docx
- 文档编号:23414902
- 上传时间:2023-05-16
- 格式:DOCX
- 页数:16
- 大小:36.73KB
1c语言数据类型与运算符含答案详解K12教育文档.docx
《1c语言数据类型与运算符含答案详解K12教育文档.docx》由会员分享,可在线阅读,更多相关《1c语言数据类型与运算符含答案详解K12教育文档.docx(16页珍藏版)》请在冰豆网上搜索。
1c语言数据类型与运算符含答案详解K12教育文档
1、c语言-数据类型与运算符(含答案)详解(word版可编辑修改)
编辑整理:
尊敬的读者朋友们:
这里是精品文档编辑中心,本文档内容是由我和我的同事精心编辑整理后发布的,发布之前我们对文中内容进行仔细校对,但是难免会有疏漏的地方,但是任然希望(1、c语言-数据类型与运算符(含答案)详解(word版可编辑修改))的内容能够给您的工作和学习带来便利。
同时也真诚的希望收到您的建议和反馈,这将是我们进步的源泉,前进的动力。
本文可编辑可修改,如果觉得对您有帮助请收藏以便随时查阅,最后祝您生活愉快业绩进步,以下为1、c语言-数据类型与运算符(含答案)详解(word版可编辑修改)的全部内容。
一、选择题
1。
可用作C语言用户标识符的一组标识符是(B).
A.voiddefine+WORDB.a3_b3_123YN
C.for—abcCaseD.2aDOsizeof
2.存储以下数据,占用存储字节最多的是(D)。
A。
0B.‘0’C。
“0”D。
0.0
3。
程序运行中需要从键盘上输入多于一个数据时,各数据之间应使用(D)符号作为分隔符。
A。
空格或逗号B。
逗号或回车C.逗号或分号D.空格或回车
4。
设"inta=12;”,则执行完语句"a+=a*a;"后,a的值是(C)。
A。
12B.144C.156D.288
5。
假设在程序中a、b、c均被定义成整型,所赋的值都大于1,则下列能正确表示代数
式1/abc的表达式是(A)。
A。
1。
0/a*b*cB。
1/(a*b*c)C。
1/a/b/(float)cD.1.0/a/b/c
6.设”inta=15,b=26;”,则”printf(“%d,%d”,a,b);”的输出结果是(C)。
A.15B。
26,15C。
15,26D.26
7。
设x是一个int型的,y的值为10,则表达式x&&y的值为(C).
A。
1B.0C.与x值相同D。
与x值相反
8.x〉0&&x〈=10的相反表达式为(A).
A.x〈=0||x>10B.x〈=0&&x>10
C.x<=0||x<=10D.x>0&&x〉10
9.x>0||y==5的相反表达式为(B)。
A.x〈=0||y!
=5B.x<=0&&y!
=5
C。
x>0||y!
=5D。
x〉0&&y==5
10。
下面的哪个保留字不能作为函数的返回类型?
(C)。
A.voidB.intC。
newD.long
11。
假定a为一个整型数组名,则元素a[4]的字节地址为(B)。
A。
a+4B。
a+8C。
a+16D.a+32
12.字符串”a+b=12\n”的长度为(B)。
A.6B.7C.8D.9
13.假定下列x和y均为int型变量,则不正确的赋值为(B)。
A.x+=y++B.x++=y++C.x=++yD。
++x=++y
14。
设有以下定义
inta=0;
doubleb=1.25;
charc=’A’;
#defined2
则下面语句中错误的是(D)
A.a++;B。
b++C。
c++;D。
d++;
15.设x和y均为bool量,则x&&y为真的条件是(A)。
A。
它们均为真B。
其中一个为真C.它们均为假D.其中一个
16.以下叙述中正确的是(A)
A.C程序中注释部分可以出现在程序中任意合适的地方
B。
花括号”{”和”}"只能作为函数体的定界符
C.构成C程序的基本单位是函数,所有函数名都可以由用户命名
D.分号是C语句之间的分隔符,不是语句的一部分
17。
以下不能定义为用户标识符的是(D)
AscanfBVoidC_3com_Dint
18.若有定义:
int
*p[3];,则以下叙述中正确的是(B)
A。
定义了一个基类型为int的指针变量p,该变量具有三个指针
B.定义了一个指针数组p,该数组含有三个元素,每个元素都是基类型为int的指针
C。
定义了一个名为*p的整型数组,该数组含有三个int类型元素
D。
定义了一个可指向一维数组的指针变量p,所指一维数组应具有三个int类型元素
19.已定义c为字符型变量,则下列语句中正确的是(C)
A.c='97';B.c="97”;
C.c=97;D。
c="a";
20.以下选项中非法的表达式是(D)
A.0<=x<100B。
i=j==0
C。
(char)(65+3)Dx+1=x+1
21。
如有inta=11;则表达式(a/1)的值是(D)
A。
0B。
3C.4D11
22.以下叙述中正确的是(B)
A.C语言的源程序不必通过编译就可以直接运行
B.C语言中的每条可执行语句最终都将被转换成二进制的机器指令
C.C源程序经编译形成的二进制代码可以直接运行
D。
C语言中的函数不可以单独进行编译
23。
若以下选项中的变量已正确定义,则正确的赋值语句是(C)
A。
x1=26.8%3B.1+2=x2C。
x3=0x12D。
x4=1+2=3;
24。
在inta=3,int*p=&a;中,*p的值是(D)
A。
变量a的地址值B。
无意义
C。
变量p的地址值D。
3
25.合法的常量是——(A)
A.‘program’B.–e8C.03xD.0xfl
26.C语言中的变量只能由字母。
数字和下划线组成,且第一个字符—-—(C)
A.必须是字母B。
必须是下划线
C.必须是下划线和字母D.可以是字母。
数字或下划线中任一一种
27。
已知A=10,B=20,下类表达式正确的是(C)
A。
C=(A++)*(—-B)=200B.A—=30
C.C=(A++)+(B——)=30D。
C=(++A)*(——B)=210
28.要求当A的值为奇数时,表达式的值为“真”,A的值为偶数时,表达式的值为“假”,以下不满足要求的表达式是(D)
A.A%2==1B。
!
(A%2==0)
C。
A%2D.!
(A%2)
29。
下面不正确的字符赋值或赋初值的方式为-—(C)
A。
chars[10]=”hello!
”
B.chars[10]={‘h’,‘e’,‘l’,‘l’,‘o’,‘!
’}
C。
chars[10];s="hello"
D.char[]=”hello!
"
30。
字符组a[20]和b[20],下面正确的输出语句是——(D)
A。
put(a,b)B。
prinf(“%s,%s,a[],b[]
C.putchar(a,b)D.puts(a);puts(b)
31.C语言中,要求参加运算的数必须是整数的运算符是(C)
A./ B.!
C。
% D.==
32。
以下符号中不能作为标识符的是:
(D)
A_256BvoidC.vanfD4Struct
33.按照标识符的要求,(D)符号不能组成标识符。
A。
连接符B.下划线C.大小写字母D。
数字字符
34.C语言中的基本数据类型所占存储空间长度的顺序是(A)
A.char〈=int<=float〈=double〈=long
B。
int〈=char<=float<=long〈=double
C。
int〈=long<=float〈=double<=char
D。
char〈=int<=float<=long<=double
35。
若x,i,j和k都是int型变量,则执行下面表达式后x的值为(C)
x=(i=4,j=16,k=32)
A.4B。
16C.32D.52
36.假设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值是(B):
A.7B.8C.6D。
2
37.已知各变量的类型说明如下:
intk,a,b;
unsignedlongw=5;
doublex=1.42;
则以下不符合C语言语法的表达式是(A):
A。
x%(一3)B.w+=—2
C。
k=(a=2,b=3,a十b)D.a十=a一=(b=4)*(a=3)
38。
已知各变量的类型说明如下:
inti=8,k,a,b;
unsignedlongw=5;
doublex=1。
42,y=5.2;
则以下符合C语言语法的表达式是(A)
A。
a十=a一=(b=4)*(a=3)B.a=a*3=2
C。
x%(一3)D.y=f1oat(i)
39.以下不正确的叙述是(D)
A.在C程序中,逗号运算符的优先级最低
B.在C程序中,APH和aph是两个不同的变量
C。
若a和b类型相同,在执行了赋值表达式a=b后b中的值将放人a中,而b中的值不变。
D。
当从键盘输入数据时,对整型变量只能输入整型数值,对实型变量只能输入实型数值.
40。
以下正确的叙述是:
(D)
A。
在C程序中,每行中只能写一条语句
B。
若a是实型变量,C程序中允许赋值a=10,因此实型变量中允许存放整型数
C.在C程序中,无论是整数还是实数,都能被准确无误地表示
D.在C程序中,%是只能用于整数运算的运算符
41。
以下符合C语言语法的赋值表达式是(B)
Ad=9+e+f=d+9Bd=9+e,f=d+9
Cd=9十e,e++,d十9Dd=9十e++=d十7
42.在C语言中,要求运算数必须是整型的运算符是。
(B)
A。
/B.++C。
!
=D.%
43。
若以下变量均是整型,且num=sum=7;则执行表达式sUM=num++,sUM++,++num后sum的值为(A)
A。
7B.8C。
9D。
10
44。
在C语言中,int、char和short种类型数据在内存中所占用的字节数(D)
A。
由用户自己定义B。
均为2个字节
C。
是任意的D.由所用机器的机器字长决定
45.若有说明语句:
charc='\72'则变量c(A)
A.包含1个字符B。
包含2个字符
C。
包含3个字符D.说明不合法,c的值不确定
46。
若有定义:
inta=7;floatx=2。
5,y=4。
7;则表达式x+a%3*(int)(x+y)%2/4的值是(A)
A。
2。
500000B。
2.7500OO
C。
3.500000D.0。
000000。
47。
sizeof(float)是:
(B)
A.一个双精度型表达式B.一个整型表达式
C.一种函数调用D.一个不合法的表达式
48.设变量a是整型,f是实型,i是双精度型,则表达式10+'a'+i*f值的数据类型为(C)
A。
intB。
floatC.doubleD.不确定
49.在C语言中,char型数据在内存中的存储形式是(D)
A。
补码B.反码C.原码D。
ASCII码
50.设变量n为f1oat类型,m为int类型,则以下能实现将n中的数值保留小数点后两位,第三位进行四舍五人运算的表达式是(B)
A。
n=(n*100+0。
5)/100.0B。
m=n*100+0。
5,n=m/100。
0
C.n=n*100+0.5/100。
0D.n=(n/100+0.5)*100.0
51。
表达式18/4*sqrt(4.0)/8值的数据类型为(C)
A.intB.floatC。
doubleD。
不确定
52.设C语言中,一个int型数据在内存中占2个字节,则unsignedint型数据的取值范围为:
(C)
A。
0~255B.0~32767C.0~65535D.0~2147483647
52.设有说明:
charw;intx;f1oaty;doublez;则表达式w*x+z一y值的数据类型为(D)
A.floatB。
charC。
intD。
double
54.设以下变量均为int类型,则值不等于7的表达式是(C)
A.(x=y=6,x+y,x+1)B.(x=y=6,x+y,y+1)
C.(x=6,x+1,y=6,x+y)D。
(y=6,y+l,x=y,x+1)
55.printf函数中用到格式符%5s,其中数字5表示输出的字符串占用5列。
如果字符串长度大于5,则输出按方式(B)
A。
从左起输出该字串,右补空格B。
按原字符长从左向右全部输出
C。
右对齐输出该字串,左补空格D。
输出错误信息
56.若x,y均定义为int型,z定义为double型,以下不合法的scanf函数调用语句是:
(D)
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)
57。
语句中,(C)是错误的。
A.x=x+1;B。
x=x+y;
C。
。
x+y=x;D。
x=4;
58.以下符号中不能作为标识符的是:
(B)
A._256B。
voidC.scanfD.Struct
59.按照标识符的要求,(A)符号不能组成标识符.
A。
连接符B下划线C.大小写字母D.数字字符
60.下面不能正确表示a*b/(c*d)的表达式是:
(A)
A。
(a*b)/c*dB.a*b/(c*d)C.a/c/d*bD.a*b/c/d
61。
下列运算符中,运算对象必须是整型的是:
(B)
A。
/B。
%=C.=D&
62。
若x,y,z均被定义为整数,则下列表达式能正确表达代数式1/(x*y*z)的是:
(B)
A.1/x*y*zB.1。
0/(x*y*z)C。
1/(x*y*z)D1/x/y/(float)z
63。
已知a,b均被定义为double型,则表达式:
b=1,a=b+5/2的值为:
(D)
A.1B.3C。
3.0D。
3。
5
64。
如有inta=11;则表达式(a++*1/3)的值是(B)
A。
0B.3C。
4D。
12
65.在下列运算符中,优先级最低的是:
(A)
A.||B!
=C. + 66。 表达式9! =10的值为: (D) A.非零值B。 trueC。 0D。 1 67.能正确表示x>=3或者x〈1的关系表达式是: (C) A。 x〉=3orx<1B.x〉=3|x〈1C。 。 x>=3||x〈1D。 x>=3||x<1 68。 下列运算符中优先级最高的是: (A) A.! B.%C.-=D。 && 69.下列给字符数组初始化中,(A)是正确的. A。 chars2[3]="xyz”;B。 chars1[]="abcd"; C.chars3[][3]={'a’,’x’,'y’};D.chars4[2][3]={"xyz”,"mnp"}; 70。 对于int*pa[5];的描述,(A)是正确的。 A。 pa是一个指向数组的指针,所指向的数组是5个int型元素 B。 pa是一个指向某数组中第5个元素的指针,该元素是int型变量 C.pa是一个具有5个元素的指针数组,每个元素是一个int型指针 D.pa[5]表示某数组的第5个元素的值 71.设有定义: floata=2,b=4,h=3;,以下C语言表达式与代数式计算结果不相符的是(B) A。 (a+B)*h/2B.(1/2)*(a+B)*h C。 (a+B)*h*1/2D.h/2*(a+B) 72.以下符号中不能作为标识符的是: C A。 _256B。 r32C。 intD.e231 73。 已知a,b均被定义为double型,则表达式: a=5/2的值为: (D) A.1B.3C.3。 0D。 2。 5 74.下面程序的输出是B。 #include〈stdio。 h〉 voidmain() {intx=023; printf(”%d\n”,-—x); } A。 17B.18C.23D.24 75。 下面合法的C语言字符常量是______A____。 A.’\t’B。 "A"C.65D。 A 76.C语言提供的合法的数据类型关键字是_____B____。 A。 DoubleB。 shortC。 integerD.Char 77。 设inta=12,则执行完语句a+=a—=a*a后,a的值是____D____ A。 552B.264C.144D。 -264 78.执行下面程序中的输出语句后,输出结果是____B__。 #include h〉 voidmain() {inta; printf(”%d\n",(a=3*5,a*4,a+5)); } A。 65B.20C.15D.10 79。 以下程序的输出结果是____D_____. #include〈stdio。 h〉 voidmain() {intx=10,y=10; printf("%d%d\n",x——,-—y); } A。 1010B。 99C.910D。 109 80。 设有如下定义: intx=10,y=3,z; 则语句 printf("%d\n”,z=(x%y,x/y)); 的输出结果是_____D_____. A。 1B。 0C.4D。 3 81.若已定义inta,则表达式a=10,a+10,a++的值是__B_. A.20B.10C。 21D.11 82。 已知有double型变量x=2。 5,y=4。 7,整型变量a=7, 则表达式x+a%3*(int)(x+y)%2/4的值是_____B____。 A.2。 4B.2。 5C。 2.75D。 0 83。 若已定义x和y是整型变量,x=2;,则表达式y=2。 75+x/2的值是____C____。 A.5。 5B.5C.3D.4。 0 84.设有以下语句: intx=10;x+=3+x%(3),则x的值是.____A_____ A。 14B.15C.11D。 12 85。 若d为double型变量,则表达式d=1,d+5,d++的值是_____D__。 A。 1B.6。 0C.2。 0D。 1.0 86.若有定义inta=12,n=5,则表达式a%=(n%2)运算后,a的值______A____。 A.0B.1C。 12D.6 87。 若有定义intx=3,y=2和floata=2。 5,b=3.5,则表达式: (x+y)%2+(int)a/(int)b的值是__D__. A.0B.2C。 1。 5D.1 88.C语言中的变量名只能由字母,数字和下划线三种字符组成,且第一个字符____C____。 A。 必须为字母 B。 必须为下划线 C.必须为字母或下划线 D。 可以是字母,数字或下划线中的任意一种 89.执行下列程序段后的输出结果是_____A____. intx=1,y=1,z=1; x+=y+=z; printf("%d\n",x y: x); A。 3B。 2C.1D.4 90。 设ch是char型变量,值为'A’,则表达式ch=(ch〉='A’&&ch〈=’Z')? ch+32: ch的值是__B___。 A.ZB.aC。 zD.A 91.设x、y、z、t均为int型变量,则执行以下语句后,t的值为____C_____. x=y=z=1; t=++x||++y&&++z; A。 不定值B.4C.1D.0 二、判断题 1。 C语言中int型是所占字节最短的数据类型.标准答案: N 2。 .逻辑运算符中优先级最高的运算符是“&&”.标准答案: N 3。 在C语言中实型包括float型和double型,它们两个类型存放数据范围相同.标准答案: N 4。 语句int*p(): 定义了一个指向函数的指针。 5。 在C语言中,数据类型的转换必须是显式的。 6.发生传值调用时,形参和实参各占一个独立的存储空间。 7。 C语言不能定义字符串变量。 8。 字符串’hello,world"在内存中存放时,占用11个字节的空间。 9。 设y为int型变量,请写出描述“y是奇数”的表达式y%2==0.标准答案: N 10。 已知A=7。 5,B=2,C=3.6,表达式A>B&&C〉A||A C〉B的值是1。 标准答案: N 11。 若有定义,inta,*p=&a;则scanf(“%d",*p);是正确的赋值.标准答案: N 12.表达式pow(2。 8,sqrt(double(x)))值的数据类型为float型。 标准答案: N 13.在C语言中,表示逻辑“真”值用非零的数字。 标准答案: Y 14.C语言中的标识符只能由数字和字母组成。 标准答案: N 15.‘A'〈=ch<=’Z’是判断char型变量ch是否为大写字母的表达式。 标准答案: N 16。 C语言中无论是整数还是实数,只要在允许的范围内都能准确无误的表示。 标准答案: N 17。 在C语言中,(int)和int区别在于(int)是运算符,是强制转换成整型,int是变量类型说明。 标准答案: Y 18.C语言中的基本数据类型包括整型、实型、字符型和字符串型。 标准答案: N 19表达式a++||b++,若a++的值为非零,则计算机不执行b++。 标准答案: Y 20表达式a++&&b++,无论在什么情况下,都要执行a++和b++.标准答案: N 21。 若s是int型变量,且s=6,则s%2+(s+1)%2的值为6.5。 标准答案: N 22。 运算符的优先级正确排序是: 赋值运算符〈逻辑运算符<关系运算符<算术运算符。 标准答案: N 23。 可以在赋值语句中通过赋值运算符“="对字符型数组进行整体赋值.标准答案: N 24C语言中用“1"表示逻辑值“假”,用“0"表示逻辑值“真”。 标准答案: N 25.若a是int型变量,则(a=4*5,a*2),a+6的值为26.标准答案: Y 26.(x>=1)&&x〈=10能正确表示当x的取值在[1,10]范围内为真,否则为假。 标准答案: Y 27。 若a=6,b=4,c=2,则表达式! (a—b)+c—1&&b+c/2的值是1。 标准答案: Y 28。 C语言规定: 标识符应由字母、下划线和数字组成,且可以是上述字符的任意组合,其长度也是任意的.标准答案: N 29.C语言各种运算符中! 的优先级最高。 标准答案: Y 30.若有定义inti=3;则表达式i++和i的值都是4。 标准答案: Y 31。 C语言的所有运算符运算方向都是从左到右。 标准答案: N 32。 C语言中无论是整数还是实数,只要在允许的范围
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 数据类型 运算 答案 详解 K12 教育 文档