二级C语言笔试模拟116Word文件下载.docx

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

二级C语言笔试模拟116Word文件下载.docx

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

二级C语言笔试模拟116Word文件下载.docx

a=%d,b=%d"

);

C.当输入一个实型数据时,格式控制部分可以规定小数点后的位数,例如:

%4.2f"

,&

d);

D.当输入数据时,必须指明变量地址,例如:

f);

10、设x、y、t均为int型变量,执行以下语句后,y的值为______。

x=y=3;

t=++x||++y;

A.不定值 

B.4 

C.3 

D.1

11、假定所有变量均已正确说明,以下程序段运行后,x的值是______。

a=b=c=0;

x=35;

if(!

a) 

x--;

elseif(b);

if(c)x=3;

elsex=4;

A.34 

C.35 

D.3

12、在执行以下程序时,为了使输出结果为:

t=4,则给a和b输入的值应满足的条件是______。

main 

()

ints,t,a,b;

scanf("

%d,%d"

a,&

b);

s=1, 

t=1;

if(a>0)s=s+1;

if(a>b)t=s+1;

elseif(a==b) 

t=5;

elset=2*s;

printf("

%d\n"

,t);

}

A.a>b 

B.a<b<0 

C.0<a<b 

D.0>a>b

13、当执行以下程序段时,______。

x=-1;

do{ 

x=x*x;

}while 

(!

x);

A.循环体将执行1次 

B.循环体将执行2次

C.循环体将执行无限次 

D.系统将提示有语法错误

14、以下程序的输出结果是______。

main()

inti,j,x=0;

for 

(i=0;

i<2;

i++)

x++;

for(j=0;

j<3;

j++)

if(j%2) 

continue;

}

x=%d\n"

,x);

A.x=4 

B.x=8 

C.x=6 

D.x=12

15、以下叙述中,正确的是______。

A.do…while语句构成的循环不能用其他语句构成的循环来代替

B.do…while语句构成的循环只能用break语句退出

C.用do…while语句构成的循环,在while后的表达式为非零时结束循环

D.用do…while语句构成的循环,在while后的表达式为零时结束循环

16、以下程序段的while循环执行的次数是______。

intk=0;

while(k=1)k++;

A.无限次 

B.有语法错,不能执行

C.一次也不执行 

D.执行1次

17、以下程序执行后,sum的值是______。

inti, 

sum;

for(i=1;

i<6;

i++) 

sum+=i;

,sum);

B.14 

C.不确定 

D.0

18、下列程序语句中,不正确的是______。

A.maia()

{floata,b,c;

%f,%f"

c=add(a,b);

……

intadd(floatx,floaty)

{……}

B.main()

floatadd(floatx,floaty)

C.floatadd()

maia()

D.floatadd(floatx,floaty)

main()

floata,b,c;

c=add(a,b);

……

19、关于return语句,正确的说法是______。

A.在主函数和其他函数中均可出现

B.必须在每个函数中出现

C.可以在同一个函数中出现多次

D.只能在除主函数之外的函数中出现一次

20、下列叙述中,正确的一条是______。

A.putchar函数可以输出一个字符串

B.在printf("

%c"

,c)函数中,两个c是一样的

C.语句printf("

%d%%"

,1)的输出结果为1%

D.用scar函数输入数据时可以规定精度,例如scanf("

%7.2f"

a)

21、设有以下说明和定义:

typedefunion

longi;

intk[5];

charc;

}DATE;

structdate

intcat;

DATEcow;

doubledog;

}too;

DATEmax;

则下列语句的执行结果是______。

,sizeof 

(structdate) 

+sizeof(max));

A.26 

B.30 

C.18 

D.8

22、以下程序运行后,输出结果是______。

#include<stdio.h>

ss 

(char 

*s)

char*p=s;

while(*.p)p++;

return(p-s);

char*a="

abded"

inti;

