收藏 分享(赏)

计算机二级C语言真题讲解.ppt

上传人:wspkg9802 文档编号:8240872 上传时间:2019-06-16 格式:PPT 页数:35 大小:232KB
下载 相关 举报
计算机二级C语言真题讲解.ppt_第1页
第1页 / 共35页
计算机二级C语言真题讲解.ppt_第2页
第2页 / 共35页
计算机二级C语言真题讲解.ppt_第3页
第3页 / 共35页
计算机二级C语言真题讲解.ppt_第4页
第4页 / 共35页
计算机二级C语言真题讲解.ppt_第5页
第5页 / 共35页
点击查看更多>>
资源描述

1、内 容,笔试真题(精选) 09春、08秋、08春 文件,2009春笔试,试题1:阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案。【程序说明】输入1个正整数n,计算下列算式的前n项之和。S=1-1/3+1/5-1/7+运行示例:Enter n:2Sum=0.67,#include main( ) int denominator , flag,i, n;double item,sum;printf(“Enter n:”);scanf(“%d”, ,(1) A、flag=0 B、flag=-1C、flag=n D、flag=1 (2) A、i=n B、in D、i=n (3)

2、 A、item=flag/denominator B、item=1 /denominatorC、item=flag*1.0/denominatorD、item=1.0/denominator (4) A、flag=-1 B、flag=0C、flag=-flag D、flag=flag,S=1-1/3+1/5-1/7+,试题2:阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案。【程序说明】验证哥德巴赫猜想:任何一个大于6的偶数均可表示为两个素数之和。例如6=3+3,8=3+5,18=7+11。将620之间的偶数表示成两个素数之和,打印时一行打印5组。要求定义和调用函数pri

3、me(m)判断m是否为素数,当m为素数时返回1,否则返回0。素数就是只能被1和自身整除的正整数,1不是素数,2是素数。运行示例:6=3+3 8=3+5 10=3+7 12=5+7 14=3+1116=3+13 18=5+13 20=3+17 18=7+11,#include #include int prime(int m) int i, n;if(m = 1) return 0;n = sqrt(m);for(i = 2; i = n; i+)if(m % i = 0) return 0;_(5) _ main() int count, i,number;count=0;for(number

4、=6;number=20;number=number+2)for(i=3;i=number/2;i=i+2)if(_(6)_)printf(“%d=%d+%d”,number,i,number i);count+;if(_(7)_) printf(“n”);_(8)_ ,(5) A、; B、return 1;C、return 0; D、else return 1; (6) A、prime(i)!=0 | prime(number i)!=0B、prime(i)!=0 & prime(number i)!=0C、prime(i)=0 | prime(number i)=0 D、prime(i)=

5、0 & prime(number i)=0,(7) A、count % 5 =0 B、count % 5!=0 C、(count+1)%5=0 D、(count+1)%5!=0 (8) A、break;B、else break;C、continue; D、;,试题3:阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案。【程序说明】输入一行字符,统计并输出其中数字字符、英文字母和其他字符的个数。要求定义并调用函数count(s, digit,letter,other)分类统计字符串s中数字字符、英文字母和其它字符的个数,函数形参s的类型是字符指针,形参digit,letter

6、,other的类型是整形指针,函数类型是void。运行示例:Enter characters:f(x,y)=5x+2y-6Digit=3 letter=5 other=6,#include void count (char *s, int * digit, int * letter, int * other) _(9)_while(_(10)_)if (*s=0 ,(9) A、int dight=0,letter=0,other=0;B、int *dight=0,*letter=0,*other=0;C、dight=letter=other=0;D、*dight=*letter=*other=

7、0; (10) A、*s+ !=0 B、*s+ !=nC、*s!=0 D、 *s !=n (11) A、ch !=0 B、ch !=nC、ch =0 D、ch =n (12)A、count(str,&digit,&letter,&other)B、count(&str,&digit,&letter,&other)C、count(*str, digit, letter,other) D、count(*str,*digit,*letter,*other),试题4:阅读下列程序并回答问题,在每小题提供的若干可选答案中,挑选一个正确答案。,#include main() int flag=0,i;int

8、 a7=8,9,7,9,8,9,7;for(i=0;i=0;i-)if(ai=8)break;flag=i;printf(“%dn”,flag);flag=0;for(i=0;i7;i+)if(ai=9)printf(“%d”,i);printf(“n”);flag=0;for(i=0;i7;i+)if(ai=7) flag=i;printf(“%dn, flag”); ,(13)程序运行时,第1行输出 (13) 。A、2 B、0 C、3 D、6 (14)程序运行时,第2行输出 (14) 。 A、4 B、-1 C、0 D、5 (15)程序运行时,第3行输出 (15) 。A、2 4 6 B、4

