精选C语言试卷(带答案)

上传人:fgh****35 文档编号:226321849 上传时间:2023-08-05 格式:DOC 页数:16 大小:143.50KB
收藏 版权申诉 举报 下载
精选C语言试卷(带答案)_第1页
第1页 / 共16页
精选C语言试卷(带答案)_第2页
第2页 / 共16页
精选C语言试卷(带答案)_第3页
第3页 / 共16页
资源描述:

《精选C语言试卷(带答案)》由会员分享,可在线阅读,更多相关《精选C语言试卷(带答案)(16页珍藏版)》请在装配图网上搜索。

1、浙江科技学院考试试卷 专业班级 学号 姓名 装订线 浙江科技学院2006-2007学年第二学期考试试卷A卷 考试科目 C语言程序设计 考试方式 闭卷 完成时限 2小时 拟题人 审核人 批准人 2007年 7 月 5 日机械、电气、信息、生化、轻工、经管、理学院 2006年级 各理工科专业题序一二三四五六总分得分说明:1. 应将全部答案写在答卷纸对应的题号处;否则作无效处理;2. 编程题应写明题号,若答卷纸不够,请写在背面,不要另添卷纸;3. 考试完成后,必须将试卷与答卷同时交回。一、判断题(10小题,每题1分,共10分;用表示正确,用表示错误)1在循环体内使用break语句和continue语

2、句的作用相同。2函数返回值的类型最终取决于函数定义时形参的类型。3else语句一定要与if语句配对使用,程序中else语句的个数一定小于或者等于if语句的个数。4从狭义角度讲,算法是解决一个问题采取的方法和步骤的描述。51/2的结果是0,所以1.0/2的结果也是0。6a=b=c=5可以理解为a=(b=(c=5)。7假设有语句int a10=1,2,3,*p;p=a;则p+完全等价于a+。8for(;)等价于while(1)语句。9假定int类型变量占用两个字节,若有定义:int x10=0,2,4;,则数组x在内存中所占字节数是6。10char *sp =welcome;可以写成char *s

3、p=welcome; 。二、单选题(16小题,每题1分,共16分)1以下数组定义中错误的是:(A) int x3 =0; (B) int x23=1,2,3,4,5,6;(C) int x3=1,2,3,4,5,6;(D) int x23=1,2,3,4,5,6;2设fp为指向某二进制文件的指针,且已读到此文件末尾,则函数feof(fp)的返回值为:(A)EOF (B)NULL (C) 0 (D)非0值 3有以下程序:main()int y=10;while(y-) ; printf(“y=%dn”,y);程序执行后的输出结果是:(A) y=0; (B)y=-1;(C) y=1 (D)whil

4、e构成无限循环4. 若有以下宏定义:#define N 2 #define Y(n) (N+1)*n 则执行语句int z; z=2*N+Y(5);后的值是 (A) 50 (B)34 (C)19(D)无定值 5以下叙述中错误的是:(A)c程序必须由一个或者一个以上的函数组成。(B)函数调用可以作为一个独立的语句存在。(C)若函数有返回值,必须通过return 语句返回。(D)函数形参的值也可以传回给对应的实参。6设有如下定义的变量union data int i; char ch;float f;b;则变量b占用内存的字节数是(假设int类型占2个字节,char类型占1个字节,float类型占

5、4个字节):(A) 4 (B)5 (C) 6 (D)77以下叙述中错误的是:(A)c程序中的#include 和#define 行均不是c语句(B)除逗号运算符外,赋值运算符的优先级最低(C)c程序中, “j+;”是赋值语句(D)c程序经过编译、连接步骤之后,才能形成一个真正可执行的二进制机器指令文件。8. 能正确表示a 和b 同时为正或同时为负的逻辑表达式是:(A) (a=0|b=0)&(a0|b=0&b=0)&(a0&b0)&(a+b0 9对于一个正常运行的c程序,以下叙述中正确的是:(A)程序的执行总是从main函数开始,在main函数结束。(B)程序的执行总是从程序的第一个函数开始,在

6、main函数结束。(C)程序的执行总是从main函数开始,在程序的最后一个函数中结束。(D)程序的执行总是从程序中的第一个函数开始,在程序的最后一个函数中结束。10设变量x和y均已经正确定义并赋值。以下if语句中,在编译时将产生错误信息的是:(A)if(x+);(B)if(xy &y!=0)(C) if(x0) x-(D)if(y0); else y+;else x+;11设已有定义:float x; 则以下对指针变量p进行定义且赋初值的语句中正确的是:(A)float *p=1024;(B)int *p=(float)x;(C)float p=&x;(D)float *p=&x;12有以下程

