收藏 分享(赏)

2007年高级语言程序设计试卷答案.doc

上传人:dzzj200808 文档编号:2608020 上传时间:2018-09-23 格式:DOC 页数:11 大小:96.50KB
下载 相关 举报
2007年高级语言程序设计试卷答案.doc_第1页
第1页 / 共11页
2007年高级语言程序设计试卷答案.doc_第2页
第2页 / 共11页
2007年高级语言程序设计试卷答案.doc_第3页
第3页 / 共11页
2007年高级语言程序设计试卷答案.doc_第4页
第4页 / 共11页
2007年高级语言程序设计试卷答案.doc_第5页
第5页 / 共11页
点击查看更多>>
资源描述

1、12007 年(下)高等教育自学考试全国统一命题考试高级语言程序设计(-)试卷及参考答案(考试时间 150 分钟)一、单项选择题(本大题共 15 小题,每小题 2 分,共 30 分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。1.可以作为自定义标识符的是()A. 2x B. breakC. m-n D. m_n注:P9:表 2-3 保留字,也称关键字。标识符,标识符是用户自定义的字符序列,表示程序中的各种语法成分的名称,比如符号常量,变量名,数组名,函数名等。C 语言规定,标识符是由字母或下划线开头的字母,数字,下划线(见 P8,表

2、 2-1)组成的字符序列。C 语言中的标识符是区分大小写的。注意:用户定义标识符,比如符号常量,变量名,数组名,函数名等,标识符中的字母是区分大小写的。系统保留字, P9:表 2-3 保留字,也称关键字,所有保留字都用小写字母表示,不允许用户使用,例如,字符类型符,int,长度运算符 sizeof 等,系统函数名,例如,printf()等。2.正确的变量定义是()A. unsigned long d = 1000; B. float m1 = m2 = 10.0;C. char c1 = A, c2= A; D. double x = 0.618, x = 3.14;注:字符标记: 。P9,表

3、 2-2,ddd,13 为 8 进制数对应的符号。 xhh,12位 16 进制数 hh 对应的符号。八进制数前面加一个数字:0。十六进制数前面加:0x。十进制数。符号唯一,不能重覆定义。注意:(1)由英文字母,数字,下划线组成,标识符的第一个字母不能是数字,必须是字母或下划线。(2)大小写英文字母含义不同。(3)标识符中允许包含的字符个数随编译系统而有所不同,通常是可以识别前面 6 个字符。3.表达式的值为 0 的是()A. 5/5%5 B.52.C. !4 D.0x7,则执行 a=b+2,a+,.a+b;后 a 和 b 的值分别是()A.1 和 2 B.3 和 2C.4 和 7 D.5 和

4、2注:P31,+a 和 a+的运算结果相同。注意:P31,int a=3,b=3;表达式+a-1 的值是 3; a 的值是 4;先将 a 加 1,后运算表达式的值。表达式 b-+1 的值是 4;b 的值是 2;先运算表达式的值,后为 b 减 1。5.设 int a=2,b=3,c=4;,则表达式 ab后输出结果是()A.Tom25 B.Tom26C.Mary25 D.Mary26注:P29,指针运算时,*表示指向的变量。而定义变量时,* 表示定义一个指针变量。P137,指针变量的定义和引用。15.设 typedef double DB;,则与 DB u5;的等价形式是()A.double db

5、5; B.double DB5;C.double u; D.double u5;注:P217,用户调研类型。DB 成为自定义类型符。代表双精度类型符 double第二部分非选择题二、填空题(本大题共 10 小题,每小题 2 分,共 20 分)请在每小题的空格中填上正确答案。错填、不填均无分。16.-个字符型变量所占内存的字节数是 1 。注:P25,表 3-117.写出公式 对应的 C 语言表达式 (x+sqrt(x+y)/(5*x))/2.0 )( xy52或 1.0/2(x+sqrt(x+y)/(5*x)) 。注:注意分明中的 5*x18.执行语句 printf(”%sn”,”World0W

6、ide0Web”);后的输出结果是 4World。注:P231 下,P60,%s 是输出一个字符串,而字符串结束标记是0 。19.设 int a,b=5;,则执行表达式 a=b-2=3 后 a 的值是 1。注:=是关系运算符,-是算术运算符,P32,算术运算符优先于 关系运算符,先计算,b-2 然后计算关系运算符=,b-2=3,运算结果为 1,赋值运算符优先级最低。20.设 char s20=”My”;,则执行 strcat(s,”Sun!”)后 s 的内容是 MySun!。注:P121,字符串连接函数。21.设 float x=23.65;,则执行语句 printf(”%dn”,(int)(

7、x+0.5);后输出结果是 24 。注:P46,运算结果的强制性数据类型转换原则, (数据类型符) ( 表达式) ;22.若定义函数 char *fun().,则该函数的返回值类型是 字符型指针 或字符型地址。注:P169,P178,指针型函数的定义,在函数名前面加一个*,表示函数返回值是指针类型,P178,例 7-18,表示*fun()是指针型函数,其返回值是指针型数据。指针型函数的返回值是指针型数据。23.设 int x=-9,y;,则执行 y=x=0?x:-x;后 y 的值是 9 。注:P37,条件运算符” ?:”的优先级如下,其他运算符 优先于 条件运算符 预先于 赋值,算术自反赋值运

8、算符, 优先于 逗号运算符。本题中,按照优先级关系,先执行条件运算符?:后执行赋值运算符=。24.若函数调用语句为 f(a,b,f(a+b,a-b,b);,则函数 f 的参数个数是 3 。25.设 int a=10,则执行语句。a+=a-=a+a;后 a 的值是 -20 。注:算术运算符 优先于 关系运算符 优先于 双目运算符 算术自反运算符。算术自反运算符和赋值运算符优先级相同,结合性自右向左的。按照优先级,执行 a-=a+a,后,得到结果 a=-10,再执行 a+=a,结果 a=-20三、程序分析题(本大题共 14 小题,每小题 4 分,共 16 分)阅读下列程序,请将输出结果写到各题右侧

9、的空白处。26.main()int a=1,b=2,c=3;if(a#include main()char ch;FILE *fp;if(fp=fopen(”file.dat”, “ w ”)=NULL) /*第一空*/printf(”Can not open filen”);exit(0);ch=getchar(); /* 注:从键盘获取第一个字符 */while(ch!=#) /* 当型循环 */fputc( ch ,fp); /*第二空*/*把 ch 中的字符,写入 fp 指向的文件。*/ ch=getchar(); /* 注:从键盘获取下一个字符 */ fclose( fp ); /*

10、第三空*/注:对文件进行操作前,要打开文件,由操作系统把文件从磁盘上读入内存中,供程序访问。语句,ch=getchar();从键盘获取一个字符,存入 ch,fputc( ch ,fp)把 ch 中的字符,写入 fp 指向的文件。当型循环,当一次循环结束时,判断循环条件 while(ch!=#)当 ch!=#时,继续进行循环。32.从键盘输人 x 的值,根据以下公式计算并输出 x 和 y 的值。x0x#include main()float x,y; /* 自变量 x,函数 y */scanf(”%f”, /*第一空*/if(x#define N 100main()9int aN,i,n=0;f

11、loat sum=0,aver;for(i=0;i=0) /* 在大于等于零的数中操作,先求和,然后求平均值 */sum = sum + ai;n+; /* 大于等于零的数的个数 */if(n=0)printf(“All numbers are negative!n“);else aver = sum/n;printf(”aver=%7.2fn”,aver); /* 保留小数点后两位 */34.(1).编写一个计算梯形面积的函数,函数头是:float area(float t,float b,float h)其中变量 t,b,和高 h 分别表示梯形的上底,下底和高。(2).编写主函数从键盘输入

12、梯形的上底,下底和高的值,调用上述函数输出梯形的面积(保留小数点后两位) 。注:#include float area(f1oat t,float b,float h)return(t+b)*h*0.5;main()f1oat t1,b1,h1;scanf(”%f%f%f”,printf(”area=%7.2fn”,area(t1,b1,h1);2007 年(下)高级语言程序设计(-)试卷参考答案一、1.D 2.A 3.C 4.D 5.C 6.B 7.D 8.B 9.B 10.A 11.C 12.A 13.A 14,B 15.D二、16.117.(x+sqrt(x+y)/(5*x)/2.0 或

13、 1.0/2*(x+sqrt(x+y)/(5*x)18.World19.1,20.MySun!21.241022.字符型指针或字符型地址23.924.325.-20三、26.b=2 (2 分)c=3 (2 分)27.6 8 10 (4 分)28.8* (1 分)3* (1 分)4* (1 分)1* (1 分)29.12 (4 分)四、 【评分参考】每小题有 3 个空,每空 2 分。30.第一空:num第二空:b第三空:bi31.第一空:w第二空:ch第三空:fp32.第一空:Float sum=0,aver;for(i=0;i=0),sum = sum + ai;n+;if(n=0)print

14、f(“All numbers are negative!n“);else aver = sum/n;printf(”aver=%7.2fn”,aver);【评分参考】宏定义、变量和数组定义及初始化正确得 2 分;数组翰人正确得 1 分;34.11#include float area(f1oat t,float b,float h)return(t+b)*h*0.5;main()f1oat t1,b1,h1;scanf(”%f%f%f”,printf(”area=%7.2fn”,area(t1,b1,h1);【评分参考】函数定义正确得 4 分;主函数定义变量正确得 1 分;输人正确得 1 分输出、调用正确得 2 分;共 8 分。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 大学课件

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报