二级C笔试试题及答案Word文件下载.docx

上传人:b****3 文档编号:7314842 上传时间:2023-05-08 格式:DOCX 页数:15 大小:21.85KB
下载 相关 举报
二级C笔试试题及答案Word文件下载.docx_第1页
第1页 / 共15页
二级C笔试试题及答案Word文件下载.docx_第2页
第2页 / 共15页
二级C笔试试题及答案Word文件下载.docx_第3页
第3页 / 共15页
二级C笔试试题及答案Word文件下载.docx_第4页
第4页 / 共15页
二级C笔试试题及答案Word文件下载.docx_第5页
第5页 / 共15页
二级C笔试试题及答案Word文件下载.docx_第6页
第6页 / 共15页
二级C笔试试题及答案Word文件下载.docx_第7页
第7页 / 共15页
二级C笔试试题及答案Word文件下载.docx_第8页
第8页 / 共15页
二级C笔试试题及答案Word文件下载.docx_第9页
第9页 / 共15页
二级C笔试试题及答案Word文件下载.docx_第10页
第10页 / 共15页
二级C笔试试题及答案Word文件下载.docx_第11页
第11页 / 共15页
二级C笔试试题及答案Word文件下载.docx_第12页
第12页 / 共15页
二级C笔试试题及答案Word文件下载.docx_第13页
第13页 / 共15页
二级C笔试试题及答案Word文件下载.docx_第14页
第14页 / 共15页
二级C笔试试题及答案Word文件下载.docx_第15页
第15页 / 共15页
亲,该文档总共15页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

二级C笔试试题及答案Word文件下载.docx

《二级C笔试试题及答案Word文件下载.docx》由会员分享,可在线阅读,更多相关《二级C笔试试题及答案Word文件下载.docx(15页珍藏版)》请在冰点文库上搜索。

二级C笔试试题及答案Word文件下载.docx

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

A)构成C程序的基本单位是函数

B)可以在一个函数中定义另一个函数

C)main()函数必须放在其它函数之前

D)所有被调用的函数一定要在调用之前进行定义

(12)以下选项中合法的实型常数是

A)5E2.0B)E-3C).2E0D)1.3E

(13)以下选项中合法的用户标识符是

A)longB)_2TestC)3DmaxD)A.dat

(14)已知大写字母A的ASCII码值是65,小写字母a的ASCII码是97,则用八进制表示的字符常量‘\101’是

A)字符AB)字符aC)字符eD)非法的常量

(15)以下非法的赋值语句是

A)n=(i=2,++i);

B)j++;

C)++(i+1);

D)x=j>

0;

(16)设a和b均为double型变量,且a=5.5、b=2.5,则表达式(int)a+b/b的值是

A)6.500000B)6C)5.500000D)6.000000

(17)已知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”,&

C)scanf(“%d,%d,%d”,&

D)scanf(“i=%d,j=%d,k=%d”,&

(18)与数学式子对应的C语言表达式是

A)3*x^n(2*x-1)B)3*x**n(2*x-1)

C)3*pow(x,n)*(1/(2*x-1))D)3*pow(n,x)/(2*x-1)

(19)设有定义:

longx=-123456L;

,则以下能够正确输出变量x值的语句是

A)printf(“x=%d\n”,x);

B)printf(“x=%1d\n”,x);

C)printf(“x=%8dL\n”,x);

D)printf(“x=%LD\n”,x);

(20)若有以下程序:

main()

{intk=2,i=2,m;

m=(k+=i*=k);

printf(“%d,%d\n”,m,i);

}

执行后的输出结果是

A)8,6B)8,3C)6,4D)7,4

(21)已有定义:

intx=3,y=4,z=5;

,则表达式!

(x+y)+z-1&

&

y+z/2的值是

A)6B)0C)2D)1

(22)有一函数,,以下程序段中不能根据x值正确计算出y值的是

A)if(x>

0)y=1;

B)y=0;

elseif(x==0)y=0;

if(x>

elsey=-1;

elseif(x<

0)y=-1;

C)y=0;

D)if(x>

=0)

