Professional Documents
Culture Documents
2021级高起专《C语言程序设计》2022下半年期末考试A卷 - 副本
2021级高起专《C语言程序设计》2022下半年期末考试A卷 - 副本
一、单项选择题(每题 2 分,共 20 分)
1.语句(1,2,3,4)的结果是( )。
A.1
B.2
C.3
D.4
答案:D
2. 在下面的一维数组定义中,错误的定义格式为( )。
A.int a[]={1,2,3}
B.int a[10]={0}
C.int a[]
D.int a[5]
答案:C
3.下列关于结构的语法错误的是( )。
A.结构是由用户自定义的一种数据类型
B.结构中可设定若干个不同数据类型的成员
C.结构中成员的数据类型可以是另一个已定义的结构
D.在定义结构时,可以为成员设置默认值
答案:D
4.( )是在定义函数时放在函数名称之后的括号中的参数。
A.实参
B.形参
C.自定义参数
D.系统参数
答案:B
8.以下对数组描述正确的是( )
A.数组一旦定义其大小是固定的,但数组元素的类型可以不同
B.数组一旦定义其大小是固定的,且数组元素的类型必须相同
C.数组一旦定义其大小是可变的,且数组元素的类型可以不同
D.数组一旦定义其大小是可变的,但数组元素的类型必须相同
答案:B
9.合法的字符常量是( )。
A.‘\084’
B.‘\84’
C.‘ab’
D.’\x43’
答案:D
二、多项选择题(每题 3 分,共 30 分)
11.高级语言分为两大类,分别是( )。
A.面向过程语言
B.面向对象语言
C.面向程序语言
D.面向游戏语言
答案:AB
12.共用体常用于( )。
A.常用来节省内存,特别是一些嵌入式编程,内存是非常宝贵的
B.常用来占据内存,特别是一些嵌入式编程,内存越占多越好
C.常用于操作系统数据结构或硬件数据结构
D.以上都不对
答案:AC
13.三种基本程序结构是( )。
A.顺序结构
B.选择结构
C.循环结构
D.树结构
答案:ABC
14.指针变量的类型可以定义成下列哪些( )。
A.char
B.float
C.int
D.double
答案:ABCD
15.voidfun(intn);描述错误的是( )。
A.有参函数,是整型参数
B.这个函数是无参函数
C.有参函数,是实型参数
D.如果调用此函数用 fun(形参表)
答案:BCD
16.选择结构根据情况分为三种,则选择结构的三种形式是( )。
A.单分支结构
B.双分支结构
C.多分支结构
D.单循环结构
答案:ABC
17.循环结构经常使用的两种控制方式是( )。
A.条件控制的循环
B.计数控制的循环
C.Raptor 操作的循环
D.DEV-C 操作的循环
答案:AB
18.采用多分支实现简易计算器功能,以下描述正确的是( )。
A.只能用 switch 多分支语句实现计算器程序
B.用 switch..case..default 结构实现的计算器中加入 default 语句使得程序具有较好的容错性
C.用 switch 结构实现计算器,结构紧凑,代码条理
D.switch 结构与 if...else..if 都是用来实现多分支选择结构的
答案:BCD
19.下面的二维数组初始化语句中,正确的是( )。
A.inta[3][]={1};
B.inta[3][3]={1,2};
C.inta[][]={1,2};
D.inta[][4]={2,3};
答案:BD
20.单分支与双分支的根本区别是( )。
A.单分支选择结构:一条支路有语句,一条支路空
B.双分支选择结构:二条支路都有语句
C.双分支选择结构:一条支路有语句,一条支路空
D.单分支选择结构:二条支路都有语句
答案:AB
三、判断题(每题 2 分,共 10 分)
21.带有随机函数的表达式 rand( )%20 的值所在的区间范围是 0~19。
答案:正确
22.C 语言规定:定义符号常量时必须用大写字母。
答案:错误
四、填空题(每题 2 分,共 10 分)
26.写出表达式 1.234&&5.982 的值是____________。
答案:1
27.下列程序的输出结果是____________。
答案:6543
29.增量表达式++y 表示成赋值表达式为____________。
答案:y=y+1
30.空字符串的长度为____________。
答案:0
五、编程题(每题 10 分,共 30 分)
31.编程求 1!+2!+3!+……+50!的值。
答案:
main()
{
int i;
float t=1,s=0;
for(i=1;i<=50;i++)
{
t=t*i;
s=s+t;
}
printf("s=%e\n",s);
}
32.输入三个整数 x,y,z,请把这三个数由小到大输出。
答案:main()
{ int x,y,z,t;
scanf(“%d%d%d,&x,&y,&z);
if (x>y) {t=x;x=y;y=t;}
if(x>z) {t=z;z=x;x=t;}
if(y>z) {t=y;y=z;z=t;}
printf(“small to big:%d %d %d\n”,x,y,z);}
33.输入两个正整数 m 和 n,求其最大公约数和最小公倍数。
答案:
main()
{ int a,b,num1,num2,temp;
printf(“please input two numbers:\n”);
scanf(“%d,%d”,&num1,&num2);
if(num1<num2)
{temp=num1;
num1=num2;
num2=temp;}
a=num1;b=num2;
while(b!=0)
{temp=a%b;
a=b;
b=temp;}
printf(“公约数:%d\n”,a);
printf(“公倍数:%d\n”.num1*num2/a);}