2007年10月自考高级语言程序设计一试题

更新时间:2024-06-16 13:09:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

全国2007年10月高等教育自学考试

高级语言程序设计(一)试题

课程代码:00342

一、单项选择题(本大题共15小题,每小题2分,共30分)

在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。

1.可以作为自定义标识符的是( ) A.2x C.m-n

2.正确的变量定义是( ) A.unsigned long d=1000; C.char c1=’A’,c2=A;

3.表达式的值为0的是( ) A.5/5%5 C.!4

B.5>2 D.0x7&7

B.float m1=m2=10.0; D.double x=0.618,x=3.14; B.break D.m_n

4.设int a=1,b=2;,则执行a=b+2,a++,a+b;后a和b的值分别是( ) A.1和2 C.4和7

B.3和2 D.5和2

5.设int a=2,b=3,c=4;,则表达式a>b&&b

B.0 D.2

6.设int a=2,b=3,x,y;,则能正确执行的语句是( ) A.scanf(〞%d,%d〞,x-y,x+y); C.printf(〞%f\\n〞,a+b);

B.printf(〞%d\\n〞,a%b); D.scanf(〞%d,%d〞,x,y);

7.设char s[10]= 〞abcde〞,t[ ]= 〞12345〞; ,则s和t在内存中分配的字节数分别是( ) A.6和5 C.10和5

B.6和6 D.10和6

8.设int a=10,*p=&a; ,则执行printf(〝%d\\n〞,*p+a);的结果是( ) A.10 C.30

B.20 D.40

9.自定义函数中形式参数的作用域是( ) A.本文件

B.本函数

C.main 函数 D.整个程序

════════════════════════════════════════════════════════════════════

10.设int b[ ][5]={1,2,3,4,5,6,7};,则元素b[1][2]的值是( ) A.0 C.6

11.对函数而言,叙述正确的是( ) A.函数中只能有一个return 语句

B.2 D.7

B.当函数的形参是数组时形实结合为值传递方式 C.程序中只能有一个main函数

D.无参函数的函数体内不能出现return语句 12.执行下列程序段后输出的结果是( ) int x,y,z=1;

for(x=1,y=-1;x

B.2 D.6

13.设static int a[3]={1,2,3};int*p[ ]={&a[0],&a[1],&a[2]};

则与数组元素a[1]等价的是( ) A.*p[1] C.*p+1 14.设struct

{char name[10]; int age;

}stu[2]={{ 〞Tom〞,25},{〞Mary〞,26}},*p=stu;

则执行语句printf(〞%s%d\\n〞,p->name,stu[1].age);后输出结果是( )

A.Tom25 C.Mary25

B.Tom26 D.Mary26 B.p[1] D.p+1

15.设typedef double DB;,则与DB u[5];的等价形式是( ) A. double db[5]; C.double u;

B.double DB[5]; D.double u[5;]

二、填空题(本大题共10小题,每小题2分,共20分)

请在每小题的空格中填上正确答案。错填、不填均无分。

16.一个字符型变量所占内存的字节数是____________________。

════════════════════════════════════════════════════════════════════

17.写出公式

1??x?2??x?y??对应的C语言表达式_________________。 5x??18.执行语句printf(〞%s\\n, 〞〞 World\\0Wide\\0Web〞);后的输出结果是_______________。 19.设int a,b=5;,则执行表达式a=b-2==3后a的值是_________________。

20.设char s[20]= 〞My〞;,则执行strcat(s, 〞Sun! 〞)后s的内容是___________________。 21.设float x=23.65;, 则执行语句printf (〞%d\\n〞,(int)(x+0.5));后输出结是_______________。 22.若定义函数char*fun( ){?},则该函数的返回值类型是__________________。 23.设int x=-9,y;,则执行y=x>=0?x:-x;后y的值是_________________。

24.若函数调用语句为f(a,b,f(a+b,a-b,b));,则函数f的参数个数是__________________。 25.设int a=10;,则执行语句a+=a-=a+a;后a 的值是_________________。 三、程序分析题(本大题共4小题,每小题4分,共16分)

阅读下列程序,请将输出结果写到各题右侧的空白处。 26.main()

{int a=1,b=2,c=3; if(a<=c)

if(b==c)printf(〞a=%d\\n〞,a); else printf(〞b=%d\\n〞,b); printf(〞c=%d\\n〞,c); } 27.int f(int n) {static int m=5; return ++m+n; } main() {int i;

for(i=0;i<3;i++)printf(〞]〞,f(i)); printf(〞\\n〞); }

