2009春C语言A.doc_第1页
2009春C语言A.doc_第2页
2009春C语言A.doc_第3页
2009春C语言A.doc_第4页
2009春C语言A.doc_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

华南农业大学期末考试试卷(A卷)2008学年第 2 学期考试科目:程序设计 考试类型:(闭卷)考试考试时间:120 分钟学号 姓名 年级专业 注意:1本次考试由三部分组成:试卷、机读卡、答卷纸2本试卷第一、二题答案用2B铅笔填涂在机读卡,书写在本试卷无效。 3第三、四题答案书写在答卷纸上。 4. 只收机读卡、答卷纸一、是非判断题(每小题1分,10小题,共10分,在机读卡中正确填涂A,错误填涂B)1. C语言允许直接访问物理地址,可以直接对硬件进行操作。2. 在main函数中说明的变量,有效范围是main函数及其调用的函数。3. void play(int a, b); 是一个合法的函数说明。4. 结构体的成员类型不能为结构体类型。5. 函数的实参和形参可以是相同的名字。 6. do-while循环语句的特点是先执行循环体,然后判断循环条件是否成立。7. C程序执行的入口是main函数,所以main函数必须放在程序的开头。 8. 注释内容太多会影响程序的执行效率。 9. C语言规定,标识符中的字母一般区分大、小写。 10. 若定义的函数没有参数,则函数名后的圆括号可以省略。二、选择题(每小题2分,30小题,共60分)1. 下面标识符中,不合法的用户标识符为( ) A Char Ba_10 C _12ab D void2. 下列C常量中不合法的是( ) A8 B800 C8 D8003.字符串常量supern中字符个数为( )A8 B9C11 D134. 下面对C语言运算符的优先级叙述正确的是( )。A 算术运算符 关系运算符 !(非) &(与) |(或) 赋值运算符B 算术运算符 !(非) 关系运算符 &(与) |(或) 赋值运算符C !(非) 关系运算符 算术运算符 &(与) |(或) 赋值运算符D !(非) 算术运算符 关系运算符 &(与) |(或) 赋值运算符5. 设int a=15, b=9; 经过赋值语句a=a/(a-b); 后a的值( )A3 B 8 C2 D2.56. 设变量x为float型且已赋值,则以下语句中能将x中的数值保留到小数点后两位,并将第三位四舍五入的是( ) Ax=x*100+0.5/100.0; Bx=(x*100+0.5)/100.0; Cx=(int)(x*100+0.5)/100.0; Dx=(x/100+0.5)*100.0;7. 若num、a、b和c都是int型变量,则执行表达式num=(a=6,b=12,c=24); 后num的值为 ( ) A12 B24 C48 D 528. 能表示条件0x 10的表达式是( ) A0= x =0, x=0& x0|E0) C(E=0) D(E!=0)10. 设x、y均为整型变量,且x=10,y=3,则以下语句的输出结果是printf(“%d,%dn”,x-,-y);( ) A10,3 B9,3 C9,2 D10,211. 调用scanf(“%d,%d”,&a,&b);时,正确的键盘输入是 ( ) A 10,20 B a=10,b=20 C 10:20 D 10 2012. 在switch语句中,执行完一个case分支后要使流程跳出switch结构,应使用( )语句。 Acontinue B break Celse D return13. 执行语句 for(i=1; i+0)k=k+1; 则下面描述中正确的是( ) A循环体语句执行多次 B循环是无限循环 C循环体一次也不执行 D循环体语句执行10次15. 若变量已正确定义,要求程序段完成求5!的计算,不能完成此操作的程序段是( ) Afor(i=1,p=1;i=5;i+) p*=i; Bfor(i=1;i=5;i+) p=1; p*=i; Ci=1;p=1;while(i=5) p*=i; i+; Di=1;p=1;dop*=i; i+; while(i=5);16. 若有int s4 = 1,2,3,4;,则ss0+2*s2-s3 的值是( ) A1 B 2 C 3 D417. 数组名作为参数传递给函数,作为该参数的数组名被处理为( )A该数组的长度 B该数组的元素个数C该数组中元素的值 D该数组的首地址18若要求从键盘读入含有空格字符的字符串,应使用函数()。A. getc() B. gets() C. getchar() D. scanf()19. C语言中,函数值类型的定义可以缺省,此时函数值的隐含类型是( )A. void B. int C. float D. double20. 有以下程序:main() int x=2,y=2;if (x-y)printf(“#”); else printf(“*”); 程序执行后的输出结果是()。A#B*21有以下程序:main() int a=0,b=0,c=0,d=0; if (a=1) b=1;c=2; else d=3; printf(“%d,%d,%d,%dn”,a,b,c,d); 程序执行后的输出结果是()。A0,1,2,0 B0,0,0,3C1,1,2,0 D 编译有错22. 有以下程序:main() int i,j.k,sum; for (i=2;i7;i+) sum=1;for(j=i;j7;j+)sum=sum+j;printf(“%d”,sum); 程序执行后的输出结果是()。A48 B49C1D723. 有以下程序:main() int y=10; while(y-) ; printf(“y=%dn”,y); 程序执行后的输出结果是()。Ay=0 By=-1Cy=1D while构成无限循环24. 有以下程序:main() int i, t 3=9,8,7,6,5,4,3,2,1; for (i=0;i3;i+) printf(“%d”,t2-ii); 程序执行后的输出结果是()。A753B357C369D 75125. 不能把字符串Hello!赋值给数组a的语句是()。A. char a10= H,e,l,l,o,!;B. char a10; a=”Hello!”;C. char a10; strcpy(a,”Hello!”);D. char a10=”Hello!”;26有以下程序:swap(int x, int y) int t; t=x;x=y;y=t;main() int a=3,b=4; swap(a,b); printf (“%d,%d”,a,b);程序执行后的输出结果是()。A4,3 B 3,427有以下程序:int fun1(double a) return a*=a;int fun2(double x,double y) double a=0,b=0; a=fun1(x); b=fun1(y); return(int)(a+b);main() double w; w=fun2(1.1,2.0); printf (“%f”,w);程序执行后变量w中的值是()。A5.21 B5 C5.0 D0.028有以下程序:int fun ( int x ,int n) static int sum=0,i; for (i=0;in;i+) sum=sum+xi; return sum;main() int a=1,2,3,4,5,b=6,7,8,9,s=0; s=fun(a,5)+fun(b,4); printf (“%dn”,s);程序执行后的输出结果是()。A45 B50 C60 D5529. 有以下程序:fun ( char p 10) int n=0, i; for (i=0;i7;i+) if (pi0=T) n+; return n;main() char str710=“Mon”, “Tue”, “Wed”, “Thu”, “Fri”, “Sat”, “Sun”; printf (“%dn”,fun(str);程序执行后的输出结果是()。A1 B2 C3 D030. 有以下程序:int a=3,b=4;void fun(int x1,int x2) printf(“%d,%d”,x1+x2,b);main() int a=5,b=6; fun(a,b);程序执行后的输出结果是()。A3,4 B11,1 C11,4 D11,6三、程序填空题(每空2分,10小题,共20分,注意将答案写在答题纸上)1. 输入一行字符(以回车符结束),统计字母个数并输出统计结果,请填空。#include stdio.hmain()int zm=0;char ch;printf(nInput a string:);while( )if( )zm+;printf(zm=%dn,zm);2.打印99乘法表。输出格式要求为: 1*1=1 2*1=1 2*2=4 3*1=3 3*2=6 3*3=9 main() int m,n; for(m=1;m=9;m+) for(n=1; ;n+) printf(“%d*%d=%d ”,m,n,m*n); ; 3.下面程序读入10个学生的成绩,统计及格学生的个数并计算平均分。请填空:main() int i, count=0; float a10,sum=0,ave; for(i=0;i10;i+) scanf(“%f”,&ai); for(i=0;i10;i+) if count=count+1; ; ave=sum/10; printf(“count=%d,ave=%f”,count,ave);4. 由键盘输入10个整数,将其首尾对调并输出。#include stdio.hmain()int a10,i,j,t;for (i=0;i10;i+) /*键盘输入并存储*/scanf(%d, &ai);for ( ) /*首尾对调*/ for (i=0;i10;i+) /*输出*/printf(%d, ai);5.下面程序,实现输出200到500之间的所有素数。#include stdio.h#include math.hint su(int n)int flag = 1,i;for (i=2; ; i+)if ( )flag=0;break;return flag;main()int t;for (t=200; t=500;t+)if (su(t)printf(%dn, t);四、编程题(10分)编写从整型数组中查找给定数值的函数search(int a10,int x),若找到则输出该数值在数组中的位置(从1开始),若未找到则输出0。要求:(1)该整型数组在主函数中由键盘输入,(2)查找结果在主函数中输出 。2华南农业大学期末考试答题纸(A卷)2008学年第 2 学期考试科目:程序设计 考试类型:(闭卷)考试考试时间:120 分钟学号 姓名 年级专业 题号一二三四总分得分评阅人一、是非判断题(每小题1分,10小题,共10分,在机读卡中正确填涂A,正确填涂B)二、选择题(每小题2分,30小题,共60分,在机读卡上填涂答案)三、程序填空题(每空2分,10小题,共20分)题号答案四、编程题(10分)华南农业大学期末考试试卷参考答案(A卷)一、是非判断题(每小题1分,10小题,共10分,在机读卡中正确填涂A,正确填涂B)题号答案1A2B3B4B5A6A7B8B9A10B二、选择题(每小题2分,30小题,共60分,在机读卡上填涂答案)题号答案题号答案1D16D2B17D3A18B4D19B5C20B6C21D7B22D8D23B9C24B10D25B11A26B12B27C13C28C14B29B15B30C三、程序填空题(每空2分,10小题,共20分)题号答案(ch=getchar()!=n(A=ch&ch=Z) |(a=ch&ch=z) 注意:可以没有括号,&优先|n=60sum=sum+aii=0;i5;i+i=0,j=9;i5;i+,j-t=ai;ai=a9-i;a9-i=tt=ai;ai=aj;aj=ti=n/2 或者

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论