if(x>

=0);

0)y=1;

elsey=0;

elsey=-1;

(23)以下选项中,与k=n++完全等价的表达式是

A)k=n,n=n+1B)n=n+1,k=nC)k=++nD)k+=n+1

(24)以下程序的功能是:

按顺序读入10名学生4门课程的成绩,计算出每位学生的平均分并输出,程序如下:

{intn,k;

floatscore,sum,ave;

sum=0.0;

for(n=1;

n<

=10;

n++)

{for(k=1;

k<

=4;

k++)

{scanf(“%f”,&

score);

sum+=score;

ave=sum/4.0;

printf(“NO%d:

%f\n”,n,ave);

上述程序运行后结果不正确,调试中发现有一条语句出现在程序中的位置不正确。

这条语句是

A)sum=0.0;

B)sum+=score;

C)ave=sun/4.0;

D)printf(“NO%d:

(25)有以下程序段

intn=0,p;

do{scanf(“%d”,&

p);

n++;

}while(p!

=12345&

3);

此处do—while循环的结束条件是

A)P的值不等于12345并且n的值小于3

B)P的值等于12345并且n的值大于等于3

C)P的值不等于12345或者n的值小于3

D)P的值等于12345或者n的值大于等于3

(26)有以下程序

{inta=15,b=21,m=0;

switch(a%3)

{case0:

m++;

break;

case1:

switch(b%2)

{default:

case0:

printf(“%d\n”,m);

程序运行后的输出结果是

A)1B)2C)3D)4

(27)C语言中,函数值类型的定义可以缺省,此时函数值的隐含类型是

A)voidB)intC)floatD)double

(28)若有说明:

intn=2,*p=&

n,*q=p;

,则以下非法的赋值语句是

A)p=q;

B)*p=*q;

C)n=*q;

D)p=n;

(29)有以下程序

floatfun(intx,inty)

{return(x+y);

}

{inta=2,b=5,c=8;

printf(“%3.0f\n”,fun(int)fun(a+c,b),a-c));

A)编译出错B)9C)21D)9.0

(30)有以下程序

voidfun(char*c,intd)

{*c=*c+1;

d=d+1;

printf(“%c,%c,”,*c,d);

{chara=’A’,b=’a’;

fun(&

b,a);

printf(“%c,%c\n”,a,b);

A)B,a,B,aB)a,B,a,BC)A,b,A,bD)b,B,A,b

(31)以下程序中函数sort的功能是对a所指数组中的数据进行由大到小的排序

voidsort(inta[],intn)

{inti,j,t;

for(i=0;

i<

N-1;

I++

for(j=i+1,j<

N;

J++)

if(a[i]}

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

sort(&

aa[3],5);

for(i=o;

10;

i++)print(“%d,”,aa[i]);

printf(‘\n”);

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

C)1,2,3,8,7.6.5.4.9,10D)1,2,10,9,8,7,6,5,4,3

(32)有以下程序

intf(intn)

{if(n==1)return1;

elsereturnf(n-1)+1;

{inti,j=0;

for(i=i;

3;

i++)j+=f(i);

printf(“%d\n”,j);

A)4B)3C)2D)1

(33)有以下程序

{chara[]={‘a’,‘b’,‘c’,‘d’,‘e’,‘f’,‘g’,‘h’,‘\0’};

inti,j;

i=sizeof(a);

j=strlen(a);

printf(“%d,%d\b”i,j);

A)9,9B)8,9C)1,8D)9,8(34)以下程序中函数reverse的功能是将a所指数组中的内容进行逆置。

voidreverse(inta[],intn)

{inti,t;

i

{t=a[i];

a[i]=a[n-1-i];

a[n-1-i]=t;

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

inti,s=0;

reverse(b,8);

for(i=6;

i++)s+=b[i];

printf(“%d\n”,s);

A)22B)10C)34D)30

(35)有以下程序

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

inti,s=0

4;

i++)s+=aa[i][1];

A)11B)19C)13D)20

(36)有以下程序

#include

{char*p=“abcde\Ofghjik\0”;

printf(“%d\n”,strlen(p));

A)12B)15C)6D)5