28.#define SIZE 4 main()

{int n[SIZE]={8,3,4,1}; int i, j;

════════════════════════════════════════════════════════════════════

for (i=0;i

for(j=1;j<=n[i];j++)printf(〞*〞);

printf(〞\\n〞); } }

29.int fm(int a,int b) {if(b==1)return a; else return a+fm(a,b-1); } main() {

printf(〞%d\\n〞,fm(4,3)); }

四、程序填充题(本大题共3小题,每小题6分,共18分) 请将下列程序横线处缺少的部分补上,使其能正确运行。

30.函数fun 用于计算数组各元素值的平方,主函数调用fun并输出各元素的值。 void fun(int num,int a[ ]) {int i;

for (i=0;i<___________;i++)a[i]=a[i]*a[i]; /*第一空*/ } main() {

int i,b[5]={1,2,3,4,5};

fun(5,_______); /*第二空*/

for (i=0;i<5;i++)printf(〞]〞,________); /*第三空*/ printf(〞\\n〞); }

31.从键盘输入一串字符(“#”作为结束标志),将其写入文本文件file.dat 中保存。 #include #include main()

════════════════════════════════════════════════════════════════════

{char ch; FILE*fp;

if((fp=fopen(〞file.dat〞, 〞______〞))= =NULL) /*第一空*/ {printf(〞Can not open file\\n〞);exit(0);} ch=getchar(); while (ch!=’# ’)

{fputc(________,fp); /*第二空*/ ch=getchar(); }

fclose(________); /*第三空*/ }

32.从键盘输入x的值,根据以下公式计算并输出x和y 的值。

?x     0?x?2?22?x?6?x?1   ?y??x?1   6?x?10 ??1   x?10?2?x?1#include #include main() {float x,y;

scanf(〞%f〞,______); /*第一空*/ if(x<0)printf(〞input error!\\n〞); else

{switch ((int)(x/2))

{case 0:y=x;_______; /*第二空*/ case 1:

case 2:y=x*x+1;break; case 3:

case 4:y=_____________;break; /*第三空*/ default :y=1/(x*x+1); }

printf(〞x=%7.2f,y=.6f\\n〞,x,y);

════════════════════════════════════════════════════════════════════

} }

五、程序设计题(本大题共2小题,每小题8分,共16分)

33.从键盘输入100个整数,计算并输出大于等于零的数的平均值(保留小数点后两位)。 34.(1)编写一个计算梯形面积的函数。函数头是:float area(float t,float b,float h) 其中变量t、b和h分别表示梯形的上底、下底和高。

(2)编写主函数从键盘输入梯形的上底、下底和高的值,调用上述函数输出梯形面积 (保留小数点后两位)。

════════════════════════════════════════════════════════════════════

} }

五、程序设计题(本大题共2小题,每小题8分,共16分)

33.从键盘输入100个整数,计算并输出大于等于零的数的平均值(保留小数点后两位)。 34.(1)编写一个计算梯形面积的函数。函数头是:float area(float t,float b,float h) 其中变量t、b和h分别表示梯形的上底、下底和高。

(2)编写主函数从键盘输入梯形的上底、下底和高的值,调用上述函数输出梯形面积 (保留小数点后两位)。

════════════════════════════════════════════════════════════════════

本文来源:https://www.bwwdw.com/article/gl03.html

Top