7、序:main() int i,j;for(i=1;i4;i+) for(j=i;j4;j+) printf( %d*%d=%d ,i,j,i*j); printf(n);程序运行后的输出结果是:(A)1*1=1 1*2=2 1*3=3 (B)1*11 1*2=2 1*3=32*1=2 2*2=4 2*2=4 2*3=6 3*1=3 3*3=9(C)1*1=1 (D)1*1=11*2=22*2=4 2*1=2 2*2=4 1*3=3 2*3=6 3*3=9 3*1=3 3*2=6 3*3=913按照c语言规定的用户标识符命名规则,不能出现在标识符中的是:(A)大写字母 (B)连接符(C)数字字符

8、 (D)下划线14设有定义:int k=0;以下选项的四个表达式中与其他三个表达式的值不相同的是:(A)k+(B)k+=1 (C)+k(D)k+115有以下程序main() char ch=uvwxyz,*pc; pc=ch;printf( %cn,*(pc+5);程序运行后的输出结果是:(A)z (B)0(C)元素ch5的地址 (D)字符y的地址16有以下函数:int fun(char *s) char * t=s;while(*t+);return (t-s);该函数的功能是:(A)比较两个字符串的大小 (B)计算s所指向字符串占用内存字节的个数(C)计算s所指字符串的长度 (D)将s所指

9、字符串复制倒字符串t中16有以下函数:int fun(char *s) char * t=s;while(*t+);return (t-s);该函数的功能是:(A)比较两个字符串的大小 (B)计算s所指向字符串占用内存字节的个数(C)计算s所指字符串的长度 (D)将s所指字符串复制倒字符串t中三、基础填空题(14空,每空1分,共14分)1以下程序的输出结果是 。#include main() printf(“%dn”,strlen(IBMn012n);2执行以下程序后的输出结果是main() int a=10;a=(3*5,a+4);printf(a=%dn,a);3排序是数据处理中最常见的问

10、题,它是将一组数据按递增或者递减的次序排列。排列的算法很多。常用的算法有 法和选择法。4设有定义“char web20;”,要将字符串“”赋值给字符数组web的语句是 。5一个函数用于接收一个字符和一个整数,并返回一个字符,函数名为love_c,则该函数的原型说明为 。6c语言规定,简单变量作函数参数时,他和对应的形参之间的数据传递方式是 。7判断字符变量x是小写英文字母字符的C语言表达式是 。8程序中调用了库函数strcmp,必须包含头文件 。9若x=13,y=25,z=-17,则表达式(p=(xy)?x:y)z?p:z)的值为 。10下列程序段的的输出结果是 。 char a=010,b=