(37)程序中头文件typel.h的内容是:

#defineN5

#defineM1N*3

程序如下:

#define“type1.h”

#defineM2N*2

{inti;

i=M1+M2;

printf(“%d\n”,i);

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

A)10B)20C)25D)30

(38)有以下程序

{FILE*fp;

inti=20,j=30,k,n;

fp=fopen(“d1.dat”“w”);

fprintf(fp,“%d\n”,i);

fprintf(fp,“%d\n”j);

fclose(fp);

fp=fopen(“d1.dat”,“r”);

fp=fscanf(fp,“%d%d”,&

k,&

n);

printf(“%d%d\n”,k,n);

A)2030B)2050C)3050D)3020

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

A)二进制文件打开后可以先读文件的末尾,而顺序文件不可以

B)在程序结束时,应当用fclose函数关闭已打开的文件

C)在利用fread函数从二进制文件中读数据时,可以用数组名给数组中所有元素读入数据

D)不可以用FILE定义指向二进制文件的文件指针

(40)有以下程序

main(intargc,char*argv[])

{inti,len=0;

for(i=1;

iprintf(“%d\n”,len);

程序编译连接后生成的可执行文件是ex1.exe,若运行时输入带参数的命令行是:

ex1abcdefg10<

则运行的结果是:

A)22B)17C)12D)9

(41)有以下程序

intfa(intx)

{returnx*x;

intfb(intx)

{returnx*x*x;

intf(int(*f1)(),int(*f2)(),intx)

{returnf2(x)-f1(x);

i=f(fa,fb,2);

A)-4B)1C)4D)8

(42)有以下程序

inta=3;

{ints=0;

{inta=5;

s+=a++;

s+=a++;

A)8B)10C)7D)11

(43)有以下程序

voidss(char*s,chart)

{while(*s)

{if(*s==t)*s=t-‘a’+’A’;

s++;

{charstr1[100]=“abcddfefdbd”,c=’d’;

ss(str1,c);

printf(“%s\n”,str1);

A)ABCDDEFEDBDB)abcDDfefDbD

C)abcAAfefAbAD)Abcddfefdbd

(44)有以下程序

structSTU

{charnum[10];

floatscore[3];

};

{structstus[3]={{“20021”,90,95,85},

{“20022”,95,80,75},

{“20023”,100,95,90}},*p=s;

inti;

floatsum=0;

3,i++)

sum=sum+p->

score[i];

printf(“%6.2f\n”,sum);

A)260.00B)270.00C)280.00D)285.00

(45)设有如下定义:

strucksk

{inta;

floatb;

}data;

int*p;

若要使P指向data中的a域,正确的赋值语句是

A)p=&

a;

B)p=data.a;

C)p=&

data.a;

D)*p=data.a;

(46)有以下程序

structNODE

{intnum;

structNODE*next;

{structNODE*p,*Q,*R;

p=(structNODE*)malloc(sizeof(structNODE));

q=(structNODE*)malloc(sizeof(structNODE));

r=(structNODE*)malloc(sizeof(structNODE));

p->

num=10;

q->

num=20;

r->

num=30;

next=q;

q->

next=r;

printf(“%d\n”,p->

num+q->

next->

num);

A)10B)20C)30D)40

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

typedefint*INTEGER;

INTEGERp,*q;

以下叙述正确的是

A)P是int型变量B)p是基类型为int的指针变量

C)q是基类型为int的指针变量D)程序中可用INTEGER代替int类型名

(48)有以下程序

{unsignedchara,b,c;

a=0x3;

b=a|0x8;

c=b<

<

1;

printf(“%d%d\n”,b,c);

A)–1112B)–6–13C)1224D)1122

(49)有以下程序

{char*p,*q;

p=(char*)malloc(sizeof(char)*20);

q=p;

scanf(“%s%s”,p,q);

printf(“%s%s\n”,p,q);

}

若从键盘输入:

abcdef<

,则输出结果是:

A)defdefB)abcdefC)abcdD)dd

(50)以下程序中函数f的功能是将n个字符串按由大到小的顺序进行排序。

