C程序设计谭浩强第四版试卷及答案.doc

上传人:s****u 文档编号:12749520 上传时间:2020-05-22 格式:DOC 页数:10 大小:72.02KB
返回 下载 相关 举报
C程序设计谭浩强第四版试卷及答案.doc_第1页
第1页 / 共10页
C程序设计谭浩强第四版试卷及答案.doc_第2页
第2页 / 共10页
C程序设计谭浩强第四版试卷及答案.doc_第3页
第3页 / 共10页
点击查看更多>>
资源描述
一、单项选择题(20题,每题2分,共40分)1一个C语言程序是由 组成的。 A主程序 B子程序 C函数 D过程2判断char型变量c1是否为小写字母的最简单且正确的表达式为 。 A. a=c1=a)&(c1=z)C. (a=c1) D. (c1=a)&(c1b? a+ : b+ ,a+b)的值为 。A. 7 B. 8 C. 9 D. 25. 设x、y和t均为int型变量,则以下语句:t=x; x=y; y=t;的功能是 。A. 把x和y按从大到小排列 B. 把x和y按从小到大排列C. 无确定结果 D. 交换x和y中的值6. 下面标识符中,合法的用户标识符为 。A. P#Ad B.12a C.char D._int7. 循环语句while(!E);中的表达式!E等价于 。A. E!0 B. E!1 C. E0 D. E18. 设有以下语句,则 不是对a数组元素的正确引用,其中0i=0); if (i100) break; D.int s=3379; while (s); s+; B.for ( ; ;); 11在一个文件中定义的全局变量的作用域为 。 A.本程序的全部范围; B.本文件的全部范围; C.函数内的全部范围; D.从定义该变量的位置开始到文件结束。 12下面的程序执行后,文件testt中的内容是 。 #include #include void fun(char *fname,char *st) FILE *myf; int i; myf=fopen(fname,w); for(i=0;istrlen(st);i+) fputc(sti,myf); fclose(myf); main() fun(testt,new world);fun(testt,hello,); A)hello, B)new worldhello, C)new world D)hello,world13若有以下定义和语句int a=3,b=4, *q,*w,*p;p=&a; q=&b; w=q; q=NULL; 则以下选项中错误的语句是 。A *p=a; B w=p; C *q=0; D *p=*w;14以下语句中,指针s所指字符串的长度为 。 char *s=”HellotWorldn”; A13 B12 C14 D1015若调用一个函数,且此函数中没有return语句,则正确的说法是:该函数 。A没有返回值 B返回若干个系统默认值C能返回一个用户所希望的函数值 D返回一个不确定的值16有以下程序 main() int m3=1,4,7,2,5,8,3,6,9; int i,j,k=2;for(i=0;iage); C. scanf(%c, &(p-sex); D. scanf(%d, &stu0.age);20已知static int a =5,4,3,2,1,*p =a+3,a+2,a+1,a,*q=p;则表达式:*(p0+1) + *(q +2 ) 的值是 。A5 B4 C6 D7二、程序填空题(每空2分,共20分)1、 求1 + 1/2 +1/4 + 1/6 + + 1/100 的值。#include “stdio.h”main( ) int i =2 ; float sum ; _; while ( i =0.0 & n1000) sum =sum+a;xn=_;n+; scanf( % f ,_); ave= _ ;printf(“Output: n”);printf(“ave=%fn”,ave);for(i=0; in; i+)if(_) printf(%fn”,xi);4、将输入的百分制成绩转换成相应的等级。10090分为A,8980分为B 60分以下为E。main() int score,temp; char grade; scanf(%d,&score); if(score =100) temp=9; else temp= _; switch( _ ) case 9:grade=A; break; case 8:grade=B; break; case 7:grade=C; break; case 6:grade=D; break; _ printf (Score=%d Grade=%cn, score, grade); 三、程序阅读题(每题4分,共20分)1、以下程序运行后,输出结果是_。#include stdio.h main( ) char ch=A; int x=8; while (ch0); 2、以下程序运行后,输出结果是_。int func(int a, int b) static int m=0,i=2;i+=m+1;m=i+a+b;return(m);main() int k=4,m=1,n;n=func(k, m); printf(“%d, ”, n);n=func(k, m); printf(“%d ”, n);3、下面程序的运行结果是: 。 void swap(int *a,int *b) int *t;t=a; a=b; b=t;main() int x=3,y=5,*p=&x,*q=&y;swap(p,q);printf(“%d,%dn”,*p,*q);4、下面程序的运行结果是: 。#include stdio.hmain() int i,j; char ch; for(i=1;i5;i+) for(j=1;j20-i;j+) printf( ); ch=A; for(j=1;j=2*i;j+) printf(%2c,ch+); printf(n); 5、以下程序运行后的输出结果是 。int func(int a,int b) return (a+b);main() int x=2,y=5,z=8,r; r=func(func(x,y),z); printf(%dn,r);四、编程题(三题中任选两题,每题10分,共20分,)1、 用递归方法求n!。2、 从键盘输入十个数,按升序排列后输出排序的结果,请按以下要求完成,要求:1)、必须用主、子函数调用完成程序。2)、其中十个数的输入及排序后的结果输出在主函数中实现。3)、排序功能在子函数中实现。 3、从键盘输入一串字符,对其中的的字母,数字及其他字符的数目进行统计,并输出统计结果,方法不限。A卷参考答案一单项选择题(20题,每题2分,共40分)1. C 2. D 3. D 4. B 5. D 6. D 7. C 8. A 9. A 10. C11.D 12. A 13. C 14. A 15. D 16. C 17.C 18. D 19. B 20. A二、程序填空题(每空2分,共20分)1、sum=1.0或sum=1; sum + 1.0 / i , i = i + 2; 2、a、&a、sum/n、xiave 3、(score-score%10)/10;或score/10 , temp , default: grade=E; 三、程序阅读题(每空2分,共20分)1、 A,C,E,G,7,5,4,2,1,2、8,173、3,54、 A B A B C D A B C D E F A B C D E F G H5、15四、编程题(20分,任选2题,每题10分)1、main() 结构正确 1分 int n,t; 变量及函数说明正确 2分long fact(int); scanf(%d,&n); 输入正确 1分t=fact(n); 调用语句正确 1分printf(n%d,t);long fact(int n) 函数类型及形参正确 1分 long s; if (n=1)s=1; 递归公式1正确 1分 else s=n*fact(n-1); 递归公式2正确 2分return s; 返值正确 1分2、main() 结构正确 1分 int a10, i ; 变量定义及函数说明正确 2分void sort(int b);for(i=0;i10;i+) 输入正确 1分scanf(“%d”,&ai);sort(a); 函数调用及参数传递正确1分printf(n);for(i=0;i10;i+) 输出正确 1分 printf(%d, ,ai); void sort( int b ) 结构正确 1分 int i,j for(i=0;ii;j-) if(aj=a&*st=A&*st=0&*st=9) sz+; else +qt; 统计正确 3分printf(ZM=%d, SZ=%d, QT=%d,zm,sz,qt) 输出正确 2分
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 图纸专区 > 考试试卷


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!