(本试卷包括第一卷和第二卷,答卷时间总共120分钟)
第一卷。说明:
1) 第一卷全部为选择题,每题可供选择的答案中,只有一个正确答案。
2) 答本卷的题目时,要在标准答题纸上编写对应的栏目中,用铅笔在正确答案图黑,在试题上直接勾划者不得分。
3) 本卷共70分,其中第1~26题每题2分,第27~32题每题3分。
第一部分:基础知识(20题,共40分)
1 以下叙述中正确的是。
a)c语言的源程序不必通过编译就可以直接运行。
b)c语言中的每条可执行语句最终都将被转换成二进制的机器指令。
c)c源程序经编译形成的二进制**可以直接运行。
d)c语言中的函数不可以单独进行编译。
2 以下选项中合法的用户标识符是。
a) longb) _2testc) 3dmaxd)
3 已知大写字母a的ascii码值是65,小写字母a的ascii码是97,则用八进制表示的字符常量'\101'是。
a) 字符ab) 字符ac) 字符ed) 非法的常量。
4 以下非法的赋值语句是。
a) n=(i=2,++i); b) jc) +i+1d) x=j>0;
5 设a和b均为double型变量,且a=5.5、b=2.5,则表达式(int)a+b/b的值是。
a) 6.500000 b) 6c) 5.500000 d) 6.000000
6 已知i、j、k为int型变量,若从键盘输入:1,2,3《回车》,使i的值为1、j的值为2、k的值为3,以下选项中正确的输入语句是。
a) scanf("%2d%2d%2d",&i,&j,&k); b) scanf("%d %d %d",&i,&j,&k);
c) scanf("%d,%d,%d",&i,&j,&kd) scanf("i=%d,j=%d,k=%d",&i,&j,&k);
7设有定义:float a=2,b=4,h=3;,以下c语言表达式与代数式计算结果不相符的是。
a) (a+b) *h/2 b) (1/2)*(a+b)*h c) (a+b)*h*1/2 d) h/2*(a+b)
8与数学式子对应的c语言表达式是。
a) 3*x^n(2*x-1b) 3*x**n(2*x-1)
c) 3*pow(x,n)*(1/(2*x-1d) 3*pow(n,x)/(2*x-1)
9 设有定义:long x=-123456l;,则以下能够正确输出变量x值的语句是。
a) printf("x=%d",xb) printf("x=%1d",x);
c) printf("x=%8dl",xd) printf("x=%ld",x);
10 若有以下程序:
main()
int k=2,i=2,m;
m=(k+=i*=k); printf("%d,%d",m,i);
执行后的输出结果是。
a) 8,6b) 8,3c) 6,4d) 7,4
11 已有定义:int x=3,y=4,z=5;,则表达式!(x+y)+z-1 &&y+z/2的值是。
abcd) 1
12 以下选项中,与k=n++完全等价的表达式是。
a) k=n,n=n+1 b) n=n+1,k=n c) k=++nd) k+=n+1
13 下列关于单目运算符++、的叙述中正确的是。
a) 它们的运算对象可以是任何变量和常量。
b) 它们的运算对象可以是char型变量和int型变量,但不能是float型变量。
c) 它们的运算对象可以是int型变量,但不能是double型变量和float型变量。
d) 它们的运算对象可以是char型变量、int型变量和float型变量。
14 若有以下程序段(n所赋的是八进制数)
int m=32767,n=032767;
printf("%d,%o",m,n);
执行后输出结果是。
a) 32767,32767 b) 32767,032767 c) 32767,77777 d) 32767,077777
15 c语言中用于结构化程序设计的三种基本结构是。
a) 顺序结构、选择结构、循环结构 b) if、switch、break
c) for、while、do-whiled) if、for、continue
16 有一函数,,以下程序段中不能根据x值正确计算出y值的是。
a) if(x>0) y=1b) y=0;
else if(x==0) y=0if(x>0) y=1;
else y=-1else if(x<0) y=-1;
c) y=0d) if(x>=0)
if(x>=0if(x>0) y=1;
if(x>0) y=1else y=0;
else y=-1else y=-1;
17 有以下程序段。
int m=0,n=0; char c='a';
scanf("%d%c%d",&m,&c,&n);
printf("%d,%c,%d",m,c,n);
若从键盘上输入:10a10《回车》,则输出结果是:
a) 10,a,10 b) 10,a,10 c) 10,a,0 d) 10,a,0
18 有以下程序。
main()
int a=1,b=2,m=0,n=0,k;
k=(n=b>a)||m=a printf("%d,%d",k,m);
程序运行后的输出结果是。
a) 0,0b) 0,1c) 1,0d) 1,1
19 有定义语句:int x,y;,若要通过scanf("%d,%d",&x,&y);语句使变量x得到数值11,变量y得到数值12,下面四组输入形式中,错误的是。
a) 11 12《回车》 b) 11, 12《回车》 c) 11,12《回车》 d) 11,《回车》
12《回车》
20 设有如下程序段:
int x=2002,y=2003;
printf("%d",(x,y));
则以下叙述中正确的是。
a) 输出语句中格式说明符的个数少于输出项的个数,不能正确输出。
b) 运行时产生出错信息。
c) 输出值为2002
d) 输出值为2003
二第二部分:简单程序(12题,21-26题每题2分,27-32题每题3分,共30分)
21 有以下程序。
main()
int i;
for(i=0;i<3;i++)
switch(i)
执行后输出结果是。
a) 011122b) 012c) 012020 d) 120
22 有以下程序。
main()
int i=1,j=1,k=2;
if((j++|k++)i++)printf("%d,%d,%d",i,j,k);
执行后输出结果是。
a) 1,1,2b) 2,2,1c) 2,2,2d) 2,2,3
23 运行下面程序后,其输出结果是 。
main()
int i=1;
while(i<19)
if(i++%5!=3) continue;
else printf("%d",i);
printf("",i);
a. 257911131517 b. 369121518 c. 491419d. 38131719
24 以下程序段中与语句k=a>b?(b>c?1:0):0; 功能等价的是。
a) if((a>b)&&b>c)) k=1b) if((a>b)||b>c)) k=1;
else k=0else k=0;
c) if(a<=b) k=0d) if(a>b) k=1;
else if(b<=c) k=1else if(b>c) k=1;
else k=0;
25 有以下程序。
main()
int a=5,b=4,c=3,d=2;
if(a>b>c)
printf("%d",d);
else if((c-1>=d)==1)
printf("%d",d+1);
elseprintf("%d",d+2);
执行后输出结果是。
a) 2b) 3c) 4d) 编译时有错,无结果。
26 有以下程序。
main()
int i=10,j=1;
printf("%d,%d",i--,j);
执行后输出结果是。
C语言期中试卷
c语言 课程期中考试试卷 学号姓名成绩 一。在a b c d四个选项中,选择一个正确的答案填入括号内 1 用char定义的变量在ibm pc机中能表示的数的范围是 a 0 255b 0 65535 c 128 127 d 只能存字符,不能存数。2 设有int k 2 则执行printf d k 的输...
c语言期中试卷
c语言程序设计试卷。姓名学号成绩 一 选择题 20分 1 c语言的基本构成单位是 a 函数 b 函数和过程 c 超文本过程 d 子程序。2 一个c语言程序总是从 开始执行。a 主过程 b 主函数 c 子程序 d 主程序。3 c语言的程序一行写不下时,可以 a 用逗号换行 b 用分号换行。c 在任意一...
C语言期中试卷
程序设计基础 c语言 期中测验。学生学号学生姓名 一 选择题 每题2分,共40分 1.语句printf d a 2 b 2 的输出结果是 a a 1 b 5 c 37 d 7 2.下列语句中是,正确的是 d a define a 3.14159 b inxlude c for i 0,i 10 i ...