福建省二级C模拟题 8.docx
- 文档编号:11845546
- 上传时间:2023-04-05
- 格式:DOCX
- 页数:18
- 大小:41.34KB
福建省二级C模拟题 8.docx
《福建省二级C模拟题 8.docx》由会员分享,可在线阅读,更多相关《福建省二级C模拟题 8.docx(18页珍藏版)》请在冰豆网上搜索。
福建省二级C模拟题8
一、选择题
1.结构化程序设计的三种基本结构是( )。
A)函数结构、分支结构、判断结构B)函数结构、嵌套结构、平行结构
C)顺序结构、分支结构、循环结构D)分支结构、循环结构、嵌套结构
2.以下( )是正确的浮点数。
A)e3B).62C)2e4.5D)123
3.若有定义:
intx=2,y=3;floati;,则以下符合C语言语法的表达式是( )。
A)x=x*3=2B)x=(y==1)C)i=float(x)D)i%(-3)
4.若有定义:
inta,b;则表达式(a=2,b=5,a*2,b++,a+b)的值是( )。
A)7B)8C)9D)10
5.已有如下定义和输入语句
inta,b;
scanf(“%d,%d”,&a,&b);
若要求a、b的值分别为10和20,正确的数据输入是( )。
A)1020B)10,20C)a=10,b=20D)10;20
6.若有定义:
intx=3,y=4,z=5:
则值为0的表达式是( )。
A)’x’&&’y’B)x<=yC)x||y+z&&y-zD)!
((x z||1) 7.若有定义: intb=7;floata=2.5,c=4.7;表达式a+(b/2*(int)(a+c)/2)%4的值是(). A)2.5B)3.5C)4.5D)5.5 8.以下程序的运行结果是( )。 voidmain() {intn=’c’; swithc(n++) {default: printf(”error”);break; case’a’: case’b’: printf(”good”);break; case’c’: printf(”pass”); case’d’: printf(”warn”); }} A)passB)wardC)passwarnD)error 9.以下程序的运行结果是( c)。 voidmain() {intsum=0,item=0; while(item<5) {item++; sum+=item; if(sum>=6)break; } printf(”%d\n”,sum); } A)10B)15C)6D)7 10.下面程序段的运行结果是( )。 inti=0,a[]={7,5,7,3,8,3}; do{ a[i]+=2; }while(a[++i]>5); for(i=0;i<6;i++)printf(”%d”,a[i]); A)9795105B)9593103C)957383D)757383 11.以下数组定义中,正确的是( )。 A)inta[2][]={1,2,3,4,5};B)inta[][2]={{0},{}}; C)inta[2][2]={{1,2},{3}};D)inta[][]={1,2,3,4}; 12.以下程序段运行后屏幕输出为( )。 charstr[80];strcpy(str,”hello”);printf(”%d”,strlen(str)); A)5B)6C)7D)80 13.下面程序的输出结果是( )。 #include intglobal=100; fun() {intglobal=5; return++global;} voidmain() {printf(“%d\n”,fun());} A)100B)101C)5D)6 14.下面程序的输出结果是( ) #include #defineONE1 #defineTWOONE+1 #defineTHREETWO+1 voidmain() {printf(”%d\n”,THREE-ONE);} A)产生错误B)1C)2D)3 15.在16位编译系统上,若有定义inta[]={10,20,30},*p=&a;当执行p++;后下列叙述错误的是( )。 A)p=向高地址移了一个字节B)p与a+1等价 C)语句printf(”%d”,*p);输出20D)p指向数组元素a[1] 16.下面程序的输出结果是( ) #include voidmain() {char*str=”12345”,*ps=str+4; printf(”%c\n”,ps[-4]);} A)1B)2C)3D)错误 17.以下程序的运行结果是( )。 #include unionUtype{ inti; floatf; }; struct{ charch[2]; inti; unionUtpyeu; }a; voidmain() {printf(”sizeof(a): %d\n”,sizeof(a));} A)5B)6C)7D)8 18.若有如下定义,函数fun的功能是()。 其中head指向链表首结点,整个链表结构如下图: head… structnode{ intdata; structnode*next; }; voidfun(structnode*head) {structnode*t=head; while(t! =NULL) {if(t->data%2==0)printf(“%d”,t->data); t=t->next;} } A)遍历链表head,输出表中值为偶数的元素B)建立一个只有表头结点的链表head C)删除链表head中的第一个结点D)插入一个元素到链表head中 19.若有以下类型说明,叙述正确的是( )。 typedefstruct {intnum; char*name; intscore; }STU,*PSTU; A)STU是变量名B)PSTU是变量名 C)PSTU是指向结构体类型STU的指针类型名D)类型说明语句有错误 20.对下面程序正确的描述是( )。 #include #include voidmain() {FILE*in,*out; if((in=fopen(“infile.txt”,”r”))==NULL) {printf(“cannotopeninfile\n”); exit(0);} if((in=fopen(“outfile.txt”,”w”))==NULL) {printf(“cannotopeninfile\n”); exit(0);} while(! feof(in))fputc(fgetc(in),out); fclose(in); fclose(out); } A)程序实现在屏幕上显示磁盘文件infile.txt的内容 B)程序实现将两个磁盘文件infile.txt和outfile.txt的内容合二为一 C)程序实现将磁盘文件infile.txt复制到磁盘文件outfile.txt D)程序实现将两个磁盘文件合并并在屏幕上输出 二、改错题(共2小题,每题10分) 1.程序cmody081.c,其功能是求一堆零件的总数(100到200之间)。 如果分成4个零件一组的若干组,则多2个零件;若分成7个零件一组,则多3个零件;若分成9个零件一组,则多5个零件。 #include voidmain() {inti; /**/for(i=100;i<200;i++);/**/ if((i-2)%4==0) if(! ((i-3)%7)) if(i%9==5)printf(”%d\n”,/**/&I/**/); getch(); } 2.程序cmody082.c其功能是交换两个变量的值。 如 输入: 23 输出: Original: a=2b=3Resulta=3b=2 #include /**/voidswap(intp1,intp2)/**/ {inttemp; temp=*p1; /**/p1=p2;/**/ *p2=temp; } voidmain() {inta,b; printf(”Pleaseinput2number: \n”); scanf(”%d%d”,&a,&b); printf(”\nOriginal: a=%db=%d\n”,a,b); swap(&a,&b); printf(”\nResult: a=%db=%d\n”,a,b); getch(); } 三、填空题(共3小题,每题8分) 1.补充程序Ccon081.c,根据输入的整数m(m>=0)值,计算 #include unsignedsum(unsignedn) {unsignedi,/**//**/ for(i=1;i<=n;i++)sum+=i; /**//**/ } voidmain() {intm; clrscr(); printf(”Pleaseinputaunsignedinteger: ”); scanf(“%d”,&m); while(m<0){ printf(”Pleaseinputaunsignedinteger: ”); scanf(“%d”,&m); } printf(”\nThesumis%d\n”,/**//**/); getch(); } 2.补充程序Ccon082.c,使其实现将一个字符串str的内容反向存储。 #include #include voidmain() {inti,j; charstr[]=”1234567”,/**//**/; for(i=0,/**//**/;i {k=str[i];str[i]=str[j];str[j]=k;} clrscr(); printf(“%s\n”,str); getch(); } 3.补充程序Ccon083.c,实现将结构体数组mystudent中存储的各学生信息按其学号的升序排列,并输出排序后各个学生的信息。 #include #include typedefstruct{ intnum; charname[20],sex[2]; intage,score; }STU; STUmystudent[]={ {1111,”Zhangqiang”,”m”,20,80},{2104,”Liminghong”,”w”,18,82}, {3121,”Wangxingda”,”m”,21,78},{1456,”Wuminghong”,”w”,35,86} }; voidsort(STU*ps,intsize) {inti,flag,pass; /**//**/ for(pass=1;pass {flag=0; for(i=0;i if(/**//**/) {flag+=1; temp=ps[i];ps[i]=ps[i+1];ps[i+1]=temp; } if(/**//**/)break; } } voidmain() {inti,size=sizeof(mystudent)/sizeof(STU); clrscr(); printf(”Students\’informationbeforesort: \n\n”); printf(”NumberNameAgeSexScore\n\n”); for(i=0;i printf(”%-7d%s%10d\t%s%8d\n”,(mystudent+i)->num,(mystudent+i)->name, (mystudent+i)->age,(mystudent+i)->sex,(mystudent+i)->score); sort(mystudent,size); printf(”\nStudents\’informationaftersort: \n\n”); printf(”NumberNameAgeSexScore\n\n”); for(i=0;i printf(”%-7d%s%5d\t%s%7d\n”,(mystudent+i)->num,(mystudent+i)->name, (mystudent+i)->age,(mystudent+i)->sex,(mystudent+i)->score); getch(); } 四、编程题(共2小题,每题8分) 1.打开程序cprog081.c,完成其中的f()函数,使其计算: 如: 输入: -1.2输出: f(-1.200)=0.241输入: 2.4输出: f(2.400)=6.902输入: 6输出: f(6.000)=19.879 #include #include doublef(floatx) {/**/ /**/ } voidmain() {floatx; doubley; printf(”Pleaseinputanumber: \n”); scanf(”%f”,&x); y=f(x); printf(”f(%.3f)=%.3f\n”,x,y); getch(); } 2.打开程序cprog082.c,完成其中的fun()函数,该函数将以指针数组形式存放的n个串升序排列后输出。 注意: 字符串比较函数为strcmp(str1,str2),字符串复制函数为strcpy(str1,str2)。 #include #include voidf(charp[][20],intn); voidmain() {inti; charp[][20]={”abc”,”xabdfg”,”abbd”,”dcdbe”,”cd”}; f(p,5); clrscr(); for(i=0;i<5;i++) printf(”%s\n”,p[i]); getch(); } voidf(charp[][20],intn) {/**/ /**/ } a第一套参考答案: 一、选择题 1.D 2.B 3.A 4.B 5.D 6.B7.A 8.B 9.B 10.B 11.C12.A13.A14.D15.D16.D 17.B18.A19.A20.A 二、改错题 1.j=0;if((str1[i]%2==0)&&(i%2==0)) 2.if((i>10)&&(i%3==0))y+=1.0/i; 三、填空题 1.longintfor 2.(float)a/b;(int) 3.p+nmax<*qnum 四、编程题 1.doubley; y=(1+sin(x)+exp(x))/(1+x); returny; 2.inti,j,k=0,t; for(i=0;i if(a[i]>-20){b[k]=c[k]=a[i];k++;} for(i=0;i for(j=i+1;j if(c[i]>c[j]){t=c[i];c[i]=c[j];c[j]=t;} returnk; 第二套参考答案: 一、选择题 1.B 2.A 3.C 4.A 5.D 6.A 7.AC 8.B 9.D 10.A 11.B12.D13.A14.B15.C 16.B17.B18.D19.A20.A 二、改错题 1.inti,j,k;printf(“*”); 2.intfun()if(cock+hen+chicken==100) 三、填空题 1.403(b*10+a) 2.a=0,b=0;n! =0b++; 3.0num-a 四、编程题 1.doubley; y=(exp(x)+fabs(x-6))/(x+1.3); returny; 2.chart[20]; if(strcmp(a,b)>0){strcpy(t,a);strcpy(a,b);strcpy(b,t);} if(strcmp(a,c)>0){strcpy(t,a);strcpy(a,c);strcpy(c,t);} if(strcmp(b,c)>0){strcpy(t,b);strcpy(b,c);strcpy(c,t);} 第三套参考答案: 一、选择题 1.C 2.D 3.B 4.A 5.B 6.A 7.A 8.B 9.B 10.C 11.D12.D13.D14.A15.B 16.D17.B18.A19.C20.A 二、改错题 1.charch;switch(ch) 2.chartab[4][2]t[j]=tab[i][1]; 三、填空题 1.main()while 2.charstrstr[i]Λ15 3.floataverage(intpa[],intn);pa[k] 四、编程题 1.doubley; if(x<5)y=exp(x)+0.9; elseif(x==5)y=12.5; elsey=((sin(x)-7.8)/(2*x); returny; 2.inti,j,s=0; for(i=101;i<=200;i++) {for(j=2;j if(i%j==0)break; if(j>=i)s++; } returns; 第四套参考答案: 一、选择题 1.C 2.D 3.C 4.B 5.B 6.D 7.A 8.B 9.B 10.B 11.A12.B13.5+3=614.C15.D 16.117.C18.A19.A20.C 二、改错题 1.inti,len,sum=0;if(str1[i]>=’a’&&str[i]<=’z’) 2.scanf(“%d”,&a[i]);for(i=M-1;i>=0;i--) 三、填空题 1.charelseif
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 福建省二级C模拟题 福建省 二级 模拟
![提示](https://static.bdocx.com/images/bang_tan.gif)