2023年二级C模拟题_第1页
2023年二级C模拟题_第2页
2023年二级C模拟题_第3页
2023年二级C模拟题_第4页
2023年二级C模拟题_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

一、选择题以下叙述不对的的是()。A)C语言的执行总是从 main函数开始 B)一个C源程序必须包含一个main函数C)C语言程序的基本组成单位是函数 D)在编译C程序源程序时,可发现注释中的拼写错误2.以下()是错误的整型常量。A)-0xcdf B)018 C)0xe D)0113.若有定义:inta,b;doublex,则以下不符合C语言语法的表达式是()。A)x%(-3) B)a+=-2 C)a=b=2 D)x=a+b4.若有定义:inti,j;则表达式(i=2,j=5,i++,i+j++)的值是()。A)7 B)8 C)9 D)105.已有如下定义和输入语句 inta;charc1,c2; scanf(“%d%c%c”,&a,&c1;&c2); 若规定a、c1、c2的值分别为10、A和B,对的的数据输入是()。A)10AB B)10AB C)10AB D)10AB6.若希望当a的值为奇数时,表达式的值为“真”,a的值为偶数时,表达式的值为“假”。则不能满足规定的表达式是()。A)a%2==1 B)!(a%2==0) C)!(a%2) D)a%27.若有定义:inta=2,b=3;floatx=3.5,y=2.5;则表达式float(a+b)/2+(int)x%(int)y的值为().A)3.5 B)3.0 C)2.5 D)2.08.以下程序的运营结果是()。voidmain() {intn=’e’; swithc(n--) {default:printf(”error”); case’a’: case’b’:printf(”good”);break; case’c’:printf(”pass”); case’d’:printf(”warn”); }} A)error B)good C)errorgood D)warn9.以下程序的运营结果是()。voidmain() {intsum=0,item=0; while(item<5) {item++; sum+=item; if(sum==5)break; } printf(”%d\n”,sum);}A)10 B)15 C)5 D)610.下面程序段的运营结果是()。 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)45654 B)34543 C)45554 D)4554311.若有定义: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)4 B)5 C)6 D)713.若有如下函数定义:intfun() {staticintk=0; return++k;} 以下程序段运营后屏幕输出为()。 inti; for(i=1;i<=5;i++)fun(); printf(”%d”,fun());} A)0 B)1 C)5 D)614.下面程序的输出结果是() #include<stdio.h>#defineSQR(x)(x*x) voidmain() {inta,b=3; a=SQR(b+2); printf(”\n%d”,a); } A)11 B)25 C)不定值 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<stdio.h>voidmain(){inti;char*s=”abc”;for(i=0;i<3;i++)printf(”%s\n”,s+i);} A)abc B)c C)abc D)a bc bc c ab c abc bc abc17.以下程序的运营结果是()。 #include<stdio.h> unionUtype{ inti; floatf; }u[2]; voidmain() {printf(”sizeof(u):%d\n”,sizeof(u));}A)2 B)4 C)6 D)818.若有如下定义,函数fun的功能是()。其中head指向链表首结点,整个链表结构如下图:dataNULLdatadatahead … dataNULLdatadatastructnode{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)创建一个链表head19.下面程序的输出结果为()。 #include<stdio.h> voidmain(){enumWeekday{sun=7,mon=1,tue,wed,thu,fri,sat};enumWeekdayday=sat;printf(”%d\n”,day);}A)7 B)6 C)5 D)420.以下程序的可执行文献名为cmdline.exe。 #include<stdio.h> #include<stdlib.h> 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<stdio.h> #include<math.h> 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<stdio.h> #include<ocnio.h> /**/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<stdio.h> /**//**/ 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<stdio.h> 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<stdio.h> 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<size;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<stdio.h> #include<math.h> 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,32s=58。 #include<stdio.h> #defineROW4 #defineCOL4intfun(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.D2.B3.A4.B5.A6.C7.A8.C9.B10.D11.D 12.B 13.D 14.A 15.

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论