二级C语言真题Word格式.docx

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

二级C语言真题Word格式.docx

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

二级C语言真题Word格式.docx

A'

b='

B'

;

B)floata=b=10.0;

C)inta=10,*b=&

a;

D)float*a,b=&

(14)下列选项中,不能用作标识符的是

A)_1234_B)_1_2C)int_2_D)2_int_

(15)有以下定义语句doublea,b;

intw;

longc;

若各变量已正确赋值,则下列选项中正确的表达式是

A)a=a+b=b++B)w%(int)a+b)

C)(c+w)%(int)aD)w=a==b;

(16)有以下程序

main()

{intm=3,n=4,x;

x=-m++;

x=x+8/++n;

printf("

%d\n"

x);

}

程序运行后的输出结果是

A)3B)5C)-1D)-2

(17)有以下程序

{chara='

a'

b;

print("

%c,"

++a);

%c\n"

b=a++);

A)b,bB)b,cC)a,bD)a,c

(18)有以下程序

{intm=0256,n=256;

%o%o\n"

m,n);

A)02560400B)0256256C)256400D)400400

(19)有以下程序

{inta=666,b=888;

a,b);

A)错误信息B)666C)888D)666,888

(20)有以下程序

{inti;

for(i=0;

i<

3;

i++)

switch(i)

{

case0:

%d"

i);

case2:

default:

A)022111B)021021C)000122D)012

(21)若x和y代表整型数,以下表达式中不能正确表示数学关系|x-y|<

10的是

A)abs(x-y)<

10 

B)x-y>

-10&

&

x-y<

10

C)!

(x-y)<

-10||!

(y-x)>

D)(x-y)*(x-y)<

100

(22)有以下程序

inta=3,b=4,c=5,d=2;

if(a>

b)

if(b>

c)

d+++1);

else

++d+1);

d);

A)2B)3C)43D)44

(23)下列条件语句中,功能与其他语句不同的是

A)if(a)printf("

elseprintf("

y);

B)if(a==0)printf("

C)if(a!

=0)printf("

D)if(a==0)printf("

(24)有以下程序

{inti=0,x=0;

for(;

if(i==3||i==5)continue;

if(i==6)break;

i++;

s+=i;

};

s);

A)10B)13C)21D)程序进入死循环

(25)若变量已正确定义,要求程序段完成求5!

的计算,不能完成此操作的程序段是

A)for(i=1,p=1;

=5;

i++)p*=i;

B)for(i=1;

i++){p=1;

p*=i;

C)i=1;

p=1;

while(i<

=5){p*=i;

i++;

D)i=1;

do{p*=i;

}while(i<

=5);

(26)有以下程序

{chara,b,c,d;

scanf("

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

&

a,&

b,&

c,&

d);

c,%c,%c,%c\n"

a,b,c,d);

}

若运行时从键盘上输入:

6,5,65,66<

回车>

则输出结果是

A)6,5,A,BB)6,5,65,66C)6,5,6,5D)6,5,6,6

(27)以下能正确定义二维数组的是

A)inta[][3];

B)inta[][3]=2{2*3};

C)inta[][3]={};

D)inta[2][3]={{1},{2},{3,4}};

(28)有以下程序

intf(inta)

{returna%2;

}

{ints[8]={1,3,5,2,4,6},i,d=0;

for(i=0;

f(s[i]);

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

A)9B)11C)19D)21

(29)若有以下说明和语句,intc[4][5],(*p)[5];

p=c;

能正确引用c数组元素的是

A)p+1 

B)*(p+3) 

C)*(p+1)+3 

D)*(p[0]+2))

(30)有以下程序 

{inta=7,b=8,*p,*q,*r;

p=&

q=&

b;

r=p;

p=q;

q=r;

%d,%d,%d,%d\n"

*p,*q,a,b);

A)8,7,8,7B)7,8,7,8C)8,7,7,8D)7,8,8,7

(31)s12和s2已正确定义并分别指向两个字符串。

若要求:

当s1所指串大于s2所指串时,执行语句S;

则以下选项中正确的是

A)if(s1>

s2)S;

B)if(strcmp(s1,s2))S;

