【精编】程序设计语言C期末考试题A答案.pdf

上传人:索**** 文档编号:85738500 上传时间:2023-04-12 格式:PDF 页数:5 大小:45.40KB
返回 下载 相关 举报
【精编】程序设计语言C期末考试题A答案.pdf_第1页
第1页 / 共5页
【精编】程序设计语言C期末考试题A答案.pdf_第2页
第2页 / 共5页
点击查看更多>>
资源描述

《【精编】程序设计语言C期末考试题A答案.pdf》由会员分享,可在线阅读,更多相关《【精编】程序设计语言C期末考试题A答案.pdf(5页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、北京师范大学珠海分校2011-2012 学年第二学期期末考试(A卷答案)开课单位:应用数学学院课程名称:程序设计语言 C 任课教师:冯霜考试类型:闭卷考试时间:120分钟学院_ 姓名_学号_ 班级_试卷说明:本试卷共4 页,满分 100 分-一、单项选择题(请将答案填入下表内,每小题2分,共 60分)12345678910BBACADBBCB11121314151617181920CBDAACDBDA21222324252627282930BBDADADBDC1、结构化程序所要求的基本结构不包括(B )A、顺序结构 B、if goto结构 C、选择结构 D、循环结构2、如有定义语句:int x

2、=12,y=8,z;在其后执行语句z=0.9+x/y,则 z 的值为(B)A、1.9 B、1 C、2 D、2.43、以下选项中可作为C语言合法常量的是(A)A、-80 B、-080 C、-8e1.0 D、-80.0e4、void main()int y=9;for(;y0;y-)if(y%3=0)printf(%d,-y);程序的运行结果是(C)A、741 B、963 C、852 D、85205、以下选项中叙述错误的是(A)A、C程序函数中定义的赋有初始值的static变量,每调用一次函数,赋一次初值B、C程序的同一函数中,各复合语句内可以定义变量,其作用域仅限本复合语句内C、C程序函数中定义

3、的auto 变量,若无初值,则其值是不定的D、C程序函数的形参不可以说明为static型变量6、若函数调用时的实参为变量,以下关于函数形参和实参的叙述中正确的是(D)A、实参和其对应的形参共占同一存储单元 B、形参只是形式上的存在,不占用存储单元C、同名的实参和形参占同一存储单元 D、形参和实参分别占用不同的存储单元7、以下定义语句中正确的是(B)A、int a=b=0;B、char A=65+1,b=b;C、float a=1,*b=&a,*c=&b;D、double a=10,*b=1.1;8、已知int t=0;while(t=1)printf(“RUN!n”);则以下叙述正确的是(B)

4、试卷装订线题号一二三总分得分阅卷人A、循环控制表达式的值为0 B、循环控制表达式的值为1 C、循环控制表达式不合法 D、以上说法都不对9、char ch=a;int k=12;printf(%c,%d,%d,ch,ch,k);printf(k=%d n,k);已知字符a 的 ASCII 码值为 97,则执行上述程序段后输出结果是(C)A、变量类型与格式描述符的类型不匹配,输出无定值B、输出项与格式描述符个数不符,输出为零值或不定值C、a,97,12,k=12 D、a,97,k=12 10、若有语句:int a=10,b=20;执行表达式(a=ab)&(b=ba)后,a 和 b 的值分别为(B)

5、A、0 和 1 B、0 和 20 C、10 和 1 D、以上答案都不正确11、以下错误的定义语句是(C)A、int x3=0,1,1,2,3;B、int x43=1,2,3,1,2,3,1,2,3,1,2,3;C、int x4=1,2,3,1,2,3,1,2,3,1,2,3;D、int x3=1,2,3,4;12、以下能正确定义一维数组的选项是(B)A、int a5=0,1,2,3,4,5;B、char a=0,1,2,3,4,5,0;C、char a=A,B,C;D、int a5=0123;13、若定义语句:int y=2011,*p=&y;以下不能使变量y 中的值增至2012 的语句是(D

6、)A、*p+=1;B、(*p)+;C、+(*p);D、*p+;14、void main()char p=abc,q10=a,b,c;printf(%d%dn,strlen(p),strlen(q);以下叙述中正确的是(A)A、在给数组p 和 q 赋初值后,都以0结束,故输出的长度都为3 B、由于 p数组中没有0,长度不能确定,但q 数组中字符串长度为3 C、由于 q数组中没有0,长度不能确定,但p 数组中字符串长度为3 D、由于 p和 q 数组中都没有0,故长度都不能确定15、程序:#define M(X,Y)X*Y#define N(X,Y)(X)/(Y)void main()int a=5

7、,b=6,c=8,k;k=N(M(a+1,b+1),c);printf(%dn,k);运行后的输出结果是(A)A、1 B、3 C、5 D、1116、当用户要求输入的字符串中含有空格时,应使用的输入函数是(C)A、scanf()B、getchar()C、gets()D、getc()17、若有说明:int n,*p=&n,m=5;以下正确的程序段是(D)A、scanf(%d,&p);B、scanf(%d,*p);C、scanf(%d,&n);p=n;D、*p=m;18、指针变量的值是(B)A、整数 B、所指向变量的地址 C、二进制数D、NULL19、若有以下定义int a5=0,*p=a;,则对

8、a 数组元素的正确引用是(D )A、*&a5 B、a+2 C、*(p+5)D、*(a+2)20、设有结构体定义:struct student char name12;char gender;float score3;s1,s2;若变量均已正确赋初值,则以下语句中正确的是(A)A、s1=s2;B、s2-gender=s1-gender;C、s2.name=s1.name;D、s2.score=s1.score;21、struct ty int data;char c;a=30,x;void main()struct ty*p=&a;p-data=20;(*p).c=y;printf(%d,%c,

9、a.data,a.c);程序运行后的输出结果是(B)A、30,x B、20,y C、20,x D、程序编译会出错22、程序 void main()int a10=1,2,3,4,5,6,7,8,9,10,*p=a+1;printf(%dn,*(p+2);的输出结果是 (B )A、3 B、4 C、1 D、2 23、有定义语句:char s10;若要从终端给s 输入 5 个字符,错误的输入语句是(D )A、gets(&s0);B、scanf(%s,s+1);C、gets(s);D、scanf(%s,s1);24、若执行fclose函数时,关闭文件成功,则函数的返回值是(A)A、0 B、NULL C

10、、1 D、EOF25、若要用fopen 函数向二进制文件末尾添加新的数据,文件使用方式应是(D)A、w+B、a+C、rb+D、ab+26、若有语句:char*line5;以下叙述中正确的是(A)A、定义 line是一个指针数组,每个数组元素是一个基类型为char 的指针变量B、定义 line是一个指针变量,该变量可以指向一个长度为5 的字符型数组C、定义 line是一个字符数组,语句中的*号称为间址运算符D、定义 line 是一个指向字符型函数的指针变量27、以下叙述中错误的是(D)A、在程序中凡是以#开始的语句行都是预处理命令行B、预处理命令行的最后不能以分号表示结束C、#define MA

11、X 是合法的宏定义命令行D、C程序对预处理命令行的处理是在程序执行的过程中进行的28、以下叙述中错误的是(B)A、gets 函数用于从终端读入字符串 B、getchar函数用于从磁盘文件读入字符C、fputs函数用于把字符串输出到文件 D、fwrite函数用于以二进制形式输出数据到文件29、以下正确的函数形式是(D )A、double fun(int x,int y)z=x+y;return z;B、fun(x,y)int x,y;double z;z=x+y;return z;C、fun(int x,y)int z;return z;D、double fun(int x,int y)doub

12、le z;z=x+y;return z;30、下面判断正确的是(C )A、char*a=bnuz;等价于 char*a;*a=bnuz;B、char str4=bnuz;等价于 char str=bnuz;C、char*s=bnuz;等价于 char*s;s=bnuz;D、char c4=abc,d4=abc;等价于 char c4=d4=abc;二、阅读程序(请将程序的输出结果写在方框内,每小题5分,共 30分)1、int fun(int n)if(n=1)return 1;else return(n+fun(n-1);void main()int x=10;x=fun(x);printf(

13、%dn,x);552、int fun()static int x=4;x+;return x;void main()int i,t=1;for(i=1;i=3;i+)t*=fun();printf(t=%dn,t);t=2103、void sub(float x,float*y,float*z)*y=*y-1.0;*z=*z+x;void main()float a=2.5,b=9.0,*p=&a;sub(b-a,p,p);printf(a+b=%.2fn,a+b);a+b=17.004、void reverse(int a,int n)int i,t;for(i=0;in/2;i+)t=ai

14、;ai=an-1-i;an-1-i=t;void main()int b10=1,2,3,4,5,6,7,8,9,10,i,s=0;reverse(b,8);for(i=6;i10;i+)s+=bi;printf(s=%dn,s);s=225、void main()int a=0,i;for(i=1;i=0&*s=9)n=10*n+*s-0;s+;return(n);/ASCII码:0 为48、9 为 57void main()char s10=72a4b9c0d;printf(%dn,fun(s);72三、程序设计题(共10 分)已知定积分1()nbnaibabaxdxaiSnn,nS的值由函数sum计算,函数sum首部为float sum(int n,float a,float b),在 主 函 数 中 输 入 积 分 上 下 限,调 用sum 计 算123,.S SS,直到6110nnSS,输出此时的nS(即为该定积分的近似值),请编写完整源代码。#include#include 1分float sum(int n,float a,float b)int i;float s=0;1分for(i=1;i1e-6);3分 printf(该积分近似值为:%fn,s1);1分

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

当前位置:首页 > 教育专区 > 高考资料

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

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