二级C语言笔试试题Word格式文档下载.docx

上传人:b****5 文档编号:19423677 上传时间:2023-01-06 格式:DOCX 页数:23 大小:22.29KB
下载 相关 举报
二级C语言笔试试题Word格式文档下载.docx_第1页
第1页 / 共23页
二级C语言笔试试题Word格式文档下载.docx_第2页
第2页 / 共23页
二级C语言笔试试题Word格式文档下载.docx_第3页
第3页 / 共23页
二级C语言笔试试题Word格式文档下载.docx_第4页
第4页 / 共23页
二级C语言笔试试题Word格式文档下载.docx_第5页
第5页 / 共23页
点击查看更多>>
下载资源
资源描述

二级C语言笔试试题Word格式文档下载.docx

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

二级C语言笔试试题Word格式文档下载.docx

(13)以下叙述中正确的是( )。

 A)用C程序实现的算法必须要有输入和输出操作

 B)用C程序实现的算法可以没有输出但必须要有输入

 C)用C程序实现的算法可以没有输入但必须要有输出

 D)用C程序实现的算法可以既没有输入也没有输出

14.以下不能定义为用户标识符的是( )。

 A)Main

 B)_0

 C)_int

 D)sizeof

(15)以下选项中,不能作为合法常量的是( )。

 A)1.234e04

 B)1.234e0.4

 C)1.234e+4

 D)1.234e0

(16)数字字符0的ASCII值为48,若有以下程序

main()

{chara='

1'

b='

2'

;

printf("

%c,"

b++);

%d"

b-a);

}

程序运行后的输出结果是( )。

 A)3,2

 B)50,2

 C)2,2

 D)2,50

(17)有以下程序

{intm=12,n=34;

%d%d"

m++,++n);

%d%d"

n++,++m);

程序运行后的输出结果是( )。

 A)12353514

 B)12353513

 C)12343514

 D)12343513

(18)有定义语句:

intb;

charc[10];

则正确的输入语句是( )。

 A)scanf("

%d%s"

&

b,&

c);

 B)scanf("

b,c);

 C)scanf("

b,c);

 D)scanf("

b,&

(19)有以下程序

{intm,n,p;

scanf("

m=%dn=%dp=%d"

m,&

n,&

p);

%d%d%d"

m,n,p);

若想从键盘上输入数据,使变量m中的值为123,n中的值为456,p中的值为789,则正确的输入是( )。

 A)m=123n=456p=789

 B)m=123n=456p=789

 C)m=123,n=456,p=789

 D)123456789

(20)有以下程序

{

inta,b,d=25;

a=d/10%9;

b=a&

&

(-1);

%d,%d"

a,b);

 A)6,1

 B)2,1

 C)6,0

 D)2,0

(21)有以下程序

{inti=1,j=2,k=3;

if(i++==1&

(++j==3||k++==3))

%d%d%d"

i,j,k);

 A)123

 B)234

 C)223

 D)233

(22)若整型变量a、b、c、d中的值依次为:

1、4、3、2。

则条件表达式a<

b?

a:

c<

d?

c:

d的值( )。

 A)1

 B)2

 C)3

 D)4

(23)有以下程序

intp[8]={11,12,13,14,15,16,17,18},i=0,j=0;

while(i++<

7)if(p[i]%2)j+=p[i];

j);

 A)42

 B)45

 C)56

 D)60

(24)有以下程序

{chara[7]="

a0a0"

inti,j;

i=sizeof(a);

j=strlen(a);

%d%d"

i,j);

 A)22

 B)76

 C)72

 D)62

(25)以下能正确定义一维数组的选项是( )。

 A)inta[5]={0,1,2,3,4,5};

 B)chara[]={0,1,2,3,4,5};

 C)chara={'

A'

'

B'

C'

};

 D)inta[5]="

0123"

(26)有以下程序

intf1(intx,inty){return&

nbsp;

x>

y?

x:

y;

intf2(intx,inty){returnx>

y:

x;

{inta=4,b=3,c=5,d=2,e,f,g;

e=f2(f1(a,b),f1(c,d));

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

g=a+b+c+d-e-f;

%d,%d%d"

e,f,g);

 A)4,3,7

 B)3,4,7

 C)5,2,7

 D)2,5,7

(27)已有定义:

chara[]="

xyz"

b[]={'

x'

y'

z'

以下叙述中正确的是( )。

 A)数组a和b的长度相同

 B)a数组长度小于b数组长度

 C)a数组长度大于b数组长度

 D)上述说法都不对

(28)有以下程序

voidf(int*x,int*y)

