C语言四川省计算机二级笔试真题.docx

上传人:b****6 文档编号:6824583 上传时间:2023-01-10 格式:DOCX 页数:15 大小:18.76KB
下载 相关 举报
C语言四川省计算机二级笔试真题.docx_第1页
第1页 / 共15页
C语言四川省计算机二级笔试真题.docx_第2页
第2页 / 共15页
C语言四川省计算机二级笔试真题.docx_第3页
第3页 / 共15页
C语言四川省计算机二级笔试真题.docx_第4页
第4页 / 共15页
C语言四川省计算机二级笔试真题.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

C语言四川省计算机二级笔试真题.docx

《C语言四川省计算机二级笔试真题.docx》由会员分享,可在线阅读,更多相关《C语言四川省计算机二级笔试真题.docx(15页珍藏版)》请在冰豆网上搜索。

C语言四川省计算机二级笔试真题.docx

C语言四川省计算机二级笔试真题

C32

总共30题共100分

一.单选题(共15题,共37.5分)

1.【题号:

5113】以下能正确进行字符串赋值的是()(2.5分)

A.chars[5]={'a','e','i','o','u'};

B.chars[5];s="good";

C.chars[5];s[5]="abcd";

D.chars[5];s[]="good";

标准答案:

A

2.【题号:

5114】有下面的说明和语句,则输出的结果是()

chara=9,b=020;

printf("%o\n",~a&b<<1);(2.5分)

A.377

B.40

C.32

D.以上答案均不对

标准答案:

B

3.【题号:

5115】若有floatx;则sizeof(x)和sizeof(float)两种描述()(2.5分)

A.都正确

B.都不正确

C.前者正确,后者不正确

D.后者正确,前者不正确

标准答案:

A

4.【题号:

5116】若有代数式,则不正确的C语言表达式是()(2.5分)

A.3*a*e/b*c

B.3*a*e/b/c

C.a/b/c*e*3

D.a*e/c/b*3

标准答案:

A

5.【题号:

5117】下列程序运行的结果是()

main()

{structcmplx

{intx;

inty;

}cnum[2]={1,3,2,7};

printf("%d\n",cnum[0].y/cnum[0].x*cnum[1].x);

}(2.5分)

A.0

B.1

C.3

D.6

标准答案:

D

6.【题号:

5118】若有以下说明和语句,且0=

inta[]={1,2,3,4,5,6,7,8,9,0},*p,i;p=a;(2.5分)

A.*(a+i)

B.a[p-a]

C.p+i

D.*(&a[i])

标准答案:

C

7.【题号:

5119】#defineM2

#defineX(m)((M+2)*m)

则执行语句:

