点击查看:全国自考00342高级语言程序设计历年真题及部分答案汇总
一、单项选择题(本大题共15小题,每小题2分,共30分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其选出并将“答题纸”的相应代码涂黑。错涂、多涂或未涂均无分。 1.正确的自定义标识符是( ) A.2xy B.int C.root%x D.total 2.正确的C语言常数是( ) A.012 B.'abc" C.0xfp D.2e1.25 3.下列不是C语言运算符的是( ) A.< > B.^ C.! D.&= 4.表达式5+6!=0的值是( ) A.0 B.1 C.6 D.11 5.设float x; -1≤x<3正确的C语言表达式是( ) A.-1<=x<3 B.-1<=x||x<3 C.x>=-1&&x<3 D.!(x>=-1)&&(x<3) 6.设int a=3;,值为1的表达式是( ) A.a%3 B.3-++a C.(a++)%3 D.a>3?2:1 7.设int a=0, b=5, c;,执行语句c=(a==b)||++a;后c的值是( ) A.0 B.1 C.4 D.5 8.设int m=0;,语句while(m!=0) m++;的循环次数是( ) A.0 B.1 C.2 D.无限 9.定义数组并初始化正确的是( ) A.int a[]=(2,4,6,8); B.int a[]={2,4,6,8}; C.int a[3]={2,4,6,8}; D.int *a[4]={2,4,6,8}; 10.设int a[3][5];,该数组两个下标的取值范围分别是( ) A.0~3和0~4 B.0~3和3~5 C.0~2和0~4 D.3~5和0~5 11.设typedef float REAL;则REAL是( ) A.变量名 B.常量名 C.函数名 D.类型名 12.设char s[10];,将字符串输入至数组s的正确语句是( ) A.s=gets(); B.getchar(s); C.scanf("%s", s); D.scanf("%s", &s[10]); 13.关于函数叙述正确的是( ) A.函数必须有形参 B.函数的形参可以是常数 C.函数中只能出现一个return语句 D.函数类型为void时,该函数无返回值 14.设int a[10], *p=a;,与数组元素a[0]等价的是( ) A.*p B.p C.&a D.a 15.结构型变量所占内存量应是( ) A.第一个成员占用的内存量 B.最后一个成员占用的内存量 C.所有成员占用内存量的总和 D.成员中占用内存量最大者所需的容量 二、填空题(本大题共10小题,每小题2分,共20分) 11.设int n;,“n为偶数”的C语言逻辑表达式是_________。 12.实现字符串拷贝的系统函数是_________。 13.实(浮点)型分为单、双精度两种,其类型保留字分别是_________。 14.在C语言中,运算符优先级最低的是_________。 15.设int a=3;,执行语句printf("%d", a<<2);后的输出结果是_________。 16.设float x=3.1;,执行语句printf("%.1f", 3.2+(int)x);后的输出结果是_________。 17.设FILE *fp;,若fp指向文件尾部,则feof(fp)的返回值是_________。 18.设char *p="abcd";,执行语句printf("%C", *(p+2));后的输出结果是_________。 19.设char str[]="book\n";,执行语句printf("%d",sizeof(str));后的输出结果是_________。 110.若局部变量的存储类型缺省,其默认类型是_________。 三、程序分析题(本大题共4小题,每小题4分,共16分)阅读下列程序,将输出结果写到“答题纸”上。 21.#include int f(int a){ static int d=10;/*静态变量*/ d+=a; return d;}void main(){ printf("f1=%d", f(3)); printf("f2=%d\n", f(5));} 22.#includevoid main(){ int i; for(i=10; i>0; i--) { if(i%3!=0) continue; printf("%2d", i); } printf("\n");} 23.#include void main(){ int i, j, s, a[][3]={{1,2,3},{4,5},{6}}; for(s=0,i=0; i<3; i++) switch(i) { case 0: case 1: case 2: for(j=0; j<3; j++) s+=a[i][j]; break; } printf("s=%d\n",s);} 24.#include struct country{ int no; char name[20];}a[]={1,"China",2,"Russia",3,"America"},*p=a;void main(){ p++; printf("%d,%s", (*p).no, (*p).name); p--; printf("%d\n,%s", p->no, p->name); printf("%d,%s\n", a[2].no, a[2].name);} 四、简答题 程序填充题(本大题共3小题,每小题6分,共18分)请将下列程序横线处缺少的部分补上,使其能正确运行。 31.从键盘输入一系列正(负数作为结束),写入二进制文件data.dat。 ![]() 32.利用选择排序法实现对数组元素的升序排序。 ![]() 33.利用递归法,按下列公式计算并输出函数fx的值。 ![]() 五、程序设计题(本大题共2小题,每小题8分,共16分) 41.从键盘输入x的值,按下列公式计算并输出y的值。 ![]() 42.(1)写一个函数计算自然数n的阶乘(函数头为long fac(int n));(2)由键盘输入两个自然数a和b且a≤b,调用上述函数计算并输出 ![]() 的值。
热点关注:2020年各省自考报名时间及入口 |2019年4月各省自考考试真题及答案汇总
2020年自考报名有疑问、不知如何选择主考院校及专业,立即报考咨询>> |