C语言全部考试系统题库含答案Word文档格式.docx
《C语言全部考试系统题库含答案Word文档格式.docx》由会员分享,可在线阅读,更多相关《C语言全部考试系统题库含答案Word文档格式.docx(97页珍藏版)》请在冰豆网上搜索。
![C语言全部考试系统题库含答案Word文档格式.docx](https://file1.bdocx.com/fileroot1/2023-1/7/3293e327-7985-4b2f-9aca-1d768887cdba/3293e327-7985-4b2f-9aca-1d768887cdba1.gif)
(A)
29.字符型变量可以存放多个字符。
30.在对一个C程序进行编译的过程中,可发现注释中的拼写错误。
5.在C程序中,无论是整数还是实数,都能被准确无误地表示。
1.一个C程序的执行是从本程序的main函数开始,到main函数结束。
3.()
4.运算符优先顺序:
二、单项选择题
R1、以下标识符中,不能作为合法的C用户定义标识符的是:
()
A.a3_b3B.voidC._123D.abc
R2、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;
floatx=2.5,y=4.7;
则表达式
x+a%3*(int)(x+y)%2/4的值是()。
A.2.750000B.0.00000C.3.500000D.2.500000
6.已知ch是字符型变量,下面正确的赋值语句是()。
A.ch='
123'
B.ch='
\08'
C.ch='
\xff'
D.ch="
\"
1.以下标识符中,不能作为合法的C用户定义标识符的是:
____________。
A)a3_b3B)voidC)_123D)abc
2.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/c
11.下列说法中正确的是___________。
A)C程序书写时,不区分大表达式小写字母
B)C程序书写时,一行只能写一个语句
C)C程序书写时,一个语句可分成几行书写
D)C程序书写时每行必须有行号
12.为表示数学关系x≥y≥z,正确的C语言表达式是__________。
A)(x>
=y)&
(y>
=z)B)(x>
=y)AND(y>
=z)
C)(x>
=y>
=z)D)(x>
13.不合法的八进制数是________
A)0B)028C)077D)01
14、以下不能定义为用户标识符是
AMainB_0C_intDsizeof
15.若x=5,y=4则y*=x+5;
y的值为()。
A.40B.20CB.15D.30
16、组成C语言程序的基本单位是( )。
A)过程 ?
?
B)子程序
C)函数 ?
D)主程序和子程序
17.下列哪个标识符是C语言合法的标识符( )。
A)a*b B)-xyz
C)ba2 D)5i
N18.若有定义:
int a=7;
float x=2.5,y=4.7;
则表达式x+a%3*(int)(x+y)/4的值是( )。
A)2.75 ?
B)3.5?
C)2.5?
?
D)0
19.设intm=1,n=2;
则++m==n的结果是()
A、0B、1C、2D、3
N20.若变量已定义并赋值,下列符合C语法的表达式是:
()
A、a:
=b+1B、a=b=c+2
C、int18.5%3D、a=a+7=c+b
R(3)在C程序中,设一表达式中包含有int,long,unsigned和char类型的变量和数据,则表达式最后的运算结果类型是()
A.intB.charC.unsignedD.long
R21.C语言中基本的数据类型包括__________。
A)整型、实型、逻辑型B)整型、实型、字符型
C)整型、字符型、逻辑型D)整型、实型、逻辑型、字符型
N22.若定义x和y为double类型,则表达式:
x=2,y=x+5/2的值是__________
A)4B)4.5C)4.0D)3.0
23.在以下运算符中,优先级最高的运算符是__________
A)?
:
B)++C)&
D)+=
24.C语言中基本的数据类型不包括__________。
A)整型B)字符串型
C)字符型D)实型
25.若定义intx=7,y=5,z;
则表达式:
z=x+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)!
a
8.在以下运算符中,优先级最高的运算符是__________
A),B)[]C)&
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_studentC、longD、LINE1
2.下列说法中正确的是()。
A、C程序书写时,不区分大小写字母
B、C程序书写时,一行只能写一个语句
C、C程序书写时,一个语句可分成几行书写
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/c
1.下列合法的字符常量是()。
A、'
\084'
B、'
\x43'
C、'
ab'
D、"
\0"
2.在C语言提供的合法的关键字是()
A、switchB、cherC、CaseD、sturct
3.若已定义x和y为double类型,则表达式:
x=1,y=x+3/2的值是
A、2B、1C、2.0D、2.5
三、程序填空题
1以下程序不用第三个变量实现两个数对调的操作。
#includ“stdio.h”
main()
{
inta,b;
scanf("
%d,%d"
a,&
b);
a=<
a+b>
(三个字符)
b=<
a-b>
a=a-b;
printf("
a,b);
}
2、选择程序的运行结果。
main()
{intx=1,y=2,z,a,b,c,d;
z=++x||++y;
x=%d\n"
x);
y=%d\n"
y);
/*输出结果<
y=2>
(三个字符)*/
a=-1;
b=-2;
c=++a&
b++;
b=%d\n"
b);
b=-2>
(三个字符)*/}
3以下程序的结果为_______
main()
{
unsignedinta=3,b=10;
%d\n"
a<
<
2|b>
>
1);
14>
*/
2&
b>
0>
4若x=3,y=z=4,则下列表达式的值是。
(1)?
?
(z>
=x)?
1:
0
/*值为<
(2)?
z>
=y&
y>
=x
1>
5已知floatx=4.3,inty;
执行语句y=(int)x后,x为<
int>
型(填写小写英文字母),且y=<
4>
(填写阿拉伯数字);
6表达式’c’&
’d’的值为<
(填写阿拉伯数字),’c’&
’d’||!
(3+4)的值为<
(填写阿拉伯数字)。
7若x为int类型,则与逻辑表达式“x”等价的表达式是<
x!
=0>
与逻辑表达式“!
x”等价的表达式是<
x==0>
。
8表示“整数x的值大于5”时逻辑值为“真”的表达式是<
x>
5>
,逻辑值为“假”的表达式是<
x<
=5>
9已知字母A的ASCII码为十进制数65,且设ch为字符型变量,则表达式ch=‘A’-‘4’+‘9’的值为<
’F’>
(一个字符常量);
若定义:
charc=‘\72’;
则变量c中包含的字符个数为<
(数字)。
10、C语言所提供的基本数据类型的整型类型包括:
短整型>
、整型、<
长整型>
(按每种类型所占字节数,从小到大排列)
第二章C语言程序结构
(顺序程序设计、选择结构程序设计、循环控制)
1.do-while语句中的条件为非0时,就结束该循环。
2.在switch-case语句中,不是每个case后都要使用break语句。
3.Break语句只能用于循环结构中。
(B?
)
48.未给变量赋初值,只是运行结果不正确,不会有其他不良影响。
5、switch语句中,可以不使用break语句;
6、for语句中,三个表达式都可以省略;
7(7)在for循环中使用break语句的目的是使流程跳出循环体,终止当前循环(A)
8.continue语句只能用于循环语句中。
9.while语句中的条件为0时,就结束该循环。
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(;
x+i);
while
(1){x++;
for(i=10;
i--)sum+=i;
(c=getchar())!
=‘\n’;
)printf(“%c”,c);
2.设有程序段
intk=10;
while(k=0)k=k-1;
以下描述正确的是()。
A.循环体语句一次也不执行。
B.循环是无限循环。
C.while循环语句执行十次。
D.循环体语句执行一次。
3.对下述程序,正确的判断是()。
main()
{inta,b;
scanf("
if(a>
b)a=b;
b=a;
elsea++;
b++;
printf("
A.有语法错误不能通过编译B.若输入4,5则输出5,6
C.若输入5,4则输出4,5D.若输入5,4则输出5,5
R4.以下程序
inti=010,j=10,k=0x10;
%d,%d,%d\n"
i,j,k);
}有语法错误不能通过编译
输出结果是()
A.8,10,16B.8,10,10C.10,10,10D.10,10,16
R5.若变量已正确说明为int类型,要给a,b,c输入数据,以下语句正确的是__________
A)read(a,b,c);
B)scanf(“%d%d%d”,a,b,c);
C)scanf(“%D%D%D”,&
a,%b,%c);
D)scanf(“%d%d%d”,&
b,&
c);
R6.已知在ASCII字符集中,数字0的序号为48,下面程序的输出结果为__________。
charx,y;
x=’0’;
y=’9’;
pirntf(“%d,%d\n”,x,y);
}
A)因输出格式不合法,输出错误信息B)48,57
C)0,9D)48,58
7.语句for(k=0;
k<
5;
++k)
{
if(k==3)continue;
printf(“%d”,k);
}的输出结果为_________。
A)012B)0124C)01234D)没有输出结果
8.为表示关系x>
=z,应使用C语言表达式___________。
A)(y<
=x)&
=z)B)(x>
C)(x>
=z)D)(x>
6.若变量已正确定义,语句“if(a>
b)k=0;
elsek=1;
”和___________等价。
A、k=(a>
b)?
1:
0;
B、k=a>
b;
C、k=a<
=b;
D、a<
=b?
0:
1;
9.以下程序的输出结果是__________
voidmain()
inta=2,b=5;
printf(“a=%%%d,b=%%%d”,a,b);
A)a=%2,b=%5B)a=2,b=5
C)a=%%d,b=%%dD)a=%d,b=%d
N10.以下程序的输出结果是__________
{intx=10,y=10;
printf(“%d%d\n”,x--,--y);
A)1010B)99C)910D)109
11.若要表示if(a不等于0)这一关系式,则能正确表示这一关系的表达式为
if(__________)
A)a<
0B)!
aC)a=0D)a
R12对于循环语句while
(1);
下面()是正确的
A、死循环B、循环一次
C、不进入循环体D、编译有错
13.下面程序的输出是(假设int数据是2个字节)
{inta=32768;
printf(“a=%d\n”,a);
A)a=32768B)a=32767C)a=-32768D)a=-1
14.表达式__________是满足:
C)(c==1)&
(c=5)D)(c==1)||(c==3)||(c==5)
N15.以下程序段的输出结果是_____
intx=3;
do
{printf("
%3d"
x-=2;
while(!
(--x));
A)1B)30
C)1-2D)死循环
16、数字字符0的ASCII值为48,若有以下程序
main()
{
chara='
1'
b='
2'
%c,"
b++);
b-a);
}
程序运行后的输出结果是
A3,2B50,2C2,2D2,50
17、有以下程序
inta,b,d=25;
a=d/10&
(-1);
b=a&
%d,%d\n"
A6,1B2,1C6,0D2,0
18.若定义float a;
现要从键盘输入a的数据,其整数位为3位,小数位为2位,则选用( )。
A)scanf("
a);
?
B)scanf("
%5.2f"
a);
C)scanf("
%6.2f"
?
D)scanf("
19.若定义int i;
则以下循环语句的循环执行次数是( )。
for(i=2;
i==0;
)
%d"
i--);
A)无限次 B)0次
C)1次 D)2次
20.下面程序段___
x=3;
do
y=x--;
if(!
y){printf("
x"
);
continue;
#"
while(1<
=x<
=2);
A)将输出##B)将输出##*
C)是死循环D)含有不合法的控制表达式
21.以下程序中,while循环的循环次数是()。
#include“stdio.h”
{inti=0;
while(i<
10)
{if(i<
1)continue;
if(i==5)break;
i++;
A、1B、10C、6D、死循环,不能确定次数
N22.有以下程序:
inta=3;
ints=0;
inta=5;
s+=a++;
s);
程序运行后的输出结果是()。
A、8B、10C、7D、11
23(4)下面程序段的运行结果是()
{inta=11,b=10,c=0;
a/=b+(b&
printf(″%d\n″a);
A.0B.1C.1.1D.11
24(5)两次运行下面程序,如果从键盘上分别输入6和4,则程序的输出结果是()
{intx;