2009-2010-1C2试卷

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

浙江科技学院考试试卷

浙江科技学院

2009 - 2010 学年第 1 学期考试试卷 B 卷

考试科目 C 语言程序设计 考试方式 闭 完成时限 2小时 拟题人 题库 审核人 批准人 2010年1月20日 机械、信息、电气、经管、中德、生化 学院 2009 年级 理工科专业

命题:

说明:

1. 应将全部答案写在答卷纸对应的题号处;否则作无效处理;

2. 编程题应写明题号,若答卷纸不够,请写在背面,不要另添卷纸;

3. 考试完成后,必须将试卷与答卷同时交回。

一、判断题。(本大题共12小题,每题小1分,共12分)

1、switch 语句中的每一个case 分支必须包含break 语句,否则程序会出错。

2、结构体变量中的各个成员的数据类型必须相同。

3、在C 程序中,凡是以#开头的都是预处理命令行。

4、程序的执行总是从main 函数开始,在程序中所定义的最后一个函数中结束。

5、程序中的全局变量和局部变量可以同名。

6、设有定义:int a[][3]={{1},{2},{3}};,则数组元素a[1][2]的值为3。

7、用do …while 语句实现循环时,不管条件真假,都将首先无条件地执行一次循环。

8、printf 函数中格式符“%c ”既能用于输出字符型数据,也能用于输出整型数据。 9、int x=5,y=5,z=5,则表达式x==y==z 的值为1。

10、假设有语句int a[10]={0,1,2},*p;p=a;则p+1完全等价于a+1。 11、函数中不可以没有return 语句。

12、采用“r+”方式打开的文件既可以读也可以写。

专业班 学 姓 ………………………………………………………………………装订线……………………………………………………………………………………

二、单选题(本大题共20小题,每题1分,共20分)

1、若有数组定义int a[5][5],则下面()形式不表示数组第3行第

4列元素的地址。

A. &a[3][4]

B. *(a+3)+4

C. a[3]+4

D. *(a[3]+4)

2、若有变量定义int k=2; int *p1,*p2; 且p1和p2均已经指向变量k,下面不能正确执行的赋值语句是()。

A. *p2=k;

B. k=*p1*(*p2);

C. p2=p1;

D. p1=k;

3、若有以下说明和语句:

struct student

{ int num;

float score;

} std;

struct student *p=&std;

则以下对结构体变量std中成员num的引用方式不正确的是()。

A. std.num

B. p->num

C. *p.num

D. (*p).num

4、以下不正确的赋值或赋初值的方法是()。

A. char *p=”Hello C”;

B. char *p; p=”Hello C”;

C. char str[10]; str=”Hello C”;

D. char str[ ]=” Hello C”;

5、设变量定义为“int y[5]={1,2,3,4,5}, *p=&y[1]+2;”,则*p的值是()。

A. 4

B. 3

C. 5

D. &y[1]+2

6、设有程序段int k=8; while (k=0) k=k-1; 则下面的描述中正确的是()。

A. 循环体一次也不执行

B. 循环体执行一次

C. 程序进入死循环

D. 循环体执行8次

7、设int a=6,则计算表达式a+=a-=a*a后a的值为()。

A. -30

B. -60

C. -24

D. 0

8、假设有声明char x[20]="how\nare\0you!\n"; 则语句printf ("%d",strlen(x));的输出结果是()。

A. 16

B. 13

C. 7

D. 20

9、下列程序段的输出结果是()。

#define MA(x,y) ((x)*(y))

printf("%d",MA(5,4+2)-7);

A. 30

B. 1

C. 15

D. 23

10、下面程序段输出的结果是()。

void main()

{ int x=-3;

do

{ printf("%d\n",x+=2);

}while(!(++x));

}

A. -1

B. -1和2

C. 没有结果,是死循环

D. -3和0

11、下列程序段的输出结果是()。

int num = 0, a, b, c;

for(a = 1; a <= 4; a++)

for(b = 1; b <= 3; b++)

for(c = 1; c <= 2; c++)

num++;

printf("%d", num);

A. 10

B. 9

C. 24

D. 0

12、以下叙述中正确的是()。

A. 输入项可以是一个实型常量,如scanf("%f ",3.5);

B. 只有格式控制,没有输入项,也能正确输入数据到内存,如:scanf("a=%d,

b=%d");

C. 输入一个实型数据时,格式控制可以规定小数点后的位数,如:scanf("%4.2f",

&f);

D. 当输入数据时,必须指明变量地址,例如:scanf("%f",&f);

13、若用数组名作为函数调用的实参,传递给形参的是()。

A. 数组的首地址

B. 数组的第一个元素的值

C. 数组中全部元素的值

D. 数组元素的个数

14、已有下面数组定义和f函数调用语句,则在f函数的说明中,对形参数组array

的定义方式正确的为()。

相关文档
最新文档