C选择填空题.docx
《C选择填空题.docx》由会员分享,可在线阅读,更多相关《C选择填空题.docx(20页珍藏版)》请在冰豆网上搜索。
C选择填空题
一、选择题
1.C语言程序是由组成。
A.子程序B.函数C.主程序和子程序D.过程
2.以下各标识符组成中,合法的用户标识符为。
A.A10B.1AC.P-1D.P_1
3.以下各标识符组成中,合法的用户标识符为。
A.abcB.intC.D.Float
4.在C语言中,程序引用一个变量时,要遵守。
A.先使用后定义B.先定义后使用C.不要定义D.可定义也可不定义
5.在PC机中运行的C程序,int类型的数据占字节。
A.1B.2C.4D.3
6.在PC机中运行的C程序,char类型的数据占字节。
A.1B.2C.3D.4
7.在PC机中运行的C程序,double类型的数据占字节。
A.1B.2C.3D.4
8.在PC机中运行的C程序,unsignedlong类型的数据占字节。
A.1B.2C.3D.4
9.指出下列哪种基本数据类型是错误的。
A.unsignedintB.unsignedshortC.unsignedfloatD.unsignedlong
10.指出下列哪种基本类型是错误的。
A.doubleB.longC.charD.sizeof
11.指出下列哪种基本类型是错误的。
A.unsigneddoubleB.unsignedintC.unsignedshortD.unsignedlong
12.指出下列哪种基本类型是错误的。
A.floatB.integarC.charD.long
13.若x为int型变量,以下语句。
x=-2L;
printf( "%d\n",x);
A.赋值不合法B.输出值为-2C.输出值为不确定值D.输出值为2
14.如下语句中,若x为int型变量,则。
x='A'…………………………
(1)
printf("%d\n",x);………………
(2)
A.语句
(1)不合法B.语句
(2)不合法C.输出字符aD.输出65
15.以下程序的输出是。
include
main()
{printf("%d",null);}
A.0B.变量无定义C.-1D.1
16.以下程序的输出是。
include
main()
{printf("%d",EOF);}
A.-1B.0C.1D.变量无定义
17.若a,b,k均为整型变量,则表达式k=(a=2,b=3,a+b)的值为。
A.不定B.2C.3D.5
18.若a,b,c均为整型变量,则表达式a=2,b=a+2,c=0的值为。
A.不定B.2C.4D.0
19.设doublex=1.42,则表达式(int)x+0.4的值为。
A.1.82B.1.4C.1D.0.4
20.设intt,则表达式3/2*(t=30.0-10.0)值的数据类型为。
A.intB.floatC.不确定D.double型
21.设chart='A',则表达式5+0.6+'A'值的数据类型为。
A.intB.floatC.不确定D.double型
22.表达式5&&8!
=(5&&8)的值为。
A.0B.2C.1D.-1
23.表达式4>9||3<40的值为。
A.0B.2C.1D.-1
24.已知inta=2;
floatx=1.2,y;
表达式y=(float)a+x运行后,变量y的值分别为。
A.3.0B.3C.3.2D.0
25.已知inta,b,c;
floatx=1.2,y;
表达式y=a=b=c=x=7.2运行后,变量a,b,c,x,y的值分别为。
A.y=7.2,a=7,b=7,c=7,x=7.2B.y=7,b=7,c=7,a=7,x=7.2
C.y=7.0,a=7.2,b=7.2,c=7.2,x=7.2D.y=7.0,a=7,b=7,c=7,x=7.2
26.若有以下说明语句,则该语句。
charch='\092';
A.使的值包含1个字符B.说明不合法,的值不正确
C.使的值包含4个字符D.使的值包含3个字符
27.若a是float型变量,b是unsigned型变量,以下输入语句是合法的。
A.scanf("%6.2f%d",&a,&b);B.scanf("%f%n",&a,&b);
C.scanf("%f%o",&a,&b);D.scanf("%f%f",&a,&b);
28.已知字母'a'的ASC
十进制代码为97,则执行以下语句后输出为。
chara='a'
a--
printf("%d,%c\n",a+'2'-'0',a+'3'-'0');
A.b,cB.a--运算不合法,故语法错C.98,cD.输出无定值。
29.是C语言的非法转义字符。
A.'\t'B.'\018'C.'\n'D.'\xaa'
30.在C语言中,逻辑值“真”用表示。
A.trueB.大于0的数C.非0整数D.非0的数
31.在C语言的if语句中,用作判断的表达式为。
A.关系表达式B.逻辑表达式C.算术表达式D.任意表达式
32.若w=1,x=2,y=3,z=4,则条件表达式ww:
yy:
z的结果为。
A.4B.3C.2D.1
33.若w=4,x=3,y=1,z=2,则条件表达式ww:
yy:
z的结果为。
A.4B.3C.2D.1
34.若有说明语句inti,j;且i的值为5,则执行语句j=(i++)+(++i)后j的值是。
A.10B.11C.12D.13
35.若i=2且为int型变量,则逗号表达式(i=4*2,i+8),i+5的结果为。
A.13B.8C.15D.20
?
36.设inta=10,b=24;则表达式(a&&b)&&b的值为。
A.0B.1C.trueD.false
?
37.设inta=10,b=24;则表达式(a&&b)&&b||b的值为。
A.0B.1C.trueD.false
38.设intx=5,y=7;则表达式(x>5)+y+2的值为。
A.9B.10C.14D.表达式不正确
39.判断char型变量cl是否为小写字母的最简单且正确的表达式为。
A.'a'=a)&&(cl<=z)C.('a'<=cl)&&('z'>cl)D.(cl>='a')&&(cl<='z')
40.C语句对嵌套if语句的规定是:
else总是与配对。
A.其之前最近的ifB.第一个ifC.缩进位置相同的ifD.其之前最近且不带else的if
41.以下为不正确的if语句。
A.if(x>y);B.if(x==y)x+y;
C.if(x!
=y)scanf("%d,"&x)elsescanf("%d",&y);D.If(x42.关于switch语句和break语句的描述,正确的是。
A.在switch语句中必须使用break语句
B.break语句只能用于switch语句
C.在switch语句中可以根据需要使用或不使用break语句。
D.break语句是switch语句的一部份。
43.对于如下数组str,strlen(str)的值是。
charstr[20]="information";
A.11B.12C.19D.20
44.指向函数的指针变量的定义是。
A.int*p()B.int(*p)()C.int*p[4]D.int(*p)[4]
45.若在宏定义如下:
#definex5
#defineyx+1
#definezy*x/2
则执行以下语句后,输出的结果是。
printf("%d,%d\n",y,z);
A.6,15B.6,7C.5,15D.5,7
?
46.若a,b均为int型变量,且a=100,则以下关于for循环语句的正确判断为。
for(b=100;a!
=b;++a,b+1)printf("----\n")
A.循环体只执行一次B.是死循环C.循环体一次也不执行D.输出----
47.若有以下语句,则下面是正确的描述。
staticcharx[]="12345";
slaticchary[]={'1','2','3','4','5'};
A.x数组和y数组的长度相同B.x数组长度大于y数组的长度
C.x数组小于y数组的长度D.x数组等价于y数组
48.以下为不正确语句。
A.if(x>y);B.if(x==y)x=+y;
C.if(x!
=y)scanf("%d",&x)elsescanf("%d",&y);D.if(x49.以下关于switch语句和break语句的描述中,只有是正确的。
A.break语句是switch语句的一部分B.在switch语句中,可根据需要使用或不使用break语句。
C.break语句只能用于switch语句中D.在switch语句中必须使用break语句。
50.以下关于switch语句和break语句的描述中不正确的是。
A.break语句不能用于循环语句和switch语句外的任何其它语句
B.在switch语句中使用break语句或continue语句的作用相同
C.在循环语句中使用break语句是为了使流程跳出循环体,提前结束循环。
D.在循环语句中使用continue语句是为了结束本次循环,而不是终止整个循环的执行。
51.以下不正确的描述是。
A.while循环是先判断表达式,后执行循环体语句。
B.do-while,for,while循环中的循环体均可以由空语句构成。
C.do-whilet和for循环均是先执行循环体语句,后判断表达式。
D.使用while和do-while循环时,循环变量初始化操作应在循环语句之前完成。
52.以下不为无限循环的语句为。
A.for(;;x++=i);B.while
(1){x++;}
C.for(i=10;;i--)sum+=I;D.For(;(c=getchar())!
='\n';)printf("%c",c);
53.k为int型,以下while执行次。
k=10;
while(k=0)k=k-1;
A.10次B.一次也不执行C.执行一次D.死循环
54.在C语言中,当while语句中的条件为时,结束循环。
A.0B.1C.trueD.非0
55.在C语言中,当do-while语中构成循环中的条件为时,结束循环。
A.0B.1C.trueD.非0
56.在C语言程序是由构成的。
A.过程B.子程序C.函数D.库函数
57.C语言中对函数定义时,未加显式类型说明的,则函数的隐含类型为数型。
A.voidB.doubleC.intD.char
58.下列关于函数定义的说法,正确的是。
A.函数定义时,可以嵌套
B.函数定义不可以嵌套,但可以嵌套调用
C.主函数main()内可以定义函数
D.函数定义可以嵌套,调用也可以嵌套。
59.下列关于主函数main()的说法,错误的是。
A.每一个程序必须有一个main()函数
B.C语言可执行程序的开始执行点是在程序中的main()函数
C.main()函数也可以有参数
D.main()函数不可以带参数
60.C语言中函数返回值的类型是由决定的。
A.return语句中的表达式类型B.调用该函数的主调函数类型
C.调用函数时临时D.定义函数时所指定的函数类型
61.以下函数fun的返回值类型为。
fun(x);
floatx;
{printf("%f\n",x};
A.voidB.floatC.int型D.无法确定类型
62.若用数组名作为函数调用时的实参,则实际上传递给形参的是。
A.数组首地址B.数组元素的个数C.数组中全部元素值D.数组的第一个元素
63.以下不正确的描述为。
A.调用函数时,实参可以是表达式
B.调用函数时,实参变量与形参变量可以共用内存单元
C.调用函数时,将为形参分配内存单元
D.调用函数时,实参与形参的类型必须一致
64.C语言规定,调用一个函数时,实参变量与形参变量之间的数据传递是。
A.地址传递B.值传递
C.由实参传给形参,并由形参传回给实参D.由用户编程时指定的传递方式
65.下列函数调用语句中含有个实参。
fun(v1,v2,(v3,v4));
A.3B.4C.5D.2
66.凡在函数中未指定存储类别的变量,其隐含的存储类别为。
A.自动B.静态C.外部D.寄存器
67.在C语言中,只有在使用才占用内存单元的变量的类型为。
A.静态和自动B.寄存器和外部C.自动和寄存器D.寄存器和静态
68.在一个源文件中定义的全局变量的作用域为。
A.本文件的全部范围B.本程序的全部范围
C.本函数的全部范围D.从定义该变量的位置开始至本文件结束。
69.指针变量的指针是指。
A.指针变量的值B.指针变量所指向存贮单元的值
C.指针变量的地址D.指针变量所指向存贮单元的地址
70.若有以下说明语句
intA[3][4]={2,3,4,5,3,4,5,6,4,5,6,7}
则正确对数组元素地址的表示为。
A.*(A+1)B.*(a[1]+2)C.a[1]+3D.a[0][0]
71.若有以下说明语句
inta[3][4]={2,3,4,5,3,4,5,6,4,5,6,7}
则正确对数组元素引用为。
A.*(A+1)B.*(a[3]+2)C.a[1]+3D.a[0][0]
72.语句int*ptr();说明了。
A.ptr是指向一维数组的指针变量
B.ptr是指向int型数据的指针变量
C.ptr是指向函数的指针,该函数返回一个int型数据
D.ptr是一个函数名,该函数的返回值是指向int型数据的指针
73.若有说明int(*ptr)[5];则下列是正确的叙述。
A.ptr是一个指针数组
B.ptr是一个指针,它只能指向一个包含5个int类型元素的数组
C.ptr是一个指针,它可以指向一个一维数组
D.(*p)[3]*与p[3]等价
74.若定义如下的共用休类型变量x,则x所占用的内存字节数为(以IBMPC机为例)
uniondata
{inti;
charch;
doublef;
}x;
A.7B.11C.8D.10
75.若已定义了如下的结构体类型x,则x所占用的内存字节数为(设以IBMPC高机为例)。
structdata
{intI;
charch;
doublef;
}x;
A.7B.11C.8D.10
76.执行以下语句后的结果为。
enumweekday{Sun,Mon=3,Tue,Wed,Thu};
enumweekdayday1,day2;
day1=Sun
day2=Wed
printf("%d,%d\n",day1,day2);
A.7,3B.2,5C.0,5D.2,3
77.若有定义
inti;
enumweekday{Mon,Tue,Wed,Thu,Fri}workday;
则是不正确的语句。
A.Workday=(enumweekday)4-2B.Workday=3C.i=TueD.Workday=Thu
78.C语言中文件由组成。
A.记录B.数据行C.数据块D.字符(字节)序列
79.C语言的文件类型只有。
A.索引文件和文本文件两种
B.ASC
文件和二进制文件两种
C.文本文件二种
D.二进制文件一种
80.typedeflongintBIGGY;的作用是。
A.建立了一种新的数据类型
B.定义一个整型变量
C.定义一个长整型变量
D.定义一个新的数据类型标识符
81.下列结构体型变量d1所占的字节数为。
structdata
{unsigneda=3;
unsignedb=5
inti;}
A.1B.2C.3D.4
二、填空题
1.在C语言中,负数是以形式存贮的。
2.二进制数-1010101的补码是。
3.二进制数+1010101的补码是。
4.十进制数(25)10的二进制数是。
5.八进制数(26)8的二进制数是。
6.C语句程序是由构成的。
7.在C程序中,语句之间必须用分隔。
8.在C程序中,所用的变量必须先。
9.在C程序中至少包括一个函数。
10.在C程序中,APH和aph是两个的变量。
11.在C程序中,运算符%是只能用于运算的运算符。
12.在C程序中,运算符优先级最低。
13.一个C程序总是从函数开始执行。
14.在C程序中,注释部份以开始,以结束。
15.在IBMPC机环境下,字符常量'a' 在机内占个字节,字符串"a" 应占个字节。
17.在C语言中,在IBMPC机环境下,int型数据占字节。
18.在C语言中,在IBMPC机环境下,long型数据占字节。
19.在C语言中,在IBMPC机环境下,char型数据占字节。
20.在C语言中,在IBMPC机环境下,float型数据占字节。
21.若int型数据占两个字节,则以下语句输出为。
intk=-1
printf("%d,%x\n",k,k);
22.在C语言中,用表示逻辑值“真”,用表示逻辑“假”。
24.若说明chars1='\077',s2='\’';则s1包含个字符,s2中包含个字符。
26.设x为float类型,y为long类型则,表达式x+y的结果为类型。
27.设x为long类型,y为int类型则,表达式x+y的结果为类型。
29.设x为double类型,y为long类型则,表达式x+y的结果为类型。
30.设x为int类型,c为char类型则,表达式x+c的结果为类型。
31.若a为整型变量,以下语句的输出结果为。
a=-2L;
printf("%d\n",a);
32.运算符%(求余运算)要求参加运算的两个数必须是数据。
33.表达式的求值顺序取决于表达式中参与运算符的和语言的具体实现。
35.以下程序的输出是。
include
main()
{printf("%d,"NULL;}
36.若k均为int型变量,则以下语句的输出为。
k=017;
printf("%d",++k);
37.若g均为int型变量,则以下语句的输出为。
g=15;
printf("%x\n",g++);
38.已知字母a的ASC
十进制代码为97,则执行以下语句的输出为。
chara='a';
a++;
printf("%d\n",a);
39.已知字母a的ASC
十进制代码为97,则执行以下语句的输出为。
chara='a';
a++;
printf("%c\n",a);
40.在C语言的if语句中,用作判断的表达式为。
41.已知字母a的ASC
十进制代码为97,则执行以下语句的输出为。
chara='a';
printf("%c\n",a++);
42.已知字母a的ASC
十进制代码为97,则执行以下语句的输出为。
chara='a';
printf("%d\n",a++);
43.表达式是满足:
当x为偶数时值为真,为奇数时值为假。
44.表达式是满足:
X大于A且大于B
45.表达式是判断一元二次方式ax2+bx+c=0有实根的表达式。
46.表达式是满足:
i大于0,但小于10为“真”的表达式。
47.表达式是满足:
a和b的值都大于0,小于n为真的表达式。
48.表达式4>9!
13<40的值为。
49.表达式!
(5>10)的值为。
50.表达式'x'>40的值为。
51.表达式5&&8!
=(5&&8)的值为。
52.表达式!
8>5的值为。
53.表达式1==(6>4)的值为。
54.表达式(b=10)&&(c=0)的值为。
55.表达式(x=y=z=5)的值为。
56.表达式(x=5,y=4,z=3)的值为。
57.表达式10/3的值为。
58.表达式10%3的值为。
59.表达式a=5+(c=7)的值为。
60.表达式a=(b=6)-(c=4)的值为。
61.x,y均为int型,且x=10,y=7则表达式x\=y+7的值为。
62.已知"a"的ASC
的十进制代码为97,则表达式10+15.2-27*('a'-'b')的值为。
63.表达式10+15.2*3+'a'的值的类型为。
64.表达式5+'a'的值的类型为。
65.表达式5.2+6.7的值的类型为。
66.表达式'a'+'b'的值的类型为。
67.表达式5+(int)3.9的值为。
68.表达式(float)5+3的值的类型为。
69.表达式5>3的值为。
70.C语言的运算符按运算符所要求操作数的个数分数,运算符可分为、、。
73.C语言运算符两个操作数的类型不一样时,可以进行类型转换,一般有和两种转换方式。
74.A=5是C语言;A=5;是C语言。
76.C语言中不提供输入输出语句,它的输入输出操作是由。
77.在prinft函数中的格式字符d表示。
78.在prinft函数中的格式字符o表示。
79.在prinft函数中的格式字符x表示。
80.在prinft函数中的格式字符u表示。
81.在prinft函数中的格式字符c表示。
82.在prinft函数中的格式字符s表示。
83.在prinft函数中的格式字符f表示。
84.下面的for循环语句最多可执行次。
for(x=0,y=0;(y!
=99)&&(x<4);x++);
85.执行下面语句后x=,m=。
intm=3,x=2;
m=(mm:
x++;
87.执行下面语句后y=,m=。
intm=3,y=4;
m=(mm=y++;
89.执行下面语句后z=,m=。
intm=3,z=1;
m=(mm:
++z;
91.while语句的特点是:
先,后。
92.do-while语句的特点是:
先,后。
93.C语言的“当型”循环语句while(表达式)语句中的表达式为时退出循环。
94.在C语言中,&作为双目运算符时表示的是,而作为单目运算时表示的是。
95.从用户使用的角度看,函数有两种:
,和两种。
97.一个函数由函数和函数两部分构成。