《安徽大学2008-2009学年第1学期《C语言程序设计》期末考试试卷(A卷120分钟).pdf》由会员分享,可在线阅读,更多相关《安徽大学2008-2009学年第1学期《C语言程序设计》期末考试试卷(A卷120分钟).pdf(13页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、 安徽大学 2008 20 09 学年第 1 学期 C 语言程序设计期末考试试卷(A 卷 120 分钟)年级 院系专业 姓名 学号 座位号 一。单项选择题:(每题 2 分,共 40 分)下列各题 A)、B)、C)、D)四个选项中只有一个是正确的,请将正确选项填在答题卡相应题目的横线上。答在试卷上不得分.下面程序段执行后,a 的值是_.int a;printf(%d n,(a=35,a*4,a+5);)60 )20 )15 )10 下列程序段的输出是_。int x=023;printf(d n”,-x);)19 )18 )23 )22 执行下列语句后,的值是_.int a=8;a+=a=aa;)
2、240 )64 )112 )-112 执行下列语句后,输出的值是_。int x=6;printf(”d,%d,%dn,x,x+,x);)5,5,5 )6,5,5 )7,6,5 )5,6,5 指出下列程序段所表示的逻辑关系是_。if(ab)if(c=d)x=1;else x=2;)若 a=b 且 c!=d,则 x=2。)若 ab 且 c=d,则 x=1;若 a=b,则 x=2。)若 ab 且 c=d,则 x=1;若 ab 且 c!=d,则 x=2.)若 ab 且 c=d,则 x=1;若 c!=d,则 x=2.下列程序段的执行结果是_。int i,x;for(i=1,x=1;idata.a D)p
3、.data。a 若 fun(int x)printf(“dn,x);,则 fun_。)返回值为 void 类型 )返回值无法确定 )返回值为 int 类型 )没有返回值 实参和和形参之间的数据传送是_.)地址传送 )实参传给形参,再由形参传给实参 )值传送 )由用户指定传送方式 以下程序的输出结果是_。char*s=”ABCD”,*p;for(p=s;*p;p+)printf(”sn,p);)ABCD )A )D )ABCD BCD B C ABC CD C B AB D D A A 下列程序段的输出是_。int fun(int x)static int a=3;a+=x;return a;v
4、oid main(void)int k=2,m=1,n;n=fun(k);n=fun(m);printf(“dn,n);)3 )4 )6 )9 二。填空题:(每空 1 分,共 20 分)。语言有 、和 五种常量.程序的变量不仅要事先 ,而且还必须 后才能使用。语言在给出逻辑运算结果时,以 代表“真”,以 代表“假”;在判断一个量是否为“真时,以 代表“假”,以 代表“真”。语言规定只有 数组和 数组才能初始化;这种数组不赋初值,系统会对所有数组元素自动赋以 值.对两个指针变量进行关系运算的条件是 ,其结果表示 。一个文件是一个 或 ,它把数据看成是 ,对文件的存取是以 为单位.三。程序设计题(
5、每空 2 分,共 40 分)阅读下列程序,在横线上填入适当的内容使程序完整。请将正确答案填在答题卡相应题目的横线上。答在试卷上不得分。下列程序是求Fibonacci数列:1,1,2,3,5,8的前40个数,要求每行输出个数。main()long int f1,f2;int i;f1=1;f2=1;for(i=1;i=;i+)printf(”12ld 12ld”,f1,f2);if()printf(n”);f1=;f2=;下列程序是求一个矩阵中值最小元素.min_value()int i,j,k,min;=array0 0;for(i=0;i3;i+)for(j=0;j 4;j+)if()min
6、=;;得分 得分 main()static int a3 4=1,2,3,4,5,6,7,8,9 ;printf(”min value is dn”,min_value());下列程序的功能是:将字符串复制到字符串中。void copy_string(char*from,);for(;*from;);to=;main()char a=I am a boy!;char b=This is a test!”;;printf(”a=%sa=sn,a,b);4有一个班,个学生,各学四门棵。下列程序的功能是:查找有一门以上课程不及格的学生,打印出他们的全部课程的成绩.main();static floa
7、t score3 4=1,2,3,4,5,6,7,8,9,10,11,12;search(score,3);void search(float(*p)4,int n);int i,j,flag;for(j=0;jn;j+)flag=0;for(i=0;i4;i+)if()flag=1;if()printf(No。%d is failn,j+i);for(i=0;i+)printf(”5。1f”,);printf(n);参考答案:一。单项选择题:(每题 2 分,共 40 分)CBDBB CBCBD CABBB BCCAC 二。填空题:(每题 2 分,共 20 分)1 常数 2 字符 3 字符串
8、4、转义序列 5 符号常量 6 定义 7 赋值 8 1 9 0 10 非 0 11 0 12 static 13 extern 14 0 15 指向同一数16 位置的前后 17 字节流 18 二进制流 19 一连串的字符 20 字符(字节)三.程序归纳题(每题 2 分,共 40 分)1 20 2 i5=0 3 f1+f2 4 f1+f2 5 int array34 6 min 7 minarrayij 8 arrayij 9 return min 10 a 11 char to 12 from+,to+13 to=from 14 0 15 copy_string(a,b)16 void sea
9、rch(float(p)4,int n)17 pji60 18 flag=1 19 i(yz?y:z)?x:(yz?y:z);3.void funs3(int num ,int size)int i=0,tmp;while(isize/2)tmp=num i,numi=num sizei-1,num size-i1=tmp,i+;4.void fun4(char*f,char *t)for(;f!=0;f+,t+)t=*f;*t=0;得分 得分 5.void fun5(char ps)int a1=0,a2=0;while(*ps!=0)if(ps=a&*ps=z)a1+;else if(*p
10、s=0&ps=9)a2+;p+;printf(d,d n”,a1,a2);四。程序分析题(每题 2 分,共 10 分)阅读程序,将其运行结果填在答题卡相应题目的横线上。答在试卷上不得分。1。include”stdio.h void main()static int a=1,2,3,4,5,6,p;p=a;*(p+3)+=2;printf(”d,dn”,p,(p+3);2。#include”stdio。h”void main()int x=1;int x=2;int x=3;printf(2d”,x);printf(%2d”,x);printf(”2d,x);3.include stdio.h
11、include string。h void sort(char*str,int n)char tmp;int i,j;for(i=0;i=0 datai datai+1)循环至插入点:2 分 复合语句:1 分 new=numi+1;暂存新值:1 分 numi+1=numi;更新旧值:2 分 numi=new;更新新值:1 分 i-;循环计数:1 分 2 while(p1p2&*p1=p2)依次比较两个字符串直至其结束:6分 p1+,p2+;更新位置指示:2 分 return p1*p2;返回差值:2 分 3 scanf(”%s”,leader_name);唱票:2 分 for(j=0;j=a&stri=z)判断是否是小写字母:2 分 stri=32;转换为大写字母:2 分 printf(”Writting s into file test”,str);fputs(str,fp);将字符串存储到文件中:2 分 fclose(fp);关闭文件:2 分