南开大学《C语言程序设计》2020-2021学年第一学期期末考试试卷(A卷)(含答案).docx

上传人:神*** 文档编号:82990511 上传时间:2023-03-27 格式:DOCX 页数:10 大小:38.04KB
返回 下载 相关 举报
南开大学《C语言程序设计》2020-2021学年第一学期期末考试试卷(A卷)(含答案).docx_第1页
第1页 / 共10页
南开大学《C语言程序设计》2020-2021学年第一学期期末考试试卷(A卷)(含答案).docx_第2页
第2页 / 共10页
点击查看更多>>
资源描述

《南开大学《C语言程序设计》2020-2021学年第一学期期末考试试卷(A卷)(含答案).docx》由会员分享,可在线阅读,更多相关《南开大学《C语言程序设计》2020-2021学年第一学期期末考试试卷(A卷)(含答案).docx(10页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、南开大学理科C语言程序设计2020-2021学年第一学期期末考试试卷(A卷)任课教师 学院 姓名 学号 题号一二三四五合计成绩一、单项选择(每空1分,共20分)(注意选项填写到题末相应横线上)1、下面语句的输出结果为( )char ch=70; coutb)&(n=cd)运算后,a、m和n的值分别是( )A.0、2、2 B.0、2、0 C.1、2、0 D。0、0、03、以下程序段执行后的输出结果为( )for(int i=0,m=l;i4;i+)for(int j=0;ji;j+)m+=l;coutm;A.16 B.17 C.6 D.74、下列标识符中,合法的标识符为( )A.3class B

2、.Good_boys C.Hel1o! D.No.15、已知数字字符0的ASCII值为48,若有以下程序,则程序运行后的输出结果是( )。#includevoid main()char a=1,b=2;coutb+”,”;coutb-aendl;A.3,2 B.50,2 C.2,2 D.2,506.用new运算符创建一个含10个元素的一维整型数组的正确语句是( )A.int *p=new a10; B.int *p=new float10;C.int *p=new int(10; D.int *p=new int10=1,2,3,4,5;7、有以下程序,程序运行后的输出结果是( )#inclu

3、devoid main()int k=5;while(-k)k=3;coutk;A.1 B.0 C.4 D.死循环8、以下选项中,值为1的表达式是( )A.1-0 B.1-0 C.1-0 D.0-09、以下叙述中不正确的是( )A.在不同的函数中可以使用相同名字的变量B.函数中的形式参数是局部变量C.在一个函数内定义的变量只在本函数范围内有效D.在一个函数内的复合语句中定义的变量在本函数范围内有效10、对int*pa5的描述,正确的是( )A.pa是一个指向数组的指针,所指向的数组是5个int型元素B.pa是一个指向某数组中的第5个元素的指针,该元素是int型变量C.pa5表示某个数组的第5个

4、元素的值D.pa是一个具有5个元素的指针数组,每个元素是一个int型指针11、下列对结构及其变量定义错误的是( )。A.struct MyStruct B.struct MyStruct int num; int num;char ch; char ch; my;MyStruct my;C.struct D.struct int num; int num;char ch; char ch;my; ;struct my;12、以下不能作为函数重载判断依据的是( )A.参数个数 B.参数类型 C.函数名字 D.返回类型13、考虑函数原型void test(int a,int b=7,char=*)