9、C、1 3 5 D、6 (16)程序运行时,第4行输出 (16) 。A、2 4 6 B、2 C、1 3 5 D、6,试题5:阅读下列程序并回答问题,在每小题提供的若干可选答案中,挑选一个正确答案。,#include int f1(int n) if(n=1) return 1 ;else return f1(n-1) + n; int f2(int n) switch(n)case 1:case 2:return 1;default: return f2(n-1) + f2(n-2); void f3(int n) printf(“%d”,n%10);if(n/10 !=0) f3(n/10)

10、; void f4(int n) if (n/10 !=0) f4(n/10);printf(“%d”, n%10); main() printf(“%dn”,f1(4);printf(“%dn”,f2(4);f3(123);printf(“n”);f4(123);printf(“n”); ,(17) 程序运行时,第1行输出 (17) 。A、10 B、24 C、6 D、1 (18) 程序运行时,第2行输出 (18) 。A、1 B、3 C、2 D、4 (19) 程序运行时,第3行输出 (19) 。A、123 B、3 C、321 D、1 (20) 程序运行时,第4行输出 (20) 。A、1 B、1

11、23 C、3 D、321,试题6:阅读下列程序并回答问题,在每小题提供的若干可选答案中,挑选一个正确答案。,#include struct num int a,b; void f(struct num s, int n) int index, j, k;struct num temp;for(k=0;k n-1;k+)index=k;for(j=k+1;jn;j+)if(sj.bsindex.b) index=j;temp=sindex;sindex=sk;sk=temp; ,(21) 程序运行时,输入5 4 3,输出 (21) 。A、3: 5 B、2: 3 C、1: 2 D、4: 1(22)

12、 程序运行时,输入5 3 4,输出 (22) 。A、3: 5 B、1: 2 C、4: 3 D、4: 2 (23) 程序运行时,输入7 5 2,输出 (23) 。A、1: 5 B、6: 1 C、2: 3 D、2: 4 (24) 程序运行时,输入4 2 4,输出 (24) 。A、3: 3 B、4: 2 C、2: 4 D、4: 1,main() int count, i, k, m, n, no;struct num s100,*p;scanf(“%d%d%d”, ,试题7 (28分) (1)定义函数fact(n)计算n的阶乘:n!=1*2*n,函数形参n的类型是int,函数类型是double。 (

13、2)定义函数cal(x, e)计算下列算式的值,直到最后一项的值小于e,函数形参x和e的类型都是double,函数类型是double。要求调用自定义函数fact(n)计算n的阶乘,调用库函数pow(x,n)计算x的n次幂。 S=x+x2/2!+x3/3!+x4/4!+ (3)定义函数main(),输入两个浮点数x和e,计算并输出下列算式的值,直到最到最后一项的值小于精度e。要求调用自定义函数cal(x,e)计算下列算式的值。 S=x+x2/2!+x3/3!+x4/4!+,程序,2008秋笔试(精选),试题2:阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案。【程序说明】求

14、1-999之间所有满足各位数字的立方和等于它本身的数。例如153的各位数字的立方和是1353+33=153运行示例:1 153 370 371 407,#include main() int digit,j,sum,x;for(j=1;j1000;j+)_(5)_(6)_do_(7)_sum=sum+digit*digit*digit;x=x/10;while(_(8)_);if(sum= =j) printf(“%d ”,sum); ,(5)A sum=0; B sum=1; C sum=j; D ; (6)A x=1; B x=j; C ; D x=sum; (7)A digit=x/10

15、; B ; C digit=x%10; D digit=x; (8)A x= =0 B j!=0 C j= =0 D x!=0,试题4:阅读下列程序并回答问题,在每小题提供的若干可选答案中,挑选一个正确答案。,程序1 #include main() int j,k,s1,s2;s1=s2=0;for(j=1;j=5;j+)s1+;for(k=1;k=j;k+)s2+;printf(“%d %d”,s1,s2); ,(13)程序1运行时,输出 (13) 。A 0 15 B5 0 C5 5 D 5 15 (14)程序2运行时,输出 (14) 。 A 0 15 B5 0 C5 5 D 5 15 (1

16、5)程序3运行时,输出 (15) 。A 0 15 B5 0 C5 5 D 5 15 (16)程序4运行时,输出 (16) 。A 0 15 B5 0 C5 5 D 5 15,程序2 #include main() int j,k,s1,s2;s1=0;for(j=1;j=5;j+)s1+;for(k=1,s2=0;k=j;k+)s2+;printf(“%d %d”,s1,s2); ,程序3 #include main() int j,k,s1,s2;s1=0;for(j=1;j=5;j+)s1+;for(k=1;k=j;k+,s2=0)s2+;printf(“%d %d”,s1,s2); ,程序

17、4 #include main() int j,k,s1,s2;s1=s2=0;for(j=1;j=5;j+,s1=0)s1+;for(k=1;k=j;k+)s2+;printf(“%d %d”,s1,s2); ,试题6:阅读下列程序并回答问题,在每小题提供的若干可选答案中,挑选一个正确答案。,#include main() int k;char ch,a10,*s10=“one”,”two”,”three”,”four”;k=0;while(ch=getchar()!=n ,(21)程序运行时,输入5678,输出:A two three B twoC one four three D fou

18、r three two one (22)程序运行时,输入8561#,输出:A two three B twoC one four three D four three two one (23)程序运行时,输入7902#,输出:A two three B twoC one four three D four three two one (24)程序运行时,输入7633#,输出:A two three B twoC one four three D four three two one,2008春笔试(精选),试题5:阅读下列程序并回答问题,在每小题提供的若干可选答案中,挑选一个正确答案。,(17

19、) 程序运行时,输入10#,输出(17) 。A、16 B、10 C、12 D、1 (18) 程序运行时,输入1a0#,输出(18) 。A、264 B、10 C、1 D、12,#include #define MAXLEN 80 main () int k = 0, number = 0;char strMAXLEN;while(strk = getchar() != #)k+;strk = 0;for(k = 0; strk != 0; k+)if(strk=0 ,(19) 将第16行改为“;”后,程序运行时,输入 A*0#,输出 (19) 。A、0 B、120 C、10 D、12 (20)

20、将第16行改为“else break;”后,删除第15行,程序运行时,输入1b0#,输出(20) 。A、10 B、12 C、276 D、1,;,试题6:阅读下列程序并回答问题,在每小题提供的若干可选答案中,挑选一个正确答案。,(21) 程序运行时,第1行输出 (21) 。A、* B、* C、* D、* (22) 程序运行时,第2行输出 (22) 。A、* B、* C、* D、* (23) 程序运行时,第3行输出 (23) 。A、* B、* C、* D、* (24) 程序运行时,第3行输出 (24) 。A、* B、* C、* D、*,#include main() char *s2 = ”*”,

21、 ”*”;while(*s1 != 0)printf(”%sn”, s0+strlen(s1)-1);s1+;,试题7: (1)定义函数fact(n)计算n的阶乘:n!=1*2*n,函数返回值类型是double。 (2)定义函数cal(m, n)计算累加和: ,函数返回值类型是double。 (3)定义函数main(),输入正整数n,计算并输出下列算式的值。该算式中,每一项的分子是累加和,要求调用函数cal(m,n)计算 ;每一项的分母是阶乘,要求调用函数fact(n)计算n!。y=1+,#include double fact(int n) int i;double p=1;for(i=1;

22、i=n;i+)p*=i;return(p); double cal(int m,int n) int i;double s=0;for(i=m;i=n;i+)s+=i;return(s); ,void main() int i,n;double y=0;printf(“Please input n:n“);scanf(“%d“, ,文件操作,文件的打开 文件的关闭 文件的读 文件的写,文件操作的前提:定义文件指针,并使该指针指向要操作的文件。,文件的打开与关闭,定义文件指针: FILE *fp; /“FILE”一定大写! 打开文件: fp=fopen(文件名,文件使用方式); 若不能打开该文件

23、,则返回NULL 常用下面方法打开一个文件: if(fp=fopen(“file1”,“r”)=NULL) printf(“connot open this filen”);exit(0); 关闭文件: fclose(fp);,将指针与文件建立关联,访问方式,文件打开关闭举例,要想从a1.dat输入数据: FILE *fp; if(fp=fopen(“a1.dat“,“r“)=NULL)printf(“connot open this filen”); exit(0); fclose(fp);,a1.dat:82,34,55,通知编译系统要打开的文件名;当路径与C源文件一致时,可以只写文件名。

24、,通知编译系统打开文件的方式。以“r”方式打开的文件必须存在。,fp指向a1.dat,文件的读:fscanf函数,格式: fscanf(文件指针,格式字符串,输入表列); 例: fscanf(fp,“%d,%d,%d“, 编写程序,找出a1.dat文件三个 数据中最大,a1.dat:82,34,55,a2.txt:82 34 55,思考:若文件为a2.txt,则如何读取数据?,思考:如果不知道有几个数据怎么办, 如何读取数据? 函数feof(fp):检查文件是否结束。遇文件 结束返回非0,否则返回0。,文件的写:fprintf函数,格式: fprintf(文件指针,格式字符串,输出表列); 例: FILE *fp; fp=fopen(“a3.dat“,“w“); fprintf(fp,“%dn“,x); 编写程序,将100-200之间的 素数找出来并保存在a3.dat 文件中。,101 103 107 109 113 121 127 131 137 ,a3.dat,

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

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报