11、10;printf( %dn,a&b2);11表达式中的类型转换分为两种:一种是隐式数据类型转换;另一种是 数据类型转换。12数组是顺序存储结构,它的存储分配方式是“静态”的。 是一种动态的数据结构,它由若干个结点链接而成,与数组最大的不同是结点在内存中并不占据连续的存储空间。13有定义: int a3=1,2,3,4,5,6,8,9,10;则printf(%d,*(*(a+1)+2);语句的输出结果为 。 14以下程序的输出结果是 。main() int a,b,c=240;a=c/100%9;b=(-1)&(-1);printf(%d,%dn,a,b);四、程序填空题(10空,每空2分,共

12、20分)1下面程序运行后输入以1结束的一批整数,输出其中的最大值。例如 :输入-3 -8 -10 -1后,输出:-3#includevoid main() int max,x; scanf(%d,&x);if(x!=-1) _ (1) _;while(_ (2) _)if(max=0(C)x=-1 (D)max!=-1(3)(A)max=max+1 (B) x=x+1(C)scanf(“%d”,&x); (D) else max =-12下面程序通过字符指针实现,将s1指向的字符串“I have a dream!”反向拷贝到s2中。#include#include void main()cha

13、r *s1=I have a dream! ,*s2,*t;int len;len= _ (4) _;s2=(char *)calloc(len+1,sizeof(char);t=s2;while(*s1!=0)s1+;do s1-;len-; _ (5) _; s2+;while(len0);*s2=0;s2=t;puts(s2);(4)(A) strcpy(s1) (B)st(C) *s1 (D) strlen(s1)(5)(A)*s1=*s2 (B)*s2=*s1(C)&s2=&s1 (D)&s1=&s23建立一个链表,每个结点包括:学号、姓名、性别、年龄。#define LEN siz

14、eof(struct student)struct student char num6;char name8; char sex2; int age; struct student* next;stu10;main() struct student *p,*pt,*head; int i,length,iage; printf(Input length of list (10). ); scanf(%d,&length);/*建立链表*/for(i=0;inext=p;pt=p;printf(“NO:”);scanf(“%s”,p-num);printf(“name:”);scanf(“%s”

15、,p-name);printf(“sex:”);scanf(“%s”,p-sex);printf(“age:”);scanf(“%d”,&p-age);_ (7) _;p=head;printf(“n NO. name sex agen”);while(_ (8) _) printf(“%4s%8s%6s%6dn”,p-num,p-name,p-sex,p-age);p=p-next;.(6)(A) head=pt=p; (B)p=pt=head;(C) head=p; (D)p=head;(7)(A)p-next=p; (B)head-next =NULL;(C) pt-next=NULL;

16、 (D)p-next =NULL;(8)(A) p!=NULL (B)p=NULL(C)head!=NULL (D)head=NULL4一球从100米高度自由落下,每次落地后反弹跳回原高度的一半,再落下。求它再第10次落地时,共经过多少米?第10次反弹多高?main() float sn=100,hn= _ (9) _; int n; for(n=2;n=0&chi9;i+)s=10*s+chi-0;printf(“%dn”,s);2程序2main() int i,t3=9,8,7,6,5,4,3,2,1;for(i=0;i3;i+) printf(“%d”,t2-ii);3程序3 main(

17、) int row,column;for (row=1;row=4;row+)for (column=1;column=row;column+) printf(*); printf(“n”);4程序4int k=0;void fun(int m) m+=k; k+=m; printf(m=%d k=%d ,m,k+);main() int i=4;fun(i+);printf( i=%d k=%d n, i,k);5程序5#include struct stuint num;char name10;int age;void py(struct stu*p) printf(“%sn”,(*p).

18、name);void main()struct stu student3=1001,sun,25,1002,ling,23,1003,shen,22;py(student+2);六、程序设计题(2题,每题10分,共20分)1设a是一个整型数组,n和x都是整数,数组a中的元素都是互异的。请编写函数find(a,n,x),在数组a的前n个元素中查找x,如果找到,返回x在数组a中的位置;如果没有找到,返回-1。 例如:数组a中有元素1,4,3,2,5,调用find(a,5,2)后返回4,因为在a的前5个元素中找到了2,它在a中的位置是4;而调用find(a,5,10)后返回-1,因为在a的前5个元素

19、中没有找到10。2编写一程序,从键盘输入20个实数,计算出平均值,将平均值和大于平均值的数写入到文本文件a1.txt中。 专业班级 学号 姓名 装订线 浙江科技学院2006-2007学年第二学期考试试卷A卷 答卷 考试科目 C语言程序设计 考试方式 闭卷 完成时限 2小时 拟题人 审核人 批准人 2007年 7 月 5 日机械、电气、信息、生化、轻工、经管、理学院 2006年级 各理工科专业题序一二三四五六总分得分一、判断题(每题1分,共10分) 注:用表示正确,用表示错误12345678910二、单选题(每题1分,共16分)12345678910111213141516三、基础填空题(每题1

20、分,共14分)1 2 3 4 5 6 7 8 9 10 11 12 13 14 四、程序填空题(每空2分,共20分)(1)(2)(3)(4)(5)(6)(7)(8)(9)(10)五、程序阅读题(每题4分,共20分)12345六、程序设计题(每题10 分,共20分)(注:若答卷纸不够,请写在背面,不要另添卷纸)浙江科技学院2006-2007学年第二学期考试试卷A卷 考试科目 C语言程序设计 考试方式 闭卷 完成时限 2小时 拟题人 审核人 批准人 2007年 7 月 5 日机械、电气、信息、生化、轻工、经管、理学院 2006年级 各理工科专业参考答案及评分标准一、判断题(每题1分,共10分) 注

21、:用表示正确,用表示错误12345678910二、单选题(每题1分,共16分)12345678910111213141516BDBCDACDAB或CDBBAAC三、基础填空题(每题1分,共14分)1 8 2 a14 3 冒泡 4 strcpy(web,) 5 char love_c(char a,int b); 6 值传递 7 x=a&x=z 8 string.h 9 17 10 8 11 强制 12 链表 13 6 14 2,1 四、程序填空题(每空2分,共20分)(1)(2)(3)(4)(5)(6)(7)(8)(9)(10)BACDBADACC五、程序阅读题(每题4分,共20分)12345

22、65357*m=4 k=4 i=5 k=5shen六、程序设计题(每题10 分,共20分)1答: int find(int a,int n,int x)/*函数头部声明2分*/int i;for(i=0;i=n) return -1;/*返回值2分*/2答:#include/*文件包含1分*/void main() int i; float a20,ave=0;/*变量声明1分*/ FILE *fp; for(i=0;i20;i+)/*求平均值3分*/ scanf(“%f”,&ai); ave+=ai;ave=ave/20;if(fp=fopen(“a1.txt”,”w”)=NULL)/*打开文件1分*/printf(“cannt open file”);exit(0);for(i=0;iave) fprintf(fp,”%f”,ai);/*写文件1分*/fprintf(fp,”n”);fprintf(fp,”%f”,ave);fclose(fp);/*关闭文件1分*/第 16 页 共 16 页

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

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

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


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