程序设计语言C期末考试题A答案_第1页
程序设计语言C期末考试题A答案_第2页
程序设计语言C期末考试题A答案_第3页
程序设计语言C期末考试题A答案_第4页
程序设计语言C期末考试题A答案_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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

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

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

4、以下叙述正确的是(B)A循环控制表达式的值为0BC循环控制表达式不合法D、循环控制表达式的值为1、以上说法都不对9、charch='a'intk=12;printf("%c,%d,%d,",ch,ch,k);printf("k=%dn",k);已知字符a的ASCII码值为97,则执行上述程序段后输出结果是(C), 输出为零值或不定值日输出项与格式描述符个数不符C、 a,97,12, k=12D、 a,97,k=1210、若有语句:int a=10,b=20; 执行表达式A、 0 和 1 B 、 0 和 20 C11、以下错误的定义语句是(

5、 C )A 、 int x3=0,1,1,2,3;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;12、以下能正确定义一维数组的选项是(A 、 int a5=0,1,2,3,4,5;a= ' 0' , '1', ' 2', '3', '4C char a= 'A', ' B', 'C'13、若定义语句:int y=2011,*p=&y;A、 *p+=1; B 、 (*p)+;14、void ma

6、in() char p="abc",q10=D B5, D(a=a>b)&&(b=b>a) 后, a 和 b 的值分别为(B)、 10 和 1 D 、以上答案都不正确B 、 int、 int x3=1,2,3,4;)B 、 char 0' ;int a5="0123"printf("%d%dn",strlen(p),strlen(q); 以下不能使变量y 中的值增至2012 的语句是(D)C 、 +(*p); D 、 *p+;a' , ' b' , ' c'

7、;( A )A、变量类型与格式描述符的类型不匹配,输出无定值A在给数组p和q赋初值后,都以0'结束,故输出的长度都为3日由于p数组中没有0',长度不能确定,但q数组中字符串长度为3C由于q数组中没有0',长度不能确定,但p数组中字符串长度为3D由于p和q数组中都没有0',故长度都不能确定15、程序:#defineM(X,Y)X*Y#defineN(X,Y)(X)/(Y)voidmain()inta=5,b=6,c=8,k;运行后的输出结果是(A )k=N(M(a+1,b+1),c);printf("%dn",k);A、 1 B 、 3、5D、

8、 1116、当用户要求输入的字符串中含有空格时,应使用的输入函数是(C)A、scanf()B、getchar()C、gets()D、getc()17、若有说明:intn,*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、二进制数DNULL19、若有以下定义inta5=0,*p=a;,则对a数组元素的正确引用是(D)A、*&a5B、a

9、+2C、*(p+5)D、*(a+2)20、设有结构体定义:structstudentcharname12;chargender;floatscore3;s1,s2;若变量均已正确赋初值,则以下语句中正确的是(A)A、s1=s2;B、s2->gender=s1->gender;C、=;D、s2.score=s1.score;21、 structtyintdata;charc;a=30,'x'voidmain()structty*p=&a;p->data=20;(*p).c='y'printf("%d,

10、%c",a.data,a.c);程序运行后的输出结果是(B)A30,xB、20,yC、20,xD、程序编译会出错22、程序voidmain()inta10=12345,6,7,8,9,10,*p=a+1;printf("%dn",*(p+2);的输出结果是(B)A、3B、4C、1D、223、有定义语句:chars10;若要从终端给s输入5个字符,错误的输入语句是(D)Agets(&s0);B、scanf("%s",s+1);C、gets(s);D、scanf("%s",s1);24、若执行fclose函数时,关闭文件

11、成功,则函数的返回值是(A)A0B、NULLC、1D、EOF25、若要用fopen函数向二进制文件末尾添加新的数据,文件使用方式应是(D)A"w+"B、"a+"C、"rb+"D、"ab+"26、若有语句:char*line5;以下叙述中正确的是(A)A定义line是一个指针数组,每个数组元素是一个基类型为char的指针变量日定义line是一个指针变量,该变量可以指向一个长度为5的字符型数组C定义line是一个字符数组,语句中的*号称为间址运算符D定义line是一个指向字符型函数的指针变量27、以下叙述中错误的是(D

12、)A、在程序中凡是以"#"开始的语句行都是预处理命令行日预处理命令行的最后不能以分号表示结束C#defineMAX是合法的宏定义命令行DC程序对预处理命令行的处理是在程序执行的过程中进行的28、以下叙述中错误的是(B)Agets函数用于从终端读入字符串B、getchar函数用于从磁盘文件读入字符Cfputs函数用于把字符串输出到文件D、fwrite函数用于以二进制形式输出数据到文29、以下正确的函数形式是(D)Adoublefun(intx,inty)z=x+y;returnz;B、fun(x,y)intx,y;doublez;z=x+y;returnz;Cfun(intx

13、,y)intz;returnz;D、doublefun(intx,inty)doublez;z=x+y;returnz;30、下面判断正确的是(C)Achar*a="bnuz"等价于char*a;*a="bnuz"B>charstr4="bnuz"等价于charstr="bnuz"Cchar*s="bnuz"等价于char*s;s="bnuz"Ckcharc4="abc",d4="abc"等价于charc4=d4="ab

14、c"、阅读程序(请将程序的输出结果写在方框内,每小题5分,共30分)2、 int fun() static int x=4;x+;return x;void main() int i,t=1;for(i=1;i<=3;i+)t*=fun();1、intfun(intn)if(n=1)return1;elsereturn(n+fun(n-1);voidmain()intx=10;x=fun(x);printf("%dn",x);55printf("t=%dn",t); t=2103、void sub(float x, float *y, f

15、loat *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.005、void main() int a=0,i;for(i=1;i<5;i+) switch(i) case 0:case 3: a+=2;case 1:case 2: a+=3; break; default: a+=5;printf("a=%dn",a);a=164、void reverse(int a,int

16、n) int i,t;for(i=0;i<n/2;i+)t=ai;ai=an-1-i;an-1-i=t; void main()b10=1,2,3,4,5,6,7,8,9,10,i,s=0;reverse(b,8);for(i=6;i<10;i+) s+=bi;printf("s=%dn",s);s=22int6、int fun(char *s) int n=0;while(*s>='0'&&*s<='9') n=10*n+*s-'0's+;return(n);"/ASCII

17、码:'0'为48、'9'为 57 void main() char s10="72a4b9c0d”;printf("%dn",fun(s);72三、程序设计题(共10分),、 八 bb a已知定积分xdx b上a nn(ai 1float sum(int n,float a,float S,S2,S3,,直到 |01 Sn 完整源代码。-ai) Sn, Sn的值由函数sum计算,函数sum首部为 nb),在主函数中输入积分上下限,调用sum计算10 6,输出此时的 & (即为该定积分的近似值),请编写#include<stdio.h>#include<math.h>1分floatsum(intn,floata,floatb)inti;

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论