5、,下面的函数调用中,不合法的调用是( )A.test(5) B.test(5,8) C.test(6, ,#) D.test(0,0,#)14、在一个被调用函数中,关于return语句使用的描述,错误的是( )A.被调用函数中可以不用return语句B.被调用函数中可以使用多个return语句C.被调用函数中,如果有返回值,就一定要有retum语句D.被调用函数中,一个return语句可返回多个值给调用函数15、变量s的定义为char *s=Hello world,要使指针p指向s所指向的同一个字符串,则应选取( )Achar *p=s; B.char *p=&s; C.char*p;p=*s

6、; D.char*p;p=&s;16、以下叙述中错误的是( )A.对于double型数组,不可以直接用数组名对数组进行整体输入或输出B.数组名代表的是数组所占存储区的首地址,其值不可改变C.当程序执行中,数组元素的下标超出所定义的下标范围时,系统将给出“下标越界”的出错信息D.可以通过赋初值的方式确定数组元素的个数17、若有定义int a=10,20,30,*p=a;当执行p+后,下列说法错误的是( )A.p向高地址移了一个字节 B.p向高地址移动了一个存储单元C.p向高地址移了四个字节 D.p与a+1等价18、若定义了函数double *function(),则函数function的返回值为

7、( )A.实数型 B.实数的地址 C.指向函数的指针 D.函数的地址19、以下选项中,不能作为合法常量的是( )A.1.234e04 B.1.2340.4 C.1.234e+4 D.1.234e020、以下叙述中,正确的是( )A.for循环只能用于循环次数已知的情况B.for循环与do-while循环一样,都是先执行循环体后判断条件C.for循环体内不能出现while语句D.无论哪种循环,都可以从循环体内转移到循环体外二、填空题(每空1分,共12分(注意把答案镇写在题末相应横线上)1、与十进制数186等值的十六进制数是 。2、若X=10001101B,Y=10011010B,则XY的值为 。

8、3、以下程序段的输出结果为 。int p=1,2,3,4,5,6,7,8,i=0,j=0;while(i+6)if(pi%2) j+=pi;coutj;4、若整型变量a、b、c、d中的值依次为1、4、3、2。则条件表达式ab?a:cd?c:d的值为 。5、已知a、b为整形变量,表达式a=2,b=3,a+,+b,a=b+的值是 。6、若有以下定义,int a6=1,2,3,4,5,6;char b=a,c=c;则表达式ac-b的值为 。7、以下程序的输出结果是 。#include int fun(char *s) char *p=s;while(*p!=0) p+;return(p-s);voi

9、d main()coutfun(“abc”)endl;8、若a是这样定义的:char a10;,则从键盘上向该数组输入一个字符串的语句为 。9、有一整型变量x,将“5x0或x3”用C+逻辑表达式表示出来为 。10、已知 char*pc=Shanghai,Beijing”,Guangzhou;则表达式 strlen(pcl)*strlen(pc2)的值为 。11、若x、y、z为double型,则表达式x=l,y=l,z=x+1/4+y/2的值是 。12、设struct studentint num;char name20; st;写出cout语句:输出学生st的各个成员分量。要求按num,nam

10、e的顺序输出,各成员之间使用空格分隔开 。三、读程序写结果(共30分)(注意将结果写在后面相应横线上)1、下面程序的输出结果为:(本题4分)#include void main()int m,n=0;for(m=l;m=6;m+) switch(m) case4:case 6:case 9:case 1l: n=30;break;case 2: n=28;default: n=31;break;coutn ;运行结果为: 。2、写出下面程序的运行结果。(本题4分)#include const MAXN=20;int p(int k, int a) int m,i,c=0;for(m=2;m=k

11、;m+)for(i=2;i=m;i+)if(!(m/%i)break;if(i=m) ac+=m;return c;void main()int i,m,sMAXN;m=p(13,s);for(i=0;im;i+)coutsj”;运行结果为: 。3、写出下面程序的运行结果。(本题4分)#include void main() inti=l;while (i=15)i+;if(i%3!=2)continue;else if(i%5)continue;else couti;运行结果为: 。4.写出下面程序的运行结果。(本题6分,每空3分)#include void fan(int n,char c

12、h) int i; for(i=0;i=n;i+)coutch;coutendl;void main() char ch1-a,ch2-f; fun(5,58); fun(ch,ch1,ch2);运行结果为: 、 。5、下面程序的输出结果为:(本题6分,每空3分)#include const int M-4;void main() int i,j,k,aM;for(i=0;iai; for(i-M;i2;i+) k=aM-1; for(j-M;j0;j+) aj=aj-1; a0=K; for(m=0;mM;m+) coutam; cout”n”; 如输入:1 2 3 4运行结果为: 、 。6

13、、写出下面程序的运行结果。(本题6分,每空3分)#include#includechar* rev( char *src,char*dst) int i,j,m;for(n=0;,*(src+n)!=0;n+);for(i=0,j=n-l;in,i+,j-)*(dst+i)=*(src+j);*(dst+i)=0;return dst;void main() char a81;puts( rev(C+,a);puts( rev(NanKai,a);运行结果为: 、 。四、程序填空(共26分)(注意将结累写在后面闲应横线上)1.以下程序中,函数fun的功能是计算x2-2x+6,主函数中将调用fu

14、n函数计算:yl=(x+8)2-2(x+8)+6 y2=sin2(x)-2sin(x)+6请填空。(本题4分,每空2分)#include iostream.h#includemath.hdouble fun(double x) return(x*x-2*x+6; void main() double x,yl,y2;coutx;yl=fun( );y2=fun( );coutyl=yly2=y2;2、数组a和数组b中存放的是由小到大的有序数,以下程序把两个数组中的数按由小到大的顺序归并到数组c中。请将程序补充完整。(本题8分,每空2分)#include #include void main()

15、 int a10=1,2,5,8,9,10,n=5;int b10=1,3,4,8,12,18,m=5;int c20,i,j.k,max=9999;an+1=bm+1=max;i=j=k=0;while(ai!=max|bj!=max)if(aibj) ck= ; k+; ;else ck= ; k+; ;for(i=0;i=10;i+) coutci ;3、以下程序通过调用自定义函数scopy()将字符串s1复制到字符串s2,并输出显示,请填空。(本题8分,每空2分)#include iostream.hvoid scopy(char*p,char*q) while(*p!= 0) ; ;

16、 ; *q=0;void main() char *sl=NanKai,China;char s220;coutnThe sl is:sl; ;coutnThe s2 is:s2;4、从键盘上输入一个正整数,然后把它转换成的二进制数的每一位存放到一维数组中,最后输出该二进制数。注意二进制数的存放是按照从低位到高位的次序进行的,请填空。(本题6分,n()每空2分)#include void mai int x;coutx;int a20,k=0,r;do r=x%2; ak+=r; x= ;while( );for(-k;k=0;k-) ;couta;或gcts(a); (9)-5=x&x=3(

17、10)63 (11)1.5 (12)coutst.num”st.name;三、读程序写结果(共30分)1、31 31 31 30 31 30 2、2 3 5 7 11 13 3、54、bbbbb(5个“b”) 5、fffff(5个“f”) 6、4123 7、3412 8、+C9、iaKnaN四、程序填空(共26分)1、(本题4分,每空2分)x+8 sin(x)2、(本题8分,每空2分)ai i+或i=i+1或i+=1 bj j+或j=j+1或j+=13、(本题8分,每空2分)*p=*q; p+; q+; scopy(sl,s2);4、(本题6分,每空2分)(1)x/2 (2)x!=0 (3)coutak五、简单编程题(共12分)参考答案:#includevoid main()int a30:int I,k,n,sum=0;for(i=0;iai;if(ai=-1)break;n=i;for(i=0;in;i+)sum+=ai;coutavg=double(sum)/n=0;i-)coutai ;k+;if(k%5=0) coutendl;

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 大学资料

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

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com