voidf(charp[][10],intn)

{chart[20];

I++)

for(j=i+1;

j<

J++

if(strcmp(p[i],p[j])<

0)

{strcpy(t,p[i]);

strcpy(p[i],p[j]);

strcpy(p[j],t);

{charp[][10]={“abc”,“aabdfg”,“abbd”,“dcdbe”,“cd”};

f(p,5);

printf(“%d\n”,strlen(p[0]));

A)6B)4C)5D)3

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

请将答案分别写在答题卡中序号为【1】至【20】的横线上,答在试卷上不得分。

1、计算机软件分为系统软件和应用软件,操作系统属于[1]。

2、在DOS环境下,代表键盘和显示器的设备文件名为[2]。

3、支持Internet基本服务的协议是[3]。

4、从Windows环境进入MS-DOS方式后,返回Windows环境的DOS命令为[4]。

5、某微型机的运算速度为2MIPS,则该微型机每秒执行[5]条指令。

6、设有定义:

intn,*k=&

n;

以下语句将利用指针变量k读写变量n中的内容,请将语句补充完整。

scanf(“%d,”[6]);

printf(“%d\n”,[7]。

);

7、以下程序运行后的输出结果是[8]。

{intx=10,y=20,t=0;

if(x==y)t=x;

x=y;

y=t;

printf(“%d,%d\n”,x,y);

8、以下程序运行后的输出结果是[9]。

{intx=15;

while(x>

10&

x<

50)

{x++;

if(x/3){x++;

elsecontinue;

printf(“%d\n”,x);

9、有以下程序:

{charc;

while((c=getchar())!

=’?

’)putchar(--c);

程序运行时,如果从键盘输入:

Y?

N?

,则输出结果为[10]。

10、以下程序运行后的输出结果是[11]。

voidfun(intx,inty)

{x=x+y;

y=x-y;

x=x-y;

printf(“%d,%d,”,x,y);

{intx=2,y=3;

fun(x,y);

printf(“%d,%d\n”,x,y);

11、以下函数的功能是计算s=1+++……+,请填空。

doublefun(intn)

{doubles=0.0,fac=1.0;

inti;

for(i=1,i<

=n;

i++)

{fac=fac[12];

s=s+fac;

returns;

12fun函数的功能是:

首先对a所指的N行N列的矩阵,找出各行中的最大的数,再求这N个最大值中的最小的那个数作为函数值返回。

请填空。

#defineN100

intfun(int(*a)[N])

{introw,col,max,min;

for(row=0;

row<

ROW++)

{for(max=a[row][0],col=1;

col<

COL++)

if([13])max=a[row][col];

if(row==0)min=max;

elseif([14])min=max;

returnmin;

13、函数sstrcmp()的功能是对两个字符串进行比较。

当s所指字符串和t所指字符串相等时,返回值为0;

当s所指字符串大于t所指字符串时,返回值大于0;

当s所指字符串小于t所指字符串时,返回值小于0(功能等同于库函数strcmp())。

intsstrcmp(char*s,char*t)

{while(*s&

*t&

*s==[15])

{s++;

t++;

return[16];

14、下面程序的运行结果是[17]。

#defineN10

#defines(x)x*x

#definef(x)(x*x)

{inti1,i2;

i1=1000/s(N);

i2=1000/f(N);

printf(“%d%d\n”,i1,i2);

15、下面程序的运行结果是:

[18]。

voidswap(int*a,int*b)

{int*t;

t=a;

a=b;

b=t;

{intx=3,y=5,*p=&

x,*q=&

y;

swap(p,q);

printf(“%d%d\n”,*p,*q);

16、下面程序的运行结果是:

[19]。

typedefunionstudent

{charname[10];

longsno;

charsex;

floatscore[4];

}STU;

{STUa[5];

printf(“%d\n”,sizeof(a));

17、若fp已正确定义为一个文件指针,d1.dat为二进制文件,请填空,以便为“读”而打开此文件:

fp=fopen([20]);

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

当前位置:首页 > 考试认证 > 司法考试

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2