2012年全国高等教育自学考试高级语言程序设计标准预测试卷(8)
摘要:2012年全国高等教育自学考试高级语言程序设计标准预测试卷(8):2012年全国高等教育自学考试高级语言程序设计标准预测试卷。试卷总分100分;共有5类型题目
2012年全国高等教育自学考试高级语言程序设计标准预测试卷(8):2012年全国高等教育自学考试高级语言程序设计标准预测试卷。试卷总分100分;共有5类型题目
一、单项选择题,每小题2分,共30分,在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。
1.在函数内定义变量时,存储类型符可省略的是
A.static
B.extern
C.auto
D.register
2.以下运算符中,优先级最低的是
A.&&
B.&
C.&=
D.=
3.下列说法中正确的是
A.字符" "是字符串的结束标记
B.字符"0"是字符串的结束标记
C.字符"o"是字符串的结束标记
D.字符"o"是字符串的结束标记
4.若当前文件目录为C: c,在C语句中下列能表示文件tc.c的是
A.tc.c
B.C:tc c.c
C.C: c c.c
D.C c c.c
5.在定义了数组int a[6][10]之后,对数组元素的引用不正确的是
A.*(a[6]+2)
B.a[6][8]
C.*(&a[6][1]+4)
D.&a[6]+5
6.
以下程序输出的结果是
#include<stdio.h>
int fun(int k)
{if(k>0)fun(k-1);
printf("%d",k);
}
main()
{int w=3;fun(w);
printf("
");
}
A.3 2 1 0
B.0 1 2 3
C.2 1 0
D.0 1 2
7.下面程序段执行后输出的结果是( )
#include<stdio.h>
main()
{int i;
for(i=1;i<8;i++)
{{if(i%3){printf("*");continue;}}
printf("#");
}
printf("
");
}
A.*#**#**#
B.**#**#*
C.*#**#**
D.**#**
8.下面程序段执行后输出的结果是( )
#include<stdio.h>
main()
{int a[2][2]={{1,2),{5,7)),*P,i;
p=&a[0][0];
for(i=0;i<2;i++)
"P++=i+1:
printf("%d",*(p-2));
}
A.1
B.2
C.5
D.7
9.设char *s="china";则printf("%s,%c,%c
",s,*s,s[3]);的输出是( )
A.china,c,n
B.china,china,i
C.c,c,n
D.china,china,n
10.若x为int型变量,则执行以下语句后,x的值为( )
x=6;
x=+x-=x*x
A.6
B.-24
C.36
D.-60
11.fgetc函数是作为一个从指定文件读入一个字符的函数,下列有关描述正确的是( )
A.只能读二进制文件
B.只能读文本文件
C.其参数是一个指针变量
D.其参数是一个字符串
12.下列语句中把P定义为一个文件指针的是( )
A.FILE *P
B.FILE p
C.file P
D.file *P
13.在C语言中,被视为程序模块的是( )
A.语句
B.行语句
C.程序语句块
D.函数
14.下列关于continue和break的描述正确的是( )
A.continue只能用于循环体中
B.break只能用于循环体中
C.continue只是一个语句标记
D.break只能用于switch语句块中
15.下列关于if和else的配对规则描述正确的是( )
A.else总是和前面最远的if配对
B.else总是和前面最近的if配对
C.if和else的配对按程序缩进格式进行
D.else可以和前面所有的if配对
二、填空题,每小题2分,共20分请在每小题的空格中填上正确答案。错填、不填均无分。
16.设char strl[7]="ABCDEF",str2[5]="xyz";;则执行语句:
printf("%d",strlen(strcpy(str1,str2)));
后的输出是______。
17.设char a,b;,则表达式a/"c"*b的值的类型为______。
18.设for(k=0;k>0;k--)++k;,则该循环共执行______次。
19.表示空类型的保留字是______。
20.在C语言中,如果下面的变量都是int类型,则输出的结果是______。
sum=pad=5;
pad=sum++,pad++,++pad;
printf("%d
",pad);
21.以下程序的输出结果是______。
#include
main()
{int i=010,j=10;
printf("%d,%d
",++i,j--);}
22.已知在ASCⅡ代码中,字母A的序号为65,以下程序输出的结果是______。
#include<stdio.h>
main()
{char c1="A",c2="Y";
printf("%d,%d
",c1,c2);
}
23.指针s所指字符串的长度为______。
char*s=""NameAddress
";
24.以下程序运行后输出的结果是______。
main()
{int a=1,b;
for(b=1;b<=10;b++)
(if(a>=8)break;
if(a%2==1){a+=5;continue;}
a==3:
}
printf("%d
",b);
}
25.写出"n是小于整数m的偶数"的C语言表达式:______
三、程序分析题,每小题5分,共20分阅读下列程序,将输出结果写到各题右侧的空白处。
26.输入数据:2743<回车>。
#include<stdio.h>
main()
{int c;
while((c=getchar())!="n")
{switch(c-"2")
{case 0:
case 1:putchar(c+4);
case 2:putchar(c+4);break;
case 3:putchar(c+3);
case 4:putchar(c+2);break;}
}
printf("
");}
27.#include<stdio.h>
void swap(int *P,int *q)
{
int t;
t=*P;*P=*q;*q=t;
}
main()
{int a=10,b=20;swap(&a,&b);
printff"%d%d
",a,b);
}
28.若输入3个整数3,2,1<回车>则下面程序的输出结果是
#include<stdio.h>
main()
{int i,n,aa[10]={0,0,0,0,0,0};
scanf("%d%d%d",&n,&aa[0],&aa[1]);
for(i=0;i<=n;i++)
printf("%d",aa[i]);
}
29.#include<stdio.h>
typedef struct abc
{int a,b,c;
};
main()
{struct abe s[2]={{1,2,3),{4,5,6}};
int t=-s[0].a+s[1].b;
printf("%d
",t);
}
四、程序填充题,每空5分,共15分给出下列程序,将横线处缺少的部分补上,使其能正确运行。
30.一个三位整数(100~999),若各位数的立方和等于该数自身,则称其为"水仙花数"(如:153=13+53+33),找出所有的这种数。
#include<stdio.h>
main()
{int n,a,b,c;
for(c=1;c<=9;c++)
for(b=0;b<=9;b++)
for(a=0;______;a++)/*第一空*/
{
n=______;/*第二空*/
if(a*a*a+b*b*b+C*C*c==______)/*第三空*/
printf("%d
",n);
}
}
31.将一个文本文件ma.dat拷贝到另一个文本文件na.dat中。
#include<stdio.h>
main()
{
FILE*ma,*na;
ma=fopen("ma.dat",______);/*第一空*/
na=fopen("na.dat","w");
while(!feof(ma))fputc(fgete(ma),______)/*第二空*/
felose(na);______;/*第三空*/
}
32.将10个数输入数组中,求出其中最大数和最小数并输出。
#include<stdio.h>
main()
{
int i,max,min,a[10];
for(i=0;i<10;i++)
seanf("%d",______);/*第一空*/
max=a[0]:
min=a[0];
for(i=1;______;i++)/*第二空*/
if(a[i]>max)
max=a[i];
else if(a[i]<min)
______;/*第三空*/
printf("max=%d,min=%d",max,min);
}
五、程序设计题,每小题7.5分,共15分。
33.编一个程序其功能是输入一个正整数,判断是否是素数,若为素数则输出1,否则输出0。(素数是只能被1和本身整除且大于1的自然数)
34.有一个字符串,包含n个字符。写一个函数,将此字符串中从第m个字符开始的全部字符复制成为另一个字符串。要求在主函数中输入字符串及m值并输出复制结果。
延伸阅读
- 考前自救指南:希赛自考题库快速提分
- 自考专属刷题工具,刷题即提分!
- 最后9天,自考历年真题应该怎么刷?
- 自考备考一站式服务:希赛自考题库APP
- 0基础逆袭秘籍:希赛全套自考学习包(含智能题库)
- 避开备考误区!用希赛自考APP快速提分!
自考微信公众号
扫码添加
自考备考资料免费领取
去领取
扫描二维码