二级C语言笔试真题及答案Word文档下载推荐.docx

上传人:b****5 文档编号:18583142 上传时间:2022-12-28 格式:DOCX 页数:16 大小:27.81KB
下载 相关 举报
二级C语言笔试真题及答案Word文档下载推荐.docx_第1页
第1页 / 共16页
二级C语言笔试真题及答案Word文档下载推荐.docx_第2页
第2页 / 共16页
二级C语言笔试真题及答案Word文档下载推荐.docx_第3页
第3页 / 共16页
二级C语言笔试真题及答案Word文档下载推荐.docx_第4页
第4页 / 共16页
二级C语言笔试真题及答案Word文档下载推荐.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

二级C语言笔试真题及答案Word文档下载推荐.docx

《二级C语言笔试真题及答案Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《二级C语言笔试真题及答案Word文档下载推荐.docx(16页珍藏版)》请在冰豆网上搜索。

二级C语言笔试真题及答案Word文档下载推荐.docx

D)域

11.(11)一下选项中合法的标识符是

A)1_1

B)1-1

C)_11

D)1__

12.(12)若函数中有定义语句:

intk;

A)系统将自动给k赋初值0

B)这是k中的值无定义

C)系统将自动给k赋初值-1

D)这时k中无任何值

13.(13)一下选项中,能用作数据常量的是

A)o115

B)0118

C)1.5e1.5

D)115L

14.(14)设有定义:

intx=2;

一下表达式中,值不为6的是

A)x*=x+1

B)x++,2*x

C)x*=(1+x)

D)2*x,x+=2

ABCD

15.(15)程序段:

intx=12;

doubley=3.141593;

printf("

%d%8.6f"

x,y);

的输出结果是

A)123.141593

B)123.141593

C)12,3.141593

D)123.1415930

16.(16)若有定义语句:

doublex,y,*px,*py;

执行了px=&

x;

py=&

y;

之后,正确的输入语句是

A)scanf("

%f%f"

B)scanf("

&

x,&

y);

C)scanf("

%lf%le"

px,py);

D)scanf("

%lf%lf"

17.(17)以下是if语句的基本形式:

if(表达式) 语句

其中"

表达式"

A)必须是逻辑表达式

B)必须是关系表达式

C)必须是逻辑表达式或关系表达式

D)可以是任意合法的表达式

18.(18)有以下程序

#include <

stdio.h>

main()

{ int x;

  scanf("

%d"

&

x);

  if(x<

=3) ;

 else

  if(x!

=10) printf("

%d\n"

x);

}

程序运行时,输入的值在哪个范围才会有输出结果

A)不等于10的整数

B)大于3且不等于10的整数

C)大于3或等于10的整数

D)小于3的整数

19.(19)有以下程序

{ int a=1,b=2,c=3,d=0;

  if (a==1 &

&

 b++==2)

  if (b!

=2||c--!

=3)

     printf("

%d,%d,%d\n"

a,b,c);

  else printf("

程序运行后输出结果是

A)1,2,3

B)1,3,2

C)1,3,3

D)3,2,1

20.(20)一下程序段中的变量已正确定义

for(i=0;

i<

4;

i++,j++)

   for(k=1;

k<

3;

k++);

 printf("

*"

);

程序段的输出结果是

A)********

B)****

C)**

D)*

21.(21)有以下程序

{ char *s={"

ABC"

};

  do

  { printf("

*s%10);

s++;

  }

  while (*s);

注意:

字母A的ASCII码值为65。

程序运行后的输出结果是

A)5670

B)656667

C)567

D)ABC

22.(22)设变量已正确定义,以下不能统计出一行中输入字符个数(不包含回车符)的程序段是

A)n=0;

while((ch=getchar())!

='

\n'

)n++;

B)n=0;

while(getchar()!

C)for(n=0;

getchar()!

;

n++);

D)n=0;

for(ch=getchar();

ch!

23.(23)有以下程序

{ int a1,a2;

 char c1,c2;

%d%c%d%c"

a1,&

c1,&

a2,&

c2);

  printf("

%d,%c,%d,%c"

a1,c1,a2,c2);

若通过键盘输入,使得a1的值为12,a2的值为34,c1的值为字符a,c2的值为字符b,

程序输出结果是:

12,a,34,b则正确的输入格式是(以下_代表空格,<

CR>

代表回车)

A)12a34b<

