




已阅读5页,还剩15页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
本改错题共有 1道,改错题源文件在考生目录中,请在*下一行将错误改正。不得增行与减行,改正后使程序运行正确存盘即可。改错题的源文件分为:modi1.c,第1题分值为:10分,下列给定程序中函数fun()的功能是计算正整数num的各位上的数字之平方和。例如:输入352,则输出应该是38;若输入328,则输出应该是77。请改正程序中的错误,使它能得到正确结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。#include #include long fun(long num) /*found*/ long k=1; do k+=(num%10)*(num%10); num/=10;/*found*/ while(num) return (k);main() long n; printf(Please enter a number:); scanf(%ld,&n); printf(n%ldn,fun(n);请编一个函数void fun(int ttMN, int ppN), tt指向一个M行N列的二维数组,求出二维数组每列中最大元素,并依次放入pp所指的一维数组中。二维数组中的数已在主函数中给出。注意:部分源程序已给出。请勿改动主函数main和其他函数中的任何内容,否则得不到成绩后果自负,仅在函数fun的花括号中填入所编写的若干语句。此题的源文件在考生目录下,文件名为: prog1.c#include #include #define M 3#define N 4void fun(int ttMN,int ppN) main() FILE *wf; int tMN=68, 32, 54, 12,14, 24, 88, 58,42, 22, 44, 56; int pN,i,j,k; printf(The riginal data is:n); for(i=0;iM;i+) for(j=0;jN;j+) printf(%6d,tij); printf(n); fun(t,p); printf(nThe result is:n); for(k=0;kN;k+) printf(%4d,pk); printf(n); wf=fopen(out.dat,w); for(k=0;kN;k+) fprintf(wf,%4d,pk); fclose(wf);一、选择题答案 1. 若fp是指向某文件的指针,且已读到文件末尾,则库函数feof(fp)的返回值是A) EOFB) 1C) 非零值D) NULL你所选择的答案是:*,正确答案是:C 2. 以下程序的输出结果是main() char w10= ABCD,EFGH,IJKL,MNOP,k; for(k=1;kx);A) 10B) 11C) 51D) 60你所选择的答案是:*,正确答案是:C 5. 以下定义语句中,错误的是A) int a=1,2;B) char *a3;C) char s10= test;D) int n=5,an;你所选择的答案是:*,正确答案是:D 6. 以下选项中,不能正确赋值的是A) char s110;s1=Ctest;B) char s2=C, t, e, s, t;C) char s320=Ctest;D) char *s4=Ctestn你所选择的答案是:*,正确答案是:A 7. 以下程序的输出结果是amovep(int p, int (a)3,int n) int i, j;for( i=0;i;i+)for(j=0;jn;j+) *p=aij;p+; main() int *p,a33=1,3,5,2,4,6;p=(int *)malloc(100);amovep(p,a,3);printf(%d %d n,p2,p5);free(p);A) 56B) 25C) 34D) 程序错误你所选择的答案是:*,正确答案是:A 8. 以下程序的输出结果是int f() static int i=0;int s=1;s+=i; i+;return s; main() int i,a=0;for(i=0;i0;你所选择的答案是:*,正确答案是:C 10. 已有定义:int x=3,y=4,z=5;,则表达式!(x+y)+z-1 & y+z/2的值是A) B) C) D) 你所选择的答案是:*,正确答案是:D 11. 以下选项中,与k=n+完全等价的表达式是A) k=n,n=n+1B) n=n+1,k=nC) k=+nD) k+=n+1你所选择的答案是:*,正确答案是:A 12. 有以下程序main()int a=15,b=21,m=0;switch(a%3)case 0:m+;break;case 1:m+;switch(b%2)default:m+;case 0:m+;break;printf(%dn,m);程序运行后的输出结果是A) 1B) 2C) 3D) 4你所选择的答案是:*,正确答案是:A 13. 若有以下说明和定义typedef int *INTEGER;INTEGER p,*q;以下叙述正确的是A) P是int型变量B) p是基类型为int的指针变量C) q是基类型为int的指针变量D) 程序中可用INTEGER代替int类型名你所选择的答案是:*,正确答案是:B 14. 有以下程序main() unsigned char a,b,c;a=0x3; b=a|0x8; c=b1;printf(%d%dn,b,c);程序运行后的输出结果是A) -11 12B) -6 -13C) 12 24D) 11 22你所选择的答案是:*,正确答案是:D 15. 以下叙述中正确的是()。A) C语言比其他语言高级B) C语言可以不用编译就能被计算机识别执行C) C语言以接近英语国家的自然语言和数学语言作为语言的表达形式D) C语言出现的最晚,具有其他语言的一切优点你所选择的答案是:*,正确答案是:C 16. 在一个C程序中()。A) main函数必须出现在所有函数之前 B) main函数可以在任何地方出现C) main函数必须出现在所有函数之后 D) main函数必须出现在固定位置你所选择的答案是:*,正确答案是:B 17. 有以下程序main() int i; for(i=0;i3;i+) switch(i) case 1: printf(%d,i); case 2: printf(%d,i); default: printf(%d,i); 执行后输出结果是()。A) 011122 B) 012 C) 012020 D) 120你所选择的答案是:*,正确答案是:A 18. 设有如下说明typedef struct int n; char c; double x;STD;则以下选项中,能正确定义结构体数组并赋初值的语句是A) STD tt2=1,A,62,2, B,75;B) STD tt2=1,A,62,2, B,75;C) struct tt2=1,A,2, B;D)structtt2=1,A,62.5,2, B,75.0;你所选择的答案是:*,正确答案是:A 19. 以下选项中可作为C语言合法整数的是()。A)10110B B)0386 C)0Xffa D)x2a2你所选择的答案是:*,正确答案是:C 20. 以下不能定义为用户标识符的是()。A)scanf B)Void C)_3com_ D)int你所选择的答案是:*,正确答案是:D 21. 有定义语句:int x, y;,若要通过scanf(%d,%d,&x,&y);语句使变量x得到数值11,变量y得到数值12,下面四组输入形式中,错误的是()。A)11 12 B)11, 12C)11,12 D)11, 12你所选择的答案是:*,正确答案是:A 22. 有定义语句:int a=1,b=2,c=3,x;,则以下选项中各程序段执行后,x的值不为3的是()。A)if (ca) x=1;else if (ba) x=1;else x=3;C)if (a3) x=3;if (a2) x=2;if (a1) x=1;B)if (a3) x=3; else if (a2) x=2; else x=1;D)if(ab) x=b; if (bc) x=c;if (cy ? x:y; B)int max(int x,y) int z; z=xy ? x:y; return z;C)max(int x,int y) int z;z=xy?x:y; return(z);D)int max(int x,int y) return(xy?x:y); 你所选择的答案是:*,正确答案是:B 26. 有以下程序段main() int a=5,*b,*c;b=&a;c=&b; 程序在执行了c=&b;b=&a;语句后,表达式:*c的值是()。A)变量a的地址 B)变量b中的值 C)变量a中的值 D)变量b的地址你所选择的答案是:*,正确答案是:C 27. 以下4个选项中,不能看作一条语句的是()。A) ; B) a=0,b=0,c=0; C) if(a0); D) if(b=0) m=1;n=2;你所选择的答案是:*,正确答案是:D 28. 有以下程序main( ) int x=0,y=5,z=3; while(z-0&+x5) y=y-1; printf(%d,%d,%dn,x,y,z);程序执行后的输出结果是()。A) 3,2,0 B) 3,2,-1 C) 4,3,-1 D) 5,-2,-5你所选择的答案是:*,正确答案是:B 29. 有以下程序void swap1(int c) int t; t=c0;c0=c1;c1=t;void swap2(int c0,int c1) int t; t=c0;c0=c1;c1=t;main( ) int a2=3,5,b2=3,5; swap1(A) ; swap2(b0,b1); printf(“%d %d %d %dn”,a0,a1,b0,b1);其输出结果是()。A) 5 3 5 3 B) 5 3 3 5 C) 3 5 3 5 D) 3 5 5 3你所选择的答案是:*,正确答案是:B 30. 下面程序的功能是输出以下形式的金字塔图案是: * * * *main( ) int i,j; for(i=1;i=4;i+) for(j=1;j=4-i;j+) printf(“ “); for(j=1;j=_;j+) printf(“*”); printf(“n”); 在下划线处应填入的是()。A) i B) 2*i-1 C) 2*i+1 D) i+2你所选择的答案是:*,正确答案是:B 31. 有以下程序 main() int i; for(i=0;i3;i+) switch(i) case 0:printf(%d,i); case 2:printf(%d,i); default:printf(%d,i); 程序运行后的输出结果是 ()。A)022111B)021021C)000122D)012 你所选择的答案是:*,正确答案是:C 32. 有以下程序 #include main() int a=1,2,3,4,5,6,7,8,9,10,11,12,*p=a+5,*q=NULL; *q=*(p+5); printf(%d %dn,*p,*1); 程序运行后的输出结果是()。A)运行后报错 B)6 6C)6 11D)5 10 你所选择的答案是:*,正确答案是:A 33. 37.在函数调用过程中,如果函数funA调用了函数 funB,函数funB又调用了函数funA,则()。A)称为函数的直接递归调用 B)称为函数的间接递归调用C)称为函数的循环调用 D)C语言中不允许这样的递归调用你所选择的答案是:*,正确答案是:B 34. 以下叙述中正确的是 ()。A)局部变量说明为static存储数,其生存期将得到延长B)全局变量说明为static存储类,其作用域将被扩大C)任何存储类的变量在未赋初值时,其值都是不确定的D)形参可以使用的存储类说明符与局部变量完全相同你所选择的答案是:*,正确答案是:A 35. 有以下程序 main() char s=Yesn/No,*ps=s; printf(%s,ps+4); *(ps+4)=0; printf(%s,s); 程序运行后的输出结果是 ()。A)/No,YesB)/No,/NoC)n/NO,YesD) Yes,Yes你所选择的答案是:*,正确答案是:A 36. 以下选项中,不能作为合法常量的是 ()。A)1.234e04B)1.234e0.4C)1.234e+4D)1.234e0你所选择的答案是:*,正确答案是:B 37. 已有定义:char a=xyz,b=x,y,z;,以下叙述中正确的是 ()。A)数组a和b的长度相同B)a数组长度小于b数组长度C)a数组长度大于b数组长度D)上述说法都不对你所选择的答案是:*,正确答案是:C 38. 有以下程序main()int a=1,b;for(b=1;b=8) break;if(a%2=1) a+=5; continue;a-=3;printf(%d ,b);程序运行后的输出结果是 ()。A)3B)4C)5D)6你所选择的答案是:*,正确答案是:B 39. 程序中若有如下的说明和定义语句char fun(char *);main()char *s=one,a5=0,(*f1)()=fun,ch;以下选项中对函数fun的正确调用语句是()。 A)(*f1)(a);B)*f1(*s);C)fun(&a);D)ch=*f1(s)你所选择的答案是:*,正确答案是:A 40. 以下叙述中错误的是()。 A)C语句必须以分号结束 B)复合语句在语法上被看作一条语句 C)空语句出现在任何位置都不会影响程序运行 D)赋值表达式末尾加分号就构成赋值语句你所选择的答案是:*,正确答案是:C 41. 设变量已正确定义,则以下程序不能正确计算f = n!的程序段是()。A) f=1;for(i=1;i=n;i+) f*=i;B) f=0; for(i=1;i1;i-) f=f*i;D) f=1; for(i=n;i=2;i-) f=f*i你所选择的答案是:*,正确答案是:B 42. 若有定义:int x=0, *p=&x;,则语句printf(%dn,*p);的输出结果是()。A)随机值 B)0 C)x的地址 D)p的地址你所选择的答案是:*,正确答案是:B 43. 有以下程序void sum(int a) a0 = a1+a2;main() int a10=1,2,3,4,5,6,7,8,9,10; sum(&a2); printf(%dn, a2);程序运行后的输出结果是()。 A)6 B)7 C)8 D)9你所选择的答案是:*,正确答案是:D 44. 有以下程序 # include void f(char *s, char *t) char k; k=*s; *s=*t; *t=k; s+; t-; if (*s) f(s, t); main() char str10=abcdefg, *p ; p=str+strlen(str)/2+1; f(p, p-2); printf(%sn,str); 程序运行后的输出结果是()。 A)abcdefg B)gfedcba C)gbcdefa D)abedcfg你所选择的答案是:*,正确答案是:B 45. 执行以下程序后,test.txt文件的内容是(若文件能正常打开) #include main() FILE *fp; char *s1=Fortran,*s2=Basic; if(fp=fopen(test.txt,wb)=NULL) printf(Cant open test.txt filen); exit(1); fwrite(s1,7,1,fp); /*把从地址s1开始的7个字符写到fp所指文件中*/ fseek(fp,0L,SEEK_SET); /*文件位置指针移到文件开头*/ fwrite(s2,5,1,fp); fclose(fp); A)Basican B)BasicFortran C)Basic D)FortranBasic 你所选择的答案是:*,正确答案是:A 46. 有以下程序main()int a=0,b=0;a=10; /*给a赋值b=20; 给b赋值 */printf(a+b=%dn,a+b); /* 输出计算结果 */ 程序运行后输出结果是_。A)a+b=0B)a+b=30 C)30D)出错你所选择的答案是:*,正确答案是:B 47. 若有定义:int w35;,则以下不能正确表示该数组元素的表达式是_。A)*(*w+3)B)*(w+1)4 C)*(*(w+1)D)*(&w00+1)你所选择的答案是:*,正确答案是:A 48. 有以下程序main() int x32=0,i; for(i=0;i3;i+) scanf(%d,xi); printf(%3d%3d%3dn,x00,x01,x10); 若运行时输入:2 4 6,则输出结果为_。A)2 0 0B)2 0 4 C)2 4 0D)2 4 6你所选择的答案是:*,正确答案是:B 49. 有以下程序#include #define N 5#define M N+1#define f(x) (x*M)main()int i1,i2; i1=f(2); i2=f(1+1); printf(%d %dn,i1,i2);程序的运行结果是_。A)12 12B)11 7 C)11 11D)12 7你所选择的答案是:*,正确答案是:B 50. 若有定义语句:int a=3,b=2,c=1;,以下选项中错误的赋值表达式是A)a=(b=4)=3; B)a=b=c+1;C)a=(b=4)+c; D)a=1+(b=c=4);你所选择的答案是:*,正确答案是:A 51. 有以下程序#include stdio.hmain() int x=011;printf(%dn,+x);程序运行后的输出结果是A)12 B)11 C)10 D)9你所选择的答案是:*,正确答案是:C 52. 若i和k都是int类型变量,有以下for语句for(i=0,k=-1;k=1;k+) printf(*n);下面关于语句执行情况的叙述中正确的是A)循环体执行两次B)循环体执行一次C)循环体一次也不执行D)构成无限循环你所选择的答案是:*,正确答案是:D 53. 若有定义语句:char s310,(*k)3,*p;,则以下赋值语句正确的是A)p=s; B)p=k; C)p=s0; D)k=s;你所选择的答案是:*,正确答案是:C 54. 有以下程序#include stdio.hvoid fun(char *c) while(*c) if(*c=a&*c=z) *c=*c-(a-A);c+;main() char s81;gets(s); fun(s); puts(s);当执行程序时从键盘上输入Hello Beijing,则程序的输出结果是A)hello beijing B)Hello Beijing C)HELLO BEIJING D)hELLO Beijing你所选择的答案是:*,正确答案是:C 55. 设fp已定义,执行语句fp=fopen(file,w);后,以下针对文本文件file操作叙述的选项中正确的是A)写操作结束后可以从头开始读 B)只能写不能读C)可以在原有内容后追加写 D)可以随意读和写你所选择的答案是:*,正确答案是:B 56. 若变量已正确定义,在if(W) printf(%dn,k);中,以下不可替代W的是A)ab+cB)ch=getchar()C)a=b+cD)a+你所选择的答案是:*,正确答案是:A 57. 有以下程序#includeint f(int x);main()int n=1,m;m=f(f(f(n);printf(%dn,m);int f(int x)return x*2;程序运行后的输出结果是A)1B)2C)4D)8你所选择的答案是:*,正确答案是:D 58. 下列定义数组的语句中,正确的是A)int N=10; int xN; B)#define N 10 int xN;C)int x0.10;D)int x;你所选择的答案是:*,正确答案是:B 59. 有以下程序( strcat函数用以连接两个字符串)#include#includemain()char a20=ABCD0EFG0,b=IJK;strcat(a,b);printf(%sn,a);程序运行后的输出结果是A)ABCDEOFGOIJKB)ABCDIJKC)IJKD)EFGIJK你所选择的答案是:*,正确答案是:B 60. 若有以下语句typedef struct Sint g; char h;T;以下叙述中正确的是A)可用
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年机械安全操作指南与试题
- 桥梁墩柱施工知识培训课件
- 2025年会计基础技能考核预测试题及答案公布
- 2026届贵州省毕节市赫章县高三化学第一学期期末联考试题含解析
- 2025年篮球能力测试题及答案
- 2025年环保企业项目经理招聘笔试预测试题集
- 2025篮球明星试题分析及答案
- 2025年校友会招聘考试题库分析与解题技巧
- 2025年注册验船师资格考试(A级船舶检验专业案例分析)考前模拟试题及答案一
- 2025年保健品培训考试题及答案
- 2025年中小学体育教师招聘考试专业基础知识考试题库及答案(共2687题)
- 脊髓损伤的康复课件
- 配电线路运维培训课件
- 《慢性萎缩性胃炎中西医结合诊疗专家共识(2025)》解读
- 新解读《碳纤维电热供暖系统应用技术规程 T-CCES 13 - 2020》解读
- 陶瓷彩绘说课课件
- 教师团队凝聚力培训
- 艾滋病梅毒丙肝培训课件
- 灭火毯培训课件
- 2025年新疆中考数学试卷真题
- 临床脑卒中后吞咽障碍患者进食护理团体标准
评论
0/150
提交评论