2012年全国高等教育自学考试高级语言程序设计标准预测试卷(2)
摘要:2012年全国高等教育自学考试高级语言程序设计标准预测试卷(2):2012年全国高等教育自学考试高级语言程序设计标准预测试卷。本试卷总分100分;共有5类型题目
2012年全国高等教育自学考试高级语言程序设计标准预测试卷(2):2012年全国高等教育自学考试高级语言程序设计标准预测试卷。本试卷总分100分;共有5类型题目
一、单项选择题,每小题2分,共30分,在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。
1.C语言程序的三种基本结构是顺序结构、循环结构和( )
A.选择结构
B.递归结构
C.嵌套结构
D.转移结构
2.下列符号中是正确的C标识符的是( )
A.a-2
B.x12
C.2.78
D.π
3.假定有以下变量定义:
int k=6,x=12;
则能使x、k值为5、6的表达式是( )
A.x%=++k%10
B.x%=k+k%5
C.x-=++k%5
D.x-=k++%5
4.表达式if(!x)中的"!x"等效于( )
A.x==0
B.x==1
C.x!=0
D.x!=1
5.有以下程序,程序运行后的输出结果是( )
main()
{int a[10]={1,2,3,4,5,6,7,8,9,10),*p=&a[3],*q=p+2;
printf("%d11",*p+*q);
}
A.16
B.10
C.8
D.6
6.
有以下程序( )
main()
{char p[]={"a","b","C"},q[]="abc";
printf("%d%d",sizeof(p),sizeof(q));
}
程序运行后输出的结果是
A.4 4
B.3 3
C.3 4
D.4 3
7.要调用字符串长度测试函数strlen()时,在#include命令行中应包含( )
A."stdio.h"
B."string.h"
C."math.h"
D."ctype.h"
8.有以下程序( )
main()
{
Int x=102,y=012;
printf("/0/02d,%2d
",X,y);
}
执行后输出结果是
A.10,01
B.02,12
C.102,10
D.02,10
9.有以下定义( )
#include<stdio.h>
char a[10],*b=a;
不能给数组a输入字符串的语句是
A.gets(a)
B.gets(a[0])
C.gets(&a[0]);
D.gets(b);
10.有以下程序( )
main()
{char *p[10]={"abc","aabdfg","dcdbe","abbd","cd"};
printf("%d
",strlen(p[4]));
}
执行后输出结果是
A.2
B.3
C.4
D.5
11.有以下程序( )
#include<stdio.h>
main()
{unsigned char a,b;
a=4|3;
b=4&3;
printf("%d%d
",a,b);
}
执行后输出结果是
A.7 0
B.0 7
C.1 1
D.43 0
12.
下面程序的功能是输出以下形式的金字塔图案:
#include<stdio.h>
main()
{int i,j;
for(i=1;i<=4;i++)
{for(j=1;j<=4-i;j++)printf("");
for(j=1;j<=______;j++)printf("*");
printf("
");
}
}
在下划线处应填入的是( )
A.i
B.2*i-1
C.2*i+1
D.i+2
13.在C语言程序中,下列磁盘文件名错误的是( )
A.abc.dat
B.c:abc.dat
C. cabc.dat
D.a:abc.dat
14.包含用户类型符"FILE"的定义的头文件是( )
A.string.h
B.file.h
C.stdio.h
D.stdlib.h
15.定义存储在内存堆栈区的变量的存储类型符是( )
A.extern
B.static
C.register
D.auto
二、填空题,每小题2分,共20分请在每小题的空格中填上正确答案。错填、不填均无分。
16.设int a=2,b=4,c=1,d;执行d=!(a-b+c);后d的值是______。
17.若有定义int a[3][4]={1,2,3,4,5,6,7,8};,则a[l][3]=______。
18.以下程序运行后的输出结果是______。
main()
{int x=1,y=0,a=0,b=0;
switch(x)
{case 1:switch(y)
{case 0:a++;break;
case 1:b++;break;
}
case 2:a++;b++;break;
}
printf("%d%d
",a,b);
}
19.若有语句:int i=-19,j=i%4;printf("%d
",j);则输出结果是______。
20.C语言中,输入和输出操作是由头函数______完成的。
21.设i,j,k均为整型变量,则执行完"for(i=0,j=10;i<=j;i++,j--)k=i+j;"之后,k的值是______。
22.若有数组char a[5]={97,99,107," ",108),(a~z的ASCⅡ值是97~122)则执行语句puts(a)的结果是______。
23.移位运算被执行后,原对象中的数据______。
24.设char string[]="this_is_a_book!";,则数组的长度应是______。
25.C语言中fputc()函数对文本文件的存取是以______为单位的。
三、程序分析题,每小题5分,共20分阅读下列程序,将输出结果写到各题右侧的空白处。
26.#include<stdio.h>
main()
{int a[4][3]={1,5,9,12,8,17,13,6,10,24,22,23},i,s=1;
for(i=2;i<2=3;i++)
s=s+a[i][3-i];
printf("s=%d
",s);
}
27.#include<stdio.h>
main()
{int i,j,row,colum,m;
static int arry[3][3]={{100,200,300},{28,27,29},{850,26,5)};
m=arry[0][0];
for(i=0;i<3;i++)
for(j=0;j<3;j++)
if(arry[i][j]<m)
{m=arry[i][j];row=i;colum=j;}
printf("%d,%d,%d
",m,row,colum);
}
28.#include<stdio.h>
main()
{char b[]={"CDEFGH"};
char *chp=&b[3];
while(--chp<&b[0]);
putchar (*chp):
printf("n"):
}
29.#inelude<stdio.h>
sub(x,y,z)
int x,y,*z;
{*z=y-X;}
main()
{int a,b,C;
sub(10,5,&a);
sub(7,a,&b);
sub(a,b,&c);
printf("%d,%d,%d
",a,b,c);
}
四、程序填充题,每空5分,共15分给出下列程序,将横线处缺少的部分补上,使其能正确运行。
30.以下程序的功能是:从键盘输入若干个学生的成绩,统计出最高成绩和最低成绩,当输入负数时结束输入。
#include<stdio.h>
main()
{float x,amax,amin;
scanf("%f",&x);
amax=x:
amin=x;
while( )/*第一空*/
{if(______)amax=x;/*第二空*/
if(x<amin)______;/*第三空*/
scanf("%f",&x);
}
printf("amax=%3.2f,amin=%3.2f
",amax,amin);
}
31.下面程序通过函数average()计算数组中各元素的平均值。
float average(______,int n)/*第一空*/
{int i;
float avg=0.0;
for(i=0;i<n;i++)
avg=avg+______;/*第二空*/
avg=______;/*第三空*/
return avg;
}
main()
{int i,a[5]={2,4,6,8,10);
float mean;
mean=average(a,5);
printf("%f
",mean);
}
32.下面程序用来输出两个字符串中较短的长度。
main()
{char pl[20],p2[20];
int i1,i2,num;
gets(p1);
gets(p2);
i1=______;/*第一空*/
i2=______;/*第二空*/
num=(______)?i1:i2;/*第三空*/
printf("%d
",nurn);
}
五、程序设计题,每小题7.5分,共15分。
33.从a盘根目录下名为"string.txt"的文本文件读取前20个字符组成字符串在屏幕上显示输出。
34.编写一个程序,用循环结构输出以下图形。
延伸阅读
- 考前自救指南:希赛自考题库快速提分
- 自考专属刷题工具,刷题即提分!
- 最后9天,自考历年真题应该怎么刷?
- 自考备考一站式服务:希赛自考题库APP
- 0基础逆袭秘籍:希赛全套自考学习包(含智能题库)
- 避开备考误区!用希赛自考APP快速提分!
自考微信公众号
扫码添加
自考备考资料免费领取
去领取
扫描二维码