2011秋华农c语言试卷 下载本文

内容发布更新时间 : 2024/5/2 21:28:01星期一 下面是文章的全部内容请认真阅读。

华南农业大学期末考试试卷(A卷)

2011学年第1学期 考试科目: 程序设计(C语言) 考试类型:(闭卷)考试 考试时间: 120 分钟

学号 姓名 年级专业

装 题号 得分 评阅人 订一 机读 二 机读 三 四 总分 考生注意:

1、答案必须分别写在“机读卡”和“答卷”上,写在试卷上不得分。

2、必须在机读卡和答卷上正确填写班级、学号、姓名等内容,否则没有考试成绩。 3、在机读卡的学生代号区只填写学号后10位。 4、考试结束,只需交“机读卡”和“答卷”,本试卷不用交。

线得分

一、判断题(在机读卡上答题,本大题共20小题,每小题1分,共20分)

用2B型铅笔涂答题卡!!!按题号顺序,正确的判断涂黑“A”、错误的判断涂黑“B” 1、所有逻辑运算符的优先级都高于关系运算符。

2、在if语句中,if后面的表达式可以是关系表达式与逻辑表达式,而不能是算术表达式。 3、带有语句标号的语句的正确书写方法是“语句标号:语句”。 4、for循环语句只能用于循环次数已经确定的情况。

5、do-while循环语句的特点是先执行循环体,然后判断循环条件是否成立。

6、continue语句在循环体中出现,其作用是结束本次循环,接着进行是否执行下一次循环

的判定。

7、已有定义int x[5];,则该定义语句说明x是具有5个元素的一维数组,且数组元素是

x[1],x[2],x[3],x[4],x[5]。 8、数组必须先定义,然后再使用。

9、若对字符串str1和字符串str2比较大小,必须使用字符串比较函数strcmp(str1,str2),不

能使用关系运算符进行比较,譬如:str1==str2。 10、一个函数中有且只能有一个return语句。

11、在一个函数中定义的静态局部变量不能被另一个函数引用。

12、用数组名作为函数调用时的实参,实际上传递给形参的是数组全部元素的值。

1

13、在C语言中,主函数可以调用任意一个函数,但是不能使用其它函数中定义的变量。 14、C语言规定,程序中各函数之间既允许嵌套定义,也允许嵌套调用。 15、宏名没有作用域,在整个文件范围内都有效。 16、带参数的宏名无类型,它的参数也无类型。 17、预处理命令必须位于C源程序的首部。

18、在文件包含预处理语句中,被包含的文件应该是目标文件而不是源文件。 19、文件包含是不能嵌套的,即在一个被包含文件中不能包含另一个被包含文件。 20、宏定义不是C语句,不必在行末加分号,若加了分号,则编译时会出现语法错误。

得分

二、单项选择题(在机读卡上答题,本大题20小题,每小题2分,共40分)

用2B型铅笔涂答题卡!!!按题号顺序,将答题卡上与选项对应的字母涂黑 21、以下叙述正确的是( )。

A)C语言允许直接访问物理地址,可以直接对硬件进行操作 B)C语言程序不用编译,即可被计算机识别运行

C)C语言不允许直接访问物理地址,不可以直接对硬件进行操作 D)C语言程序只需编译,不需连接即可被计算机运行 22、下列关于C语言用户标识符的叙述中正确的是()

A)用户标识符中可以出现下划线和中划线(减号) B)用户标识符中不可以出现中划线,但可以出现下划线 C)用户标识符中可以出现下划线,但不可放在标识符开头

D)用户标识符中可以出现下划线和数字,它们都可放在用户标识符的开头 23、字符串\在内存中占用的字节数是()

A)14 B)9 C)10 D)11 24、与k=n++完全等价的表达式是()

A)n=n+1,k=n B)k+=n+1 C)k=++n D)k=n,n=n+1 25、为下面的程序输入数据,使得i=10,k='a',j=15,正确的键盘输入方法是()

main() { int i,j,k;

scanf(\}

A)10,a,15<回车> B)10<回车>a<回车>15<回车>

2

装订线

C)10'a'15<回车> D)10a15<回车> 26、运行下面的程序,正确的输出结果是()

main()

{ float x=68.7563,y=-789.125; printf(\}

A)68.756303, -789.12 B)68.756303, -789.13 C)68.7563, -789.13 D)68.7563,-789.12 27、下列表达式中,结果为1的表达式是()

A)!0==1 B)!6 C)!2>=3 D)!3!=0

28、设整型变量x,y,z的值分别为3、2、1,则下列程序段的输出是()if(x>y) x=y; if(x>z) x=z;

printf(\

A)3,2,1 B)1,2,3 C)1,2,1 D)1,1,1 29、已经定义int j;,则下面程序段的输出结果是()

for(j=7;j<10;j++) printf(\

A)8910 B)789 C)91011 D)无结果 30、下面程序的运行结果是()

main()

{ int i,j,k,sum; for(i=2;i<7;i++){ sum=1;

for(j=i;j<7;j++) sum=sum+j; }

printf(\}

A)48 B)49 C)1 D)7 31、下面程序的运行结果是()

main()

{ int x=15;

do{x--;}while(x--); printf(\}

A)0 B)1 C)-1 D)-2 32、下面程序的运行结果是()

3

main()

{ int x[3],i,j,k;

for(i=0;i<3;i++) x[i]=0; k=2;

for(i=0;i

for(j=0;j

A)2 B)1 C)0 D)3 33、若有以下程序段:

int x[12]={1,2,3,4,5,6,7,8,9,10,11,12}; char c='a',d,g;

则数值为4的表达式是()。

A)x[g-c] B)x[4] C)x['d'-'c'] D)x['d'-c] 34、若有int s[4]={4,3,2,1};则s[s[0]+s[3]-s[2]]的值是()

A)1 B)2 C)3 D)4 35、C语言程序的三种基本结构是()

A)嵌套结构、递归结构、循环结构 B)递归结构、循环机构、转移结构 C)顺序结构、选择结构、循环结构 D)循环结构、转移结构、顺序结构 36、下列程序的运行结果是()

#include\void f(char str[]) { int i,j;

for(i=j=0;str[i]!='\\0';i++) if(str[i]!='a') str[j++]=str[i]; str[j]='\\0'; }

void main()

{ char string[]=\ f(string);

printf(\}

4

装订线 1.5CM

A)string is:goodbaby B)string is:goodbby C)string is:goodb D)string is:g 37、下列程序段中,有错误的是() A)int f() B)int f2() { int x;

{

scanf(\ return (x>1?printf(\ return x++,x+5; }

}

C)main()

D)void chang(int x,int y) { float a=2.6,b;

{

b=max(2.1,3.6)=a++; int t;

printf(\ t=x;x=y;y=t; } }

38、以下函数值的类型是()

fun(float x) { float y; y=3*x-4; return(y); }

A)不确定 B)float C)int D)void 39、设有宏定义命令:

#define SUM 2+3

则表达式5+SUM*5的值为()

A)50 B)30 C)22 D)20

40、在文件包含预处理的定义形式中,#include后的文件名用<>括起来时,寻找被包含文

件的方式是()。

A)仅搜索当前目录

B)先在源程序所在的目录搜索,再按系统设定的标准方式搜索 C)仅搜索源程序所在目录

D)直接按系统设定的标准方式搜索

得分

三、阅读程序填空题(在答卷上答题,本大题共9小题,每空1分,共20分)

1、下面程序实现分别输出1至100(不包括100)范围内所有偶数的和与所有奇数的和,请填空完善。

#include

5