C语言期末试题2011年A

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

C 语言 考试题

绩占45分,满分为100分。本试卷为卷面笔试部分,卷面满分为45分。

一、填空题(6分,每题2分)

1.C 语言中基本数据类型包括 。 2.已知能被4整除而不能被100整除的或者能被400整除的年份是闰年,则判断某一年year 是否是闰年的表达式为:

。 3.设有下列登记表,采用最佳方式对它进行类型定义。

表示,月用month 表示,日用date 表示,家庭收入状况用salary 表示,低收入用low 表示,中等收入用middle 表示,高收入用high 表示,家庭收入状况标记用mark 表示。

二、判断下列问题描述正确与否,正确的打“√”,错误的打

“×”。(3分,每题1分)

1.#define PI=3.14159;不是C语句。()

2.在C语言中,可以用typedef定义一种新的类型。()

3.共用体所占的内存空间大小取决于占空间最多的那个成员变量。

()

三、选择题:(10分,每题1分)

1.以下不正确的C语言标识符是()。

A. AB1

B. a2_b

C. _ab3

D. 4ab

2.若有定义int (*p)[4],则标识符p是一个。

A、指向整型变量的指针变量

B、指向函数的指针变量

C、指向有四个整型元素的一维数组的指针变量

D、指针数组名,有四个元素,每个元素均为一个指向整型变量的指针

3.若用数组名作为函数调用时实参,则实际上传递给形参的

是()。

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

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

4.C语言中规定函数的返回值的类型是由()。

A.return语句中的表达式类型所决定

B.在定义该函数时所指定的函数类型所决定

C.调用该函数时系统临时决定

D.调用该函数时的主调用函数类型所决定

5.以下错误的描述是()。

A. 不同的函数中可以使用相同的变量名

B. 形式参数是局部变量

C. 一个函数内部定义的变量只能在本函数范围内有效

D. 在一个函数内部的复合语句中定义的变量可以在本函

数范围内有效

6.为了判断两个字符串s1和s2是否相等,应当使用( )。

A. if(s1 == s2)

B. if(s1 = s2)

C. if(strcpy(s1,s2))

D.if(strcmp(s1,s2)==0) 7.在while(x)语句中的x与下面条件表达式等价的是:。

A. x!=0

B. x==1

C. x!=1

D. x==0

8.若有以下说明和语句:

struct stu

{

int no;

char *name;

}student, *p=&student;

则以下引用方法不正确的是()。

A. student.no

B. (*p).no

C. p->no

D. student->no

9.以下对二维数组进行正确初始化的是()。

A.int a[2][3]={{1,2},{3,4},{5,6}};

B.int a[2][3]={{1,2},{},{4,5}};

C.int a[][3]={1,2,3,4,5,6};

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

10.二维数组a有m行n列,则在a[i][j]之前的元素个数为()。

A. j*n+i

B. i*n+j

C. i*n+j-1

D. i*n+j+1

四、写出下列程序的运行结果。(4分,每题1分)

1.#include

void fun(int x)

{

x=20;

}

main()

{

int x = 10; fun(x);

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

}

运行结果是:

2.#include

void fun(int b[4]) {

int j;

for(j=0; j<4; j++) b[j]=j; } main() {

int a[4] = {1,2,3,4}, k; fun(a);

for(k=0; k<4; k++)

printf("%d\n", a[k]);

}

运行结果是:

3.#include main()

{

int i = 10; switch(i) {

case 9: i+=10; case 10: i+=10; case 11: i+=10; break; default : i+=10;

}

注意行为规范,遵守考试纪律!

printf("i = %d\n", i);

}

运行结果是:

4. #include

void fun()

{

static int a=5;

a++;

printf("a=%d\n", a);

}

main()

{

int m;

for(m=0; m<=1; m++)

fun();

}

运行结果是:

五、阅读程序,在标有下划线的空白处填入适当的表达式或语句,使程序完整并符合题目要求。(3分,每空1分)

从键盘输入10个整型数据,放入数组a 中,求其最大值及其所在

元素的下标位置,并输出。

main()

{

int a[10], n, pos, max;

for (n=0; n<10; n++)

scanf("%d", &a[n]);

max = ;

pos = ;

for (n=0; n<10; n++)

{

if (a[n] > max)

{

max = a[n];

相关文档
最新文档