南昌大学C语言04~05第二学期试卷A(理)及答案_第1页
南昌大学C语言04~05第二学期试卷A(理)及答案_第2页
南昌大学C语言04~05第二学期试卷A(理)及答案_第3页
南昌大学C语言04~05第二学期试卷A(理)及答案_第4页
南昌大学C语言04~05第二学期试卷A(理)及答案_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

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

文档简介

1、 南昌大学 20042005 学年第 二 学期期期 末 考试试卷 试卷编号: ( A )卷课程名称: C程序设计 适用班级: 全校理工科 姓名: 学号: 班级: 专业: 学院: 系别: 考试日期:2005、07、04 题号一二三四五六七八九十总分累分人 签名题分30302218 100得分考生注意事项:1、本试卷共 8 页,请查看试卷中是否有缺页或破损。如有立即举手报告以便更换。 2、考试结束后,考生不得将试卷、答题纸和草稿纸带出考场。一、 单项选择题 (每空 1 分,共 30 分) 得分说明:请将各小题正确答案的字母序号填到相应小题的下划线上。评阅人 1一个C程序的执行是从 。A)本程序的m

2、ain函数开始,到main函数结束B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C)本程序的main函数开始,到本程序文件的最后一个函数结束D)本程序文件的第一个函数开始,到本程序main函数结束2一个C语言程序是由 。A)若干主程序和若干子程序组成B)函数组成C)若干过程组成D)若干子程序组成3假设所有变量均为整型,则表达式(a=2,b=5,b+,a+b)的值是 。A)7 B)8 C)6D)24下列四组选项中,均不是C语言关键字的选项是 。A)defineB)getcC)includeD)whileIFcharscanfgoTypeprintfcasepow5下面四个选项中,

3、均是合法转义字符的选项是 。A)B)C)018D)0017f101nxabxlf6若有代数式3ae/bc,则不正确的C语言表达式是 。A) a/b/c*e*3B)3*a*e/b/cC)3*a*e/b*cD)a*e/c/b*37已知各变量的类型说明如下:int k,a,b;unsigned long w= 5;double x=1.42;则以下不符合C语言语法的表达式是 。A) x%(-3)B) w+=-2C) k=(a=2,b=3,a+b)D) a+= a-=(b=4)*(a=3)8以下正确的叙述是 。A)在C程序中,每行中只能写一条语句B)若a是实型变量, C程序中允许赋值a=10, 因此实

4、型变量编译后允许存放整型数C)在C程序中,无论是整数还是实数,都能被准确无误地表示D)在C程序中,%是只能用于整数运算的运算符, 当然, %在C程序中还有别的用途9设变量a是整型,f是实型,i是双精度型,则表达式10+a+i*f值的数据类型为 。A)intB) floatC) doubleD)不确定10设变量n为f1oat类型,m为int类型,则以下能实现将n中的数值保留小数点后两位,第三位进行四舍五入运算的表达式是 。A) n=(n*100+0.5)/100.0B)m=n*100+0.5 ,n= m/100.0C) n=n*100+0.5/100.0D)n=(n/100+0.5)*100.0

5、11putchar函数可以向终端输出一个 。A)整型变量表达式值 B)实型变量值C)字符串D)字符或字符型变量值12阅读下列程序,若运行结果为如下形式 ,输入输出语句的正确内容是 。main()int x; float y;printf(enter x,y :)输入语句; 输出语句输入形式 enter x,y: 2 3.4输出形式 x+y=5.40A)scanf(%d,%f,&x,&y);printf(nx+y= %4.2f,x+y);B)scanf(%d%f,&x,&y );printf(nx+y=%4.2f,x+y);C)scanf(%d%f,&x,&y); printf(nx+y=%6.

6、lf,x+y);D)scanf(%d%3.1f,&x,&y );printf(nx+y=%4.2f,x+y);13x,y,z均为int型变量,则执行语句x=(y=(z=10)+5)-5后,x 、y 和z的值是 。A) x=10B) x=10C) x=10D) x=10y=15y=10y=10y=5z=10z=10z=15z=1014判断char型变量ch是否为大写字母的正确表达式是 。A) A =ch = A)&(ch= A )&(ch=Z)D)( A = ch)15若有定义int a35, i, j; (且0i3, 0j5),则aij不正确的地址表示是 。 A) &aij B) ai+j C

7、) *(a+i)+j D) *(*(a+i)+j)16下面程序段的运行结果是 。if n=0;while(n+ b ) printf ( “ %d ” , a ); B) if ( a b ) m = a else m = b; C) if ( 3 ) a = m ; else a = n; D) if ( a 0 ) ; else a = n; 18以下程序的输出结果是 。 # include fun ( int a , int b , int m ) m = a * b ; return ; main ( ) int m = 1; fun ( 2 , 3 , m ) ; printf (

8、“ %d n ” , m ) ; A) 1 B) 2 C) 3 D) 619若有定义:int a = 511 , * b = & a ; ,则 printf ( “ % d n ” , * b ) ; 的输出结果为 。 A) 无确定的值 B) a的地址 C) 512 D) 511 20以下程序的输出结果是 。 # define ADD ( x ) x + x main ( ) int m = 1 , n = 2 , k = 3 , sum ; sum = ADD ( m + n ) * k ; printf ( “ sum = %d n ” , sum ) ; A) sum = 9 B) su

9、m = 10 C) sum = 12 D) sum = 18 21已知 int i , x 3 4 ; ,则不能将 x 1 1 的值赋给变量 i 的语句是 。 A) i = * ( * ( x + 1 ) + 1 ) B) i = x 1 1 C) i = * ( * ( x + 1 ) ) D) i = * ( x 1 + 1 ) 22以下函数的类型是 。fun ( float x ) printf ( “ %d n ” , x * x ) ; A) int B) float C) void D) 无法确定 23设有语句:char str1 = “string”, str2 8 , * st