i=ss((A);

print 

("

,i);

A.8 

C.6 

D.5

23、若有说明:

long*p,a;

则不能通过scanf语句正确给输入项读入数据的程序段是______。

A.*p=&

a;

%ld"

,p);

B.p=(long*)malloc(8);

C.scanf("

,p=&

a);

D.scanf("

24、以下程序的输出结果是______。

charch[3][4]={"

123"

,"

456"

78"

},*p[3];

inti;

for(i=0;

i<3;

p[i]=ch[i];

%s"

,p[i]);

A.123456780 

B.123456780 

C.12345678 

D.147

25、以下程序的输出结果是______。

#include

char*p1,*p2,str[50]="

ABCDEFG"

p1="

abcd"

p2="

efgh"

strcpy(str+1,p2+1);

strcpy(str+3,p1+3);

,str);

A.AfgdEFG 

B.Abfhd 

C.Afghd 

D.Afgd

26、以下程序的输出结果是______。

charw[][10]={"

ABCD"

EFGH"

IJKL"

MNOP"

),k;

for(k=1;

k<3;

k++) 

%s\n"

,w[k]);

A.ABCD

FGH

KL

M

B.ABCD

EFG

IJ

C.EFG

JK

O

D.EFGH

UKL

27、若输入173253,则以下程序的运行结果为______。

unsigneda;

intn1,n2;

%o"

,getbits(a,4,8));

getbits(value,n1,n2)

unsignedvalue;

int 

n1,n2;

unsignedz;

z=~0;

z=(z>>n1)&

(z<<(16-n2));

z=value&

z;

z=z>>(16-n2);

return(z);

A.173253 

B.6 

D.173

28、若有以下定义,则正确的switch语句是______。

float 

x;

a,b;

A.switch(x)

{case1.0:

*\n"

csse2.0:

**\n"

B.switch(x)

{case1,2:

case3:

C.switch(a+b)

{case1:

\n"

case1+2:

D.switch(a+b);

case2:

29、当a=1、b=3、c=5、d=4时,执行下面一段程序后,x的值为______。

if 

(a<b)

(c<d) 

x=1;

else

(a<c)

(b<d) 

x=2;

else 

x=3;

x=6;

x=7;

A.1 

B.2 

D.6

30、若a、b、c1、c2、x、y均是整型变量,则正确的switch语句是______。

A.swich(a+b);

case1:

y=a+b;

break;

case0:

y=a-b;

case3:

y=b-a,break;

B.switch(a*a+b*b)

C.switcha

casec1:

casec2:

x=a*d;

default:

x=a+b;

D.switch(a-b)

y=a*b;

case4:

case10:

case11:

二、填空题

请将每一个空的正确答案写在序号为【1】~【15】的横线上。

注意:

以命令关键字填空的必须拼写完整。

1、在线性结构中,第一个结点没有前驱结点,其余每个结点有且只有 

【1】 

个前驱结点;

最后一个结点没有后继结点,其余每个结点有且只有 

【2】 

个后继结点。

2、若对长度为90的线性表进行分块查找,其中每块子表长度为9。

如果在索引表查找过程中进行顺序查找,那么平均查找长度为 

【3】 

3、若有以下定义语句,则不移动指针p,并且通过指针p引用值为98的数组元素的表达式是 

【4】 

intw[10]={23,54,10,33,47,98,72,80,61},*p=w;

4、设有以下结构类型说明和变量定义,则变量a在内存所占字节数是 

【5】 

struct 

stud

charnum[6];

ints[4];

doubleave;

a,*p;

5、如果输入'

1'

、'

2'

3'

4'

,则以下程序的运行结果为 

【6】 

#include<stdio.h>

inti,k;

k=0;

i<4;

while

(1)

c=getchar();

if(c>='

0'

&

c<='

9'

) 

k=k*10+c-'

k=%d\n"

,k);

6、若输入12、3、2、5、7,则以下程序的运行结果为 

【7】 

intmax,min;

voidmax_min_value();

inti,number[5];

输入5个整数;

i<5;

number[i]);

maxminvalue(number,5);

max=%d,min=%d\n"

,max,min);