z=2*(M+X(3+2);后,z的值为()(2.5分)

A.44

B.45

C.32

D.33

标准答案:

C

8.【题号:

5120】下列函数定义中,会出现编译错误的是()(2.5分)

A.intfun(intx,inty)

{intz;

z=(x>y)?

x:

y;

returnz;}

B.intfun(intx,inty,int*z)

{z=(x>y)?

x:

y;

returnz;

}

C.intfun(intx,inty)

{return((x>y)?

x:

y);}

D.intfun(intx,inty,int*z)

{*z=(x>y)?

x:

y;}

标准答案:

B

9.【题号:

5121】下面C++的语句()能实现printf("%d%d\n",a,b);的功能(2.5分)

A.cin>>a>>b

B.cin>>a>>b

C.cout<

D.cout<

标准答案:

D

10.【题号:

5122】在如下程序段中的while循环()

intk=0;

while(k=1)k++;(2.5分)

A.有语法错,不能执行

B.无限循环

C.一次都不执行

D.执行一次

标准答案:

B

11.【题号:

5123】下述程序的输出结果是()

#include

voidmain()

{

inty=10;

while(y--);

printf("y=%d",y);

}(2.5分)

A.y=0

B.y=1

C.y=随机值

D.y=-1

标准答案:

D

12.【题号:

5124】若有以下说明:

char*str1="copy",str2[20],*str3="str",*str4,*str5="good";

则错误的串操作语句是()(2.5分)

A.strcpy(str4,str1);

B.strcat(str1,str3);

C.str2="newstr";

D.strcpy(str5,str3);

标准答案:

C

13.【题号:

5125】下面程序运行后,x,y,z的值分别为()voidmain(){intx=0,y=0,z=0;++x||++y||++z;printf("%d%d%d\n",x,y,z);}(2.5分)

A.100

B.000

C.111

D.001

标准答案:

A

14.【题号:

5126】关于C++和C语言学关系描述中,错误的是()(2.5分)

A.C语言与C++是兼容的

B.C++对C语言进行了一些改进

C.C语言是C++的一个子集

D.C++和C语言都是面向对象的

标准答案:

D

15.【题号:

5127】#definef(x)1+x+x*x

#include

voidmain()

{

inta=2,b=3;

printf("%d\n",f(a+b));

}(2.5分)

A.17

B.31

C.13

D.7

标准答案:

A

二.读程序回答问题(共10题,共25分)

16.【题号:

5128】下列程序运行的结果为()。

#include

main()

{intk=0;

charc='A';

do

{switch(c++)

{case'A':

k++;break;

case'B':

k--;

case'C':

k+=2;break;

case'D':

k=k%2;continue;

case'E':

k=k*10;break;

default:

k=k/3;

}

k++;

}while(c<'G');

printf("k=%d",k);}(2.5分)

A.k=1

B.k=2

C.k=3

D.k=4

标准答案:

D

17.【题号:

5129】阅读如下程序:

#include

abc(s,t,k)

int*s,t,*k;

{intp;

for(p=0,*k=p;p

if(s[p]>s[*k])*k=p;

}

main()

{inta[10],i,k;

for(i=0;i<10;i++)

scanf("%d",&a[i]);

abc(a,10,&k);

printf("%d,%d\n",k,a[k]);

}

以上程序的功能是()(2.5分)

A.查询并输出数组中最大值的位置及最大值

B.查询并输出数组中最小值的位置及最小值

C.计算数组中各元素之和

D.计算数组中各元素之乘积

标准答案:

A

18.【题号:

5130】执行下面程序时输入"Iwillpasstheexam!

",其输出结果是()。

#include

intfun(chars[])

{inti=0;

while(s[i]!

='\0')

i++;

returni;}

voidmain()

{chars[81];

printf("Pleaseinputastring:

\n");

scanf("%s",s);

printf("%d\n",fun(s));}(2.5分)

A.5

B.21

C.1

D.17

标准答案:

C

19.【题号:

5131】阅读如下程序:

main()

{charch[2][5]={"6934","8254"},*p[2];

inti,j,s=0;

for(i=0;i<2;i++)

p[i]=ch[i];

for(i=0;i<2;i++)

for(j=0;p[i][j]>'0'&&p[i][j]<='9';j+=2)

s=10*s+p[i][j]-'0';

printf("%d\n",s);

}

程序运行的结果是()(2.5分)

A.6385

B.69825

C.63825

D.693825

标准答案:

A

20.【题号:

5132】下列程序运行的结果为()

#include

fun(intx,inty,int*cp,int*dp)

{*cp=x+y;

*dp=x-y;}

main()

{inta,b,c,d;

a=30;b=50;

fun(a,b,&c,&d);

printf("%d,%d\n",c,d);

getch();}(2.5分)

A.50,30

B.30,50

C.80,-20

D.80,20

标准答案:

C

21.【题号:

5133】阅读程序回答问题:

main()

{inti,j,k,m=0;

for(i=1;i<4;i++)

for(j=1;j<4;j++)

for(k=1;k<4;k++)

m++;

printf("M=%d",m);

}以上程序输出M=()(2.5分)

A.3

B.6

C.9

D.27

标准答案:

D

22.【题号:

5134】下列程序运行的结果为()。

#include

main()

{voidpic(intlen,charc);

inti=4,j;

pic(27,'');

j=i;

pic(i+2*j-1,'*');

putchar('\n');

for(j=2;j>=0;j--)

{pic(30-j,'');

pic(i+2*j,'*');

putchar('\n');

}

}

voidpic(intlen,charc)

{intk;

for(k=1;k<=len;k++)

putchar(c);}(2.5分)

A.

*

***

*****

*******

B.

**********

**********

**********

**********

C.

**********

********

******

****

D.

****

******

********

**********

标准答案:

C

23.【题号:

5135】读下列程序,运行时输入:

Thisisabook!

#include

intchange(char*c,intfg)

{if(*c=='')

return1;

else

if(fg&&*c<='z'&&*c>='a')

*c+='A'-'a';

return0;

}

voidmain()

{

intflag=1;

charch;

do

{ch=getchar();

flag=change(&ch,flag);

putchar(ch);

}while(ch!

='\n');

}程序的运行结果是()(2.5分)

A.THISISABOOK!

B.thisIsABook!

C.ThisIsABook!

D.ThisIsaBook!

标准答案:

C

24.【题号:

5136】下面程序的输出是()。

#include"stdio.h"

intfun(charvalue,intn)

{value>>=n-1;

value&=0x01;

return(value);

}

voidmain()

{charc=13;

printf("%d\n",fun(c,2));

}(2.5分)

A.13

B.1

C.3

D.0

标准答案:

D

25.【题号:

5137】读下列程序,回答问题。

#include"iostream.h"

voidmain()

{char*s="213142";

inta=0,b=0,c=0,d=0;

intk;

for(k=0;s[k];k++)

switch(s[k])

{default:

d++;

case'1':

a++;

case'3':

c++;

case'2':

b++;

}

cout<<"a="<

}该程序的输出结果是()(2.5分)

A.a=4,b=5,c=4,d=1

B.a=4,b=9,c=3,d=1

C.a=3,b=6,c=4,d=1

D.a=8,b=8,c=8,d=8

标准答案:

C

三.程序填空(共5题,共37.5分)

26.【题号:

5138】函数fun的功能是求x的y次方(y>=1),请填空。

doublefun(doublex,inty)

{___;

doublez;

for(i=1,z=1;___;i++)

z=z*x;

___;

}(7.5分)

标准答案:

inti,i<=y,returnz

27.【题号:

5139】下面程序的功能是:

将给定的整数x按指定的位置插入已有的

10个整数序列并输出,插入操作在被调函数insert中完成。

(指定的位置应大于等于0且小于等于10)

#include

voidinsert(___,inti,intx)

{intj;

for(j=9;j>=i;j--)

___;

p[i]=x;}

voidmain()

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

printf("Inputtheinsertingposition,>=0&<=10\n");

scanf("%d",&wz);

printf("Inputainsertingdata\n");

scanf("%d",&x);

___(a,wz,x);

for(i=0;i<=10;i++)

printf("%d",a[i]);}(7.5分)

标准答案:

int*p,p[j+1]=p[j],insert

28.【题号:

5140】下面程序的功能是:

从键盘上输入若干个学生的成绩,统计并

输出最高成绩和最低成绩,当输入负数时结束输入。

请填空。

main()

{floatx,max,min;

scanf("%f",&x);

max=x;

min=x;

while(___)

{if(x>max)max=x;

if(___)min=x;

scanf("%f",&___);}

printf("\nMax=%f\nMin=%f\n",max,min);

}(7.5分)

标准答案:

x>=0,x

29.【题号:

5141】下面程序是利用插入排序法对数组a进行降序排列。

插入排序的

思路是:

先对数组的头两个元素进行排序,然后把第三个元素

插入已排好序的前两个元素,再插入第四个,依次完成全部元

素的插入排序。

请填空。

#include

voidmain()

{inta[10];

inti,j,t;

for(i=0;i<10;i++)

scanf("%d",&a[i]);

for(i=1;i<10;i++)

{t=a[i];

j=___;

while(j>=0&&t>a[j])

{___;

j--;}

___;

}

for(i=0;i<10;i++)

printf("%4d",a[i]);

printf("\n");}(7.5分)

标准答案:

i-1,a[j+1]=a[j],a[j+1]=t

30.【题号:

5142】以下程序是判断输入的字符串是否是"回文"

(顺读和倒读都一样的字符串叫回文,如level),请填空。

#include"stdio.h"

#include"string.h"

voidmain()

{chars[81],*p1,*p2;

intn;

gets(s);

n=strlen(s);

p1=s;

p2=___;

while(___)

{if(*p1!

=*p2)break;

else{p1++;___;}

}

if(p1

elseprintf("Yes\n");

}(7.5分)

标准答案:

s+n-1,p1

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

当前位置:首页 > 工程科技 > 材料科学

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

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