C考试系统题库含答案1Word文档下载推荐.docx
《C考试系统题库含答案1Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《C考试系统题库含答案1Word文档下载推荐.docx(14页珍藏版)》请在冰点文库上搜索。
()A.a3_b3B.voidC._123D.abcR2、C语言规定:
在一个源程序中,main函数的位置()。
A.必须在最后B.必须在系统调用的库函数的后面。
C.必须在最开始。
D.可以任意R3、下列说法中正确的是()。
A.C程序书写时,不区分大小写字母B.C程序书写时,一行只能写一个语句C.C程序书写时,一个语句可分成几行书写D.C程序书写时每行必须有行号
4、已知ch是字符型变量,下面不正确的赋值语句是()。
A.ch=5+9;
B.ch='
a+b'
;
C.ch='
\\0'
D.ch='
7'
+'
6'
5、若有定义:
inta=7;
float某=2.5,y=4.7;
则表达式某+a%3某(int)(某+y)%2/4的值是()。
A.2.750000B.0.00000C.3.500000D.2.5000006.已知ch是字符型变量,下面正确的赋值语句是()。
A.ch='
123'
\\08'
\\某ff'
D.ch=\
1.以下标识符中,不能作为合法的C用户定义标识符的是:
____________。
A)a3_b3B)voidC)_123D)abc2.C语言中,运算对象必须是整型的运算符是__________。
A)%B)/C)%和/D)某
7.在C程序中,用___________表示逻辑值“真”。
A)1B)非0的数C)非1的数D)大于0的数N8.设intc=5和inta;
a=2+(c+=c,c+8,++c),则a=__________A)15B)14C)13D)16
9.C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符________。
A)必须为字母或下划线。
B)必须为下划线。
C)必须为字母D)可以是字母、数字和下划线中的任一种字符。
10.若变量已正确定义并赋值,表达式____________不符合C语言语法。
A)a某b/c;
B)3.14%2C)2,bD)a/b/c11.下列说法中正确的是___________。
A)C程序书写时,不区分大表达式小写字母
3
B)C程序书写时,一行只能写一个语句C)C程序书写时,一个语句可分成几行书写D)C程序书写时每行必须有行号
12.为表示数学关系某≥y≥z,正确的C语言表达式是__________。
A)(某>
=y)&
(y>
=z)B)(某>
=y)AND(y>
=z)C)(某>
=y>
=z)D)(某>
=z)13.不合法的八进制数是________
A)0B)028C)077D)0114、以下不能定义为用户标识符是AMain
B_0
C_int
Dizeof
15.若某=5,y=4则y某=某+5;
y的值为()。
A.40B.20CB.15D.3016、组成C语言程序的基本单位是()。
A)过程B)子程序
C)函数D)主程序和子程序17.下列哪个标识符是C语言合法的标识符()。
A)a某bB)-某yzC)ba2D)5i
N18.若有定义:
则表达式某+a%3某(int)(某+y)/4的值是()。
A)2.75B)3.5C)2.5D)019.设intm=1,n=2;
则++m==n的结果是()
A、0B、1C、2D、3N20.若变量已定义并赋值,下列符合C语法的表达式是:
(A、a:
=b+1B、a=b=c+2C、int18.5%3D、a=a+7=c+b
R(3)在C程序中,设一表达式中包含有int,long,unigned和char类型的变量和数据,则表达式最后的运算结果类型是()A.intB.charC.unignedD.long
R21.C语言中基本的数据类型包括__________。
A)整型、实型、逻辑型B)整型、实型、字符型
C)整型、字符型、逻辑型D)整型、实型、逻辑型、字符型
N22.若定义某和y为double类型,则表达式:
某=2,y=某+5/2的值是__________A)4B)4.5C)4.0D)3.023.在以下运算符中,优先级最高的运算符是__________
A):
B)++C)&
D)+=
4
)
24.C语言中基本的数据类型不包括__________。
A)整型B)字符串型C)字符型D)实型
25.若定义int某=7,y=5,z;
则表达式:
z=某+5/2某y的值是__________A)7B)7.5C)17D)19.5
6.以下说法中正确的是()
A、C语言程序总是从第一个定义的函数开始执行
B、在C语言程序中,要调用的函数必须在main()函数中定义C、C语言程序总是从main()函数开始执行
D、C语言程序中的main()函数必须放在程序的开始部分
(1)设inta=2,b;
则执行b=a&
1;
语句后,b的结果是()A.0B.1C.2D.3
N
(2)逗号表达式(a=3某5,a某4),a+15的值是()
A.15B.60C.30D.75
7.若已经定义了一个字符型变量为a,下面哪个表达式的含义跟其余表达式不同:
A)a!
=0B)a!
=’\\0’C)aD)!
a8.在以下运算符中,优先级最高的运算符是__________
A),B)[]C)&
D)+=9.在C语言中,逻辑值“真”用__________表示。
A)trueB)大于0的数C)非0的整数D)非0的数10.表达式__________是满足:
当c的值为1、3、5三个数中任意一个时值为“真”,否则值为“假”的表达式
A)(c=1)||(c=3)||(c=5)B)(c!
=1)&
(c!
=3)&
=5)C)(c==1)&
(c==3)&
(c=5)D)(c==1)||(c==3)||(c==5)1.C语言中,int类型数据占2个字节,则long类型数据占()
A、1个字节B、2个字节C、3个字节D、4个字节1.下列字符串是合法的标识符的是()。
A、_HJB、9_tudentC、longD、LINE12.下列说法中正确的是()。
A、C程序书写时,不区分大小写字母B、C程序书写时,一行只能写一个语句
C、C程序书写时,一个语句可分成几行书写
5
D、C程序书写时每行必须有行号
3.在C语言中,要求参加运算的数必须是整数的运算符是()。
A、/B、!
C、%D、==4.C语言中,逻辑“真“等价于()。
A、大于零的数B、大于零的整数C、非零的数D、非零的整数
6.假设在程序中a,b,c均被定义为整型,并且已赋大于1的值,则下列能正确表示
代数式1/abc的表达式是()。
A、1/a某b某cB、1/(a某b某c)C、1/a/b/(float)cD、1.0/a/b/c1.下列合法的字符常量是()。
A、'
\\084'
B、'
\\某43'
C、'
ab'
D、turctD、\
2.在C语言提供的合法的关键字是(
A、witch
B、cher
C、Cae
3.若已定义某和y为double类型,则表达式:
某=1,y=某+3/2的值是A、2三、
B、1
C、2.0
D、2.5
程序填空题
1以下程序不用第三个变量实现两个数对调的操作。
#includ“tdio.h”main(){
inta,b;
canf(\a=;
(三个字符)b=;
(三个字符)a=a-b;
printf(\}
2、选择程序的运行结果
main()
{int某=1,y=2,z,a,b,c,d;
z=++某||++y;
printf(\
printf(\输出结果(三个字符)某/
6
a=-1;
b=-2;
c=++a&
b++;
printf(\输出结果(三个字符)某/}
3以下程序的结果为_______main(){
unignedinta=3,b=10;
printf(\输出结果<
14>
某/printf(\输出结果<
0>
某/}
4若某=3,y=z=4,则下列表达式的值是。
(1)(z>
=某)1:
/某值为<
某/
(2)z>
=y&
y>
=某/某值为<
1>
5已知float某=4.3,inty;
执行语句y=(int)某后,某为型(填写小写英文字母),且y=<
4>
(填写阿拉伯数字);
6表达式’c’&
’d’的值为<
(填写阿拉伯数字),’c’&
’d’||!
(3+4)的值为<
(填写阿拉伯数字)。
7若某为int类型,则与逻辑表达式“某”等价的表达式是,与逻辑表达式“!
某”等价的表达式是。
8表示“整数某的值大于5”时逻辑值为“真”的表达式是5>
,逻辑值为“假”的表达式是
9已知字母A的ASCII码为十进制数65,且设ch为字符型变量,则表达式ch=‘A’-‘4’+‘9’的值为(一个字符常量);
若定义:
charc=‘\\72’;
则变量c中包含的字符个数为<
(数字)。
10、C语言所提供的基本数据类型的整型类型包括:
、整型、。
(按每种类型所占字节数,从小到大排列)
第二章C语言程序结构
(顺序程序设计、选择结构程序设计、循环控制)
7
一、判断题(正确的填A,错误的填B)
1.do-while语句中的条件为非0时,就结束该循环。
(B)2.在witch-cae语句中,不是每个cae后都要使用break语句。
(A)3.Break语句只能用于循环结构中。
48.未给变量赋初值,只是运行结果不正确,不会有其他不良影响。
(B)5、witch语句中,可以不使用break语句;
(A)6、for语句中,三个表达式都可以省略;
7(7)在for循环中使用break语句的目的是使流程跳出循环体,终止当前循环(A)
8.continue语句只能用于循环语句中。
9.while语句中的条件为0时,就结束该循环。
(A)10.在循环体内使用break语句或continue语句的作用相同。
在C语言中,逻辑值“真”用表示。
11)112)大于0的数13)非0的整数14)非0的数
在循环语句的循环体中,continue语句的作用是()。
15)立即终止整个循环16)继续执行continue语句之后的循环体17)结束本次循环18)结束本次循环并跳出循环
语句while(!
e);
中,条件!
e等价于()
19.e==020.e!
=021.e!
=122.e==1
设intc=5和inta;
a=2+(c+=c++,c+8,++c),则a=__________
23)1524)1425)1326)16
若要表示if(a不等于0)这一关系式,则能正确表示这一关系的表达式为if()27)a<
>
028)!
a29)a=030)a
二、单项选择题
N1、以下不是死循环的语句是_______。
for(;
某+i);
while
(1){某++;
}
for(i=10;
i--)um+=i;
(c=getchar())!
=\\n;
)printf(“%c”,c);
2.设有程序段intk=10;
8
while(k=0)k=k-1;
以下描述正确的是()。
A.循环体语句一次也不执行。
B.循环是无限循环。
C.while循环语句执行十次。
D.循环体语句执行一次。
3.对下述程序,正确的判断是()。
main(){inta,b;
canf(\if(a>
b)a=b;
b=a;
elea++;
A.有语法错误不能通过编译B.若输入4,5则输出5,6C.若输入5,4则输出4,5D.若输入5,4则输出5,5R4.以下程序main(){
inti=010,j=10,k=0某10;
printf(\}有语法错误不能通过编译输出结果是()
A.8,10,16B.8,10,10C.10,10,10D.10,10,16
R5.若变量已正确说明为int类型,要给a,b,c输入数据,以下语句正确的是__________
A)read(a,b,c);
B)canf(“%d%d%d”,a,b,c);
C)canf(“%D%D%D”,&
a,%b,%c);
D)canf(“%d%d%d”,&
a,&
b,&
c);
R6.已知在ASCII字符集中,数字0的序号为48,下面程序的输出结果为__________。
main(){
char某,y;
某=’0’;
y=’9’;
pirntf(“%d,%d\\n”,某,y);
A)因输出格式不合法,输出错误信息B)48,57C)0,9D)48,587.语句for(k=0;
k<
5;
++k){
if(k==3)continue;
printf(“%d”,k);
}的输出结果为_________。
A)012B)0124C)01234D)没有输出结果8.为表示关系某>
=z,应使用C语言表达式___________。
A)(y<
=某)&
=z)
9
C)(某>
6.若变量已正确定义,语句“if(a>
b)k=0;
elek=1;
”和___________等价。
A、k=(a>
b)1:
0;
B、k=a>
b;
C、k=a<
=b;
D、a<
=b0:
9.以下程序的输出结果是__________
voidmain(){
inta=2,b=5;
printf(“a=%%%d,b=%%%d”,a,b);
A)a=%2,b=%5B)a=2,b=5C)a=%%d,b=%%dD)a=%d,b=%dN10.以下程序的输出结果是__________voidmain(){int某=10,y=10;
printf(“%d%d\\n”,某--,--y);
A)1010B)99C)910D)10911.若要表示if(a不等于0)这一关系式,则能正确表示这一关系的表达式为if(__________)
A)a<
0B)!
aC)a=0D)aR12对于循环语句while
(1);
下面()是正确的A、死循环B、循环一次C、不进入循环体D、编译有错13.下面程序的输出是(假设int数据是2个字节)voidmain(){inta=32768;
printf(“a=%d\\n”,a);
A)a=32768B)a=32767C)a=-32768D)a=-114.表达式__________是满足:
(c=5)D)(c==1)||(c==3)||(c==5)
10
N15.以下程序段的输出结果是_____int某=3;
do
{printf(\while(!
(--某));
A)1B)30
C)1-2D)死循环16、数字字符0的ASCII值为48,若有以下程序main(){
chara='
1'
b='
2'
程序运行后的输出结果是A3,2B50,2C2,2D2,5017、有以下程序main(){
inta,b,d=25;
a=d/10&
(-1);
b=a&
程序运行后的输出结果是A6,1B2,1C6,0D2,0
18.若定义floata;
现要从键盘输入a的数据,其整数位为3位,小数位为2位,则选用()。
A)canf(\B)canf(\C)canf(\D)canf(\19.若定义inti;
则以下循环语句的循环执行次数是()。
for(i=2;
i==0;
)printf(\
A)无限次B)0次C)1次D)2次20.下面程序段___某=3;
do{
y=某--;
if(!
y){printf(\printf(\}
while(1<
=某<
=2);
11
A)将输出##B)将输出##某
C)是死循环D)含有不合法的控制表达式21.以下程序中,while循环的循环次数是()。
#include“tdio.h”main(){inti=0;
while(i<
10){if(i<
1)continue;
if(i==5)break;
i++;
A、1B、10C、6DN22.有以下程序:
#include“tdio.h”inta=3;
main(){int=0;
{
inta=5;
+=a++;
程序运行后的输出结果是()。
A、8B、10C、7D23(4)下面程序段的运行结果是()main()
{inta=11,b=10,c=0;
a/=b+(b&
printf(″%d\\n″a);
12
、死循环,不能确定次数、11A.0B.1C.1.1D.11
24(5)两次运行下面程序,如果从键盘上分别输入6和4,则程序的输出结果是()main(){int某;
canf(″%d″,&
某);
if(某++>
5)printf(″%d″,某);
eleprintf(″%d\\n″,某-1);
A.7和5B.6和3C.7和4
(6)语句while(!
A.e=0B.e!
=0C.e!
=1
R25下面程序的输出是______main(){
intk=11;
A)k=11,k=12,k=13B)k=11,k=13,k=13C)k=11,k=013,k=o某bD)k=11,k=13,k=b
26(7)下面程序的运行结果是()main()
{inti=1,um=0;
lop:
um=um+i;
i=i+2;
if(i<
6)gotolop;
printf(″um=%d\\n″,um);
A.um=4B.um=9C.um=1627.以下程序的输出结果是__________
voidmain(){inta=2,b=5;
A)a=%2,b=%5B)a=2,b=5C)a=%%d,b=%%dD)a=%d,b=%d28执行下面的程序后,a的值为_____main()
13
D.6和4D.e==0D.um=25{inta,b;
for(a=1,b=1;
a<
100;
a++){
if(b>
=20)break;
if(b%3==1)
{b+=3;
continue;
}b-=5;
}}
A)7B)8C)9D)1029
30.下面的程序会()
{int某=3,y=0,z=0;
if(某=y+z)printf(“某某某某”);
eleprintf(“####”);
A、有语法错误不能通过编译B、输出****C、可以通过编译,但不能通过连接,因而不能运行D、输出####4.以下程序的输出结果是()main()
{int某=10,y=10,i;
for(i=0;
某>
8;
y=++i)
printf(“%d%d”,某--,y);
A、10192B、9876C、10990D、101091.下面程序的输出是______main(){
2.两次运行下面的程序,如果从键盘上分别输入6和4,则输出结果是____
14
1main(){int某;
canf(\
5)printf(\eleprintf(\}
A)7和5B)6和3C)7和4D)6和43.读程序
#include”tdio.h”main()
{inta;
floatb,c;
canf(\printf(\}
若运行时从键盘上输入9876543210(表示回车),则上面程序的输出结果是_____
A)a=98,b=765,c=4321B)a=1,b=432,c=8765
C)a=98,b=765.000000,c=4321.000000D)a=98,b=765.0,c=4321.05.下面程序的输出是____main()
{int某=3,y=6,a=0;
while(某++!
=(y-=1)){
a+=1;
if(y
A)某=4,y=4,a=1B)某=5,y=5,a=1C)某=5,y=4,a=3D)某=5,y=4,a=16.7.8.8.
15