getch();

voidmax_min_value(array,n)

intarray[],n;

int*p;

max=min=*array;

for(p=array+1;

p<array+n;

p++)

if(*p>max)max=*p;

elseif(*p<min)min=*p;

7、以下程序的运行结果为 

【8】 

#defineFORMAT"

%u,%u"

inta[3][4]={1,3,5,7,9,11,13,15,17,19,21,23};

printf(FORMAT,**a,*a[0]);

printf(FORMAT,*(a[0]+1),*&

a[0][1]);

printf(FORMAT,a[1][0],*(*(a+1)+0));

8、若输入21、23、34、11、2、6,则以下程序的运行结果 

【9】 

char+p,num[6];

%d,"

num[i]);

num[5]);

p=&

num[0];

sort(p,6);

for(i=0;

,num[i]);

,num[5]);

sort(p,m)

char*p;

intm;

charchange,*p1,*p2;

i<m/2;

p1=p+i;

p2=p+(m-1-i);

change=*p1;

*p1=*p2;

*p2=change;

9、若输入Ihaveatest.#,则以下程序的运行结果为 

【10】 

FILE*fp;

charstr[100],filename[10];

i=0;

if 

((fp=fopen("

test"

w"

))==NULL)

can 

not 

open 

the 

file!

exit(0);

getchar();

gets(str);

while(str[i]!

='

#'

(str[i]>='

a'

&

str[i]<='

z'

str[i]=str[i]-32;

fputc(str[i],fp);

i++;

fclose(fp);

fp=fopen("

r"

fgets(str,strlen(str)+1,fp);

10、当先后输入1、3、4、12、23时,屏幕上出现 

【11】 

再输入12时,则屏幕上出现 

【12】 

#include 

<stdio.h>

#define 

5

int 

i,j,number,top,bott,min,loca,a[N],flag;

char 

c;

Please 

input 

numbers 

(a[i]>a[i-1])\n"

a[0]);

i=1;

while 

(i<N)

a[i]);

(a[i]>=a[i-1)) 

i++;

for 

i<N;

,a[i]);

flag=1;

(flag)

number);

loca=0;

top=0;

bott=N-1;

((number<a[0])||(number>a[N-1])) 

loca=-1;

while 

((loca==0) 

(top<=bott))

min=(bott+top)/2;

if(number==a[min])

loca=min;

%d 

is 

%dth 

number\n"

,number,loca+1);

(number<a[min]) 

bott=min-1;

top=min+1;

(loca==0||loca==-1) 

in 

list.\n"

,number);

c=getchar();

(c=='

N'

||c=='

n'

flag=0;

11、求任意一个数(用16位二进制码表示)的补码。

{

unsignedinta;

【13】 

%o\n"

,getbits(a));

unsigned 

getbits(value)

unsignedintvalue;

unsignedintz;

z= 

【14】 

(z==0100000)

【15】 

z=value;

return(z);

答案:

1、A  2、A  3、B  4、B  5、B  6、B  7、D  8、A  9、D  10、C  11、B  12、C  13、A  14、B  15、D  16、A  17、C  18、B  19、C  20、C  21、B  22、D  23、A  24、C  25、D  26、D  27、B  28、C  29、B  30、D  

1、[1]1 

[2]1  2、10.5  3、*(p+5)  4、22  5、k=1234  6、max=12,min=2  7、1,1 

3,3 

9,9  8、6,2,11,34,23,21  9、IHAVEATEST.  10、[11]1 

12 

23 

[12]12isthe4thnumber.  11、[13]unsignedintgetbits() 

[14]value&

0100000 

[15]z=~value+1  

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

当前位置:首页 > 人文社科 > 军事政治

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

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