{intt;

t=*x;

*x=*y;

*y=t;

{inta[8]={1,2,3,4,5,6,7,8},i,*p,*q;

p=a;

q=&

a[7];

while(p<

q)

f(p,q);

p++;

q--;

for(i=0;

i<

8;

i++)

%d,"

a[i]);

 A)8,2,3,4,5,6,7,1,

 B)5,6,7,8,1,2,3,4,

 C)1,2,3,4,5,6,7,8,

 D)8,7,6,5,4,3,2,1,

(29)有以下程序

inta[3][3],*p,i;

p=&

a[0][0];

9;

p[i]=i;

3;

a[1][i]);

 A)012

 B)123

 C)234

 D)345

(30)以下叙述中错误的是( )。

 A)对于double类型数组,不可以直接用数组名对数组进行整体输入或输出

 B)数组名代表的是数组所占存储区的首地址,其值不可改变

 C)当程序执行中,数组元素的下标超出所定义的下标范围时,系统将给出“下标越界”的出错信息

 D)可以通过赋初值的方式确定数组元素的个数

(31)有以下程序

#defineN20

fun(inta[],intn,intm)

{inti,j;

for(i=m;

i>

=n;

i--)

a[i+1]=a[i];

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

fun(a,2,9);

5;

%d"

 A)10234

 B)12344

 C)12334

 D)12234

(32)有以下程序

{inta[3][2]={0},(*ptr)[2],i,j;

2;

{ptr=a+i;

ptr);

ptr++;

for(j=0;

j<

j++)

%2d"

a[i][j]);

"

);

若运行时输入:

123<

回车>

则输出结果为( )。

 A)产生错误信息

 B)10

  20

  00

 C)12

  30

 D)10

  20

(33)有以下程序

prt(int*m,intn)

inti;

n;

m[i]++;

inta[]={1,2,3,4,5},i;

prt(a,5);

程序运行后的输出结果是:

( )。

 A)1,2,3,4,5,

 B)2,3,4,5,6,

 C)3,4,5,6,7,

 D)2,3,4,5,1,

(34)有以下程序

{inta[]={1,2,3,4,5,6,7,8,9,0},*p;

for(p=a;

p<

a+10;

p++)

*p);

 A)1,2,3,4,5,6,7,8,9,0,

 B)2,3,4,5,6,7,8,9,10,1,

 C)0,1,2,3,4,5,6,7,8,9,

 D)1,1,1,1,1,1,1,1,1,,1,

(35)有以下程序

#defineP3

#defineF(intx){return(P*x*x);

F(3+5));

 A)192

 B)29

 C)25

 D)编译出错

(36)有以下程序

intc=35;

printf("

c&

 A)0

 B)70

 C)35

 D)1

(37)以下叙述中正确的是( )。

 A)预处理命令行必须位于源文件的开头

 B)在源文件的一行上可以有多条预处理命令

 C)宏名必须用大写字母表示

 D)宏替换不占用程序的运行时间

(38)若有以下说明和定义

uniondt

inta;

charb;

doublec;

}data;

以下叙述中错误的是( )。

 A)data的每个成员起始地址都相同

 B)变量data所占内存字节数与成员c所占字节数相等

 C)程序段:

data.a=5;

%f"

data.c);

输出结果为5.000000

 D)data可以作为函数的实参

(39)以下语句或语句组中,能正确进行字符串赋值的是( )。

 A)char*sp;

*sp="

right!

"

 B)chars[10];

s="

 C)chars[10];

*s="

 D)char*sp="

(40)设有如下说明

typedefstructST

longa;

charc[2];

}NEW;

则下面叙述中正确的是( )。

 A)以上的说明形式非法

 B)ST是一个结构体类型

 C)NEW是一个结构体类型

 D)NEW是一个结构体变量

(41)有以下程序

inta=1,b;

for(b=1;

b<

=10;

b++)

if(a>

=8)break;

if(a%2==1){a+=5;

continue;

a-=3;

b);

 A)3

 B)4

 C)5

 D)6

(42)有以下程序

chars[]="

159"

*p;

p=s;

%c"

*p++);

 A)15

 B)16

 C)12

 D)59

(43)有以下函数

fun(char*a,char*b)

while((*a!

='

'

)&

(*b!

(*a==*b))

{a++;

b++;

return(*a-*b);

该函数的功能是( )。

 A)计算a和b所指字符串的长度之差

 B)将b所指字符串复制到a所指字符串中

 C)将b所指字符串连接到a所指字符串后面

 D)比较a和b所指字符串的大小

(44)有以下程序

intnum[4][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12},{13,14,15,16}},i,j;

4;

for(j=1;

=i;

j++)printf("

'

for(j=j<

%4d"

num[i][j]);

若要按以下形式输出数组右上半三角

1234

678

1112

16

则在程序下划线处应填入的是( )。

 A)i-1

 B)i

 C)i+1

 D)4-i