B)12_a_34_b<

C)12,a,34,b<

D)12_a34_b<

24.(24)有以下程序

int f(int x,int y)

{ return ((y-x)*x);

{ int a=3,b=4,c=5,d;

  d=f(f(a,b),f(a,c));

d);

B)9

C)8

D)7

25.(25)有以下程序

void fun(char *s)

{ while(*s)

  { if (*s%2==0) printf("

%c"

*s);

    s++;

{ char a[]={"

good"

  fun(a);

\n"

字母a的ASCII码值为97,程序运行后的输出结果是

A)d

B)go

C)god

D)good

26.(26)有以下程序

void fun(int *a,int *b)

{ int *c;

  c=a;

a=b;

b=c;

{ int x=3,y=5,*p=&

x,*q=&

  fun(p,q);

%d,%d,"

*p,*q);

  fun(&

%d,%d\n"

程序运行后输出的结果是

A)3,5,5,3

B)3,5,3,5

C)5,3,3,5

D)5,3,5,3

27.(27)有以下程序

void f(int *p,int *q);

{ int m=1,n=2,*r=&

m;

  f(r,&

n);

%d,%d"

m,n);

void f(int *p,int *q)

{p=p+1;

*q=*q+1;

A)1,3

B)2,3

C)1,4

D)1,2

28.(28)以下函数按每行8个输出数组中的数据

void fun(int *w,int n)

{  int i;

   for(i=0;

n;

i++)

   { ____________

%d "

w[i]);

   }

   printf("

下划线出应填入的语句是

A)if(i/8==0)printf("

B)if(i/8==0)continue;

C)if(i%8==0)printf("

D)if(i%8==0)continue;

29.(29)若有以下定义

intx[10],*pt=x;

则对数组元素的正确引用是

A)*&

x[10]

B)*(x+3)

C)*(pt+10)

D)pt+3

30.(30)设有定义:

chars[81];

inti=0;

以下不能将一行(不超过80个字符)带有空格

的字符串正确读入的语句或语句组是

A)gets(s);

B)while((s[i++]=getchar())!

s[i]='

\0'

%s"

s);

D)do{scanf("

s[i]);

}while(s[i++]!

31.(31)有以下程序

{ char *a[]={"

abcd"

"

ef"

gh"

ijk"

int i;

  for(i=0;

i++) printf("

*a[i]);

A)aegi

B)dfhk

C)dfhk

D)abcdefghijk

32.(32)以下选项中正确的语句组是

A)chars[];

s="

BOOK!

"

B)char*s;

s={"

C)chars[10];

D)char*s;

33.(33)有以下程序

int fun(int x,int y)

{ if(x==y) return (x);

  else return((x+y)/2);

{ int a=4,b=5,c=6;

fun(2*a,fun(b,c)));

A)3

B)6

D)12

34.(34)设函数中有整型变量n,为保证其在未赋初值的情况下初值为0,应该选择的存储类别是

A)auto

B)register

C)static

D)auto或register

35.(35)有以下程序

int b=2;

int fun(int *k)

{ b=*k+b;

return (b);

{ int a[10]={1,2,3,4,5,6,7,8},i;

for(i=2;

i++) {b=fun(&

a[i])+b;

b);

A)1012

B)810

C)1028

D)1016

36.(36)有以下程序

#define PT 3.5 ;

#define S(x) PT*x*x ;

{ int a=1,b=2 ;

%4.1f\n"

S(a+b));

A)14.0

B)31.5

C)7.5

D)程序有错无输出结果

37.(37)有以下程序

struct ord

{ int x,y;

 } dt[2]={1,2,3,4};

{ struct ord *p=dt;

%d,"

++p->

程序的运行结果是

A)1,2

C)3,4

D)4,1

38.(38)设有宏定义:

#defineIsDIV(k,n)((k%n==1)?

1:

0)且变量m已正确定义并赋值,

  则宏调用:

IsDIV(m,5)&

IsDIV(m,7)为真时所要表达的是

A)判断m是否能被5或者7整除

B)判断m是否能被5和7整除

C)判断m被5或者7整除是否余1

D)判断m被5和7整除是否都余1

39.(39)有以下程序

