2022年湖州师范学院公共课《C语言》科目期末试卷B(有答案)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2022年湖州师范学院公共课《C语言》科目期末试卷B(有答案)
一、填空题
1、若有以下定义和语句,为使变量c1得到字符’A',变量c2得到字符’B’,正确的输入形式是_______。
char cl,c2;
scanf("%4c%4c",&cl,8&c2);
2、C语言源程序文件的后缀是;经过编译后,生成文件的后缀是;经过连接后,生成文件的后缀是
3、一个C语言源程序由若干函数组成,其中至少应含有一个________
4、在C语言中,8作为双目运算符时表示的是_______,而作为单目运算符时表示的是_______。
5、假设变量a、b均为整型,则表达式(a=2,b=5,a++,b++,a+b)的值为_______。
6、请读程序段:
unsigned a=16;
printf("%d,%d,%d\n",a>>2,a=a>>2,a);以上程序段的输出结果是_______。
7、执行下面程序段后,k的值是_______。
k=1;n=263;
do{k*=n%10;n/=10;} while(n);
8、设有以下宏定义:
#define WIDTH 80
#define LENGTH WIDTH+40
则执行赋值语句:v=LENGTH*20;(v为int型变量)后,v的值是_______。
9、在C语言中,二维数组元素在内存中的存放顺序是_______。
10、下面程序段的运行结果是_______。
char*p="PDP1-0";int i,d;
for(i=0;i<7;i++)
{d=isdigit(*(p+i));
if(d!=0)
printf("%cx",*(p+i));
}
二、选择题
11、已知字母A的ASCII码为十进制数65,且定义c2为字符型变量,则执行语句c2='A'+'6'-'3';后,c2中的值为( )。
A.D
B.68
C.不确定的值
D.C
12、下面4个选项中,是正确的八进制数或十六进制数的选项是()。
13、C语言规定:在一个源程序中,main函数的位置( )
A.必须在最开始
B.必须在系统调用的库函数的后面
C.可以任意
D.必须在最后
14、一个C语言程序由( )。
A.一个主程序和若干子程序组成
B.函数组成
C.若干过程组成
D.若干子程序组成
15、以下对二维数组a的正确说明是()。
A.inta[3][];
B.float a(3,4);
C.double a[ ][4];
D.float a(3)(4);
16、以下程序的运行结果是()。
#include
int main()
{int xl=0xabc,x2=0xdef;
x2-=xl;
printf("%X\n",x2);
return 0
}
A.ABC
B.0Xabc
C.0X333
D.333
17、已有函数max(a,B.,为了让函数指针变量p指向函数max,正确的赋值方法是()
A.p=max;
B.*p=max;
C.p=max(a,B.;
D.*p=max(a,B.;
18、以下程序有语法性错误,有关错误原因的正确说法是()。
#include
int main()
{int G=5,k;
void prt_char();
-----
k=prt_char(G);
---
}
A.语句void prt_char();有错,它是函数调用语句,不能用void说明
B.变量名不能使用大写字母
C.函数说明和函数调用语句之间有矛盾
D.函数名不能使用下划线
19、语句while(!E);中的表达式!E等价于()。
A.E==0
B.E!=1
C.E!=0
D.E==1
20、以下for循环的执行次数是()。
for(x=0,y=0;(y=123)&&(x<4);x++);
A.是无限循环
B.循环次数不定
C.执行4次
D.执行3次
21、以下程序()。
#include
int main()
{int a=5,b=0,c=0;
if(a=b+C.printf("***\n");
else printf("$$$\n");
return 0;
}
A.有语法错不能通过编译
B.可以通过编译但不能通过连接
C.输出***
D.输出$$$
22、下面程序的运行结果是()。
#include
int main()
{chara[]="morming",t;int i,j=0;
for(i=1;i<7;i++)