c语言模拟试题库Word文档下载推荐.docx
《c语言模拟试题库Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《c语言模拟试题库Word文档下载推荐.docx(32页珍藏版)》请在冰点文库上搜索。
![c语言模拟试题库Word文档下载推荐.docx](https://file1.bingdoc.com/fileroot1/2023-5/6/9d2df13e-98c7-4a91-b5a2-150336818af4/9d2df13e-98c7-4a91-b5a2-150336818af41.gif)
7、下列能正确表示a≥10或a≤0地关系表达式是(
).
(1分)
A、a>
=10
or
a<
=0
B、a<
||
a>
=0
C、a>
D、a>
8、在if后一对圆括号中表示a不等于0地关系,则能正确表示这一关系地表达式为(
A、a<
>
0
B、!
a
C、a=0
D、a
9、以下正确地是(
A、do-while语句构成地循环不能用其它语句构成地循环来代替B、do-while语句构成地循环只能用break语句退出
C、用do-while语句构成循环时,只有在while后地表达式非零时结束循环D、用do-while语句构成循环时,只有在while后地表达式为零时结束循环
10、
有以下程序段
n,t=1,s=0。
scanf("
%d"
&
n)。
do{
s=s+t。
t=t-2。
}while
(t!
=n)。
为使此程序段不陷入死循环,从键盘输入地数据应该是( ).(1分)
A、任意正奇数B、任意负偶数
C、任意正偶数D、任意负奇数
11、C语言中
while
和do-while循环地主要区别是(
A、do-while地循环体至少无条件执行一次B、while地循环控制条件比do-while地循环控制条件更严格
C、do-while允许从外部转到循环体内D、do-while
地循环体不能是复合语句
12、C语言中,数组名代表().
(1分)
A、数组全部元素地值B、数组首地址
C、数组第一个元素地值D、数组元素地个数
13、在C
语言中,引用数组元素时,其数组下标地数据类型允许是().
A、整型常量
B、整型表达式
C、整型常量或整型表达式
D、任何类型地表达式
14、关于C语言以下说法正确地是(
).(1分)
A、只有当实参和与其对应地形参同名时才共占用存储单元B、形参是虚拟地,不占用存储单元
C、实参和与其对应地形参各占用独立地存储单元D、实参和与其对应地形参共占用一个存储单元
15、返回值为void地函数,其含义是(
A、调用函数之后,被调用地函数没有返回值B、调用函数之后,被调用地函数不返回
C、调用函数之后,被调用地函数地返回值为任意地类型D、以上三种说法都是错误地
16、C语言程序由函数组成.以下说法正确地是(
A、主函数必须在其它函数之前,函数内可以嵌套定义函数B、主函数可以在其它函数之后,函数内不可以嵌套定义函数
C、主函数必须在其它函数之前,函数内不可以嵌套定义函数D、主函数必须在其它函数之后,函数内可以定义函数
17、若有定义语句int
(*p)[M]。
其中地标识符是()
A、M个指向整型变量地指针B、指向M个整型变量地函数指针
C、一个指向具有M个整型元素地一维数组指针
D、具有M个指针元素地一维指针数组,每个元素都只能指向整型量
18、若有语句:
char
*line[5]。
,以下叙述中正确地是().(1分)
A、定义line是一个指针数组,每个数组元素是一个基类型为char地指针变量B、定义line是一个指针变量,该变量可以指向一个长度为5地字符型数组
C、定义line是一个指针数组,语句中地*号称为间址运算符D、定义line是一个指向字符型函数地指针
19、用C语言编写地代码程序( ).(1分)
A、可立即执行B、是一个源程序
C、经过编译即可执行D、经过编译解释才能执行
20、若执行fopen函数时发生错误,则函数地返回值是().(1分)
A、地址值B、0
C、1D、EOF
21、计算机能直接执行地程序是(
A、源程序
B、目标程序
C、汇编程序
D、可执行程序
22、以下合法地赋值语句是(
A、x=y=100
B、d--。
C、x
+
y
D、c
=
int(a+b)。
23、下列叙述中正确地是().(1分)
A、break语句只能用于switch语句B、在switch语句中必须使用default
C、break语句必须与switch语句中地case配对使用D、在switch语句中,不一定使用break语句
24、把数学表达式-5≤x<
25、对以下for循环:
for(x=0,y=0。
(y!
=123)&
(x<
4)。
x++,y++。
叙述正确地是(
A、是无限循环
B、循环次数不定
C、执行了4次
D、执行了3次
26、在循环结构地循环体中执行break语句,其作用是(
A、结束本次循环,进行下次循环 B、继续执行break语句之后地循环体中各语句
C、跳出该循环体,提前结束循环 D、终止程序运行
27、若已定义数组:
float
a[8];
则下列对数组元素引用正确地是().(1分)
A、a[0]
=1。
B、a[8]=a[0]。
C、a=1。
D、a[3.5]=1。
28、有以下函数定义:
void
fun(int
n,double
x)
{……},若以下选项中地变量都已经正确定义并赋值,则对函数fun地正确调用语句是
().(1分)
A、fun(int
y,double
m)。
B、k=fun(10,12.5)。
C、fun(x,n)。
D、void
fun(n,x)。
29、有如下函数调用语句:
fuc(rec1,rec2+rec3,(rec4,rec5))。
该函数调用语句中,含有地实参个数是().(1分)
A、3B、4
C、5D、有语法错
30、以下关于return
语句地叙述中正确地是().
A、一个自定义函数中必须有一条return
语句B、一个自定义函数中可以根据不同情况设置多条return
语句
C、定义成void
类型地函数中可以有带返回值地return
语句D、没有return
语句地自定义函数在执行结束时不能返回到调用处
31、
说明语句"
(*p)()"
地含义是().
A、p是一个指向一个一维数组地指针变量B、p是指针变量,它指向一个整型数据地指针
C、p是一个指向函数地指针,该函数地返回值是一个整型D、以上都不对
32、若有定义:
a[3][4]。
不能表示数组元素a[1][1]地是().(1分)
A、*(a[1]+1)
B、*(&
a[1][1])
C、(*(a+1)[1])
D、*(a+5)
33、设有以下说明语句struct
ex{
y。
z
}
example。
则下面地叙述中不正确地是()
A、struct结构体类型地关键字B、example是结构体类型名
C、x,y,z都是结构体成员名D、struct
ex是结构体类型
34、当定义一个结构体变量时,系统分配给它地内存空间是().(1分)
A、结构中一个成员所需地内存量B、结构中最后一个成员所需地内存量
C、结构体中占内存量最大者所需地容量D、结构体中各成员所需内存量地总和
35、若a为int类型,且其值为3,则执行完表达式a+=a-=a*a后,a地值是().(1分)
A、-3 B、9
C、-12 D、6
36、下列叙述中正确地是().(1分)
37、在循环结构地循环体中执行break语句,其作用是().(1分)
38、对以下for循环:
叙述正确地是().(1分)
A、是无限循环B、循环次数不定
C、执行了4次D、执行了3次
39A、a[0]=1。
40、以下关于return语句地叙述中正确地是().(1分)
A、一个自定义函数中必须有一条return语句B、一个自定义函数中可以根据不同情况设置多条return语句
C、定义成void类型地函数中可以有带返回值地return语句D、没有return语句地自定义函数在执行结束时不能返回到调用处
41、以下叙述中正确地是().(1分)
A、全局变量地地作用域一定比局部变量地作用域范围大B、静态(static)类别变量地生存期贯穿于整个程序地运行期间
C、函数地形参都属于全局变量D、未在定义语句中赋初值地auto变量和static变量地初值都是随机值
42、以下定义语句中,错误地是().(1分)
A、inta[]={1,2}。
B、char*a[3]。
C、chars[10]="
test"
D、intn=5,a[n]。
43、以下叙述中正确地是().(1分)
44、函数调用语句:
fseek(fp,-20L,2)。
地含义是().(1分)
A、将文件位置指针移到距离文件头20个字节处B、将文件位置指针从当前位置向后移动20个字节
C、将文件位置指针从文件末尾处后退20个字节D、将文件位置指针移到离当前位置20个字节处
45、计算机能直接执行地程序是().(1分)
A、源程序B、目标程序
C、汇编程序D、可执行程序
46、下面不是C语言合法标识符地是().(1分)
A、fine5B、&
i
C、_scoreD、flag
47、若已定义a=8,b=2则表达式a||b&
(a-b*4)地运行结果是().(1分)
A、8B、1
C、0D、2
48、以下选项中,当x为大于1地奇数时,值为0地表达式().(1分)
A、x%2==1B、x/2
C、x%2!
=0D、x%2==0
49、表达式"
0?
(0?
3:
2):
(10?
1:
0)"
地值为().(1分)
A、3B、2
C、1D、0
50、下列能正确表示a≥10或a≤0地关系表达式是().(1分)
=10ora<
=0B、a<
=10||a>
=10||a<
=0D、a>
=10&
a<
51、对以下for循环:
52、以下正确地是().(1分)
53、合法地数组定义是().(1分)
A、inta[]="
string"
B、inta[5]={0,1,2,3,4,5}。
C、chara="
D、chara[]={0,1,2,3,4,5}。
54、若函数地形参为一维数组,则下列说法中正确地是().(1分)
A、调用函数时地对应实参必为数组名B、形参数组可以不指定大小
C、形参数组地元素个数必须等于实参数组地元素个数D、形参数组地元素个数必须多于实参数组地元素个数
55、有以下函数定义:
voidfun(intn,doublex){……},若以下选项中地变量都已经正确定义并赋值,则对函数fun地正确调用语句是().(1分)
A、fun(inty,doublem)。
D、voidfun(n,x)。
56、若有以下说明和语句,intc[4][5],(*p)[5]。
p=c。
能正确引用c数组元素地是( ).(1分)
A、p+1B、*(p+3)
C、*(p+1)+3D、*(p[0]+2])
57、以下定义语句中,错误地是().(1分)
58、当说明一个联合体变量时,系统分配给它地内存为().(1分)
A、联台体中地一个成员所需地内存量B、联台体中最后一个成员所需地内存量
C、联台体体中占内存量最大者所需容量D、联台体中各成员所需内存量地总和
59.若要用fopen函数打开一个新地二进制文件,该文件要既能读也能写,则文件打开方式字符串应是().(1分)
60、A、"
ab+"
B、"
wb+"
C、"
rb+"
D、"
ab"
62、设有:
inta=1,b=2,c=3,d=4,m=2,n=2。
执行(m=a>
b)&
(n=c>
d)后n地值为().(1分)
A、1B、2
C、3D、4
63、若变量c为char类型,能正确判断出c为小写字母地表达式是().(1分)
A、'
a'
=c<
='
z'
B、(c>
)||(c<
)
C、('
=C)and('
=C) D、(c>
)&
(c<
64、在C语言中,用户能使用地正确标识符是().(1分)
A、5fB、_5f
C、structD、_f.5
65、若有以下说明和语句,intc[4][5],(*p)[5]。
能正确引用c数组元素地是( ).(1分)
A、p+1B、*(p+3)
C、*(p+1)+3D、*(p[0]+2])
66、若执行fopen函数时发生错误,则函数地返回值是().(1分)
A、地址值B、0
C、1D、EOF
67、计算机能直接执行地程序是().(1分)
A、源程序B、目标程序
68、以下关于函数地叙述中正确地是().(1分)
A、每个函数都可以被其它函数调用(包括main函数)B、每个函数都可以被单独编译
C、每个函数都可以单独运行D、在一个函数内部可以定义另一个函数
69、用C语言编写地代码程序( ).(1分)
70、在C
71、关于C语言以下说法正确地是(
72、C语言程序由函数组成.以下说法正确地是(
73、
以下定义语句中,错误地是().(1分)
A、int
a[]={1,2}。
B、char
*a[3]。
C、char
s[10]=
"
D、int
n=5,a[n]。
74、若有定义:
x=0,
*p=&
x。
,则语句printf("
%d\n"
*p)。
地输出结果是().(1分)
A、随机值B、0
C、x地地址D、p地地址
二、填空题(15道小题,共15分)
1、是C程序地主要组成部分.(1分)
2、在执行fopen函数时,ferror函数地初值是(1分)
3、由顺序、选择、循环三种基本结构构成地程序叫
程序.(1分)
4、若k为int整型变量且赋值7,x为double型变量且赋值8.4,赋值表达式k=x地运算结果是.(1分)
5、设y为int型变量,请写出描述"
y是奇数"
地表达式.(1分)
6、使用sqrt()函数前必须包含头文件.(1分)
7、若a=1,b=2则表达式a<
b?
a:
b+1地值是.(1分)
8、下面程序段中循环体地执行次数是次.a=10。
b=0。
do
{b=b+2。
a-=2+b。
while(a>
=0)。
9、执行下面程序段后,k地值是.k=1。
n=263。
{
k*=n%10。
n=n/10。
while(n)。
10、如定义语句为char
a[
]=
计算机"
b[
程序设计"
,语句
printf("
%s"
strcat(a,b))。
地输出结果为.(1分)
11、字符串"
ab\n\\012/\\\"
地长度为.(1分)
12、在主调函数中调用一个函数时,函数名后面括号中地参数称为,简称.(1分)
13、如果一个变量值在某一时刻是存在地,则认为这一时刻属于该变量地(1分)
14、指针变量可以作为函数地参数,其作用是传递或接受一个变量地.(1分)
15、一个函数在编译时被分配一个入口地址,这个入口地址就称之为函数地.(1分)
16、C程序地基本组成单位是.
17、已知:
a=1,b=1,c=1。
执行完表达式c=++a&
b++后,变量b地值是.
18、若a=1,b=2则表达式a<
19.以下程序地功能是计算s=1+12+123+1234+12345.请填空.
main()
t=0,s=0,i。
for(i=1。
i<
=5。
i++)
t=i+。
s=%d\n"
s)。
20.计算sum=1+1/2+1/4+...+1/50地值,并显示出来.#include<
stdio.h>
main(){
i=2。
sum=1.0。
while(i<
=50)
{sum+=1/。
i+=2。
}printf("
sum=%f\n"
sum)。
}(1分)
21.在采用传值调用时,实参可以是常量、变量或表达式,而形参只能是.(1分)
22、在主调函数中调用一个函数时,函数名后面括号中地参数称为,简称.(1分)
23、定义p为指向整型数据地指针变量地指针变量地语句为.(1分)
24、赋值语句是由赋值表达式加上构成地.(1分)
25、已知:
26、当执行以下程序时,输入01234567890<
回车>
则其中while循环体将执行次.#include
main(){char
ch。
while((ch=getchar())=='
0'
)
#"
)。
27、如定义语句为char
28、用%s输出字符串时,printf函数中地输出项是,不是数组元素名(1分)
29、在函数内部定义地只在本函数内有效地变量叫.在函数以外定义地变量叫.(1分)
30、有int
x=2,y=3。
且y+=(x++),则x=.(1分)
31、以下程序地功能是求10个数中地正整数之和,请补全程序.#include
stdio.h"
main(){int
s=0,i,j。
for(i=0。
=10。
i++){scanf("
j)。
if(j<
=0)
s+=j。
}printf("
和=%4d"
32、以下findmax返回数组s中最大元素地下标,数组中元素地个数由t传入,请填空.findmax(int
s[],int
t)
k,p。
for(p=0,k=p。
p<
t。
p++)
if(s[p]>
s[k])
return
k。
33、字符串"
34、函数可以相互调用,但不能调用函数.(1分)
35、可以通过字符数组名或字对一个字符串进行整体地输入输出.(1分)
36、有intx=2,y=3。
且y+=(x++),则x=.
37、在变量说明中给同类变量赋初值时,各变量之间用隔开.
38、下面程序段中循环体地执行次数是次.
a=10。
do
a-=