装订线
s[j]='\\0'; }
main()
{ char str[]=\ del( 17) );
printf(\}
8、下面程序是用递归法将一个整数n转换成字符串,譬如:123,应输出“123”,n的为数不固定,可以为任意位数的整数,请填空完善程序。 void tranvers(int n)
{ if(n/10!=0) tranvers( 18) ); printf(\ 19) ); }
main() { int n;
scanf(\
printf(\ if(n<0){
printf(\ n=-n; }
20) ; }
得分
四、编写程序题(在答卷上答题,第1,2小题各5分;第3小题10分,共20分) 1、编程计算1+3+5+...+99的结果并显示,要求画出算法的流程图。 (程序正确3分,流程图正确2分)。
2、编程显示1900年至2500年中是闰年的年份,每行显示10个年份。 3、根据如下main函数要求,编写两个函数:
(1)按指定模式(升序/降序)冒泡排序函数px()。(7分) (2)输出排序后结果的函数output()。(3分) #include
int a[10]={1,9,2,6,5,10,3,7,20,4},md=0; void px(int x[],int n,int mode) ; void output(int y[],int n); do{
printf(\(1.升序 2.降序 0.结束程序)请选择:\ scanf(\ if(md==0) break; else if(md==1){
试题共10页-第6页
装订线
px(a,10,1) ;
output(a,10) ; }else if(md==2){ px(a,10,2) output(a,10);
}else printf(\选择不在0-2的范围\ }while(TRUE); }
华南农业大学期末考试试卷(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、用数组名作为函数调用时的实参,实际上传递给形参的是数组全部元素的值。
13、在C语言中,主函数可以调用任意一个函数,但是不能使用其它函数中定义的变量。 14、C语言规定,程序中各函数之间既允许嵌套定义,也允许嵌套调用。 15、宏名没有作用域,在整个文件范围内都有效。 16、带参数的宏名无类型,它的参数也无类型。
试题共10页-第7页
装订线
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<回车> 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(\
试题共10页-第8页
装订线
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、下面程序的运行结果是() 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]; 试题共10页-第9页 装订线 str[j]='\\0'; } void main() { char string[]=\ f(string); printf(\} A)string is:goodbaby B)string is:goodbby C)string is:goodb D)string is:g 37、下列程序段中,有错误的是() A)int f() { int x; scanf(\ return x++,x+5; } B)int f2() { return (x>1?printf(\ } C)main() { float a=2.6,b; b=max(2.1,3.6)=a++; printf(\ } D)void chang(int x,int y) { int t; 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)直接按系统设定的标准方式搜索 得分 试题共10页-第10页