2012年1月成人自考高级语言程序设计一考试真题

发布时间:2020-01-04 13:23:04   来源:自考网
一、单项选择题(本大题共15小题,每小题2分,共30分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其选出并将“答题卡”的相应代码涂黑。未涂、错涂或多涂均无分。
1.C语言的保留字是(  )
A.FILE
B.define
C.Auto
D.Else
2.正确的实型常数是(  )
A.1E0
B.E0
C.1E0.0
D.1E
3.设intn=0;,执行表达式n‖(n=-1)‖(n=0)‖(n=1)‖(n=2)后n的值是(  )
A.-1
B.0
C.1
D.2
4.设inta=4;,表达式的值不为8的是(  )
A.a*=a-2
B.a--,3*a-1
C.a>1?++a*2:3*a
D.a+=a
5.设inta,b,t;,不能实现a和b的值交换的语句是(  )
A.a=t;t=b;b=a;
B.t=a;a=b;b=t;
C.t=b;b=a;a=t;
D.a=a+b;b=a-b;a=a-b;
6.设intx,*p;,正确的赋值语句是(  )
A.*p=&x;
B.*p=*x;
C.p=x;
D.p=&x;
7.设inti=1,s=1;,下列能正确计算5!的是(  )
A.while(i++<=5)s*=i;
B.for(;i<4;i++)s*=i++;
C.do{s*=i;}while(i<=4);
D.for(;i<=5;i++)s*=i;
8.函数float*fun(){……}返回的是(  )
A.地址
B.实型值
C.整型值
D.字符常数
9.下列叙述正确的是(  )
A.实参不能是表达式
B.函数可以没有形式参数
C.在一个函数中只能有一个return语句
D.函数定义时,若函数类型缺省则默认的类型是void
10.设intm[]={5,4,3,2,1},i=2;,数组元素引用错误的是(  )
A.m[--i]
B.m[i*i]
C.m[m[0]]
D.m[i-2]
11.设intn=8;,执行while(n>5){n--;printf("%2d",n);}后的输出结果是(  )
A.8765
B.876
C.765
D.76
12.设intb,a[]={1,2,3,4},*p=a;,与b=*p++;等价的语句是(  )
A.b=*(++p);
B.b=*(p++);
C.b=p++;
D.b=*++p;
13.定义二维数组并初始化正确的是(  )
A.inta[3][3]=[0,1];
B.inta[3][3]={0,1,2,3,4,5,6,7,8,9};
C.inta[3][]={{1,2},{3,4}};
D.inta[][3]={{0},{1,2},{3,4,5}};
14.设typedefchar*POINT;,若有引用POINTp,q[5];,则(  )
A.p是字符型变量,q是字符型数组
B.p是字符型变量,q是字符型指针数组
C.p是字符型指针变量,q是字符型数组
D.p是字符型指针变量,q是字符型指针数组
15.文件使用方式“wb”的含义是(  )
A.对文本文件只写
B.对二进制文件只写
C.对文本文件读和写
D.对二进制文件读和写
二、填空题(本大题共10小题,每小题2分,共20分)
11.设intx=3;,执行printf("%d\n",x+(x-=x*x));后的输出结果是__________。
12.b2-4ac≥0对应的C语言关系表达式是__________。
13.设charstr[10]="abc";,执行printf("%s\n",strcpy(str,"Spain"));后的输出结果是__________。
14.运算符“==”的优先级比运算符“=”的优先级__________。
15.设inta=123;,表达式a/10%10的值是__________。
16.设char*p="Superstar";,执行printf("%c%s\n",*p,p+6);后的输出结果是__________。
17.局部变量默认的存储类型是__________。
18.执行printf("%d\n",2^4);后的输出结果是__________。
19.从键盘输入含有空格的字符串,使用的系统函数是__________。
110.执行printf("%5.2f\n",(int)10.0%2+12.34);后的输出结果县__________。
三、程序分析题(本大题共4小题,每小题4分,共16分)阅读下列程序,将输出结果写在答题卡上。
21.#includevoidmain(){inty=10;for(;y>0;y--)if(y%3==0){printf("%3d",--y);continue;}printf("\n");}
22.执行下列程序,输入数据:abcd↙
23.intfun(intm){staticintn=1;++m;n++;return(m+n);}voidmain(){inta,b;a=fun(0);b=fun(10);printf("a=%d,b=%d\n",a,b);}
24.#includeintx=1;voidfx(intp){x=p+x;p++;}voidmain(){inta=3;fx(a);printf("%d%d\n",a,x);}
四、程序填充题(本大题共3小题,每小题6分。共18分)请把下列程序的横线处补充完整。使其能正确运行,并在答题卡上作答。
31.计算s=1+2+3+……+n,直到s的值大于1000为止,输出s和n的值。
32.某班30名学生,由键盘输入每个学生的姓名和两门课的成绩,输出其中两门课都通过(成绩大于等于60分)的学生姓名和成绩。
33.打印如下的乘法表。124369481216……9182736……81voidmain(){inti,j;for(i=1;_____①____;i++)/*第一空*/{for(j=1;j<=_____②____;j++)printf("%5d",i*j);/*第二空*/_____③____;/*第三空*/}}
五、程序设计题(本大题共2小题,每小题8分。共16分)
41.由键盘输入10个实型数到数组,求它们的平均值,输出平均值和其中大于平均值的数。
42.(1)写出求三角形面积的函数,函数头为:floatarea(floata,floatb,floatc)三角形面积公式:
(2)写出主函数,根据下图提供的各边的长度,调用上述函数,计算并输出多边形的面积。
推荐文章