(45)有以下程序

point(char*p)

p+=3;

{charb[4]={'

a'

b'

c'

d'

},*p=b;

point(p);

%c"

 A)a

 B)b

 C)c

 D)d

(46)程序中若有如下的说明和定义语句

charfun(char*);

char*s="

one"

a[5]={0},(*f1)()=fun,ch;

……

以下选项中对函数fun的正确调用语句是( )。

 A)(*f1)(a);

 B)*f1(*s);

 C)fun(&

a);

 D)ch=*f1(s)

(47)有以下结构体说明和变量定义,如图所示,指针pqr分别指向此链表中三个连续结点。

structnode

intdata;

structnode*next;

}*p,*q,*r;

现要将q所指结点从链表中删除,同时保持链表的连续,以下不能完成指定操作的语句是( )。

 A)p->

next=q->

next;

 B)p->

next=p->

next->

 C)p->

next=r;

 D)p=q->

(48)以下对结构体类型变量td的定义中,错误的是( )。

 A)typedefstructaa

  {

  intn;

  floatm;

   }AA;

  AAtd;

 B)structaa

   }td;

  structaatd;

 C)struct

    }aa;

   structaatd;

 D)struct

  intn;

  floatm;

   }td;

(49)以下与函数fseek(fp,0L,SEEK_SET)有相同作用的是( )。

 A)feof(fp)

 B)ftell(fp)

 C)fgetc(fp)

 D)rewind(fp)

(50)有以下程序

#include"

stdio.h"

voidWriteStr(char*fn,char*str)

FILE*fp;

fp=fopen(fn,"

W"

fputs(str,fp);

fclose(fp);

WriteStr("

t1.dat"

"

start"

end"

程序运行后,文件t1.dat中的内容是( )。

 A)start

 B)end

 C)startend

 D)endrt

填空题(每空2分,共40分)

(1)某二*树中,度为2的结点有  个,则该二*树中有 个叶子结点。

(2)在面向对象的方法中,类的实例称为。

(3)诊断和改正程序中错误的工作通常称为。

(4)在关系数据库中,把数据表示成二维表,每一个二维表称为。

(5)问题处理方案的正确而完整的描述称为.

(6)以下程序运行时若从键盘输入:

102030<

输出结果是

  #include<

stdio.h>

  main()

  {inti=0,j=0,k=0;

   scanf("

%d%*d%d"

i,&

j,&

k);

   printf("

  }

 (7)以下程序运行后的输出结果是

  #defineS(x)4*x*x+1

 {

  inti=6,j=8;

  printf("

S(i+j));

 }

 (8)以下程序运行后的输出结果是

   main()

   {

    inta=3,b=4,c=5,t=99;

    if(b<

a&

a<

c)t=a;

a=c;

c=t;

    if(a<

c&

c)t=b;

b=a;

a=t;

    printf("

a,b,c);

   }

 (9)以下程序运行后的输出结果是

   inta,b,c

   a=10;

b=20;

c=(a%b<

1)||(a/b>

1);

 (10)以下程序运行后的输出结果是0918273645

   charc1,c2;

   for(c1='

0'

c2='

9'

c1<

c2;

c1++,c2--)

%c%c"

c1,c2);

 (11)已知字符A的ASCII代码值为65,以下程序运行时若从键盘输入:

B33<

.输出结果是

  #include"

   chara,b;

   a=getchar();

scanf("

b);

   a=a-'

+'

   b=b*2;

%c%c"

 (12)以下程序中,fun函数的功能是求3行4列二维数组每行元素中的最大值.请填空.br[i]

   voidfun(int,int,int(*)[4],int*)

    {

     inta[3][4]={{12,41,36,28},{19,33,15,27},{3,27,19,1}},b[3],i;

     fun(3,4,a,b);

     for(i=0;

     printf("

b[i]);

    }

   voidfun(intm,intn,intar[][4],int*br)

     inti,j,x;

m;

    {x=ar[i][0];

     for(j=0;

     if(x<

ar[i][j])x=ar[i][j];

     【12】=x;

 (13)以下程序运行后的输出结果是

   voidswap(intx,inty)

   {intt;

   t=x;

x=y;

y=t;

x,y);

  {inta=3,b=4;

  swap(a,b);

 (14)以下程序运行后的输出结果是

string.h"

  voidfun(char*s,intp,intk)

  {inti;

  for(i=p;

k-1;

  s[i]=s[i+2];

  {chars[]="

abcdefg"

  fun(s,3,strlen(s));

  puts(s);

 (15)以下程序运行后的输出结果是

  charch[]="

abc"

x[

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

当前位置:首页 > 工程科技 > 能源化工

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

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