C)if(strcmp(s2,s1)>

0)S;

D)if(strcmp(s1,s2)>

(32)设有定义语句

intx[6]={2,4,6,8,5,7},*p=x,i;

要求依次输出x数组6个元素中的值,不能完成此操作的语句是

A)for(i=0;

6;

i++)printf("

%2d"

*(p++));

B)for(i=0;

*(p+i));

C)for(i=0;

*p++);

D)for(i=0;

(*p)++);

(33)有以下程序

#include<

stdio.h>

{inta[]={1,2,3,4,5,6,7,8,9,10,11,12,},*p=a+5,*q=NULL;

*q=*(p+5);

printf("

%d%d\n"

*p,*q);

A)运行后报错B)66 

C)611D)510

(34)有以下定义和语句

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

p[0]=a[1];

则*p[0]+1)所代表的数组元素是

A)a[0][1]B)a[1][0]C)a[1][1]D)a[1][2]

(35)有以下程序

{charstr[][10]={"

China"

"

Beijing"

},*p=str;

%s\n"

p+10);

A)China 

B)BejingC)ngD)ing

(36)有以下程序

{chars[]="

ABCD"

*p;

for(p=s+1;

p<

s+4;

p++)printf("

p);

A)ABCD 

B)A 

C)B 

D)BCD

BCD 

CD

CD 

D

D

(37)在函数调用过程中,如果函数funA调用了函数funB,函数funB又调用了函数funA,则

A)称为函数的直接递归调用B)称为函数的间接递归调用

C)称为函数的循环调用 

D)C语言中不允许这样的递归调用

(38)已有定义:

inti,a[10],*p;

则合法的赋值语句是

A)p=100;

B)p=a[5];

C)p=a[2]+2;

D)p=a+2;

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

A)局部变量说明为static存储数,其生存期将得到延长

B)全局变量说明为static存储类,其作用域将被扩大

C)任何存储类的变量在未赋初值时,其值都是不确定的

D)形参可以使用的存储类说明符与局部变量完全相同

(40)设有定义语句:

charc1=92,c2=92;

则以下表达式中值为零的是

A)c1^c2 

B)c1&

c2 

C)~c2 

D)c1|c2

(41)程序中对fun函数有如下说明 

void*fun();

此说明的含义是:

A)fun了数无返回值

B)fun函数的返回值可以是任意的数据类型

C)fun函数的返回值是无值型的指针类型

D)指针fun指向一个函数,该函数无返回值

(42)有以下程序

{chars[]"

Yes\n/No"

*ps=s;

puts(ps+4);

*(ps+4)=0;

puts(s);

程序运行后的输出结果是(选项D中的第一行是空行)

A)n/No 

B)/No 

C)n/NO 

D)

Yes 

Yes 

Yes 

/No

/No 

/NoYes

(43)有以下程序

{unsignedinta;

intb=-1;

a=b;

%u"

a);

A)-1 

B)65535 

C)32767 

D)-32768

(44)有以下程序

voidfun(int*a,inti,intj)

{intt;

if(i<

j)

{t=a[i];

a[i]=a[j];

a[j]=t;

j--;

fun(a,i,j);

{intx[]={2,6,1,8},i;

fun(x,0,3);

4;

x[i]);

\n"

);

A)1268 

B)8621C)8162D)8612

(45)有以下说明和定义语句

structstudent

{intage;

charnum[8];

structstudentstu[3]={{20,"

200401"

},{21,"

200402"

},{10\9,"

200403"

}};

structstudent*p=stu;

以下选项中引用结构体变量成员的表达式错误的是

A)(p++)->

num 

B)p->

numC)(*p).numD)stu[3].age

(46)有以下程序

{intx[]={1,3,5,7,2,4,6,0},i,j,k;

for(j=2;

j>

=i;

j--)

if(x[j+1]>

x[j]){ 

k=x[j];

x[j]=x[j+1];

x[j+1]=k;

for(j=4;

j<

7-i;

j++)

if(x[j+1]>

x[j]){k=x[j];

if(x[j]>

x[j+1]){k=x[j];

8;

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

A)75310246 

B)01234567 

C)76310462 

D)13570246

(47)有如下程序

