高级程序设计语言试卷参考

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

西南交通大学2007-2008学年第2学期考试B 卷

课程代码 3243800 课程名称 高级程序设计语言 考试时间 120分钟

阅卷教师签字:

答题卷B

一、单项选择题(2⨯10分)

(1)_________ (2)_________ (3)_________ (4)_________(5)__________ (6)_________ (7)_________ (8)_________ (9)_______ (10)_________ 二、填空题(1⨯15分)

(1)________________ (2)________________ (3)________________ (4)_______________ (5)________________ (6)________________ (7)________________ (8)_______________ (9)________________ (10)_______________ (11)_______________ (12)______________ (13)_______________ (14)_______________ (15)_______________ 三、判断题(正确写T ,错误写F ;1⨯10分)

(1)_________ (2)_________ (3)_________ (4)_________(5)__________ (6)_________ (7)_________ (8)_________ (9)_______ (10)_________

四、阅读程序(4⨯3分)

班 级 学 号 姓 名

密封装订线 密封装订线 密封装订线

(3)____________________________________

五、程序填空题(每空1.5 10分)

(1)__ ____________ ________ (2)__ _ _ __________________

(3)______________________ (4)________ ______________

(5)______________________ (6)________ ______________

(7)______________________ (8)________ ______________

(9)______________________ (10)________ ______________

六、程序设计题(第1小题9分,第2小题9分,第3小题10分,共28分)

程序设计1题答案:

试题卷B(全部答案请写在答题卷上,试题卷上作答无效)

一、单项选择题(2 10分)

1. 对于以下的变量定义,表达式(1) 不符合C语言语法。

struct

{ int len;

char pk[10];

} x = {2, "right"}, *p = &x;

A、p->pk

B、*p.pk

C、*p->pk

D、*x.pk

2. 有如下程序

int func(int a,int b)

{ return(a+b); }

void main0

{ int x=2,y=5,z=8,r;

r=func(func(x,y),z);

printf("%\d\n", r);

}

该程序的输出的结果是(2) 。

A、12

B、13

C、14

D、15

3. 以下所列的C语言常量中,错误的是(3) 。

A、0xFF

B、1.2e0.5

C、2L

D、'\72'

4.有以下程序段

int k=0;

while(k=1) k++;

则while 循环执行的次数是(4) 。

A、无限次

B、有语法错,不能执行

C、一次也不执行

D、执行1次

5.下列程序段的输出结果是(5) 。

void fun(int *x, int *y)

{ printf("%d %d", *x, *y); *x=3; *y=4;}

void main()

{ int x=1, y=2;

fun(&y,&x);

printf("%d %d", x, y);

}

A、2 1 4 3

B、1 2 1 2

C、1 2 3 4

D、2 1 1 2

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

A、数组的长度

B、数组的首地址

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

D、数组每个元素中的值7.以下合法的C语言标识符是(7) 。

A、_8

B、$8

C、8_

D、E8.8

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

#define SQR(X) X*X

main()

{ int a=16, k=2, m=1;

printf("d\n", a);

}

A、16

B、2

C、9

D、1

9. 以下函数返回a所指数组中最小值元素的下标值

fun(int *a, int n)

{ int i,j=0,p;

p=j;

for(i=j;i

if(a[i]

return(p);

}

在下划线处应填入的是(9) 。

A、i=p

B、a[p]=a[i]

C、p=j

D、p=i

10.能正确表示a和b同时为正或同时为负的逻辑表达式(10) 。

A、(a>=0||b>=0)&&(a<0 ||b<0)

B、(a>=0 && b>=0)&&(a<0 && b<0)

C、(a+b>0) &&(a+b<=0)

D、a*b>0

二、填空题(1⨯15分)

1. 结构化程序的三种基本结构分别是顺序结构、(1) 和(2) 。

2. 表达式!!356的值是(3) 。

3.有如下语句:char A[ ]={ "SWJTU" }; 该字符串的长度是(4) ,A[3]=(5) 。

4.符号"a" 和'a' 的区别是(6) 。

5.C语言的字符串结尾用字符(7) 表示串结束。

6.若有定义int x=5, n=5;则执行语句x+=n++; 后,x的值=(8) ,n的值=(9) 。

7.C语言的静态变量以及静态数组元素默认的初值为(10) 。

8.若有定义char ch='C'; 则puchar((ch>='A' && ch<='Z')? (ch + 32) : ch);语句的输出结果为(11) 。

9.若结构体的定义为struct student

{ long num;

char name[10];

float score;

};

则表达式sizeof(struct student)的值为(12) 。

10.若有定义int a[]={ 1,2,3,4 }, *p=a+1; 则表达式*++p的值为(13) 。

11.extern和static函数的区别是(14) 。

12.若有类型定义typedef int Mat[10]; 则Mat a[5]; 表示的实际数组定义是(15) 。

三、判断题(正确的写T,错误的写F,1⨯10分)

1. 一个C程序的执行是从本程序的main函数开始。

2. C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符必须为字母和下划线。

3.当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值。

4.若变量已有正确定义,且num = sum = 7;则执行表达式sum = num++, sum ++, ++num后sum的值为7。

5.当输入一个实型数据时,格式控制部分应规定小数点后的位数,如scanf("%4.2f", &f)。

6.逻辑运算符两侧运算对象的数据类型可以是任何有值的类型。

7.语句while(!E);中的表达式!E等价于E != 0。

8.在C语言中,引用数组元素时,其数组下标的数据类型允许是任何类型的表达式。

9.若不包含相应头文件,程序员可以定义与标准库函数同名的用户自定义函数,若如此,该函数将失去

相关文档
最新文档