C语言 考试题库Word格式文档下载.docx
- 文档编号:17204290
- 上传时间:2022-11-28
- 格式:DOCX
- 页数:58
- 大小:37.40KB
C语言 考试题库Word格式文档下载.docx
《C语言 考试题库Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《C语言 考试题库Word格式文档下载.docx(58页珍藏版)》请在冰豆网上搜索。
}
(A).12457810
(B).369
(C).12
(D).1234567890
9.inta=1,b=2,c=3;
if(a>
b)a=b;
c)a=c;
则a的值为(A).
(A).1
(B).2
(C).3
(D).不一定
10.下列定义数组的语句中正确的是(A).
(A).#definesize10charstr1[size],str2[size+2];
(B).charstr[];
(C).intnum['
10'
];
(D).intn=5;
inta[n][n+2];
11.C语言中运算对象必须是整型的运算符是(A).
(A).%=
(B)./
(C).=
(D).〈=
12.C语言中while和do-while循环的主要区别是(A).
(A).do-while的循环体至少无条件执行一次
(B).while的循环控制条件比do-while的循环控制条件更严格
(C).do-while允许从外部转到循环体内
(D).do-while的循环体不能是复合语句
13.16.在C语言中,形参的缺省存储类别是(A).
(A).auto
(B).register
(C).static
(D).extern
14.从键盘上输入某字符串时,不可使用的函数是(A).
(A).getchar()
(B).gets()
(C).scanf()
(D).fread()
15.以下数据中,不正确的数值或字符常量是(A).
(A).8.9e1.2
(B).10
(C).0xff00
(D).82.5
16.以下不是无限循环的语句为(A).
(A).for(y=0,x=1;
x>
++y;
x=i++)i=x;
(B).for(;
x++=i);
(C).while
(1){x++;
(D).for(i=10;
i--)sum+=i;
17.while(fabs(t)<
1e-5)if(!
s/10)break;
循环结束的条件是(A).
(A).t>
=1e-5&
t<
=-1e-5
(B).fabs(t)<
1e-5&
!
s/10
(C).fabs(t)<
1e-5
(D).s/10==0
18.以下叙述中正确的是(A).
(A).构成C程序的基本单位是函数
(B).可以在一个函数中定义另一个函数
(C).main()函数必须放在其它函数之前
(D).所有被调用的函数一定要在调用之前进行定义
19.函数rewind的作用是(A).
(A).使位置指针重新返回文件的开头
(B).将位置指针指向文件中所要求的特定位置
(C).使位置指针指向文件的末尾
(D).使位置指针自动移至下一个字符位置
20.C语言程序中,当调用函数时(A).
(A).实参和虚参各占一个独立的存储单元
(B).实参和虚参可以共用存储单元
(C).可以由用户指定是否共用存储单元
(D).计算机系统自动确定是否共用存储单元
21.当定义一个结构体变量时,系统分配给它的内存是(A).
(A).各成员所需内存量的总和
(B).结构中第一个成员所需内存量
(C).结构中最后一个成员所需内存量
(D).成员中占内存量最大者所需的容量
22.下列变量定义中合法的是(A).
(A).short_a=1-.1e-1;
(B).doubleb=1+5e2.5;
(C).longdo=0xfdaL;
(D).float2_and=1-e-3;
23.若有说明语句:
charc='
\72'
则变量c(A).
(A).包含1个字符
(B).包含2个字符
(C).包含3个字符
(D).说明不合法,c的值不确定
24.结构体类型的定义允许嵌套是指(A).
(A).成员是已经或正在定义的结构体型
(B).成员可以重名
(C).结构体型可以派生
(D).定义多个结构体型
25.先用语句定义字符型变量c,然后要将字符a赋给c,则下列语句中正确的是(A).
(A).c='
a'
(B).c="
a"
(C).c="
97"
(D).C='
97'
26.下列数组说明中,正确的是(A).
(A).staticcharstr[]="
China"
(B).staticcharstr[];
str="
(C).staticcharstr1[5],str2[]={"
};
str1=str2;
(D).staticcharstr1[],str2[];
str2={"
strcpy(str1,str2);
27.若有int*p=(int*)malloc(sizeof(int));
则向内存申请到内存空间存入整数123的语句为(A).
(A).scanf("
p);
(B).scanf("
p);
(C).scanf("
*p);
(D).scanf("
**p);
28.以下叙述中正确的是(A).
(A).C程序中注释部分可以出现在程序中任意合适的地方
(B).花括号"
{"
和"
}"
只能作为函数体的定界符
(C).构成C程序的基本单位是函数,所有函数名都可以由用户命名
(D).分号是C语句之间的分隔符,不是语句的一部分
29.执行下面程序后,输出结果是(A).
{inta=45,b=27,c=0;
c=max(a,b);
%d\n"
c);
intmax(intx,inty)
{intz;
if(x>
y)z=x;
elsez=y;
return(z);
(A).45
(B).27
(C).18
(D).72
30.设有以下语句,若0<
k<
4,下列选项中对字符串的非法引用是(A).
charstr[4][2]={"
aaa"
"
bbb"
ccc"
ddd"
},*strp[4];
intj;
for(j=0;
4;
strp[j]=str[j];
(A).strp
(B).str[k]
(C).strp[k]
(D).*strp
31.9以下语句中,循环次数不为10次的语句是(A).
(A).for(i=1;
i<
10;
i++);
(B).i=1;
do{i++;
}while(i<
=10);
(C).i=10;
while(i>
0){--i;
(D).i=1;
m:
if(i<
=10){i++;
gotom;
32.14以下不能正确进行字符串赋初值的语句是(A).
(A).charstr[5]="
good!
"
(B).charstr[]="
(C).char*str="
(D).charstr[5]={'
g'
'
o'
d'
33.18若有double*p,x[10];
inti=5;
使指针变量p指向元素x[5]的语句为(A).
(A).p=&
x[i];
(B).p=x;
(C).p=x[i];
(D).p=&
(x+i)
34.C语言的if语句嵌套时,if与else的配对关系是(A).
(A).每个else总是与它上面的最近的并且尚未与其他else匹配的if配对
(B).每个else总是与最外层的if配对
(C).每个else与if的配对是任意的
(D).每个else总是与它上面的if配对
35.16以下正确的函数定义形式是(A).
(A).doublefun(intx,inty)
(B).doublefun(intx;
inty)
(C).doublefun(intx,inty);
(D).doublefun(intx,y);
36.18经过下列的语句intj,a[10],*p;
定义后,下列语句中合法的是(A)
(A).p=a+2;
(B).p=a[5];
(C).p=a[2]+2;
(j+2);
37.17enuma{sum=9,mon=-1,tue};
2chara[]="
Thisisaprogram."
输出前5个字符的语句是(A).
(A).printf("
%.5s"
a);
(B).puts(a);
(C).printf("
%s"
(D).a[5*2]=0;
puts(a);
选择题B篇
38.C语言源程序的基本单位是(B).
(A).过程
(B).函数
(C).子程序
(D).标识符
39.下列程序的输出结果是(B).
{charc1=97,c2=98;
%d%c"
c1,c2);
(A).9798
(B).97b
(C).a98
(D).ab
40.下列四个选项中,均是C语言关键字的选项是(B).
(A).autoenuminclude
(B).switchtypedefcontinue
(C).signedunionscanf
(D).ifstructtype
41.以下能对二维数组a进行正确初始化的语句是(B).
(A).inta[2][]={{1,0,1},{5,2,3}};
(B).inta[][3]={{1,2,3},{4,5,6}};
(C).inta[2][4]={{1,2,3},{4,5},{6}};
(D).inta[][3]={{1,0,1}{},{1,1}};
42.以下对枚举类型名的定义中正确的是(B).
(A).enuma={sun,mon,tue};
(B).enuma{sun=9,mon=-1,tue};
(C).enuma={"
sun"
mon"
tue"
(D).enuma{"
43.以下选项中合法的用户标识符是(B).
(A).long
(B)._2Test
(C).3Dmax
(D).A.dat
44.以下叙述中正确的是(B).
(A).C语言的源程序不必通过编译就可以直接运行
(B).C语言中的每条可执行语句最终都将被转换成二进制的机器指令
(C).C源程序经编译形成的二进制代码可以直接运行
(D).C语言中的函数不可以单独进行编译
45.以下叙述中不正确的是(B).
(A).一个好的程序应该有详尽的注释
(B).在C程序中,赋值运算符的优先级最低
(C).在C程序中,j++;
是一条赋值语句
(D).C程序中的#include和#define均不是C语句
46.若有以下程序段:
inta=3,b=4;
a=a^b;
b=b^a;
a=a^b;
则执行以上语句后,a和b的值分别是(B).
(A).a=3,b=4
(B).a=4,b=3
(C).a=4,b=4
(D).a=3,b=3
47.9.假定所有变量均已正确定义,下列程序段运行后x的值是(B).
k1=1;
k2=2;
k3=3;
x=15;
if(!
k1)x--;
elseif(k2)x=4;
elsex=3;
(A).14
(B).4
(C).15
(D).3
48.给数组a的所有元素分别赋值为1、2、3、……的语句是(B).
11;
i++)a[i]=i;
(B).for(i=1;
i++)a[i-1]=i;
(C).for(i=1;
i++)a[i+1]=i;
(D).for(i=1;
i++)a[0]=1;
49.C语言中不可以嵌套的是(B).
(A).函数调用
(B).函数定义
(C).循环语句
(D).选择语句
50.inta[10]={1,2,3,4,5,6,7,8};
int*p;
p=&
a[5];
p[-3]的值是(B)
(A).2
(B).3
(C).4
51.若k为int型变量,则以下程序段的执行结果是(B).
k=-8567;
printf("
|%06D|\n"
k);
(A).格式描述符不合法,输出无定值
(B).输出为|%06D|
(C).输出为|0-8567|
(D).输出为|-8567|
52.fseek函数的正确调用形式是(B).
(A).fseek(文件类型指针,起始点,位移量)
(B).fseek(fp,位移量,起始点)
(C).fseek(位移量,起始点,fp)
(D).fseek(起始点,位移量,文件类型指针)
53.下列表达式中,可作为C合法表达式的是(B).
(A).[3,2,1,0]
(B).(3,2,1,0)
(C).3=2=1=0
(D).3/2/1/0
54.以下程序的输出结果为(B).
{inta=1,b=2,c=3,d=4,e=5;
func((a+b,b+c,c+a),(d+e)));
intfunc(intx,inty)
return(x+y);
(A).15
(B).13
(C).9
(D).函数调用出错
55.以下标识符中,不能作为合法的C用户定义标识符的是(B).
(A).a3_b3
(B).void
(C)._123
(D).IF
56.假设所有变量均为整型,表达式:
a=2,b=5,a>
b?
a++:
b++,a+b的值是(B).
(A).7
(B).8
(D).2
57.以下程序段的输出结果为(B).
for(i=4;
i>
1;
i--)
for(j=1;
i;
putchar('
#'
);
(A).无
(B).######
(C).#
(D).###
58.设C语言中,int类型数据占2个字节,则unsigned类型数据占(B).
(A).1个字节
(B).2个字节
(C).4个字节
(D).8个字节
59.对for(表达式1;
;
表达式3)可理解为(B).
(A).for(表达式1;
0;
表达式3)
(B).for(表达式1;
(C).for(表达式1;
表达式1;
(D).for(表达式1;
表达式3;
60.C语言中,定义结构体的保留字是(B).
(A).union
(B).struct
(C).enum
(D).typedef
61.设C语言中,int类型数据占2个字节,则short类型数据占().B
62.对for(表达式1;
(D).for(表达式表达式3;
63.C语言允许函数类型缺省定义,此时函数值隐含的类型是().B
(A).float
(B).int
(C).long
(D).double
64.若有inta[][2]={{1,2},{3,4}};
则*(a+1),*(*a+1)的含义分别为(B).
(A).非法,2
(B).&
a[1][0],2
(C).&
a[0][1],3
(D).a[0][0],4
65.以下叙述正确的是(B).
(A).可以把define和if定义为用户标识符
(B).可以把define定义为用户标识符,但不能把if定义为用户标识符
(C).可以把if定义为用户标识符,但不能把define定义为用户标识符
(D).define和if都不能定义为用户标识符
66.sizeof(float)是(B).
(A).一个双精度型表达式
(B).一个整型表达式
(C).一种函数调用
(D).一个不合法的表达式
67.对for(表达式1;
68.若有说明:
inti,j=2,*p=&
则能完成i=j赋值功能的语句是(B).
(A).i=*p;
(B).*p=*&
j;
(C).i=&
(D).i=**p;
69.下面四个选项中,均是不合法的浮点数的选项是(B).
(A).160.0.12e3
(B).1232e4.2.e5
(C).-.18123e40.0
(D).-e3.2341e3
70.在一个C程序中(B).
(A).main函数必须出现在所有函数之前
(B).main函数可以在任何地方出现
(C).main函数必须出现在所有函数之后
(D).main函数必须出现在固定位置
71.若二维数组a有m列,则在a[i][j]前的元素个数为(B).
(A).j*m+i
(B).i*m+j
(C).i*m+j-1
(D).i*m+j+1
72.若有下列定义,则对a数组元素地址的正确引用是(B).
inta[5],*p=a;
(A).&
a[5]
(B).p+2
(C).a++
(D).&
a
73.2下列字符序列中,不可用作C语言标识符的是(B).
(A).b70
(B).#ab
(C).symbol
(D).a_1
74.15以下不正确的说法是:
C语言规定(B).
(A).实参可以是常量,变量或表达式
(B).形参可以是常量,变量或表达式
(C).实参可以为任何类型
(D).形参应与其对应的实参类型一致
75.3下列数据中,为字符串常量的是(B).
(A).A
(B)."
house"
(C).Howdoyoudo.
(D).$abc
76.17在位运算中,操作数每右移一位,其结果相当于(B).
(C).操作数乘以16
(D).操作数除以16
77.以下所列的C语言常量中,错误的是(B).
(A).0xFF
(B).1.2e0.5
(C).2L
(D).'
78.为了提高程序的运行速度,在函数中对于整型或指针可以使用(B)型的变量.
79.10inta=1,b=2,c=3;
c)b=a;
a=c;
c=b;
则c的值为().B
80.以下不正确的定义语句是(B).
(A).doublex[5]={2.0,4.0,6.0,8.0,10.0};
(B).inty[5]={0,1,3,5,7,9};
(C).charc1[]={'
1'
2'
3'
4'
5'
(D).charc2[]={'
\x10'
\xa'
\x8'
81.C语言规定:
简单变量做实参时,它和对应形参之间的数据传递方式是(B).
(A).地址传递
(B).单向值传递
(C).由实参传给形参,再由形参传回给实参
(D).由用户指定的传递方式
82.以下程序的输出结果是(B).
{chars[]="
123"
*p;
p=s;
%c%c%c\n"
*p++,*p++,*p++);
(A).123
(B).321
(C).213
(D).312
83.以下语句中,不能实现回车换行的是(B).
\n"
(B).putchar("
(C).fprintf(stdout,"
(D).fwrite("
1,1,stdout);
选择题C篇
84.设C语言中,int类型数据占2个字节,则long类型数据占(C).
85.以下叙述正确的是(C).
(A).在C程序中,main函数必须位于程序的最前面
(B).C程序的每行中只能写一条语句
(C).C语言本身没有输入输出语句
(D).在对一个C程序进行编译的过程中,可发现注释中的拼写错误
86.以下数值中,不正确的八进制数或十六进制数是(C).
(A).0x16
(B).016
(C).-16
(D).0xaaaa
87.已知x=43,ch='
A'
y=0;
则表达式(x>
=y&
ch<
'
B'
y)的值是(C).
(A).0
(B).语法错
(C).1
(D).假
88.能将高级语言编写的源程序转换为目标程序的是(C).
(A).链接程序
(B).解释程序
(C).编译程序
(D).编辑程序
89.以下关于运算符优先顺序的描述中正确的是(C).
(A).关系运算符<
算术运算符<
赋值运算符<
逻辑运算符
(B).逻辑运算符<
关系运算符<
赋值运算符
(C).赋值运算符<
逻辑运算符<
算术运算符
(D).算术运算符<
90.以下叙述中不正确的是(C).
(A).表达式a&
=b等价于a=a&
b
(B).表达式a|=b等价于a=a|b
(C).表达式a!
=b等价于a=a!
(D).表达式a^=b等价于a=a^b
91.12.以下不能对二维数组a进行正确初始化的语句是(C).
(A).int
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C语言 考试题库 语言 考试 题库