沈建理学院2011年C语言试题

  • 格式:doc
  • 大小:74.50 KB
  • 文档页数:3

共6页 第1页 共6页 第2页

准考证号

专业班级

姓 名

注意事项:

1.请命题教师于考试前

7天将试题交本学院,

由各学院统一保管。

2.每道大题如有若干个小题,应注明每道小题的分数,例如:填空(每空1分共15分)。

3.在主观性试题的标准答案中,必须注明得分点的分值,分步给分。

4.书写时请在上、下、左、右的边缘处至少留出10毫米的空白,以免造成制卷的困难,并请注明页数。

5.用计算机打印试题,

并注意试题字体大小、色带的颜色深度(过浅制版不清)。

如有不符要求的试题,予以返回。

系(教研室)主任:

教学院长审批:

年 月 日 装

线`` 沈阳建筑大学学生期末考试试卷

题号 一 二 三 四 五 六 七 八 九 十 十一 总分

得分

jin

20 12 年 春 季学期

科目: C语言与程序设计(A卷) 适用年级、专业: 2011级信息与计算科学专业

(本题15分)选择题(每小题3分),每4个选择中只有一个是正确的,并把答案填在本题末尾的圆括号中.

1. 计算机只能识别和接受由 组成的机器指令。 ( )

A. 0和1 B. 0和2 C. 1和2 D. 0、1和2

2. 一个有效算法至少有 个输出。 ( )

A. 0 B. 1 C. 2 D. 3

3. 在C语言中,每个C语句最后的一个符号必须是 。 ( )

A. „ B. , C. ; D. :

4. 三种基本结构指的是 。 ( )

A. 顺序结构、选择结构和直到结构 B. 顺序结构、选择结构和分支结构

C. 顺序结构、选择结构和当型结构 D. 顺序结构、选择结构和循环结构

5. 一个C语言程序由一个或多个源程序 组成。 ( )

A. 文件 B. 库函数 C. 主函数 D.被调用函数

(本题15分)判断对错,每小题3分. 把“对”或“错”答案填在每题后面的圆括号中.

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

2. 在程序执行过程中,可以修改符号常量的值。但是,字面常量的值是不能修改的。

( )

3. C语言规定标识符只能由字母、数字和下划线组成,且第一个字符必须为字母或下划线。 ( )

4. 在C语言的循环体中,执行continue语句后,可以跳出执行的循环体,接着执行循环体后面的语句。 ( )

5. 在C语言中,goto语句可以改变程序的顺序执行过程,但是,几乎不使用该语句。

( )

(本题10分)填空题(每空2分)。

1. 在C语言中,一个函数包含两部分,其中的一部分叫函数体,而其中的另一部分是函数 。

2. 在选择语句“if(表达式) 语句; ”中的“表达式”可以是逻辑表达式、数值表达式或者是 表达式 。

3. C语言系统默认的字符数组的结束标志是 。

4. 如果一个函数只能被本文件中其他函数所调用,我们就称其为 函数。

5. 一个变量的地址称为该变量的 。

(本题10分)有3个整数a,b,c,由键盘输入。试编写一个程序,输出

其中最大的数。

(本题10分) 输出所有的“水仙花数”,所谓“水仙花数”是指一个3位正

整数,其各位数立方和等于该数本身。例如,153是一个水仙花数,因为

153=13+53+33

一、 得分

三、 得分 四、 得分

二、 得分

五、 得分

共6页 第3页 共6页 第4页

线``

(本题10分)试编写一个递归函数,用于计算2+4+6+„+2n的和。

(本题10分)试建立一个链表,每个结点包括姓名和C语言成绩。在建立链表时,请按照C语言成绩由低到高的顺序录入每个结点的值;但是,在输出时,要求按照C语言成绩从高到低的顺序输出每个结点的值,要求输出链表的值。

七、 得分

六、 得分

共6页 第5页 共6页 第6页

线``

(本题10分)读下面的程序,对程序的第7、15、17和20行进行注释,并写出程序的执行结果。如果从键盘输入的是:computer#

#include

#include

void main()

{

FILE *fp;

char ch;

fp=fopen("test.dat","w");

if(fp==NULL)

{

printf("cannot create test.dat file.\n");

exit(0);

}

printf("please input a string characters:\n");

ch=getchar();

while(ch!='#')

{

fputc(ch,fp);

ch=getchar();

}

fclose(fp);

}

(本题10分)读下面的程序,请写出程序的执行结果,并注释程序第7和第8

行的含义。

#include

#include

void main()

{

char str[3][20]={"HOLLAND","CHINA","RUSSIA"};

int k=0;

if(strcmp(str[1],str[0])>0)

k=1;

if(strcmp(str[2],str[k])>0)

k=2; printf("\nThe largest string is:\n%s",str[k]);

}

九、 得分 八、 得分