{FILE 

*fp1;

fp1=fopen("

f1.txt"

w"

fprintf(fp1,"

abc"

fclose(fp1);

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

good,则运行以上程序后文件f1.txt中的内容为

A)goodabc 

B)abcd 

C)abc 

D)abcgood

48~50.以下程序的功能是:

建立一个带有头结点的单向链表,并将存储在数组中的字符依次转储到链表的各个结点中,请从与下划线处号码对应的一组选若中选择出正确的选项。

stdlib.h>

stuctnode

{chardata;

structnode*next;

(48) 

CreatLis(char*s)

{structnode*h,*p,*q);

h=(structnode*)malloc(sizeof(structnode));

p=q=h;

while(*s!

='

\0'

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

p->

data= 

(49) 

q->

next=p;

q= 

(50) 

s++;

p->

next='

returnh;

{charstr[]="

linklist"

structnode*head;

head=CreatLis(str);

...

(48)A)char* 

B)structnode 

C)structnode* 

D)char

(49)A)*s 

B)s 

C)*s++ 

D)(*s)++

(50)A)p->

next 

B)p 

C)sD)s->

next

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

请将每一个空的正确答案写在答题卡【1】至【20】序号的横线上,答在试卷上不得分.

(1)在64位高档微机中,CPU能同时处理 

【1】 

个字节的二进制数据。

(2)E-mail地址由域名和用户名两部分组成,它们之间用@分隔,其中在@后面的部分是 

【2】 

(3)Windows窗口一般由标题栏、菜单栏、控制按钮等部分组成。

为了移动窗口,则要用鼠标拖动 

【3】 

(4)计算机软件分为系统软件和应用软件,UNIX系统属于 

【4】 

(5)在Windows环境下,为了将屏幕内容存入剪贴板,应按 

【5】 

键。

(6)以下程序段的输出结果是 

【6】 

inti=9;

%o\n"

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

【7】 

{inta,b,c;

a=25;

b=025;

c=0x25;

%d 

a,b,c);

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

【8】 

{intp[7]={11,13,14,15,16,17,18};

inti=0,j=0;

7&

p[i]%2==1)j+=p[i++];

j);

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

【9】 

{intx=1,y=0,a=0,b=0;

switch(x)

{case1:

switch(y)

{case0:

a++;

break;

case1:

b++;

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

【10】 

{inta[4][4]={{1,2,3,4},{5,6,7,8},{11,12,13,14},{15,16,17,18}};

inti=0,j=0,s=0;

while(i++<

4)

if(i==2||i==4)continue;

j=0;

do{s+=a[j];

j++;

}while(j<

4);

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

【11】 

main()

{chara[]="

Language"

b[]="

Programe"

char*p1,*p2;

intk;

p1=a;

p2=b;

for(k=0;

k<

=7;

k++)

if(*p1+k)==*(p2+k)}printf("

%c"

*(p1+k))_;

]

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

【12】 

123456789"

inti=0;

p=a;

while(*p)

{if(i%2==0)*p='

*'

p++;

puts(a);

(13)以下程序中,for循环体执行的次数是 

【13】 

#define 

N2

MN+1

KM+1*M/2

for(i=1;

K;

{...}

(14)以下程序通过函数sunFunu求

这里f(x)=x2+1

Thesum=%d\n"

SunFun(10));

SunFun(intn)

intx,s=0;

for(x=0;

x<

=n;

x++) 

s+=F( 

【14】 

returns;

F(intx)

return 

【15】 

(15)以下程序从终端读入数据到数组中,统计其中正数的个数,并计算它们之和。

请填空。

{inti,a[20],sum,count;

sum=count=0;

for(i=0;

20;

i++) 

 

【16】 

fro(i=0;

{if(a>

0)

{count++;

sum+= 

【17】 

sum=%d,count=%d\n"

sum,count);

(16)以下程序中,函数sumColumM的功能是:

求出M行N列二维数组每列元素中的最小值,并计算它们的和值。

和值通过形参传回主函数输出。

M2

N4

voidSumColumMin(inta[M][N],int*sum)

{inti,j,k,s=0;

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

当前位置:首页 > 成人教育 > 远程网络教育

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

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