C语言预赛练习之数据类型运算符及表达式.docx
《C语言预赛练习之数据类型运算符及表达式.docx》由会员分享,可在线阅读,更多相关《C语言预赛练习之数据类型运算符及表达式.docx(22页珍藏版)》请在冰豆网上搜索。
C语言预赛练习之数据类型运算符及表达式
C语言预赛练习之-数据类型运算符及表达式
1、一个C语言的执行是从:
()
A)本程序的主函数开始,到本程序的主函数结束
B)本程序的第一个函数开始,到本程序的最后一个函数结束
C)本程序的主函数开始,到本程序的最后一个函数结束
D)本程序的第一个函数开始,到本程序的主函数结束
A
2.以下叙述正确的是:
A)在C程序中,主函数必须位于程序的最前面
B)在C程序中,一行只能写一条语句
C)C程序的基本结构是程序行
D)C语句是完成某种程序功能的最小单位
D
3.在C语言中(以16位PC机为例),五种基本数据类型存储空间长度
的排列顺序是:
A)charB)char=intC)charD)char=int=longint<=floatA
4.在C语言的变量类型说明中,int,char,float等类型的长度是:
A)固定的B)由用户自己定义的
C)任意的D)与机器字长有关的
D
5.下列四组常数中,均是正确的八进制数或十六进制数的一组是:
A)0160xbf018
B)0abc0170xa
C)010-0x110x16
D)0A127FF-123
C
6.下列四组常数中,均是合法整型常量的一组是:
A)1600xffff011
B)-0xcdf01a0xe
C)-01986,0120668
D)-0x48a2e50x
A
7.下列四组转义符中,均合法的一组是:
A)'\t''\\''\n'B)'\''\017''\x'
C)'\018''\f''\xab'D)'\\0''\101''\xif'
A
8.设有说明:
charw;intx;floaty;doublez;则表达式:
w*x+z-y值的数据类型是:
A)floatB)char
C)intD)double
D
9.以下能正确定义变量a、b和c并为其赋值的语句是:
A)inta=5;b=5;c=5;B)inta,b,c=5;
C)a=5,b=5,c=5;D)inta=5,b=5,c=5;
D
10.若有定义:
inta=7;floatx=2.5,y=4.7;则表达式:
x+a%3*(int)(x+y)%2/4的值是:
A)2.500000B)2.7500000
C)3.500000D)0.000000
A
11.C语言所提供的基本数据类型包括字符型、整型、双精度型、单精度型和____:
A)指针型B)结构型
C)数组型D)枚举类型
D
12.已知字母"A"的ASCII码为十进制的65,下面程序输出正确的是:
main()
{
charch1,ch2;
ch1='A'+'5'-'3';
ch2='A'+'6'-'3';
printf("%d,%c\n",ch1,ch2);
}
A)67,DB)B,C
C)不确定的值D)C,D
A
13.下面程序的输出是:
main()
{
unsignedinta=32768;
printf("a=%d\n",a);
}
A)a=32768B)a=32767
C)a=-32768D)a=-1
C
14.在C语言中,下面合法的长整型数是:
A)0LB)4962710
C)0.054838743D)2.1869e10
A
15.若有说明语句:
charc='\101';则变量c:
A)包含一个字符B)包含两个字符
C)包含三个字符D)说明不合法
A
16.设变量a是整型,f是实型,i是双精度型,则表达式10+'a'+i*f的数据类型是:
A)int型B)float型
C)double型D)不确定
C
17.C语言中的变量名只能由字母,数字和下划线三种字符组成,且第一个字符:
A)必须为字母B)必须为下划线
C)必须为字母或下划线D)可以是字母,数字或下划线中的任意一种
C
18.执行printf("%x,%o,%d\n",-1,-1,-1)后输出结果是:
A)-1,-1,-1B)ffff,-01,-1
C)ffff,32767,-1D)ffff,177777,-1
D
19.下面四个选项中,均是合法浮点数的选项是:
A)1e+15e-9.403e2
B)-.6012e-4-8e5
C)123e1.2e-.4e-4
D)-e3e-45.e-0
B
20.在C语言中,以下叙述不正确的是:
A)在C程序中,无论是整数还是实数,都能被准确无误的表示
B)在C程序中,变量名代表存储器中的一个位置
C)静态变量的生存期与整个程序的生存期相同
D)C语言中变量必须先说明后引用
A
21.若有定义intx=3,y=2和floata=2.5,b=3.5,则表达式:
(x+y)%2+(int)a/(int)b的值是:
A)0B)2
C)1.5D)1
D
22.若有定义inta=12,n=5,则表达式a%=(n%2)运算后,a的值:
A)0B)1
C)12D)6
A
23.执行语句printf("%u\n",-32768)的输出结果是:
A)32768B)0
C)-1D)不定值
A
24.以下对整数的书写形式中,错误的是:
A)7000LB)17000L
C)-3078uD)32767
C
25.以下叙述中不正确的是:
A)空字符串(即两个双引号连写)只占一个存储单元
B)字符型常量可以放在字符型变量中
C)字符型常量可以放在字符串变量中
D)字符型常量可以与整数混合运算,而字符串常量不可以
C
26.C语言中,要求运算量必须是整型的运算符是:
A)+B)/
C)%D)*
C
27.表达式5!
=3的值是:
A)TB)非零值
C)0D)1
D
28.若d为double型变量,则表达式d=1,d+5,d++的值是:
A)1B)6.0
C)2.0D)1.0
D
29.设a=1,b=2,c=3,d=4,则表达式a
a:
ca:
d的值是:
A)4B)3
C)2D)1
D
30.若希望当A的值为奇数时,表达式的值为"真",A的值为偶数时,表达式的值
为"假",则下面不能满足要求的表达式是:
A)A%2==1B)!
(A%2==0)
C)!
(A%2)D)A%2
C
31.a,b均为整数,且b!
=0,则表达式a/b*b+a%b的值是:
A)aB)b
C)a被b除的整数部分D)a被b除的商的整数部分
A
32.为表示关系x>y>z,应使用的C语言表达式是:
A)(x>y)&&(y>z)B)(x>y)AND(y>z)
C)x>y>zD)(x>y)&(y>z)
A
33.设有以下语句:
intx=10;x+=3+x%(-3),则x的值是:
A)14B)15
C)11D)12
A
34.以下符合C语言语法的表达式:
A)d=9+e+f=d+9B)d=9+e,f=d+9
C)d=9+e=e++,d+9D)d=9+e++=d+7
B
35.若有定义:
inty=7,x=12,则能使值为3的表达式是;
A)x%=(y%=5)B)x%=(y-y%5)
C)x%=y-y%5D)(x%=y)-(y%=5)
D
36.在C语言中,要求运算量必须是整型或字符型的运算符是:
A)&&B)%
C)!
D)+
B
37.设x为int型变量,则执行语句x=10和x+=x-=x-x后,x的值为:
A)10B)20
C)40D)30
B
38.设x,y,z,s均为int型变量,且初值均为1,则执行语句s=++x||++y&&++z后,
则s的值为:
A)不定值B)2
C)1D)0
C
39.设有如下变量定义:
inti=8,k,a,b;
unsignedlongw=5;doublex=1.42,y=5.2;
则以下符合C语言语法的表达式是:
A)a+=a-=(b=4)*(a=3)B)x%(-3)
C)a=a*3=2D)y=float(i)
A
40.以下程序的输出结果是:
main()
{
inta=12,b=12;
printf("%d,%d\n",--a,++b);
}
A)10,10B)12,12
C)11,10D)11,13
D
41.若有代数式(3ae)/(bc),则下面不正确的C语言表达式是:
A)a/b/c*e*3B)3*a*e/b/c
C)3*a*e/b*cD)a*e/c/b*3
C
42.已知x=43,ch='A',y=0,则表达式(x>=y&&ch<'B'&&!
y)的值是:
A)0B)语法错
C)1D)"假"
C
43.若已定义x和y是整型变量,x=2;,则表达式y=2.75+x/2的值是:
A)5.5B)5
C)3D)4.0
C
44.若已定义inta,则表达式a=10,a+10,a++的值是:
A)20B)10
C)21D)11
B
45.若有以下定义和语句:
inta=010,b=0x10,c=10;
printf("%d,%d,%d\n",a,b,c);
则输出结果是:
A)10,10,10B)8,16,10
C)8,10,10D)8,8,10
B
46.执行下列语句后,输出结果是:
inta;
longintb=65536;
a=b;
printf("%d\n",a);
A)65536B)0
C)-1D)1
B
47.若有定义inta=12,则表达式a+=a-=a*=a的值是:
A)0B)-264
C)-144D)132
A
48.执行以下程序,输出结果是:
main()
{
inta=353;
charb;
b=a;
printf("%c\n",b);
}
A)bB)a
C)65D)错误信息
C
49.下面程序的输出结果是:
main()
{
inta=5,b=3;
floatx=3.14,y=6.5;
printf("%d,%d\n",a+b!
=a-b,x<=(y-=6.1));
}
A)1,0B)0,1
C)1,1D)0,0
A
50.下面程序的输出结果是:
main()
{
inta=-1,b=4,k;
k=(a++<=0)&&(!
(b--<=0));
printf("%d,%d,%d\n",k,a,b);
}
A)1,1,2B)1,0,3
C)0,1,2D)0,0,3
B
51.下面程序的输出结果是:
main()
{
inta,b,c;
longintd;
b=(a=32767,a++);
c=d=0xffff;
printf("%x,%d,%d,%d\n",a,b,c,d);
}
A)8000,32767,-1,-1B)-1,-1,32767,8000
C)-1,-1,-1,-1D)32767,-1,-1,-1
A
52..阅读下面的程序
main()
{
inti,j;
scanf("%3d%2d",&i,&j);
printf("i=%d,j=%d\n",i,j);
}
如果从键盘上输入1234567<回车>,则程序的运行结果是:
A)i=123,j=4567B)i=1234,j=567
C)i=1,j=2D)i=123,j=45
D
53.阅读下面的程序
main()
{
inti,j;
floatx,y;
scanf("%f,%f",&i,&j);
scanf("%f,%f",&x,&y);
printf("i=%d,j=%d\n",i,j);
printf("x=%f,y=%f\n",x,y);
}
如果从键盘上输入
32,18<回车>
12.5,-4.3<回车>
则程序的运行结果是:
A)i=32,j=18B)i=0,j=0
x=12.500000,y=-4.300000x=12.500000,y=-4.300000
C)i=32,j=18D)i=0,j=0
x=12.5,y=-4.3x=12.5,y=-4.3
B
54.已知a=12,则表达式a+=a-=a*=a的结果是:
A)0B)144
C)12D)-264
A
55.已知x=2.5,a=7,y=4.7,则表达式x+a%3*(int)(x+y)%2/4的结果是:
A)2.4B)2.5
C)2.75D)0
B
56.阅读下面的程序
main()
{
inti,j,m,n;
i=8;j=10;
m=++i;
n=j++;
printf("%d,%d,%d,%d",i,j,m,n);
}
程序的运行结果是:
A)8,10,8,10B)9,11,8,10
C)9,11,9,10D)9,10,9,11
C
57.阅读下面的程序
main()
{
inti,j;
i=010;
j=9;
printf("%d,%d",i-j,i+j);
}
则程序的运行结果是:
A)1,19B)-1,19
C)1,17D)-1,17
D
58阅读下面的程序
main()
{
printf("%f%%",1.0/3);
}
则程序的运行结果是:
A)0.3333333%B)0.33%
C)0.333333%D)0.333333%%
A
59.阅读下面的程序
main()
{
charch;
scanf("%3c",&ch);
printf("%c",ch);
}
如果从键盘上输入
abc<回车>
则程序的运行结果是:
A)aB)b
C)cD)程序语法出错
A
60.阅读下面的程序
main()
{
inti,j;
scanf("%2d%*3d%2d",&i,&j);
printf("%d%4d",i,j);
}
如果从键盘上输入
1234567<回车>
则程序的运行结果是:
A)1267B)12345
C)12345D)程序语法出错
A
61.阅读下面的程序
main()
{
inti,j;
charch;
scanf("%d%c%f",&i,&ch,&j);
printf("%d%2c%7.2f",i,ch,j);
}
如果从键盘上输入
123a123x.12<回车>
则程序的运行结果是:
A)123a123.00B)123a123.12
C)123a123.12D)123a123.00
D
62.阅读下面的程序
#include
main()
{
charc1,c2;
c1=getchar();
c2=c1+3;
printf("%c,%d\n",c2,c2);
}
已知'A'的ASCII的值为65,如果从键盘上输入
D<回车>
则程序的运行结果是:
A)D,68B)'G',68
C)D,71D)G,71
D
63.请读程序:
#include
main()
{inta;floatb,c;
scanf("%2d%3f%4f",&a,&b,&c);
printf("\na=%d,b=%f,c=%f\n",a,b,c);
}
若运行时从键盘上输入9876543210(表示回车),则上面程序的
输出结果是
A)a=98,b=765,c=4321B)a=10,b=432,c=8765
C)a=98,b=765.000000,c=4321.000000D)a=98,b=765.0,c=4321.0
C
64.若x和y都是int型变量,x=100,y=200,且有下面的程序片段:
printf("%d",(x,y));
上面程序片段的输出结果是
A)200B)100
C)100200D)输出格式符不够,输出不确定的值
A
C语言中最简单的数据类型包括
A)整型,实型,逻辑型B)整型,实型,字符型
C)整型,字符型,逻辑型D)整型,实型,逻辑型,字符型
B
66.为表示关系x≥y≥z,应使用C语言表达式
A)(x>=y)&&(y>=z)B)(x>=y)AND(y>=z)
C)(x>=y>=z)D)(x>=y)&(y>=z)
A
67.设有如下定义:
intx=10,y=3,z;
则语句
printf("%d\n",z=(x%y,x/y));
的输出结果是
A)1B)0C)4D)3
D
68.以下程序的输出结果是
main()
{intx=10,y=10;
printf("%d%d\n",x--,--y);
}
A)1010B)99C)910D)109
D
69.若要求在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关
系的表达式为
A)a<>0B)!
aC)a=0D)a
D
70.以下程序的输出结果是
main()
{inta=-1,b=4,k;
k=(++a<0)&&!
(b--<=0);
printf("%d%d%d\n",k,a,b);
}
A)104B)103C)003D)004
D
71.下列语句中符合C语言语法的赋值语句是
A)a=7+b+c=a+7;B)a=7+b++=a+7;
C)a=7+b,b++,a+7D)a=7+b,c=a+7;
D
72.已知字母A的ASCII码为十进制的65,下面程序的输出是
main()
{charch1,ch2;
ch1='A'+'5'-'3';
ch2='A'+'6'-'3';
printf("%d,%c\n",ch1,ch2);
}
A)67,DB)B,CC)C,DD)不确定的值
A
73.下面程序的输出的是
main()
{intx=10,y=3;
printf("%d\n",y=x/y);
}
A)0B)1C)3D)不确定的值
C
74.下面程序的输出是
main()
{intx=023;
printf("%d\n",--x);
}
A)17B)18C)23D)24
B
75.执行下面程序中的输出语句后,a的值是
main()
{inta;
printf("%d\n",(a=3*5,a*4,a+5));
}
A)65B)20C)15D)10
C
76.请选出可用作C语言用户标识符的一组标识符
A)voidB)a3_b3C)ForD)2a
define_123-abcDO
WORDIFCasesizeof
B
77.设inta=12,则执行完语句a+=a-=a*a后,a的值是
A)552B)264C)144D)-264
D
78.C语言程序的基本单位是
A)程序行B)语句C)函数D)字符
C
79.请选出合法的C语言赋值语句
A)a=b=58B)i++;
C)a=58,b=58D)k=int(a+b);
D
80.请选出以下语句的输出结果
printf("%d\n",strlen("\t\"\065\xff\n"));
A)5B)14
C)8D)输出项不合法,无法正常输出
A
81.字符(char)型数据在微机内存中的存储形式是
A)反码B)补码C)EBCDIC码D)ASCII码
D
82.C语言提供的合法的数据类型关键字是
A)DoubleB)shortC)integerD)Char
B
83.在C语言中合法的长整型常数是
A)0LB)4962710C)0.054838743D)2.1869e10
A
84.表达式:
10!
=9的值是
A)trueB)非零值C)0D)1
D
合法的C语言字符常量是
A)'\t'B)"A"C)65D)A
A
85.若有说明和语句
inta=5;
a++;
此处表达式a++的值是
A)7B)6C)5D)4
C
在下列选项中,不正确的赋值语句是
A)++t;B)n1=(n2=(n3=0));
C)k=i=j;D)a=b+c=1;
D
86.下面程序的输出是
main()
{intk=11;
printf("k=%d,k=%o,k=%x\n",k,k,k);
}
A)k=11,k=12,k=11B)k=11,k=13,k=13
C)k=11,k=013,k=0xbD)k=11,k=13,k=b
D
87.下面程序的输出是
main()
{intk=11;
printf("k=%d,k=%o,k=%x\n",k,k,k);
}
A)k=11,k=12,k=11B)k=11,k=13,k=13
C)k=11,k=013,k=0xbD)k=11,k=13,k=b
D