C语言复习题库1Word下载.docx
《C语言复习题库1Word下载.docx》由会员分享,可在线阅读,更多相关《C语言复习题库1Word下载.docx(24页珍藏版)》请在冰豆网上搜索。
![C语言复习题库1Word下载.docx](https://file1.bdocx.com/fileroot1/2022-11/16/75dec5da-d3da-4208-8fb1-6636e719bd41/75dec5da-d3da-4208-8fb1-6636e719bd411.gif)
则初始化后,a[1][2]得到的初值是(0),
a[2][1]得到的初值是(6)。
15.文件包含的一般形式为(#include<
文件名>
)。
16.宏定义中宏名一般用大写字母表示,容易做到(一改全改)。
17.结构体是一种(构造)数据类型用途是把(不同类型)的数据组合成一个整体。
18.位运算的运算对象只能是(整型)或(字符型)数据,而不可以是其他类型的数据。
19.(文件)是存储在外部介质上数据的集合,是操作系统数据管理的单位。
20.设有“intx=2,y”说明,则逗号表达式“y=x+5,x+y”的值是(9)。
21.变量Y满足以下两条件中的任意一个:
①能被4整除,但不能被100整除;
②能被400整除。
请用逻辑表达式表示所给条件((Y%4==0&
&
Y%100!
=0)‖(y%400==0))。
22.表达式7+8>
2&
25%5的结果是(0)。
23.行语句“x=(a=3,b=a——)”后,x,a,b的值依次为(3)、
(2)、(3)。
24.C语言中,变量的存储类别共有四种,即(整型)、(实型)、(字符型)和(无字符型)。
25.C语言中,用关键字(int)定义基本整型变量,用关键字(floate),定义单精度实型变量,用关键字(char)定义字符型变量。
26.表达式3*20/4%10的计算结果是(5)。
27.复合语句是将多个语句用({})括起来组成一个语句。
28.程序中使用putchar()函数和getchar()函数,在程序的开头必(加#include
<
stdio.h>
)。
29.C语言的预处理语句以(#)开头。
40.C语言的表达式与语句的区别在于(句尾有无分号结束)。
41.C语句(没有)(有、没有)输入、输出语句。
42.表达式10/3*9%10/2的值是(3)。
43.设有“intx=1”,则“x>
0?
2*x+1:
0”表达式的值是(3)。
1
44.goto语句为(无条件转向语句),当程序执行到该语句时,转向指定位置执行。
45.return语句的功能是使程序控制从被调用函数返回到(调用函数)中。
46.(指针)是一个变量的地址,专门存放变量地址的变量叫(指针变量)。
47.若有定义:
doublex[3][5];
则x数组中行下标的下限为(0),列下标的上限为(4)。
48.C语言提供的预处理功能主要有(宏定义)、(文件包含处理)、和条件编译。
49.用结构体变量的成员作函数参数时是(值)传递,用指向结构体变量或数组的指针作函数参数时是(地址)传递。
50.位运算是指对一个数据的某些(二进制位)进行的运算。
51.C语言中根据数据的组织形式,可以将文件分为(文本文件)和(二进制文件)。
二、单选题(每题2分,共40分)
(说明:
将认为正确答案的序号填在每小题后面的括号内)
1.设intx=1,y=1;
表达式(!
x++||y——)的值是(B)。
A、0B、1C、2D、-12.main()
{intn;
n=(6*4,n+6),n*2;
printf(“%d\n”,n);
}此程序的输出结果是(C)。
A、30B、24C.、60D、48
3.若有如下定义,则(C)是对数组元素的正确的引用。
inta[10],*p;
p=a;
A、*&
a[10]B、a[11]C、*(p+10)D、*p
4.已知ch是字符型变量,下面不正确的赋值语句是(A)。
A、ch='
a+b'
;
B、ch='
\0'
C、ch='
7'
+'
9'
D、ch=5+9;
5.已知x=43,ch='
A'
,y=0则表达式(x>
=y&
ch<
'
B'
!
Y)的值是(C)。
A、0B、语法错C、1D、"
假"
6.执行以下程序段后,变量a,b,c的值分别是(C)。
intx=10,y=9;
inta,b,c;
a=(--x==y++)?
--x:
++y;
b=x++;
c=y;
A、a=9,b=9,c=9B、a=8,b=8,c=10
C、a=9,b=10,c=9D、a=1,b=11,c=10
7.已有程序段和输入数据的形式如下,程序中输入语句的正确形式应当为(D)。
main()
{inta;
floatf;
printf("
\nInputnumber:
"
);
输入语句printf("
\nf=%f,a=%d\n,f,a);
}
2
Inputnumber:
4.52<
CR>
A、scanf("
%d,%f"
&
a,&
f);
B、scanf("
%f,%d"
f,&
a)
C、scanf("
%d%f"
D、scanf("
%f%d"
a);
8、下列属于整型常量的是(A)。
A、12B、12.0C、-12.0D、10E10
9、不属于字符型常量的是(C)。
A.‘A’B、‘a’C、“A”D、‘b’
10、下列表达式为关系表达式的为(B)。
(其中a为一整型变量)
A.3+4*5B、a==10C、a>
a:
-aD、a=111、下面不正确的赋值语句是(B)。
A、a=a+1B、a==bC、a+=bD、a=112、下列对数组定义不正确的语句是(D)。
A.intm[5];
B、charb[]={‘h’,‘e’};
C、inta[10]={1,6,8,4};
D、charp[];
13、设有数组定义:
chararray[]=“China”;
则数组所占的存贮空间为(C)。
A.4个字节B.5个字节C.6个字节D.7个字节
14、执行下列语句后,a的值是(D)。
inta=8;
a+=a-=a*a;
A.-240B、64C、112D、-112
15.指出下面正确的输入语句(B)。
A.scanf(“a=b=%d”,&
a,&
b);
B.scanf(“%d,%d”,&
C.scanf(“%c”,c);
D.scanf(“%f\n”,&
f);
16.下面的变量说明中正确的是(D)。
A.int:
a,b,c;
B.inta;
b;
c;
C.inta,b,cD.inta,b,c;
17.C语言用(C)表示逻辑“真”值。
A.TrueB.t或yC.非零值D.整型值018.若x=5,y=4则y*=x+5;
y的值为(A)。
A.40B.20C.15D.30
19.根据C语言的语法规则,下列(A)个是不合法标识符。
A.whileB.NameC.Rern5D._exam
20.C语言中以追加方式打开一个文件应选择(D)参数。
A.“r”B.“w”
C.“rb”D.“a”
21.Break语句的正确的用法是(B)。
A.无论在任何情况下,都中断程序的执行,退出到系统下一层。
B.在多重循环中,只能退出最靠近的那一层循环语句。
C.跳出多重循环。
D.只能修改控制变量。
22.两个指针变量的值相等时,表明两个指针变量是(B)。
A.占据同一内存单元。
B.指向同一内存单元地址或者都为空。
3
C.是两个空指针。
D.都没有指向。
23.字符串指针变量中存入的是(A)。
A.字符串的首地址。
B.字符串
C.第一个字符D.字符串变量。
24.以下描述不正确的是(A)。
A.不论在主函数还是自定义函数中,只要说明了变量,就可为其分配存贮单元。
B.在定义函数时,必须指定形参的类型。
C.形参和实参之间可以是值传递。
D.数组名可以作为参数进行传递。
25表达式“1?
(0?
3:
2):
(10?
1:
0)”的值为(C)。
A.3B.2C.1D.0
26.为表示关系x≥y≥z,应使用C语言表达式(A)。
A.(x>
=y)&
(y>
=z)B.(x>
=y)AND(y>
=z)
C.(x>
=y>
=z)D.(x>
=z)&
27.以下说法中正确的是(C)。
A.C语言程序总是从第一个定义的函数开始执行。
B.在C语言程序中,要调用的函数必须有main()函数中定义。
C.C语言程序总是从main()函数开始执行。
D.C语言程序中的main()函数必须放在程序的开始部分。
28.以下if语句语法正确的是(D)。
A、if(x>
0)
%f"
x)
elseprintf("
--x);
B、if(x>
{x=x+y;
printf("
x);
-x);
C、if(x>
prinrf("
};
D、if(x>
x)}
29.为了避免在嵌套的条件语句If一else中产生二义性,C语言规定else子句总是与
(B)配对。
A、缩排位置相同的if
B、其之前最近的且还没有配对的ifC、之后最近的if
D、同一行上的if
30.一个C程序的执行是从(C)。
A.本程序的main函数开始,到main函数结束
B.本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C.本程序的main函数开始,到本程序文件的最后一个函数结束
D.本程序文件的第一个函数开始,到本