1、1广州大学 20212022 学年第 1 学期C 语言程序设计考试试卷(语言程序设计考试试卷(A 卷)卷)考试范围:C 语言程序设计;满分:100分;考试时间:120 分钟院/系:_专业:_姓名:_ 考号:_题号一二三四总分得分注意事项:1答题前填写好自己的姓名、班级、考号等信息2请将答案正确填写在答题卡上第第 I 卷(选择题)卷(选择题)评卷人得分一、选择题(共一、选择题(共 20 题,每题题,每题 2 分,共分,共 40 分。下列每小题的四个选分。下列每小题的四个选项中,有一项是最符合题意的,错选、多选或未选均无分)项中,有一项是最符合题意的,错选、多选或未选均无分)1以下叙述中正确的是(
2、)。A不同函数的形式参数不能使用相同名称的标识符B用户自己定义的函数只能调用库函数C实用的 C 语言源程序总是由一个或多个函数组成D在 C 语言的函数内部,可以定义局部嵌套函数2设 fp 为指向某二进制文件的指针,且已读到此文件末尾,则函数 feof(fp)的返回值为()。A非 0 值B0C0DNULL3有以下程序段struct stint x;int*y;*pt;int a=1,2,b=3,4;struct st c=10,a,20,b;pt=c;以下选项中表达式的值为 11 的是()。2A+pt-xBpt-xC*pt-yD(pt+)-x4设有以下语句typedef struct TTcha
3、r c;int a CIN;则下面叙述中正确的是()。ACIN 是 structTT 类型的变量BTT 是 struct 类型的变量C可以用 TT 定义结构体变量D可以用 CIN 定义结构体变量5有以下程序:#include intf(ints,int*t)if(*s t)s=*t;return s;main()int i=3,j=5,*p=&i,*q=&j,*r;r=f(p,q);printf(%d,%d,%d,%d,%dn,i,j,p,q,*r);程序的运行结果是()。A5,5,5,5,5B3,5,5,5,5C5,3,3,3,5D3,5,3,5,56有以下程序:#include#defin
4、e N 4void fun(int a,int b)int i;for(i=0;iN;i+)b=a-a;3main()int x=1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,y,i;fun(x,y);for(i=0;iN;i+)printf(%d,y);printf(n);程序运行后输出的结果是()。A12,-3,0,0,B-3,-1,1,3,C0,1,2,3,D-3,-3,-3,-3,7有以下程序#include void f(int*q)int i=0;for(;i5;i+)(*q)+;main()int a=1,2,3,4,5,i;f(a);for(i=
5、0;i5;i+)printf(%d,a);程序运行后的输出结果是()。A2,2,3,4,5,B6,2,3,4,5,C1,2,3,4,5,D2,3,4,5,6,8有以下程序#include main()int a=1,b=3,c=5;intp1=&a,p2=&b,*p=&c;p=p1*(*p2);printf(%dn,c);执行后的输出结果是()。A44B2C1D39有以下程序:#includemain()FILE*fp;int i,a=1,2,3,4,5,6;fp=fopen(d2.dat,w+);for(i=0;i6;i+)fprintf(fp,%dn,a);rewind(fp);for(i
6、=0;i6;i+)fscanf(fp,%d,&a);fclose(fp);for(i=0;i6;i+)printf(%d,a);程序运行后的结果是()。A4,5,6,1,2,3,B1,2,3,3,2,1,C1,2,3,4,5,6,D6,5,4,3,2,1,10有以下程序:#include int f(int n);main()int a=3,s;s=f(a);s=s+f(a);printf(%dn,s);int f(int n)static int a=1;n+=a+;return n;程序运行以后的输出结果是()。A7B8C9D1011以下选项中叙述正确的是()。A结构化程序的三种基本结构是
7、循环结构、选择结构、顺序结构5BC 语言源程序不编译也能直接运行C使用 N-S 流程图不能描述复杂算法D计算机能够直接运行 C 语言源程序,不必进行任何转换12有以下程序#include char fun(char*c)if(*c=A)*c-=A-a;return*c;main()char s,*p=s;gets(s);while(*p)*p=fun(p);putchar(*p);p+;printf(n);若运行时从键盘上输入 OPEN THE DOOR,程序的输出结果是()。AOPEN THE DOORBOPEN tHE dOORCopen the doorDOpen The Door13有
8、以下程序#include main()int x=1,y=0,a=0,b=0;switch(x)case 1:switch(y)case 0:a+;break;case 1:b+;break;case 2:a+;b+;break;case 3:a+;b+;printf(a=%d,b=%dn,a,b);6程序的运行结果是()。Aa=2,b=1Ba=2,b=2Ca=1,b=1Da=1,b=014有以下程序#include void main()unsigned char a=8,c;c=a3;printf(%dn,c);程序运行后的输出结果是()。A32B16C1D015有以下程序:#includ
9、e main()int c,d;c=13&5;d=10&5;printf(%d,%dn,c,d);程序的运行结果是()。A5,1B1,1C18,1D13,116若有说明语句:char c=72;则变量 c中存放的是()。A2 个字符B1 个字符C3 个字符D说明语句不合法17以下程序段中的变量已定义为 int 类型,则sum=pAd=5;pAd=sum+,+pAd,pAd+;7printf(%dn,pAd);程序段的输出结果是()。A6B4C5D718设有定义:int x=2;以下表达式中,值不为 6 的是()。Ax*=x+1Bx+,2*xCx*=(1+x)D2*x,x+=219有如下程序:#
10、includemain()int x=072;printf(%dn,x+1);程序运行后的输出结果是()。A59B73C115D7220以下关于指针的叙述正确是()。A所有类型的指针变量所占内存的大小是一样的B指针变量所占内存的大小与其类型有关,char型指针变量只占 1 个字节,double 型指针变量占 8 个字节C指针变量可直接指向任何类型的变量,而不会出现编译或运行错误D指针变量既可以直接指向结构体,也可直接指向结构体中某个成员,而不会出现编译或运行错误第第 II 卷(非选择题)卷(非选择题)评卷人得分二、填空题(共二、填空题(共 3 题,每题题,每题 8 分,共分,共 24 分)分)
11、821下面程序的功能是输出 1 到 100 之间每位数的乘积大于每位数的和的数。例如数字26,数位上数字的乘积 12 大于数字之和 8。main()int n,k=1,s=0,m;for(n=1;ns)printf(%d,n);22用递归实现将输入小于 32768 的整数按逆序输出。如输入 12345,则输出 54321。#includestdio.hmain()int n;printf(Input n:);scanf(%d,);r(n);printf(n);r(int m)printf(%d,);m=;if();23请根据以下各小题的要求设计 C应用程序(包括界面和代码)。请补充 main
12、函数,该函数的功能是:先以只写方式打开文件“out52.dat”,再把字符串 str 中的字符保存到这个磁盘文件中。注意:部分源程序给出如下。请勿改动主函数 main 和其他函数中的任何内容,仅在 main 函数的横线上填入所编写的若干表达式或语句。试题程序如下:#include#define N 809main()FILE*fp;int i=0;char ch;char str=Im a student!;if(fp=fopen(_)=NULL)printf(cannot open out52.datn);exit(0);while(str)ch=str;_;putchar(ch);i+;_
13、;评卷人得分三、改错题(共三、改错题(共 1 题,每题题,每题 16 分,共分,共 16 分)分)24功能:读入一个整数 m(5m20),函数 getarr 调用函数 rnd 获得 m 个随机整数,函数sortpb 将这 m 个随机整数从小到大排序。例如:若输入整数 7,则应输出:3 10 17 28 32 36 47。-*/#include conio.h#include sortpb(int n,int*a)/*FOUND*/int i,j,p,tfor(j=0;j n-1;j+)p=j;for(i=j+1;i aj)p=i;/*FOUND*/if(p=j)10t=aj;aj=ap;ap=
14、t;double rnd()static t=29,c=217,m=1024,r=0;r=(r*t+c)%m;return(double)r/m);getarr(int n,int*x)int i;for(i=1;i=n;i+,x+)*x=(int)(50*rnd();putarr(int n,int*z)int i;for(i=1;i 0 m=m/1022&n m%10 m/10 m0 r(m)23out52.dat,wfputc(ch,fp)fclose(fp)三、改错题(共三、改错题(共 1 题,每题题,每题 16 分,共分,共 16 分)分)1224(1).int i,j,p,t;(2).if(ap ai)p=i;(3).if(p!=j)四、设计题(共四、设计题(共 1 题,每题题,每题 20 分,共分,共 20 分)分)25double fun(STREC*h)double ave=;STREC*p=h-next;while(p!=NULL)ave=ave+p-s;p=p-next;return ave/N;
侵权处理QQ:3464097650--上传资料QQ:3464097650
【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。