南昌大学C语言0506-2-C语言B卷sj及答案_第1页
南昌大学C语言0506-2-C语言B卷sj及答案_第2页
南昌大学C语言0506-2-C语言B卷sj及答案_第3页
南昌大学C语言0506-2-C语言B卷sj及答案_第4页
南昌大学C语言0506-2-C语言B卷sj及答案_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

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

文档简介

南昌大学 20052006学年第二学期期末考试试卷 试卷编号: ( B)卷课程编号: H61050001 课程名称: C程序设计 考试形式: 闭卷 适用班级: 全校理工科 姓名: 学号: 班级: 学院: 专业: 考试日期: 题号一二三四五六七八九十总分累分人 签名题分30302218 100得分考生注意事项:1、本试卷共 8 页,请查看试卷中是否有缺页或破损。如有立即举手报告以便更换。 2、考试结束后,考生不得将试卷、答题纸和草稿纸带出考场。一、 单项选择题 (每空 1 分,共 30 分) 得分说明:请将各小题正确答案的字母序号填到相应小题的下划线上。评阅人 1一个C程序的执行是从 。A)本程序的main函数开始,到main函数结束B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C)本程序的main函数开始,到本程序文件的最后一个函数结束D)本程序文件的第一个函数开始,到本程序main函数结束2一个C语言程序是由 。A) 若干主程序和若干子程序组成B) 函数组成C) 若干过程组成D) 若干子程序组成3以下不能定义为用户标识符是 。A) Main B) _0 C) _int D) sizeof4合法的C语言赋值语句是 。A) a=b=58 B) i+; C) a=58,b=58 D) k=int(a+b);5以下所列的C语言常量中,错误的是 。A)0xFF B) 1.2e0.5 C) 2L D) 726若已定义x和y为double类型,则表达式x=1,y=x+3/2的值是 。A) 1 B) 2 C) 2.0 D) 2.5第 9 页 共 9页7若有说明语句:int a=5; a+;此时表达式a+的值是 。A) 7 B) 6 C) 5 D) 48putchar函数可以向终端输出一个 。A) 整型变量表达式值 B) 实型变量值 C) 字符串 D) 字符或字符型变量值9以下叙述中错误的是 。A) 对于double类型数组,不可以直接用数组名对数组进行整体输入或输出B) 数组名代表的是数组所占存储区的首地址C) 当程序执行中,数组元素的下标超出所定义的下标范围时,系统将给出下标越界的出错信息D) 可以通过赋初值的方式确定数组元素的个数10设a=5,b=6,c=7,d=8,m=2,n=2, 执行(m=ab)&(n=cd)后n的值为_。A) 1 B) 2 C) 3 D) 411以下程序的输出结果是_。main()int p8=11,12,13,14,15,16,17,18,i=0,j=0;while(iy?x:y; int f2(int x,int y)return xy?y:x; main()int a=4,b=3,c=5,d=2,e,f,g;e=f2(f1(a,b),f1(c,d); f=f1(f2(a,b),f2(c,d); g=a+b+c+d-e-f;printf(%d,%d,%dn,e,f,g);A) 4,3,7 B) 3,4,7 C) 5,2,7 D) 2,5,714以下程序的输出结果是_。void f(int *x,int *y)int t;t=*x;*x=*y;*y=t; main()int a8=1,2,3,4,5,6,7,8,i,*p,*q;p=a;q=&a7;while(p=q) f(p,q);p+;q-;for(i=0;i8;i+)printf(%d ,ai);A) 8 2 3 4 5 6 7 1 B) 5 6 7 8 1 2 3 4 C) 1 2 3 4 5 6 7 8 D) 8 7 6 5 4 3 2 115已有定义 int ( * p ) ( ); ,则指针p可以 。A) 代表函数的返回值 B) 指向函数的入口地址C) 代表函数的类型 D) 代表函数返回值的类型16以下程序的输出结果是_。 main()int a33,*p,i;p=&a00;for(i=0;i9;i+)pi=i;for(i=0;i3;i+)printf(%d ,a1i);A) 0 1 2 B) 1 2 3 C) 2 3 4 D) 3 4 517以下程序的输出结果是_。main()int x=1,a=0,b=0;switch(x)case 0:b+;case 1:a+;case 2:a+;b+;printf(“a=%d,b=%dn”,a,b);A) a=2,b=1 B) a=1,b=1 C) a=1,b=0 D) a=2,b=218以下程序执行后sum的值是_。main()int i,sum=0;for(i=1;i6;i+) sum+=i;printf(“%dn”,sum);A) 15 B) 14 C) 不确定 D) 019以下程序的输出结果是_。 main()int a=1,b;for(b=1;b=8) break;if(a%2=1)a+=5;continue;a-=3;printf(%dn,b);A) 3 B) 4 C) 5 D) 620以下程序的输出结果是_。 main()char s=159,*p;p=s; printf(%c,*p+);printf(%c,*p+);A) 15 B) 16 C) 12 D) 59 21若fp是指向某文件的指针,且已读到文件的末尾,则C语言函数,feof(fp)的返回值不可能是_。A) EOF B) -1 C) 1 D) NULL 22以下能正确定义二维数组的是_。A) int a3; B) int a3=22*3;C) int a3=1; D) int a23=1,2,3,4;23下面函数的功能是_。fun(char *a,char *b)while(*a!=0)&(*b!=0)&(*a= =*b) a+;b+; return(*a-*b);A) 计算a和b所指字符串的长度之差 B) 将b所指字符串连接到a所指字符串中 C) 将b所指字符串连接到a所指字符串后面D) 比较a和b所指字符串的大小24以下程序的输出结果是_。main()int m=12,n=34;printf(%d%d,m+,+n);printf(%d%d,n+,+m);A) 12353514 B) 12353513 C) 12343514 D) 1234351325以下程序运行后的输出结果是_ #define S(x) 4*x*x+1main() int i=6,j=8; printf(%dn,S(i+j); A) 81 B) 785 C) 402 D) 40126有以下程序main() char a =a,b,c,d, e, f, g,h,0; int i,j;i=sizeof(a); j=strlen(a);printf(“%d,%db”i,j);程序运行后的输出结果是 _。A) 9,9 B) 8,9 C) 1,8 D) 9,827若x和y代表整型数,以下表达式中不能正确表示数学关系|x-y|10的是 _。A) abs(x-y)-10& x-y10C) (x-y)10 D) (x-y)*(x-y)100 28若有说明语句: int c45,(*p)5;p=c; 能正确引用c数组元素的是 _。A) p+1 B) *(p+3) C) *(p+1)+3 D) *(p0+2)29设有以下语句typedef struct S int g; char h; T;则下面叙述中正确的是 _。A) 可用S定义结构体变量 B) 可以用T定义结构体变量C) S是struct类型的变量 D) T是struct S类型的变量30. 有以下程序main( ) unsigned char a,b; a=4|3; b=4&3; printf(“%d %dn”,a,b);执行后输出结果是 _。A) 7 0 B) 0 7 C) 1 1 D) 43 0二、 程序阅读题 (每小题 6分,共30分) 得分评阅人 1 源程序如下: #include main() int k=4, m=1, p; p=func(k,m); printf(%d,p); p=func(k,m); printf(%d n,p); func(int a, int b) static int m=0, i=2; i+=m+1; m=i+a+b; return m; 程序运算后的结果为:_。2 源程序如下:main() int a3=1,2,3,4,5,0,*pa3,i;pa=a;for(i=0;i3;i+)if(i2)pa1i=pa1i-1;elsepa1i=1;printf(%dn,a01+a11+a12);程序运算后的结果为:_。3 源程序如下:int m(unsigned k) int s=1; do s*=k%10; k/=10; while(k); return s;main() printf(%d,%dn,m(1234),m(43209); 则程序的输出结果是果是:_。4源程序如下:main()int a=10,b=20,c;c=(a%b1);printf(%d %d %dn,a,b,c);程序运算后的结果为:_。5源程序如下:#include move(char *str, int n) char temp ; int i;temp=strn-1;for(i=n-1; i0;i-) stri=stri-1;str0=temp; main()char s50; int n, i, z;scanf(%d,%s,&n, s);z=strlen(s);for(i=1; i=n; i+) move(s,z);printf(%sn,s);若从键盘输入:3,abcde回车,则输出结果是:_。三、 程序填空题 (每空 2 分,共 22 分)得分评阅人 1以下程序完成的功能是寻找出二维数组中的最大值,请填空:#include stdio.hmax(int m,int n,int a )int i,j,max;max=_(1)_;for(i=0;im;i+)for(j=0;jn;j+)if(maxmax) amax=x; if( _(8)_ ) amin=x; scanf(%f,&x);printf(namax=%fnamin=%fn,amax,amin);(7) _ (8) _ 4以下函数把b字符串连接到a字符串的后面,并返回a中新字符串的长度.请填空:strcen(char a,char b) int num=0,n=0; while(*(a+num)!=_(9)_) num+; while(bn) *(a+num)=bn;num+;_(10)_; return(num);(9) _ (10) _ 5函数pi的功能是根据以下近似公式求值:(pi*pi)/6=1+1/(2*2)+1/(3*3)+1/(n*n)现在请你在下面的函数中填空,完成求的功能。#include math.hdouble pi(long n) int i; double s=0.0; for(i=1;i=0.0 或 x=0 或 !(x0) 或 0.0=x 或 0x)或 !(0x)(8) xamin 或 xx 或 amin=x (9 ) 0或 0 (10) n+ 或 n+=1或 n=n+1 (11) 1.0/(i*i)四 程序设计题 (第1小题 8 分,第2小题10分,共 18 分)1 # include stdio.h# include math.h# define Epsilon 0.000001main() int i; double s,x,t; printf(Enter x.n); scanf(%lf, &x); 输入正确1分; s=0.0; t=x; i=0; 初始化数据1分; while(fa

温馨提示

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

评论

0/150

提交评论