福建省二级C模拟题 9.docx
- 文档编号:16873435
- 上传时间:2023-07-19
- 格式:DOCX
- 页数:19
- 大小:35.18KB
福建省二级C模拟题 9.docx
《福建省二级C模拟题 9.docx》由会员分享,可在线阅读,更多相关《福建省二级C模拟题 9.docx(19页珍藏版)》请在冰点文库上搜索。
福建省二级C模拟题9
一、选择题
1.对于C语言源程序,以下叙述错误的是( )。
A)可以有空语句B)函数之间是平等的,在一个函数内部不能定义其它函数
C)程序高度时如果没有提示错误,就能得到正确结果D)注释可以出现在语句的前面
2.若有说明语句:
charc=’95’;则变量c包含( )个字符。
A)1B)2C)3D)语法错误
3.设double型变量a,b,c,e均有值;对代数式(3ae)/(bc),不正确的C语言表达式是( )。
A)a/b/c*e*3B)3*a*e/b/cC)3*a*e/b*cD)a*e/c/b*3
4.若有定义:
intm=5,n=3;则表达式(m+1,n+1,(--m)+(n--))的值是( )。
A)6B)7C)8D)9
5.以下程序的运行结果是( )
voidmain()
{inta=65;
charc=’A’;
printf(”%x,%d”,a,c);
}
A)65,aB)41,aC)65,65D)41,65
6.若有定义:
inta=5,b=2,c=1;则表达式a-b A)0B)1C)2D)-1 7.若有定义: inta=6,b=2;charc1=’a’,c2=’b’;则表达式a+b%5+c2-c1的值是(). A)7B)8C)9D)表达式错误 8.以下程序的运行结果是( )。 voidmain() {intn=5; if(n++>=6)printf(”%d\n”,n); elseprintf(”%d\n”,++n); } A)4B)5C)6D)7 9.以下程序的运行结果是( )。 voidmain() {intsum=0,item=0; while(item<5) {item++; if(item==2)continue; sum+=item; } printf(”%d\n”,sum); } A)10B)13C)15D)1 10.下面程序段的运行结果是( )。 inti=0,a[]={1,2,3,4,5}; do{ a[i]+=10; }while(a[++i]>2); for(i=0;i<5;i++)printf(”%d”,a[i]); A)112345B)12345C)1112131415D)1112345 11.若有定义inta[][3]={1,2,3,4,5,6,7,8,9};则表达式sizeof(a)/sizeof(a[0])的值为( )。 A)3B)4C)5D)9 12.若有定义: charstr1[6]=”abcdm”,*ps,*str2=”abcdef”;( )是正确的。 A)strcpy(str1,str2)B)表达式strcmp(str1,str2)的值大于0 C)str1=str2;D)表达式strlen(str1)的值为6 13.下列关于C语言函数的描述中,正确的是( )。 A)函数的定义可以嵌套,但函数的调用不可以嵌套 B)函数的定义不可以嵌套,但函数的调用可以嵌套 C)函数的定义和函数的调用都可以嵌套 D)函数的定义和函数的调用都不可以嵌套 14.以下叙述中正确的是( ) A)预处理命令行必须位于C源程序的起始位置 B)在C语言中,预处理命令行都以”#”开头 C)每个C语言必须在开头包含预处理命令行: #include D)C语言的预处理不能实现宏定义和条件编译的功能 15.下面语句正确的是( )。 A)int*p;*p=20B)char*s=”abcdef”;printf(”%s\n”,s); C)charstr[]=”abcd”;str++;D)charstr[]={’a’,’b’,’c’};printf(”%s”,str); 16.以下程序执行时,输入12345<回车>,输出为: ( ) #include #defineN5 voidmain() {inta[N]; int*p=a; while(p while(p>a)printf(”%d”,*(--p)); } A)54321B)12345C)23451D)43215 17.以下C语言共用体类型数据的描述中,不正确的是( )。 A)共用体变量占的内在大小等于所需内在最大的成员所占的内存 B)共用体类型可以出现在结构体类型定义中 C)在定义共用体变量的同时允许对第一个成员的值进行初始化 D)同一共用体中各成员的首地址不相同 18.下面程序的输出结果是( ) #include #include typedefstructnode{ intdata; structnode*next; }Node; Nodelist[3]={{1,&list[1]},{2,&list[2]},{3,0}}; voidprint(Node*head) {Node*t=head; while(t! =NULL) {printf(“%d”,t->data); t=t->next;} } voidmain() {print(list);} A)123B)012C)013D)230 19.下面程序段的运行结果是( )。 inta=5,b=6 printf(”%d”,a|b); A)5B)6C)7D)8 20.以下叙述中正确的是( )。 A)C语言中的文件是流式文件,因此只能顺序存取数据 B)打开一个已存在的文件进行了写操作后,原有文件中的全部数据必定被覆盖 C)在一个程序中当对文件进行了写操作后,必须先关闭该文件然后再打开,才能读到第1个数据 D)当对文件的写操作完成之后,必须将它关闭,否则可能导致数据丢失 二、改错题(共2小题,每题10分) 1.程序cmody091.c,其功能是计算1至100之间的奇数之和、偶数之和。 #include voidmain() {intb,i; /**/inta=c=0;/**/ /**/for(i=0,i<=10,i+=2)/**/ {a+=i;b=i+1;c+=b;} printf(”totalofevennumbers: %d\n”,a); printf(”totalofoddnumbers: %d\n”,c-11); getch(); } 2.程序cmody092.c其功能是 求满足等式xyz+yzz=520的x,y,z值(其中xyz和yzz分别表示一个三位数)。 #include voidmain() {intx,y,z,I,result=520; for(x=1;x<10;x++) for(y=1;y<10;y++) /**/for(z=1;z<10;z++)/**/ {i=100*x+10*y+z+100*y+10*z+z; /**/if(i=result)/**/printf(”x=%d,y=%d,z=%d\n”,x,y,z); } getch(); } 三、填空题(共3小题,每题8分) 1.补充程序Ccon091.c,输入一个3行3列的整型数组,求其最大值和最小值。 #include #defineROW3 #defineCOL3 voidmain() {inta[ROW][COL],i,j,max,min; clrscr(); printf(”Pleaseinputthe9integer: ”\n); for(i=0;i for(j=0;j scanf(“%d”,&a[i][j]); /**//**/ for(i=0;i for(j=0;j {if(/**//**/)max=a[i][j]; if(a[i][j] } printf(”max=%d\n”,max); printf(”min=%d\n”,min); getch(); } 2.补充程序Ccon092.c,计算s=1+12+123+1234+12345。 #defineN5 #include voidmain() {intt=0,/**//**/,i; for(i=1;i<=N;i++) {t=/**//**/ s+=t; } clrscr(); printf(“\ns=%d\n”,s); getch(); } 3.补充程序Ccon093.c,输出Fibonacci数列的前15项。 Fibonacci数列的计算方法是: fib(n=1),(n=1,2)fin(n)=fib(n-1)+fib(n-2),(n>=3) #include longfib(intn); voidmain() {intk; clrscr(); printf(”Thefirst15dataofFibonacciis: \n\n”); for(k=1;k<=15;k++) printf(”%d”,fib(k)); printf(”\n”); getch(); } 四、编程题(共2小题,每题8分) 1.打开程序cprog091.c,完成其中的f()函数,使其返回方程 的两个根中较大的根,求根公式为: 如: a=1b=5c=6时 则程序输出: Thebiggerrootis-2.00 #include #include doublef(floata,floatb,floatc) {/**/ /**/ } voidmain() {floatx; printf(”Thebiggerrootis%.2f\n”,f(1,5,6)); getch(); } 2.打开程序cprog092.c,完成其中的strcmp1()函数,该函数实现判别两字符串str1和str2的大小。 #include intstrcmp1(constchar*str1,constrchar*str2) {/**/ /**/ } voidmain() {intcom; char*ps1=”uvwx”,*ps2=”uvwxyz”; clrscr(); com=strcmp1(ps1,ps2); if(com>0)printf(”%s>%s”,ps1,ps2); if(com==0)printf(”%s=%s”,ps1,ps2); if(com<0)printf(”%s<%s”,ps1,ps2); getch(); } 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模拟题 福建省 二级 模拟