首页 > 课程 > 高级语言程序设计(一) > 模拟试题 > 2009年10月自学考试00342《高级语言程序设计(一)》试题

2009年10月自学考试00342《高级语言程序设计(一)》试题

发布时间:2019-08-12

2009年10月高等教育自学考试

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

课程代码:00342

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

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

1.主函数头中的“main”是( )

A.保留字 B.函数名 C.变量名 D.类型名

2.下列运算符中优先级最高的是( )

A.?: B.&& C. D.!

3.设static int a;,执行表达式(a= =1)&&(a=-1)&&(a=2)后,a的值是( )

A.-1 B.0 C.1 D.2

4.设int a,b;,与a+=b++;等价的是( )

A.a=b++; B.a=++b; C.a=a+b++; D.a=a+++b;

5.关于宏定义命令,叙述正确的是( )

A.在程序编译前进行宏替换

C.在程序编译后进行宏替换

6.下列表达式值为0的是( )

A.5/2 B.2&&5 C.!25 D.2&5 B.在程序编译时进行宏替换 D.在程序运行时进行宏替换

7.对循环结构正确的叙述是( )

A.do-while循环体可能被执行0次

C.while循环体不可能被执行0次

8.下列数组定义并初始化正确的是( )

A.int s[]=(1,2,3,4,5);

C.int s[2+3]={1,2,3}; B.int s[5]=1,2,3,4,5; D.int s(5)={1,2,3}; B.do-while循环体至少被执行1次 D.for循环体不可能被执行无限次

9.设char s[10];,能将字符串“+-*/”正确输入的语句是( )

A.scanf(“%s”,s);

C.scanf(“%s”,s[0]); B.scanf(“%s”,*s); D.scanf(“%s”,s[10]);

10.对于C语言中的函数,正确的叙述是( )

A.两个函数可以相互调用,但不能自己调用自己

B.程序执行可以始于任何一个函数,但结束必须在主函数

C.两个函数既可以定义成并列关系又可以定义成嵌套关系

D.一个C程序可以由多个文件组成,一个文件又可以由多个函数组成

11.设int m[5],*p=m;,与元素m[5],*p=m;,与元素m[2]等价的是( )

A.m+2 B.*m+2 C.*(p+2) D.*p+2

12.设int a[3][3]={{1,2,3},{4,5},{6}};,元素a[1][2]的值是( )

A.0 B.1 C.4 D.6

13.设typedef int ARR[10];,与ARRa,*b;等价的定义是( )

A.int a,b; B.int a,*b; C.int a[10],*b; D.int a[10],*b[10];

14.设int n,p=0;,与语句if(n!=0)p=1;等价的是( )

A.if(n)p=1; B.if(n=1)p=l; C.if(n!=1)p=1; D.if(!n)p=l;

15.文件使用方式“rb+”的含义是( )

A.对文本文件只读 B.对文本文件读和写

D.对二进制文件只写 C.对二进制文件读和写

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

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

16.执行printf(“%d\n”,1+!2+(3<=4)+5/6+7%8);后的输出结果是_________。

17.设int m=0;,执行表达式m (m=2) (m=3) (m=4)后,m的值是_________。

18.设int n;,“n的值能同时被3和5整除”的逻辑表达式是_________。

19.执行循环语句for(;’0’;)printf(“Happy!\n”);后,输出“Happy!”的行数是_________。

20.设宏定义#define K 2+3执行printf(“%d\n”,K/K);后的输出结果是_________。

21.设int n;,执行for(n=0;n= =0;n++)n=0;后,循环体被执行的次数是_________。

22.执行printf(“%d\n”,5&5-3&&4);后的输出结果是_________。

23.表示空类型(或称无类型)的保留字是_________。

24.设char*strp=“CHINA”;,执行printf(“%s\n”,strp+3);后的输出结果是_________。

25.使用系统函数对两个字符串进行比较,该系统函数的名字是_________。

三、程序分析题(本大题共4小题,每小题4分,共16分)

阅读下列程序,将输出结果写到各题右侧的空白处。

26.

void main( )

{

int i,a[5],*p;

for(i=4;i>=0;i--)*(a+i)=i;

for(p=a;p

printf(“\n”);

}

27.

gcd(int p,int q)

{

if(p= =q)return p;

else if(p>q)return gcd(p-q,q);

else return gcd(p,q-p);

}

void main( )

{

int m=24,n=36,min,max;

max=gcd(m,n);

min=m*n/max;

printf(“max=%d,min=%d\n”,max,min);

}

28.

s(int a)

{

static int b=l0;

if(a%2= =1)return(++b);

else return(++a);

}

void main( )

{ int i;

for(i=0;i<3;i++)printf(“%d\t”,s(i));

printf(“\n”);

}

29.

struct people

{

char name[10];

float score;

}per[ ]=={{“Tom”,95.5},{“Mary”,88.0}};

void main( )

{

struct people*p=per+1;

printf(“%s,%.1f\n”,per[0].name,p score);

}

四、程序填充题(本大题共3小题,每小题6分,共18分)

请将下列程序横线处缺少的部分补上,使其能正确运行。

30.对两个整型变量先进行输入和输出,将它们的值交换后再输出。

#define PR printf(“a=%d,b=%d\n”,a,b)

void main( )

{

int a,b,______;/* 第一空 */

scanf(“%d%d”,_________);/* 第二空 */

PR;

temp=a,_______,b=temp;/* 第三空 */

PR;

}

31.为二维数组各元素输入数据,计算并输出全部元素之和。

#define N 5

void main( )

{

int i,j,a[N][N],sum=_______;/* 第一空 */

for(i=0;i

for(j=0;j

{

scanf(“%d”,&a[i][j]);

sum+=______________;/* 第二空 */

}

printf(“sum=%d\n”,___________);/* 第三空 */

}

32.为n输入一个正整数值后,计算并输出sum=1-

void main()

{

int n,k=0;

float_______;/* 第一空 */

scanf(″%d″,&n);

do

{

k++;

if(________)sum+=1.0/k;/* 第二空 */

else sum-=1.0/k;

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

printf(″sum=%.4f\n″,sum);

}

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

33.(1)根据下列计算公式写出函数,将华氏温度(F)转化为摄氏温度(C)。

公式:C=1111 ...... 的值。 234n5(F-32) 9

函数头为:float change(float F)

(2)写出主函数,输入华氏温度,调用函数change,计算并输出对应的摄氏温度。输出形式(温度要求两位小数):

F=? C=?

浙00342# 高级语言程序设计(一)试卷 第 5 页 共 6 页

34.用循环结构实现下列问题:现有1020本书,第一天卖掉一半多两本,以后每天卖掉剩下的一半多两本,直到卖完为止。计算并输出卖完所需要的天数。

浙00342# 高级语言程序设计(一)试卷 第 6 页 共 6 页

联系方式

  • 投诉与建议电子邮箱:272223086@qq.com
  • 联系方式: 13117063983    http://www.hbzkjy.com