二级C模拟题7.docx

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

二级C模拟题7.docx

《二级C模拟题7.docx》由会员分享,可在线阅读,更多相关《二级C模拟题7.docx(11页珍藏版)》请在冰点文库上搜索。

二级C模拟题7.docx

二级C模拟题7

一、选择题

1.以下叙述不正确的是( )。

A)C语言的执行总是从main函数开始B)一个C源程序必须包含一个main函数

C)C语言程序的基本组成单位是函数D)在编译C程序源程序时,可发现注释中的拼写错误

2.以下( )是错误的整型常量。

  A)-0xcdfB)018C)0xeD)011

3.若有定义:

inta,b;doublex,则以下不符合C语言语法的表达式是( )。

  A)x%(-3)B)a+=-2C)a=b=2D)x=a+b

4.若有定义:

inti,j;则表达式(i=2,j=5,i++,i+j++)的值是( )。

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

5.已有如下定义和输入语句

inta;charc1,c2;

scanf(“%d%c%c”,&a,&c1;&c2);

若要求a、c1、c2的值分别为10、A和B,正确的数据输入是( )。

  A)10ABB)10ABC)10ABD)10AB

6.若希望当a的值为奇数时,表达式的值为“真”,a的值为偶数时,表达式的值为“假”。

则不能满足要求的表达式是( )。

  A)a%2==1B)!

(a%2==0)C)!

(a%2)D)a%2

7.若有定义:

inta=2,b=3;floatx=3.5,y=2.5;则表达式float(a+b)/2+(int)x%(int)y的值为().

A)3.5B)3.0C)2.5D)2.0

8.以下程序的运行结果是( )。

voidmain()

{intn=’e’;

swithc(n--)

{default:

printf(”error”);

case’a’:

case’b’:

printf(”good”);break;

case’c’:

printf(”pass”);

case’d’:

printf(”warn”);

}}

A)errorB)goodC)errorgoodD)warn

9.以下程序的运行结果是( )。

voidmain()

{intsum=0,item=0;

while(item<5)

{item++;

sum+=item;

if(sum==5)break;

}

printf(”%d\n”,sum);

}

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

10.下面程序段的运行结果是( )。

inti=0,a[]={3,4,5,4,3};

do{

a[i]++;

}while(a[++i]<5);

for(i=0;i<5;i++)printf(”%d”,a[i]);

  A)45654B)34543C)45554D)45543

11.若有定义:

inta[2][3];则对数组元素的非法引用是( )。

A)a[0][1/2]B)a[1][1]C)a[4-4][0]D)a[0][3]

12.以下程序段运行后屏幕输出为( )。

charstr[]=”ab\\cd”;

printf(”%d”,strlen(str));

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

13.若有如下函数定义:

  intfun()

{staticintk=0;

return++k;}

以下程序段运行后屏幕输出为( )。

inti;

for(i=1;i<=5;i++)fun();

printf(”%d”,fun());}

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

14.下面程序的输出结果是( )

#include

#defineSQR(x)(x*x)

voidmain()

{inta,b=3;

a=SQR(b+2);

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

}

A)11B)25C)不定值D)产生错误

15.有说明语句:

double*p,a;能通过scanf语句正确给输入项读入数据的程序段是( )。

A)*p=&a;scanf(”%lf”,p);B)*p=&a;scanf(”%lf”,*p);

C)p=&a;scanf(”%lf”,*p);D)p=&a;scanf(”%lf”,p);

16.下面程序的输出结果是( )

#include

voidmain()

{inti;

char*s=”abc”;

for(i=0;i<3;i++)printf(”%s\n”,s+i);

}

A)abcB)cC)abcD)a

bcbccab

cabcbcabc

17.以下程序的运行结果是( )。

#include

unionUtype{

inti;

floatf;

}u[2];

voidmain()

{printf(”sizeof(u):

%d\n”,sizeof(u));}

A)2B)4C)6D)8

18.若有如下定义,函数fun的功能是()。

其中head指向链表首结点,整个链表结构如下图:

  head… 

structnode{

intdata;

structnode*next;

};

intfun(structnode*head)

{intn=0;

structnode*t=head;

while(t!

=NULL)

{n++;

t=t->next;}

returnn;

}

A)删除链表head中的所有结点B)计算链表head中结点的个数

C)插入一个元素到链表head中D)创建一个链表head

19.下面程序的输出结果为( )。

#include

voidmain()

{enumWeekday{sun=7,mon=1,tue,wed,thu,fri,sat};

enumWeekdayday=sat;

printf(”%d\n”,day);

}

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

20.以下程序的可执行文件名为cmdline.exe。

#include

#include

voidmain(intargc,char*argv[])

{if(argc!

=2)

{printf(”Youforgottotypeyournameoryoutypedmoreparameters\n”);

exit

(1);}

printf(”Hello%s\n”,argv[1]);

}

在DOS命令行输入:

cmdlineharry<回车>,则输出结果是( )。

A)Youforgottotypeyournameoryoutypedmoreparameters

B)Helloharry

C)Hellocmdline

D)hello

二、改错题(共2小题,每题10分)

1.程序cmody071.c,其功能是从键盘输入三角形的三边长,求其面积,若三个边长不能构成三角形,则提示。

如输入:

6 911输出:

26.98

#include

#include

voidmain()

