2010年1月成人自考高级语言程序设计一考试真题
发布时间:2019-11-25 22:19:25   来源:自考网一、单项选择题(本大题共15小题,每小题2分,共30分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。
1.下列不属于保留字的是( )
A.default
B.register
C.sruct
D.unsign
2.下列不能作为常量的是( )
A.0582
B.0xa5
C.′\n′
D.2.5e-2
3.设typedeflongclass;,则class是( )
A.整型变量
B.长整型变量
C.长整型数据类型的新标识符
D.新的而非长整型数据类型的标识符
4.设charc=′A′;inti=1,j;,执行j=!c&&i++;后,i和j的值分别是( )
A.1和0
B.1和1
C.2和0
D.2和1
5.设inta;,执行表达式(a=1,2,3),a+1后,a和表达式的值分别是( )
A.1和2
B.2和3
C.3和4
D.4和5
6.下列关于函数定义正确的是( )
A.fun(intx,y){intz;returnz;}
B.voidfun(intx,inty){returnx+y;}
C.fun(x,y){intx,y;doublez;z=x+y;returnz;}
D.doublefun(intx,inty){doublez;z=x+y;returnz;)
7.下列用户自定义标识符正确的是( )
A.4a
B.b_1
C.-&
D.*p
8.下列程序段中循环体执行的次数是( )intx=-1;do{x=x*x;}while(!x);
A.0
B.1
C.2
D.无限
9.实现字符串连接的系统函数名是( )
A.strcat
B.strcmp
C.strcpy
D.strlen
10.若实参是一个数组名,在调用函数时,实参向形参传递的是( )
A.数组的长度
B.数组的首地址
C.数组每个元素的值
D.数组每个元素的地址
11.设inta[][4]={1,2,3,4,5,6,7};,则a[1][3]的值是( )
A.0
B.3
C.4
D.7
12.若定义一个只限本源文件使用的全局变量,则该变量的存储类别是( )
A.extern
B.register
C.static
D.auto
13.设chark=′a′;floatj=2.0;,执行k+=5/j;printf("%c",k);后,输出结果是( )
A.a
B.b
C.c
D.d
14.下列程序段正确的是( )
A.chars[]={′xyz′};
scanf("%s",s);
B.float*p,i;
p=*p+i;
C.chars[5]=′word′;
puts(s);
D.inta[5]={0},*p=a;
*p=*(p+1);
15.关于编译预处理命令,叙述正确的是( )
A.预处理命令都以“#”开头
B.预处理命令必须位于程序的首部
C.预处理命令只能实现宏定义和条件编译的功能
D.每个程序必须在开头使用预处理命令#include
二、填空题(本大题共10小题,每小题2分,共20分)请在每小题的空格中填上正确答案。错填、不填均无分。
11.设floata,b,c;,若a、b和c分别为三角形的三条边长,它们“能构成等边三角形”的逻辑表达式是_______。
12.设inti;floatf=3.14;,执行i=(int)f;后,变量f的值是_______。
13.设chars[]="\t\’Name\\Address\n";,s的长度是_______。
14.执行printf("%d\n",3&&2&5);后的结果是_______。
15.算术运算符的优先级比关系运算符的优先级_______。
16.单目运算符的结合性是_______。
17.设intx=1,y=3,z;,执行z=x>y?++x:y++;后,z的值是_______。
18.设intm=3;floatn=12.6;charch=′a′;,若用输入语句实现上述三个变量的初始化结果且键入数据形式为:3,12.6a<回车换行>,则scanf语句应是_______。
19.若定义函数时类型缺省,则该函数默认的类型是_______。
110.设inta[5]={1,3,5,7,9},*p=&a[2];,则++(*p)的值是_______。
三、程序分析题(本大题共4小题,每小题4分,共16分)阅读下列程序,将输出结果写到各题右侧的空白处。
21.voidmain(){intcolor=2;switch(color){case1:printf("red\n");break;case2:printf("yellow\n");case3:printf("blue\n");}}
22.voidmain(){intm,n;for(m=1;m<=3;m++){for(n=1;n<=2*m-1;n++)printf("*");printf("\n");}}
23.voidmain(){floatx=3.6;inti;i=x;printf("x=%5.3f,i=%d\n",x,i);}
24.voidmain(){inta[2][3]={{1,2,3},{4,5,6}};intb[3][2],i,j;for(i=0;i<=1;i++){for(j=0;j<=2;j++){printf("%5d",a[i][j]);b[j][i]=a[i][j];}printf("\n");}printf("arrayb:\n");for(i=0;i<=2;i++)for(j=0;j<=1;j++)printf("%5d",b[i][j]);}
四、程序填充题(本大题共3小题,每小题6分,共18分)请将下列程序横线处缺少的部分补上,使其能正确运行。
31.从键盘输入10个学生的姓名、性别和成绩,计算并输出这些学生的平均成绩。
32.从键盘输入一串字符(以“?”作为结束标志),保存到文本文件text.txt中。#include"stdio.h"voidmain(){FILE_______;/*第一空*/charch;if((fp=fopen("text.txt",_______))==NULL)exit(0);/*第二空*/while((ch=getchar())!=′?′)fpute(ch,_________);/*第三空*/fclose(fp);}
33.用递归方法计算学生年龄,已知第一位学生年龄为10岁,其余学生一个比一个大2岁,求第5位学生的年龄。
五、程序设计题(本大题共2小题,每小题8分,共16分)
41.从键盘输入三个整数a、b和c,按照由小到大的顺序输出。
42.(1)编写一函数,将指针变量p1和p2所指向的整数值交换。其中:函数头是voidswap(int*p1,int*p2)(2)编写一个主程序,从键盘输入两个整数,调用上述函数实现两个数据的交换并输出。
推荐文章
-
如何选择自考辅导班
2024-08-10  阅读:776 -
自考小白的第一步:如何入门
2024-08-10  阅读:686 -
提升学历的好处是什么?在部队怎样提升?
2024-08-09  阅读:758 -
提升学历有哪四种方式?怎么提升?
2024-08-09  阅读:663
自考网版权所有 2025 粤ICP备16065536号