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语言的赋值表达式中,赋值号左边必须是_______
5、把以下多项式写成只含7次乘法运算,其余皆为加、减运算的C语言表达式为_______。
5x7+3x6-4x5+2x1+x3-6x2+x+10
6、请读程序段:
int a=1,b=2;
if(a&b)printf("***\n");
else printf("$$ $\n");
以上程序段的输出结果是_______。
7、执行下面程序段后,k的值是_______。
k=1;n=263;
do{k*=n%10;n/=10;} while(n);
8、下面程序wdm的运行结果是_______。
int i,x[10]={2,3,0,3,0,2,3,2,1,3},y[4]={0};
for(i=0;i<10;i++)y[x[i]]++;
printf("%d\n",y[3]);
9、下面程序段的运行结果是_______。
char ch[]="600";int a,s=0;
for(a=0;ch[a]>= '0'&&ch[a]<='9';a++)
s=10*s+ch[a]-'o';
printf("%d",s);
10、请填空:
建立如图所示存储结构所需的说明语句是_______。
建立如图所示为变量a输入数据的输入语句是_______。
建立如图所示存储结构所需的赋值语句是_______。
二、选择题
11、以下正确的叙述是( )。
A.在C程序中,每行中只能写一条语句
B.若a是实型变量,C程序中允许赋值a=10,因此实型变量中允许存放整型数
C.在C程序中,无论是整数还是实数,都能被准确无误地表示
D.在C程序中,%是只能用于整数运算的运算符
12、设有说明语句:int k=7,x=12;则以下能使值为3的表达式是( )。
A..x%=(k%=5)
B..x%=(k-k%5)
C..x%=k-k%5
D..(x%=k)-(k%=5)
13、C语言规定:在一个源程序中,main函数的位置( )
A.必须在最开始
B.必须在系统调用的库函数的后面
C.可以任意
D.必须在最后
14、一个C程序的执行是从()
A.本程序的main函数开始,到main函数结束
B.本程序的第一个函数开始,到本程序文件的最后一个函数结束
C.本程序的main函数开始,到本程序文件的最后一个函数结束
D.本程序的第一个函数开始,到本程序main函数结束
15、若二维数组a有m列,则计算任一元素a[i][j]在数组中位置的公式为。(假设
a[0][0]位于数组的第一个位置上)()
A.i*m+j
B.j*m+i
C.i*m+j-1
D.i*m+j+1
16、设有说明:double y=0.5,z=1.5;int x=10;则能够正确使用C语言库函数的赋值语句是()。
A.z=exp(y)+fabs(x);
B.y=log10(y)+pow(y);
C.z=sqrt(y-z);
D.x=(int)(atan2((double)x,y)+exp(y-
0.2));
17、若有定义:inta[2][3];则对a数组的第i行第j列(假设i,j已正确说明并赋值)元素地址的正确引用为()。
A. *(a[i]+j)
B.(a+i)
C.*(a+j)
D.a[i]+j
18、以下程序有语法性错误,有关错误原因的正确说法是()。
#include
int main()
{int G=5,k;
void prt_char();
-----
k=prt_char(G);
---
}
A.语句void prt_char();有错,它是函数调用语句,不能用void说明
B.变量名不能使用大写字母
C.函数说明和函数调用语句之间有矛盾
D.函数名不能使用下划线
19、在下面的程序段中()。
Int t,x;
for(t=1;t<=100;t++)
{scanf("%d”,&x);
if(x<0)continue;
printf("%3d",t);
}
A.当x<0时整个循环结束
B.x≥0时什么也不输出
C.printf函数永远也不执行
D.最多允许输出100个非负整数
20、设有程序段:
t=0;while(printf("*"))
{t++;if(t<3)break;
}
下面描述正确的是()。
A.其中循环控制表达式与0等价
B.其中循环控制表达式与'0'等价
C.其中循环控制表达式是不合法的
D.以上说法都不对
21、以下程序的输出是( )。
#include
int main()
{int a=100,x=10,y=20,okl=5,ok2=0;
if(x if(y!=10) if(!ok1) a=1; else if(ok2)a=10; a=-1; printf("%d\n",A.;