{floata[3],s,area;

inti;

printf(”Pleaseinput3numbers:

\n”);

for(i=0;i<3;i++)scanf(“%f”,/**//**/);

/**/if(a[0]+a[1]>a[2]||a[1]+a[2]>a[0]||a[0]+a[2]>a[1])/**/

{s=(a[0]+a[1]+a[2])/2;

area=sqrt(s*(s-a[0])*(s-a[1])*(s-a[2]))l

printf(”areais%.2f\n”,area);}

elseprintf(”error.\n”);

getch();

}

2.程序cmody072.c其功能是求解百马百担问题。

  有100匹马,驮100担货,大马驮3担,中马驮2担,两匹小马驮1担,问大、中、小马数可分别为多少?

有多少种解决方案?

#include

#include

/**/voidfun()/**/

{intlarge,middle,small,n=0;

clrscr();

for(large=0;large<=33;large++)

for(middle=0;middle<=50;middle++)

{small=2*(100-3*large-2*middle);

/**/if(large+middle+small=100)/**/

{n++;

printf(”%d-->large:

%d,middle:

%d,small%d\n”,n,large,middle,small);

}

}

returnn;}

voidmain()

{intnum;

num=fun();

printf(”\nThereare%dsolutions.\n”,num);

getch();

}

三、填空题(共3小题,每题8分)

1.补充程序Ccon071.c,对函数

,分别计算

的值。

如x=2.0,则输出:

f(x+8)=86.000f(sinx)=5.008

#include

/**//**/

doublefun(doublex)

{/**//**/

}

voidmain()

{doublex,y1,y2;

clrscr();

printf(“Pleaseinputx:

”);

scanf(“%lf”,&x);

y1=fun(x+8);

y2=fun(/**//**/);

printf(“\nf(x+8)=%.3lf”,y1);

printf(“\nf(sinx)=%.3lf”,y2);

getch();

}

2.补充程序Ccon072.c,计算

,其中m、n为整数且m>n≥0。

#include

doublefun(unsignedm,unsignedn)

{unsignedi;

doublep=1.0;

for(i=1;i<=m;i++)/**//**/

for(i=1;i<=n;i++)/**//**/

for(i=1;i<=m-n;i++)p=p/I;

returnp;

}

voidmain()

{clrscr();

printf(“p=%f\n”,fun(13,7));

getch();

}

3.补充程序Ccon073.c,函数findmax返回数组中的最大元素。

#include

intfindmax(int*array,intsize);

voidmain()

{inta[]={33,91,23,45,56,-12,32,12,5,90};

clrscr();

printf(“Themaxis%d\n”,/**//**/);

getch();

}

intfindmax(int*array,intsize)

{inti,/**//**/;

for(i=1,i

if(array[i]>max)max=array[i];

returnmax;

}

四、编程题(共2小题,每题8分)

1.打开程序cprog071.c,完成其中的f()函数,使其对输入的一个月工资数额,求应交税款,设应交税款的计算公式如下:

例如:

输入:

1825输出:

f(1825)=11.25输入:

2700输出:

f(2700)=85.00输入:

5655输出:

f(5655)=483.25

#include

#include

doublef(floatx)

{/**/

 

/**/

}

voidmain()

{floatx;

doubley;

printf(”Pleaseinputx:

\n”);

scanf(”%f”,&x);

y=f(x);

printf(”f(%.2f)=%.2f\n”,x,y);

getch();

}

2.打开程序cprog072.c,完成其中的fun()函数,使程序输出4阶矩阵A中的各行中0之前的所有正数,遇到0则跳过该行,并计算这些输出正数之和。

如矩阵A为

,则输出1,2,23,32 s=58。

#include

#defineROW4

#defineCOL4

intfun(inta[][COL],introwintb[])

{/**/

 

/**/

}

voidmain()

{intsss=0,b[16]={0};

inta[ROW][COL]={{1,2,-3,-4},{0,-12,-13,14},{-21,23,0,-24},{-31,32,-33,0}};

clrscr();

sss=fun(a,ROW,b);

printf(”\nSumofpositiveelementsis%d\n”,sss);

getch();

}

 

一、选择题

1.D 2.B  3.A  4.B  5.A  6.C  7.A  8.C  9.B  10.D

11.D12.B13.D14.A15.D16.A17.D18.B19.B20.B

二、改错题

1.scanf(“%f”,&a[i]);if(a[0]+a[1]>a[2]&&a[1]+a[2]>a[0]&&a[0]+a[2]>a[1])

2.intfun()if(large+middle+small==100)

三、填空题

1.#includereturn(x*x-2*x+6);sin(x)

2.p*=i;p=p*1.0/i;

3.findmax(a,sizeof(a)/sizeof(int))max=*array或max=array[0]

四、编程题

1.doulbey;

if(x<=1600)y=0;

if(x>1600&&x<=2100)y=(x-1600)*0.05;

if(x>2100&&x<=3100)y=(x-1600)*0.1-25;

if(x>3100)y=(x-1600)*0.15-125;

returny;

2.inti,j,s=0,k=0;

for(i=0;i

for(j=0;j

if(a[i][j]<0)continue;

elseif(a[i][j]==0)break;

else{b[k++]=a[i][j];s=s+a[i][j];}

for(i=0;i

returns;

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

当前位置:首页 > 工程科技 > 纺织轻工业

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

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