{ int a=5,b=1,t;

  t=(a<

<

2)|b;

t);

A)21

B)11

D)1

40.(40)有以下程序

{ FILE *f;

  f=fopen("

filea.txt"

w"

  fprintf(f,"

abc"

  fclose(f);

若文本文件filea.txt中原有内容为:

hello,则运行以上程序后,文件filea.txt的内容为

A)helloabc

B)abclo

C)abc

D)abchello

二、填空题(每空2分,共计30分)

1.

(1)假设用一个长度为50的数组(数组元素的下标从0到49)作为栈的存储空间,栈底

  指针bottom指向栈底元素,栈顶指针top指向栈顶元素,如果bottom=49,top=30(数

  组下标),则栈中具有【1】个元素

输入答案,中间不含空格:

2.

(2)软件测试可分为白盒测试和黑盒测试。

基本路径测试属于【2】测试

3.(3)符合结构化原则的三种基本控制结构是:

选择结构、循环结构和【3】

4.(4)数据库系统的核心是【4】

5.(5)在E-R图中,图形包括矩形框、菱形框、椭圆框。

其中表示实体联系的是【5】框

6.(6)表达式(int)((double)(5/2)+2.5)的值是【6】

7.(7)若变量x,y已定义为int类型且x的值为99,y的值为9,请将输出语句printf(【7】,x/y);

  补充完整,使其输出的计算结果形式为:

x/y=11。

8.(8)有以下程序

{ char c1,c2;

c1);

  while(c1<

65||c1>

90) scanf("

  c2=c1+32;

%c,%c\n"

c1,c2);

程序运行输入65回车后,能否输出结果,结束运行(请回答能或不能)

【8】

9.(9)一下程序运行后的输出结果是【9】

{ int k=1,s=0;

  do{

     if((k%2)!

=0) continue;

 s+=k;

k++;

  }while(k>

10);

s=%d\n"

10.(10)下列程序运行时,若输入labcedf2df<

回车>

输出结果为【10】

{ char a=0,ch;

  while((ch=getch())!

  { if(a%2!

=0&

(ch>

a'

ch<

z'

)) ch=ch-'

+'

A'

    a++;

 putchar(ch);

11.(11)有以下程序,程序执行后,输出结果是【11】

void fun(int *a)

{ a[0]=a[1];

{ int a[10]={10,9,8,7,6,5,4,3,2,1},i;

  for(i=2;

i>

=0;

i--) fun(&

a[i]);

10;

a[i]);

12.(12)请将以下程序中的函数声明语句补充完整。

int 【12】;

{ int x,y,(*p)();

%d%d"

  p=max;

(*p)(x,y));

int max(int a,int b)

{ return (a>

b?

a:

b);

13.(13)以下程序用来判断指定文件是否能正常打开,请填空。

int max(int a,int b);

{ FILE *fp;

  if(((fp=fopen())==【13】))

未能打开文件!

  else

文件打开成功!

14.(14)下列程序的运行结果为【14】

string.h>

struct A

{int a;

 char b[10];

double c;

void f(struct A *t);

{ struct A a={1001,"

ZhangDa"

1098.0};

  f(&

a);

%d,%s,%6.1f\n"

a.a,a.b,a.c);

void f(struct A *t)

{ strcpy(t->

b,"

ChangRong"

15.(15)以下程序把三个NODETYPE型的变量链接成一个简单的链表,并在while循环中输

  出链表结点数据域中的数据,请填空。

#include<

structnode

{intdata;

structnode*next;

typedefstructnodeNODETYPE;

{NODETYPEa,b,c,*h,*p;

a.data=10;

b.data=20;

c.data=30;

h=&

a;

a.next=&

b;

b.next=&

c;

c.next='

p=h;

while(p){printf("

p->

data);

【15】;

}

答案:

序号

正确答案

1

D

2

A

3

C

4

5

6

7

B

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

白盒

43

顺序结构

44

数据库管理系统

45

菱形

46

47

x/y=%d"

48

不能

49

s=0

50

1AbCeDf2dF

51

7777654321

52

max(int a,int b)

53

NULL

54

1001,ChangRong,1098.0

55

p=p->

next

 

(此文档部分内容来源于网络,如有侵权请告知删除,文档可自行编辑修改内容,供参考,感谢您的配合和支持)

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 其它课程

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1