北京邮电大学《C程序设计》2022-2023学年期末试卷.doc
自觉遵守考场纪律如考试作弊此答卷无效密
自觉遵守考场纪律如考试作弊此答卷无效
密
封
线
第PAGE1页,共NUMPAGES3页
北京邮电大学《C程序设计》2022-2023学年期末试卷
院(系)_______班级_______学号_______姓名_______
题号
一
二
三
总分
得分
一、单选题(本大题共20个小题,每小题2分,共40分.在每小题给出的四个选项中,只有一项是符合题目要求的.)
1、在C语言中,函数返回值的类型最终取决于()
A.函数定义时在函数首部所说明的函数类型
B.return语句中表达式值的类型
C.调用函数时主调函数所传递的实参类型
D.函数定义时形参的类型
2、以下能正确定义二维数组并初始化的语句是()
A.inta[2][]={{1,2},{3,4}};
B.inta[][2]={{1,2},{3,4}};
C.inta[2][2]={{1,2},{3}};
D.inta[2][2]={{1},{2}};
3、若有定义:intp[3];则以下叙述中正确的是()
A.定义了一个指针数组p,该数组含有三个元素,每个元素都是基类型为int的指针
B.定义了一个可指向一维数组的指针变量p,所指一维数组应具有三个int类型元素
C.定义了一个名为?p的整型数组,该数组含有三个int类型元素
D.定义了一个整型变量p,它可以指向含有三个元素的一维整型数组
4、若有以下程序段:
inta=1,b=2,c=3;
if(ab)
c=a;
a=b;
b=c;
printf(%d,%d,%d\n,a,b,c);
输出结果是()
A.2,3,3
B.2,3,1
C.1,3,3
D.3,2,1
5、以下选项中,可作为C语言合法常量的是()
A.1.5E2.5
B.0583
C.\084
D.\x43
6、若有定义:inta=7;floatx=2.5,y=4.7;则表达式x+a%3*(int)(x+y)%2/4的值是()
A.2.500000
B.2.750000
C.3.500000
D.0.000000
7、若有定义:inta[5],*p=a;则以下不能表示数组元素a[1]的是()
A.p[1]
B.*(p+1)
C.a[1]
D.*p+1
8、以下程序段的输出结果是()
intfun(intn)
{
if(n==1)
return1;
else
returnn*fun(n-1);
}
voidmain()
{
printf(%d\n,fun(5));
}
A.5
B.15
C.120
D.0
9、以下能正确进行字符串赋值操作的是()
A.chars[5]=abcde;
B.char*s;s=abcde;
C.chars[5]={a,b,c,d,e};
D.chars[5];s=abcde;
10、在C语言中,函数返回值的类型是由()决定的。
A.return语句中的表达式类型
B.调用函数时的主调函数类型
C.定义函数时指定的函数类型
D.调用函数时临时决定
11、设有定义:charstr[]=HelloWorld;,则数组str的长度是()
A.10
B.11
C.12
D.不确定
12、若有定义:floatx=1.5;inty;,则以下表达式的值为1的是()
A.(int)x
B.(int)(x+y)
C.(int)x+y
D.x+(int)y
13、以下选项中,合法的C语言标识符是()
A.1a
B.a#
C._a
D.a*
14、以下程序段的输出结果是()
intx=5;
do
{
printf(%d,x--);
}while(x0);
A.54321
B.43210
C.543210
D.4321
15、以下程序的输出结果是()
#include
voidmain()
{
inta=3,b=4,c=5;
if(a+bcb==c)
printf(yes\n);
else
printf(no\n);
}
A.yes
B.no
C.不确定
D.程序错误
16、以下程序的输出结果是()
#include
intmain()
{
inta=0,b=1,c=2;
if(a++)
if(b++)
c++;
printf(%d%d%d\n,a,b,c);
return0;
}
A.123
B.122
C.112
D.012
17、若有定义:inta[3][4]={{1,2},{3,4},{5,6}};,则a[1][1]的值是()
A.2
B.3
C.4
D.5
18、以下程序的输出结果是()
#include
voidmain()
{
intx=10,y=3;
printf(%d\n,x%=(y/=2));
}
A.1
B.0
C.3
D.不确定
19