川农《C语言(本科)》22年6月课程考核【资料答案】

可做奥鹏全部院校在线离线作业毕业论文QQ:3230981406 微信:aopopenfd777

发布时间:2022-06-11 22:40:18来源:admin浏览: 37 次

《C语言(本科)》22年6月课程考核-00001

试卷总分:100  得分:100

一、单选题 (共 30 道试题,共 60 分)

1.对于C语言的函数,下列叙述中正确的是()

A.函数的定义不能嵌套,但函数调用可以嵌套

B.函数的定义可以嵌套,但函数调用不能嵌套

C.函数的定义和调用都不能嵌套

D.函数的定义和调用都可以嵌套

 

2.如果一个函数位于C程序文件的上部,在该函数体内说明语句后的复合语句中定义了一个变量,则该变量()

A.为全局变量,在本程序文件范围内有效

B.为局部变量,只在该函数内有效

C.为局部变量,只在该复合语句中有效

D.定义无效,为非法变量

 

3.当调用函数时,实参是一个数组名,则向函数传送的是()

A.数组的长度

B.数组的首地址

C.数组每一个元素的地址

D.数组每个元素中的值

 

4.以下数组定义中不正确的是()

A.int a[2][3];

B.int b[][3]={0,1,2,3};

C.int c[100][100]={0};

D.int d[3][]={{1,2},{1,2,3},{1,2,3,4}};

 

5.在C语言中,合法的长整型常数是()

A.0L

B.4962710

C.0.054838743

D.2.1869e10

 

6.C语言中,凡未指定存储类别的局部变量的隐含存储类别是()

A.auto

B.static

C.extern

D.register

 

7.下述对C语言字符数组的描述中错误的是()

A.字符数组可以存放字符串

B.字符数组中的字符串可以整体输入、输出

C.可以在赋值语句中通过赋值运算符"="对字符数组整体赋值

D.不可以用关系运算符对字符数组中的字符串进行比较

 

8.以下程序的输出结果是() main() {int x=10,y=10; printf(“%d %d\n”,x--,--y); }

A.10 10

B.9 9

C.9 10

D.10 9

 

9.若有说明:int i,j=7,*p=&i;,则与i=j;等价的语句是()

A.i=*p;

B.*p=*&j;

C.i=&j;

D.i=**p;

 

10.下面程序输出的结果是()

{图}

A.0

B.1

C.3

D.3.333333

 

11.在下列选项中,不正确的赋值语句是()

A.t;

B.n1=(n2=(n3=0));

C.k=i==j;

D.a=bc=1;

 

12.以下选项中,非法的字符常量是()

A.'\t'

B.'\17'

C."n"

D.'\xaa'

 

13.有如下函数调用语句 func(rec1,rec2+rec3,(rec4, rec5));该函数调用语句中,含有的实参个数是()

A.3

B.4

C.5

D.有语法错误

 

14.为表示关系x≥y≥z,应使用C语言表达式()

A.(x>=y)&&(y>=z)

B.(x>=y)AND(y>=z)

C.(x>=y>=z)

D.(x>=y)&(y>=z)

 

15.若有以下的定义:int t[3][2];能正确表示t数组元素地址的表达式是()

A.&t[3][2]

B.t[3][2]

C.t[1][0]

D.t[2]+1

 

16.在C语言中,数字009是一个()

A.八进制数

B.十六进制数

C.十进制数

D.非法数

 

17.已知有声明语句char s1[10]="abcde",s3[10];以下语句中能将s1中存储的字符串和s2中存储的字符串正确交换的是()

A.s3=s1,s1=s2,s2=s3;

B.s3[0]=s1[0],s1[0]=s2[0],s2[0]=3[0];

C.strcpy(s3[0],s1[0]),strcpy(s1[0],s2[0]),strcpy(s2[0],s3[0]);

D.strcpy(s3,s1),strcpy(s1,s2),strcpy(s2,s3);

 

18.在宏定义 #define PI 3.14159中,用宏名PI代替一个:()

A.常量

B.单精度数

C.双精度数

D.字符串

 

19.以下选项中,不能正确赋值的是()

A.char s1[10];s1="Ctest";

B.char s2[]={'C', 't', 'e', 's', 't'};

C.char s3[20]="Ctest";

D.char *s4="Ctest\n"

 

20.设有如下定义: int x=10,y=3,z; 则语句 printf(“%d\n”,z=(x%y,x/y)); 的输出结果是()

A.1

B.0

C.4

D.3

 

21.在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是()

A.地址传递

B.单向值传递

C.由实参传给形参,再由形参传回实参

D.传递方式由用户指定

 

22.下面程序段的运行结果是()

{图}

A.12345

B.1234

C.15

D.无限循环

 

23.函数pi的功能是根据以下近似公式求π值:()

{图}

A.1/i*i

B.1.0/i*i

C.1.0/(i*i)

D.1.0/(n*n)

 

24.以下程序段的输出结果是() int x=3; do {printf(“%3d”,x-=2);} while(!(--x));

A.1

B.3 0

C.1 -2

D.死循环

 

25.对于for(表达式1;;表达式3)可理解为()

A.for(表达式1;0;表达式3)

B.for(表达式1;1;表达式3)

C.for(表达式1;表达式1;表达式3)

D.for(表达式1;表达式3;表达式3)

 

26.表达式:10!=9的值是()

A.TRUE

B.非零值

C.0

D.1

 

27.若有声明语句int a[10],b[3][3];则以下对数组元素赋值的操作中,不会出现越界访问的是()

A.a[-1]=1

B.a[10]=0

C.b[3][0]=0

D.b[0][0]=0

 

28.调用函数时,当实参和形参都是简单变量时,它们之间数据传递的过程是()

A.实参将其地址传递给形参,并释放原先占用的存储单元

B.实参将其地址传递给形参,调用结束时形参再将其地址回传给实参

C.实参将其值传递给形参,调用结束时形参再将其值回传给实参

D.实参将其值传递给形参,调用结束时形参并不将其值回传给实参

 

29.有如下说明: int a[10]={0,1,2,3,4,5,6,7,8,9};则数值不为9的表达式是()

A.a[10-1]

B.a[8]

C.a[9]-0

D.a[9]-a[0]

 

30.设有说明语句:char a= '\72';则变量a()

A.包含3个字符

B.包含2个字符

C.包含1个字符

D.说明不合法

 

二、判断题 (共 10 道试题,共 20 分)

31.数组的大小是可变的,但所有数组元素的类型必须相同。()

 

32.用scanf输入字符时,字符串中不能包含空格。()

 

33.自动变量属于局部变量。()

 

34.在C语言的复合语句中,只能包含可执行语句。()

 

35.若将C源程序经过编译、连接后生成可执行文件,则可直接在DOS系统下输入可执行文件名执行。()

 

36.在main函数体内定义的变量是全局变量。()

 

37.在程序运行过程中,系统分配给实参和形参的内存单元是不同的。()

 

38.字符常量的长度肯定为1。()

 

39.只能在循环体内和switch语句体内使用break语句()

 

40.使用float b定义的外部变量存放在内存中的动态存储区。()

 

三、简答题 (共 2 道试题,共 20 分)

41.阅读下列程序段,写出程序运行结果:

{图}

 

42.阅读下列程序段,写出程序运行结果:

{图}

 


作业咨询 论文咨询
微信客服扫一扫

回到顶部