书签 分享 收藏 举报 版权申诉 / 13
上传文档赚钱

类型广州大学2020-2021学年第1学期《C语言程序设计》期末考试试卷(A卷)及标准答案.docx

  • 上传人(卖家):奋斗的小小
  • 文档编号:5351670
  • 上传时间:2023-03-27
  • 格式:DOCX
  • 页数:13
  • 大小:31.38KB
  • 【下载声明】
    1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
    2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
    3. 本页资料《广州大学2020-2021学年第1学期《C语言程序设计》期末考试试卷(A卷)及标准答案.docx》由用户(奋斗的小小)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
    4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
    5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    C语言程序设计 广州大学 2020 2021 学年 学期 语言程序设计 期末考试 试卷 标准答案
    资源描述:

    1、广州大学20202021学年第1学期C语言程序设计考试试卷(A卷)考试范围:C语言程序设计;满分:100分;考试时间:120分钟院/系:_专业:_姓名:_ 考号:_题号一二三四总分得分注意事项:1答题前填写好自己的姓名、班级、考号等信息2请将答案正确填写在答题卡上第I卷(选择题)评卷人得分一、选择题(共20题,每题2分,共40分。下列每小题的四个选项中,有一项是最符合题意的,错选、多选或未选均无分)1若有定义:char*ps=aa,bb,cc,dd;,则以下叙述正确的是()。Aps是字符串aaB*ps是字符串aa的首地址Cps是字符串aa的首地址D*ps是字符串aa2有以下程序#include

    2、void fun(char *c,int d) c=c+1; d=d+1; printf(%c,%c,*c,d);main() char b=a,a=A; fun(&b,a); printf(%c,%cn,b,a);程序运行后的输出结果是()。Ab,B,b,ABb,B,B,ACa,B,B,aDa,B,a,B3有以下程序:#includemain() int s = 1,2,3,4,5,6, *ps,k; for(k=0;k3;k+) ps=s; printf(%d,*(ps+1); 程序的运行结果是()。A246B135C123D4564有以下程序#include void f(int *q)

    3、 int i=0; for(;i5;i+)(*q)+;main() int a=1,2,3,4,5,i; f(a); for(i=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,5已定义以下函数int fun(int*p) return *p;fun函数返回值是()。A一个整数B不确定的值C形参p中存放的值D形参p的地址值6以下叙述中错误的是()。A当在程序的开头包含头文件stdio.h时,可以给指针变量赋NULLB函数可以返回地址值C改变函数形参的值,不会改变对应实参的值D可以给指

    4、针变量赋一个整数作为地址值7设有如下函数定义:int fun(int k) if(k1) return 0; else if(k=1) return 1; else return fun(k-1)+1;若执行调用语句:n=fun(3);,则函数fun()总共被调用的次数是()。A2B3C4D58有以下程序#include int f(int n) int t=0,a=5; if(n/2) int a=6; t+=a+; else int a=7; t+=a+; return t+a+;main() int s=0,i=0; for(;i2;i+) s+=f(i); printf(%dn,s);

    5、程序运行后的输出结果是()。A24B28C32D369以下不能对文件进行输出的库函数是()。AfwriteBfputsCfpoutDfprintf10字符数组a和b中存储了两个字符串,判断字符串a和b是否相等,应当使用的是()。Aif(strcmp(a,b)=0)Bif(strcpy(a,b)Cif(a=b)Dif(a=b)11有以下程序#includemain() int a = 1,2,3,4,5, b = 0,2,1,3,0, i, s=0; for(i=0;i5;i+) s=s+a; printf(%dn,s);程序运行后的输出结果是()。A6B10C11D1512有以下程序:#inc

    6、lude void fun(int a,int n) int i; for(i=0;in;i+) if(i % 3=0) a-=n; else a+=n; main() int c=6,7,8,9,10,i; fun(c,5); for(i=0;i5;i+)printf(%d,c); printf(n);程序运行后的输出结果是()。A1,12,13,4,15,B10,9,8,7,6,C1,7,13,9,15,D10,12,8,4,6,13若有以下程序#include main() int a=-2,b=0; while(a+) +b; printf(%d,%dn,a,b);则程序的输出结果是(

    7、)。A1,2B0,2C1,3D2,314若有以下程序#include main() int s=0,n; for(n=0;n4;n+) switch(n) default:s+=4; case 1:s+=1;break; case 2:s+=2;break; case 3:s+=3; printf(%dn,s);则程序的输出结果是()。A13B10C11D1515执行以下程序段后,w的值为()。int w=A,x=14,y=15;w=(x|y)&(wa);A-1BNULLC1D016有以下程序段#includemain() int j; float y; char name; scanf(%2

    8、d%f%s,&j,&y,name);当执行上述程序段,从键盘上输入55566 7777123后,y的值为()。A566.0B55566.0C7777.0D566777.017若有定义语句double x,y,*px,*py;执行了px=&x;py=&y;之后,输入语句正确的是()。Ascanf(%f%f,x,y);Bscanf(%f%f&x,&y);Cscanf(%1f%1e,px,py);Dscanf(%1f%1f,x,y);18以下选项中关于程序模块化的叙述错误的是()。A把程序分成若干相对独立的模块,可便于编码和调试B把程序分成若干相对独立、功能单一的模块,可便于重复使用这些模块C可采用

    9、自底向上、逐步细化的设计方法把若干独立模块组装成所要求的程序D可采用自顶向下、逐步细化的设计方法把若干独立模块组装成所要求的程序19有以下程序:#include typedef struct stu char name; char gender; int score; STU;void f(STU a, STU *b) *b = a; printf(%s,%c,%d, b-name, b-gender, b-score);main() STU a=Zhao, m, 290, b=Qian, f, 350; f(a,&b); printf(%s,%c,%dn, b.name, b.gender,

    10、 b.score);程序运行后的输出结果是()。AZhao,m,290,Qian,f,350BQian,m,290,Zhao,m,290CQian,f,350,Qian,f,350DZhao,m,290,Zhao,m,29020有以下程序:#include#includemain( ) char w, a = abcdef, ghijkl, mnopq, rstuv, wxyz.; int i; for(i=0;i5;i+) w=a)-1; w=0; puts(w);Aflqv.BagmrwCekpuyDflqvz第II卷(非选择题)评卷人得分二、填空题(共3题,每题8分,共24分)21下面程

    11、序的功能是从键盘输入一个字符串,然后反序输出输入的字符串。#include struct node char data;struct node *link;*head;main() char ch;struct node *p;head = NULL;while( ch=getchar()!=n ) p = (struct node *)malloc(sizeof(struct node);p-data = ch;p-link = ;head = ; ;while( p!=NULL ) printf(%c , p-data);p = p-link;22有以下程序段:s=1.0;for(k=1;

    12、k=n;k+)s=s+1.0/(k*(k+1);printf(%fn,s);填空完成下述程序,使之与上述程序的功能完全相同。s=0.0; ;k=0; do s=s+d; ;d=1.0/(k*(k+1);while( );printf(%fn,s);23下面程序的功能是从键盘上输入两个字符串,对两个字符串分别排序;然后将它们合并,合并后的字符串按ASCII码值从小到大排序,并删去相同的字符。#include strmerge(a,b,c) /* 将已排好序的字符串a、b合并到c */char *a,*b,*c; char t,*w;w=c;while( *a!= 0 *b!=0 ) t= ?*a

    13、+:*b*a ? *b+ : ( ); /* 将*a、*b的小者存入t */if( *w 0 ) *w=t;else if( t *w) *+w=t; /* 将与*w不相同的t存入w */while( *a != 0 ) /* 以下将a或b中剩下的字符存入w */if( *a != *w ) *+w=*a+;else a+;while( *b != 0)if( *b != *w ) *+w=*b+;else b+;*+w = ;strsort( char *s ) /* 将字符串s中的字符排序 */ int i,j,n;char t,*w; ;for( n=0;*w != 0; )w+;for

    14、( i=0;in-1;i+ )for( j=i+1;jsj ) main( ) char s1100,s2100,s3200;printf(nPlease Input First String:);scanf(%s,s1);printf(nPlease Input Second String:);scanf(%s,s2);strsort(s1);strsort(s2); = 0;strmerge(s1,s2,s3);printf(nResult:%s,s3);评卷人得分三、改错题(共1题,每题16分,共16分)24请根据以下各小题的要求设计C应用程序(包括界面和代码)。下列给定的程序中,函数f

    15、un的功能是:把主函数中输入的3个数,最大的放在a中,最小的放在c中。例如,输入的数为55 12 34,输出结果应当是:a=55.0,b=34.0,c=12.0。请改正程序中的错误,使它能得到正确结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。试题程序如下:#include #include void fun(float p,float q,float *s) float *k; k = (float *)malloc(sizeof(float); if(*p*q) /*found*/ k=*p;p=q;*q=k; /*found*/ if(*s*p) /*found*

    16、/ k=*s; s=p; *p=k; if(*q*s) /*found*/ k=*q; q=s; *s=k; free(k);main() float a,b,c; printf(Input a b c: ); scanf(%f%f%f,&a,&b,&c); printf(a = %4.1f, b = %4.1f, c = %4.1fnn,a,b,c); fun(&a,&b,&c); printf(a = %4.1f, b = %4.1f, c = %4.1fnn,a,b,c);评卷人得分四、设计题(共1题,每题20分,共20分)25请根据以下要求设计C应用程序。请编写函数fun,它的功能是:

    17、统计各年龄段的人数。N个年龄通过调用随机函数获得,并放在主函数的age数组中;要求函数把0至9岁年龄段的人数放在d中,把10至19岁年龄段的人数放在d中,把20至29岁年龄段的人数放在d中,其余依次类推,把100岁(含100岁)以上年龄的人数放在d中。结果在主函数中输出。注意:部分源程序给出如下。请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。试题程序如下:#include #define N 50#define M 11void fun(int a, int b) double rnd() static int t=29,c=217,m=1024,

    18、r=0; r= (r*t+c)%m; return (double) r/m);main () int age,i,d; for(i=0; i N; i+) age = (int)(115*rnd (); printf (The original data : n); for(i=0; i N; i+) printf(i+1)%10 = 0? %4dn:%4d,age); printf(nn); fun(age,d); for(i=0; i 10; i+) printf(%4d-%4d :%4dn, i*10,i*10+9,d); printf(Over 100 : %4dn,d);【标准答案

    19、】第I卷(选择题)一、选择题(共20题,每题2分,共40分。下列每小题的四个选项中,有一项是最符合题意的,错选、多选或未选均无分)1C2A 3A4B5A 6D7B8A 9C10A11C12A13A14C15C16A17C18C19D20A第II卷(非选择题)二、填空题(共3题,每题8分,共24分)21 head p p=head22 d=1 k+ k=n23 & *a*b *a+, *b+ = != 0 w=s n+ t=si;si=sj;sj=t; s30三、改错题(共1题,每题16分,共16分)24(1)错误:k=*p;p=q;*q=k;正确:*k=*p;* p=*q;q=k;(2)错误:

    20、if(*s*p) (3)错误:k=*s;s=p;*p=k;正确:*k=*8;s=p;p=k;(4)错误:k=*q;q=s;*s=k;正确:*k=*q;q=s;s=k;四、设计题(共1题,每题20分,共20分)25void fun(int a, int b) int i,j; for (j=0; jM;j+) b=0; for (i=0; iN;i+) switch (a/10) case 0:b+; break; case 1:b+; break; case 2:b+; break; case 3:b+; break; case 4:b+; break; case 5:b+; break; case 6:b+; break; case 7:b+; break; case 8:b+; break; case 9:b+; break; default:b+; break; 第 13 页 共 13 页

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:广州大学2020-2021学年第1学期《C语言程序设计》期末考试试卷(A卷)及标准答案.docx
    链接地址:https://www.163wenku.com/p-5351670.html
    奋斗的小小
         内容提供者      个人认证 实名认证

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库