10、r3, * str4= “string” ; , 则下列选项中,不是对库函数strcpy的正确调用的是 。A) strcpy ( str1, “hello1”); B) strcpy ( str2, “hello2”);C) strcpy (str3, “hello3”); D) strcpy (str4, “hello4”);24已有定义 int ( * p ) ( ) ; , 则指针 p 可以 。A) 代表函数的返回值 B) 指向函数的入口地址C) 代表函数的类型 D) 代表函数返回值的类型25以下能正确进行字符串赋值操作的是 。A) char * s ; * s = “apple” ;

11、B) char * s ; s = “apple” ; C) char s8 ; s = “apple” ; D) char s8 ; * s = “apple” ; 26以下符合C语言语法的赋值表达式是 。A) d = 9 + e + f = d + 9 B) d = e + = d + 9 C) 5 = d + e + f D) d = 9 + e , f + 3 = d + 9 27设有如下说明语句: struct stud int a ; float b ; studtype ; 则下面的叙述中,不正确的是 。A) struct 是结构体类型的关键字 B) struct stud 是用

12、户定义的结构体类型名C) a 和 b 都是结构体成员名 D) studtype是用户定义的结构体类型名28以下C语言中,对函数不正确的描述是 。 A) 当用数组名作形参时,形参数组改变可使实参数组随之改变 B) 允许函数递归调用 C) 函数形参的作用范围只是局限于所定义的函数内 D) 函数说明必须在主调函数之前29若有定义typedef char STRING255; STRING s; 则s是 。 A) 字符指针数组变量 B) 字符数组变量 C) 字符变量 D) 字符指针变量30对以下程序段描述正确的是 。x= -1;dox=x*x;while(!x);A) 是死循环 B) 循环执行二次 C

13、) 循环执行一次 D) 有语法错误二、 程序阅读题 (每小题 6分,共30分) 得分评阅人 1 源程序如下:#include main() int i; for(i=1;i=5;i+) if (i%2) printf(“*”);else continue; printf(“#”); printf(“$n”); 程序运算后的结果为:2 源程序如下:main() char ch25=“6937”, “8254”,*p2; int i,j,s=0; for(i=0;i2;i+) pi=chi; for(i=0;i0;j+=2) s=10 *s+pij-0; printf(“%dn”,s);程序运算后

14、的结果为:3 源程序如下:#include main() char s48=Hello,help,save me,groan; char t=help; char *p=s3; printf(%4s?n,s0); printf(%s!n,p); printf(%sn,s2); printf(%dn,strcmp(t,s1); printf(%c!n,s00); 程序运算后的结果为:4源程序如下:#include main() int day_of_week = 4;switch (day_of_week) case 0: printf(today is Sunday.n); case 1: p

15、rintf(today is Monday.n); case 2: printf(today is Tuesday.n); case 3: printf(today is Wednesday.n); case 4: printf(today is Thursday.n); case 5: printf(today is Friday.n); case 6: printf(today is Saturday.n); default: printf(Something is missing.); break;程序运算后的结果为:5源程序如下:#include #define NRows 5main

16、() int i, j; for (i = 1; i = NRows; i+) for (j = i; j NRows; j+) printf( ); for (j = 0; j 2 * i - 1; j+) printf(*); printf(n); 程序运算后的结果为:三、 程序填空题 (每空 2 分,共 22 分) 得分评阅人 1下面的程序是用选择法对10个整数进行升序排序,请填空。 #define N 10 main() int i,j,min,temp,aN; printf(“请输入十个整数:n”); for (i=0;iN;i+) printf (“a%d=”,i); scanf(

17、“%d”,&ai); printf(“n”); for(i=0,iN-1;i+) ; for(j=i+1;jN;j+) if min=j; if( ) temp=ai;ai=amin;amin=temp; 2以下程序的fun函数用于统计字符串s中元音字母(a,A,e,E,i,I,o,O,u,U)的个数。#include main() char str255; gets(str); printf(元音字母的个数为: %dn, fun(str);fun(char *s) char a=aAeEiIoOuU, *p; int n=0; while( ) for(p=a; *p; p+) if( )

18、n+; ; s+; return n;3下面fun函数的功能是将形参x的值转换成二进制数,所得二进制数的每一位数放在一维数组中返回,二进制数的最低位放在下标为0的元素中,其它依此类推,请填空。fun(int x,int b) int k=0,r; do r=x% _; bk+=r; x/=_; while(x); 4以下程序是用来从10到99数字中挑出能被3整除且至少有一位是5的两位数,并打印出所有这样的数及其个数。#include main() int k, m=0; for(k=10; k=99; k+) m+=sub(k); printf(个数为: %dn, );sub(int k) i

19、nt a1, a2, n=0; a2= ; a1=k/10; if(k%3=0&( ) printf(%d , k); return 1; else return 0;四、 程序设计题 (第1小题 8 分,第2小题10分,共 18 分) 1编一程序,计算sum=1+1/2+1/4+.+1/50的值,并显示出来。2写两个函数,分别求两个整数的最大公约数和最小公倍数,用主函数调用这两个函数,并输出结果,两个整数由键盘输入。 2005、06 C程序设计(理工科)试卷A参考答案及评分标准一、 单项选择题 (每空 1 分,共 30 分) 1 A 2 B 3 B 4A 5 A 6C 7A 8D 9C 10B 11 D 12 B 13 A 14 C 1

温馨提示

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

评论

0/150

提交评论