2022年大连理工大学城市学院公共课《C语言》科目期末试卷B(有答案)

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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.;

相关文档
最新文档