青海大学昆仑学院C语言期末考试试卷带答案

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

青 海 大 学 昆 仑 学 院 试 卷(A )

班级: 学号: 姓名:

考试课程: 程序设计语言(C ) 考试日期:2011X 年 7 月 日 注:所有答案均写在答题卡上,答在试卷上不得分,考试结束后试卷和答题卡一并交回

一.填空题(每空1分,共15分)

1.一个C 程序总是从 主函数(或main ) 开始执行的。

2.表达式2/3+7%4+3.5/7的值是 3.5 。

3.在函数内部定义只在本函数内有效的变量叫 内部变量(或局部变量) 。

4.C 语言中用 1(或非零) 表示逻辑值“真”,用 0 表示逻辑值“假”。

5. 将数学式2b a 改写成C 语言表达式为 sqrt(a+b*b) 。

6. 有程序段:int f=-1;printf(“%d,%u ”,f,f);则输出结果为 -1 、 65535 。

7. 数组在内存中占 连续 的存储区,用 数组名 代表其首地址。

8.有定义static int a[5]={2,4,6,8,10},*p ; p=&a[0];

与p=&a[0]等价的语句是 p=a ,*(p+1)的值是 4 ,*(a+2)的值是 6 。

9.有结构体和共用体的变量定义如下:

struct aa{int a ;char c ;float x ;}b1;

union bb{int a ;char c ;float x ;}b2;

则变量b1和b2占用的内存空间的字节数分别为 7 和 4 。

二.选择题(每小题2分,共计40分)

1.下列变量名合法的是( B )。

A .B.C.TOM

B ._test

C .3a6b

D .ab$

2.C 语言中运算对象必须是整型的运算符是( B )。

A . /

B .%

C .!

D .*

3.以下程序的输出结果是( D )。

A .a=%2,b=%5

B .a=2,b=5

C .a=%%d ,b=%%d

D .a=%d ,b=%d

main ()

{ int a=4,b=9; printf (“a=%%d ,b=%%d\n ”,a ,b );}

4.下列程序的输出结果是( C )。

A .18

B .9

C .-18

D .-9

main () { int a=9;a+=a-=a+a ;printf (“%d\n ”,a ); }

5.为表示关系a ≥b ≥c ,应使用的C 语言表达式是( A )。

A.(a>=b)&&(b>=c)

B.(a>=b)AND(b>=c)

C.(a>=b>=c) D .(a>=b)&(b>=c)

6.字符型常量在内存中存放的是( B )。

A .BCD 代码

B .ASCII 代码

C .内部码

D . 十进制码

7.对下面程序段描述正确的是( D )。

A . while 循环执行了10次

B . 循环是无限循环

C . 循环体语句一次也不执行

D . 循环体语句只执行一次

{int x=10;do{ x=x-1;} while (x==0);}

8. 下面选项中,与if(a)等价的是(D )。

A .if(a==0)

B .if(a!=0)

C .if(a=0)

D . if(a==1)

9.有程序段: int n=1;do{++n ;n=n*5;}while(n=10); ( B )

A .执行一次

B .执行2次

C .不执行

D .执行无限次

10.若有声明语句:int b[2][4];则对a 数组元素的正确引用是( A )。

A.b[1][3] B. b[1][4] C. b[2][4] D.b[0][4]

11.欲将字符串“kunlun college”赋给字符数组str,正确的语句是( D )。

A.str=“kunlun college”; B.str=“kunlun college\n”;

C.strcpy(“kunlun college”,str); D.strcpy(str ,“kunlun college”);

12.语句printf(“%d\n”,strlen(“xining”));的输出结果是(B)。

A.7 B.6 C.存在语法错误 D.不定值

13.以下函数的类型是(C)。

A.与参数x的类型相同 B.void类型 C.int类型 D.无法确定

ff(float x)

{ printf(“%d\n”,x*x);}

14. 若用数组名作为函数调用的实参,传递给形参的是( A )

A.数组的首地址 B.数组第一个元素的值

C.数组中全部元素的值 D.数组元素的个数

15.以下不正确的说法是( C )。

A.在C语言中允许函数递归调用

B.函数值类型与返回值类型出现矛盾时,以函数值类型为准

C.形参可以是常量、变量或表达式

D.C语言规定,实参变量对形参变量的数据传递是“值传递”

16.以下程序的输出结果是( D )。

A.15 B.100 C.10 D.150

#define MAX(x,y)(x)>(y)?(x):(y)

main()

{ int i=10,j=15,k;k=10*MAX(i,j);

printf(“%d\n”,k);}

17.函数直接或间接地自己调用自己,被称为函数的(A)。

A.递归调用 B.主函数调用 C.自定义调用 D.嵌套调用

18.下列说法中错误的是(D)。

A.枚举类型中的枚举元素是常量 B.一个整数不能直接赋给一个枚举变量

C.枚举类型中枚举元素的值都是从0开始以1为步长递增

D.typedef可以用来定义新的数据类型

19.在C语言中,对文件的存取是以(A)为单位的。

A. 字节

B.函数

C. 记录

D.模块

20.当fclose函数正确执行后,函数的返回值是(A)。

A.0 B.-1 C.1 D.非零值

三.阅读下列程序,按题意填空(每空2分,共计16分)

1.有以下程序(求20以内的偶数和,包括20)。请填空:

#include

main(){ int n=0,sum=0;

do{ n++;if(①n%2==0 ); sum+=n;} while(② n<=20 ); printf(“%d\n”,sum);}

2.以下程序判断输入的一个整数m是否既能被4又能被6整除,若能整除,输出“YES”,若不能整除,输出“NO”。请填空:#include

main(){ int m;

printf(“Enter a int number:”); scanf(“%d”,③&m);

if(④m%4==0 && m%6==0) printf(“YES\n”);

else printf(“NO\n”);}

3.以下程序的功能是输出杨辉三角形。请填空:

相关文档
最新文档