C语言期中试卷

发布 2021-04-23 14:16:28 阅读 4194

(本试卷包括第一卷和第二卷,答卷时间总共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 ...