机密★启用前
2024年4月高等教育自学考试全国统一考试
高级语言程序设计(一)
(课程代码00342)
注意事项:
1.本试卷分为两部分,第一部分为选择题,第二部分为非选择题。
2.应考者必须按试题顺序在答题卡(纸)指定位置上作,答在试卷上无效。
3.涂写部分、画图部分必须使用 2B 铅笔,书写部分必须使用黑色字迹签字笔。
第一部分 选择题
一、单项选择题:本大题共15 小题,每小题2分,共30分。在每小题列出的备选项中只有一项是最符合题目要求的,请将其选出。
1.在C语言中,下列哪个关键字用于定义一个常量?
A. var
B. const
C. static
D. exter
2.在C语言中,下列选项不合法的用户标识符是
A. abc.c
B. Main
C. fle
D.PRINT
3.为表示关系 x>y>z,应使用的 C语言表达式是
A.(x>=y)&&(y>=z)
B.(x>=y)AND(y>=z)
C.(x>=y>=z)
D.(x>=y)&(y>=z)
4.设 a=3,b=4,执行“print{(“%d,%d”,(a, b), b, a));”的输出是
A. 3, 4
B. 4, 3
C. 3,3
D. 4, 4
5.有语句 while(i=0)i–;,下列选项中,while 循环的执行次数是
A.1
B. 5
C. 0
D.无限
6.在下面的定义语句中,错误的是
A. int n=20,a[n];
B. char *a[3];
C. char s[20]=”test”;
D. int a[]={1,2};
7.在宏定义#defneP3.14159中,用宏名P代替的是
A.单精度数
B.双精度数
C.常量
D.字符串
8.下列叙述中正确的是
A.构成C程序的基本单位是函数
B.可以在一个函数中定义另一个函数
C.main0函数必须放在其它函数之前
D.所有被调函数一定要在调用之前进行定义
9.下列语句中,将c定义为文件型指针的是
A.FIEc;
B. FIE *c;
C. fle c;
D. file *c;
10.设有如下定义:struct sk {inta; foatb;}data,*p=&data;,则对 data中的a成员的正确引用是
A.(*p).data.a
B. p->data.a.Net
C.(*p)a
D. p.data.a
11.字符串”xyz”在内存占用的字节数大小是
A.3
B.4
C.6
D.8
12.若有定义语句:inta=12;,则执行语句:a+=a-=a*a;后,a的值是
A.264
B.552
C.144
D.-264
13.下列选项中,不是C语言的基本数据类型的是
A.char
B. float
C. string
D. int
14.下面各语句行中,不能正确进行字符串操作的语句行是
B. char s[5]={‘a’,’b’,’c,’d,’e’};
A. char st[10]={“abcde”};
C. char *s; s=”abcde”;
D. char *s; scanf(“%s”,s);
15.以下叙述正确的是
A.结构化程序的三种基本结构是循环结构、选择结构、顺序结构
B.C语言程序不经过编译也能直接运行
C.有些算法不能用三种基本结构来表达
D.如果C语言程序实现的算法很简单,则计算机不进行任何代码转换就能执行程序
第二部分 非选择题
二、填空题:本大题共 10 小题,每小题2分,共20分。
16.在C语言中,一个1oat类型的变量占用的存储空间是_____个字节。
17.转义字符是由_____符号开始,后接单个字符或若千字符组成。
18.设a=3,b=2,c=1,则a>b>c的值为_____。
19,根据变量定义“static intb[5],a0[3]-{1,2,3,4,5,6};”,a[1][2]=_____。
20.设有 char *a=”ABCD”,则 print f(“%c”,*a)的输出是_____。
21.设有定义“#defneF(N)2*N”,则表达式F(3+3)的值是_____。
22.在调用一个函数的过程中又直接或间接地调用其自身,称为函数的_____调用。
23.定义结构体类型的关键字是_____。
24.设i,j,k均为it型变量,则执行完for语句:for(i=0,j=10;i<=j;i++,j-)k=i+j;
之后,k的值为_____。
25.在指针的各种操作和运算之中,“&”被称为_____运算符。
三、程序分析题:本大题共4小题,每小题4分,共16分。阅读下列程序,写出输出结果。
26.
#include <stdio .h>
void main()
{
int a=15,b=21,m=0;
switch (a % 3) {
case 0:m+ +; break;
case 1:m+t;
switch (b % 2){
default:m++;
case 0:m+ +; break
}
}
printf("m=%d", m);
}
27.
#include <stdio.h>
void fun(int s[])
{
int i;
for (i= 0; i< 8; i++)
printf("%d ", s[i]);
printf("\n");
}
void main()
it a[3][4]= { {9,9,2,8},{3,4,5,4},{6,7,8,2} };
fun(a[1]);
}
28.
#include <stdio.h>
void main()
{
&葩ma-{2,4.6,9,12},b[6]={2,3,4.6.8,9};
for (int i=0;i<5; i++)
for (int j = 0; j< 6; j++)
if(*(a+i)=*(b+j))
printf("%d ", *(a + i));
printf("\n");
}
29.#include <stdio.h>
struct HAR {
int x, y; struct HAR *p;
} h[2];
void main(
{
h[0].x= 1; h[0].y= 2;
h[1],x= 3; h[1].y=4;
h[0].p = &h[1]; h[1].p= &h[0];
print("%d %d \n", (h[0].p)->x, (h[1].p)->y);
}
四、程序填充题:本大题共3小题,每小题6分,共18分。请将下列程序横线处缺少的部分补上,使其能正确运行。
30.将字符串 str 中的小写英文字母改成大写。
#include <stdio.h>
void main()
{
int i = 0; char str{80];
scanf("%s", str);
while (______) / 第一空 #/
{
if(______)
st[i]='a'-'A,; 第二空 */
_______; /第三空 */
}
printf("%s\n", str);
}
31.输入两个整数n1、n2(要求 n1<n2,否则退出程序),统计两整数范围内被3整除的数的个数。
#include <stdio.h>
void main(
{
it n1,n2,j,n=0;
print(" 请输入两个数:");
scanf (_______) /*第一空*
if(nl > n2){_____} /*第二空*/
for(j=n1;j<=n2,j++)
if(______) /*第三空*/
n++;
printf("a=%5d,b=%5d,n=%5d\n"n1,n2,n);
}
32.完成求y的x次方的函数。
double fum(double y,int x)
{
int i;
______; /*第一空*/
for(i=1;_____;i++) /*第二空 */
z=______;/*第三空*/
return z;
}
五、程序设计题:本大题共2小题,每小题8分,共16分。
33.打印出由1、2、3、4这四个数字组成的每位互不相同且无重复的所有三位数。
34.从键盘输入100个整数,统计所有下标为奇数且数组元素的值为偶数的个数并将结果打印出来。
(2)本站自学考试信息供自考生参考,权威信息以各省(市)考试院官方为准。
暂无评论内容