答案-C语言期中测试.doc_第1页
答案-C语言期中测试.doc_第2页
答案-C语言期中测试.doc_第3页
答案-C语言期中测试.doc_第4页
答案-C语言期中测试.doc_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

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

文档简介

C语言期中测试(开卷测试,答案写在白纸上)一 选择题(1)C语言源程序名的后缀是 A).exe B).C C).obj D).cpp 这是C+的(2)以下选项中,合法的一组C语言数值常量是 A)O28 B)12. C).177 D)0x8A 5e-3 OXa23 4c1.5 10,000 -0xf 4.5e0 Oabc 3.e5 (3)以下正确的字符串常量是 A) B)abc C)OlympicGames D) (4) 表达式3.6-5/2+1.2+5%2的值是 5/2=2A)4.3 B)4.8 C)3.3 D)3.8(5)以下关于long、int和short类型数据占用内存大小的叙述中正确的是 A)均占4个字节 B)根据数据的大小来决定所占内存的字节数C)由用户自己定义 D)由C语言编译系统决定(6)以下叙述中错误的是 A)对于double类型数组,不可以直接用数组名对数组进行整体输入或输出 只有字符数组才行B)数组名代表的是数组所占存储区的首地址,其值不可改变C)当程序执行中,数组元素的下标超出所定义的下标范围时,系统将给出“下标越界”的出错信息 不会提示D)可以通过赋初值的方式确定数组元素的个数(7)以下叙述中错误的是 A)C语言源程序经编译后生成后缀为.obj的目标程序B)C程序经过编译、连接步骤之后才能形成一个真正可执行的二进制机器指令文件C)用C语言编写的程序称为源程序,它以ASCII代码形式存放在一个文本文件中D)C语言中的每条可执行语句和非执行语句最终都将被转换成二进制的机器指令(8)以下数组定义中错误的是A)int x3=0; B)int x23=1,2,3,4,5,6;C)int x3=1,2,3,4,5,6; D)int x2=1,2,3,4,5,6;(9)若函数调用时的实参为变量时,以下关于函数形参和实参的叙述中正确的是 A)函数的实参和其对应的形参共占同一存储单元 B)形参只是形式上的存在,不占用具体存储单元 C)同名的实参和形参占同一存储单元 D)函数的形参和实参分别占用不同的存储单元(10)有以下程序段 int j; float y; char name50; scanf(%2d%f%s,&j,&y,name); 当执行上述程序段,从键盘上输入55566 7777abc后,y的值为 A)55566.0 B)566.0 C)7777.0 D)566777.0 (11)有以下程序 #include main() int y=9; for( ; y0;y-) if(y%3= =0) printf(%d,-y); 程序的运行结果是 A)741 B)963 C)852 D)875421 (12) 有以下程序#includeint a=4;int f(int n)int t=0; static int a=5;if(n%2) a=6;t+=a+;else a=7;t+=a+;return t+a+; void main() int s=a,i=0; for(;i2;i+) s+=f(i); printf (%dn,s); 程序运行后的输出结果是 A)24 B)28 C)32 D)3612(13) 要求通过while循环不断读入字符,当读入字母N时结束循环。若变量已正确定义以下正确的程序段是A)while(ch=getchar()!=N)printf(%c,ch);B)while(ch=getchar()!=N)printf(%c,ch);C)while(ch=getchar()=N)printf(%c,ch);D)while(ch=getchar()=N)printf(%c,ch);(14)数字字符0的ASCII值为48,若有以下程序main() char a=1,b=2;printf(%c,b+);printf(%dn,b-a);程序运行后的输出结果是 ()A)3,2 B)50,2 C)2,2 D)2,50(15)有以下程序main() int m=12,n=34;printf(%d%d,m+,+n); printf(%d%dn,n+,+m); 程序运行后的输出结果是 ()A)12353514 B)12353513 C)12343514 D)12343513(16)有以下程序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)6(17)有以下程序main() int m,n,p;scanf(m=%dn=%dp=%d,&m,&n,&p);printf(%d%d%dn,m,n,p);若想从键盘上输入数据,使变量m中的值为123,n中的值为456,p中的值为789,则正确的输入是()A)m=123n=456p=789B)m=123 n=456 p=789C)m=123,n=456,p=789D)123 456 789(18)有以下程序 ()int fun(int n)if(n=1)return 1;elsereturn(n+fun(n-1); main()int x;scanf(%d,&x);x=fun(x);printf(%dn,x);执行程序时,给变量x输入10,程序的输出结果是A)55 B)54 C)65 D)45 (19)若整型变量a、b、c、d中的值依次为:1、4、3、2。则条件表达式ab?a:cd?c:d的值 ()A)1 B)2 c)3 D)4(20)有以下程序main()int p8=11,12,13,14,15,16,17,18,i=0,j=0;while(i+7) if(pi%2) j+=pi;printf(%dn,j);程序运行后的输出结果是 A)42 B)45 C)56 D)60(21)有以下程序#include void main()char c1,c2,c3,c4,c5,c6;scanf(%c%c%c%c,&c1,&c2,&c3,&c4);c5=getchar(); c6=getchar();putchar(c1); putchar(c2);printf(%c%cn,c5,c6);程序运行后,若从键盘输入(从第1列开始)123回车45678回车则输出结果是A)1267 B)1256 C)1278 D)1245(22)有以下程序#include void main()int y=10;while(y-);printf(y=%dn,y);程序执行后的输出结果是A)y=0 B)y=-1C)y=1 D)while构成无限循环(23)有以下程序#define P 3#define F(int x) return (P*x*x); main() printf(%dn,F(3+5); 程序运行后的输出结果是()A)192B)29C)25D)编译出错(24)有以下程序main() int num44=1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,i,j; for(i=0;i4;i+) for(j=1;j=i;j+) printf(%c, ); for(j= ;j4;j+) printf(%4d,numij); printf(n); 若要按以下形式输出数组右上半三角1 2 3 4 6 7 8 11 12 16 则在程序下划线处应填入的是()A) i-1B) iC) i+1D) 4-i(25)有以下程序 ()fun(char p10)int n=0,i;for(i=0;i7;i+) if(pi0=T)n+;return n;main()char str10= Mon, Tue, Wed, Thu, Fri, Sat, Sun;printf(%dn,fun(str);程序执行后的输出结果是A)1 B)2 C)3 D)0(26)已知大写字母A的ASCII码是65,小写字母aASCII码是97,以下不能将变量c中大写字母转换为对应小写字母的语句是( ) A)c=(c-A)%26+a B)c=c+32 C)c=c-A+a D)c=(A+c)%26-a(27)有以下程序 ()#include void main()int i,j,x=0;for(i=0;i2;i+) x+;for(j=0;j=3;j+) if(j%2) continue;x+; x+; printf(x=%dn,x);程序执行后的输出结果是A)x=4 B)x=8 C)x=6 D)x=12 (28)以下程序中函数f的功能是:当flag为1时,进行有由小到大排序;当flag为0时,进行由大到小排序。 void f(int b,int n,int flag) int i,j,t; for(i=0;in-1;i+) for (j=i+1;jbj:bibj) t=bi;bi=bj;bj=t; main() int a10=5,4,3,2,1,6,7,8,9,10,i; f(&a2,5,0); f(a,5,1); for(i=0;i10;i+) printf(“%d,”,ai); 程序运行后的输出结果是A)1,2,3,4,5,6,7,8,9,10, B)3,4,5,6,7,2,1,8,9,10, C)5,4,3,2,1,6,7,8,9,10, D)10,9,8,7,6,5,4,3,2,1, (29) 有以下程序#includeint a=4;int f(int n) int t=0; static int a=5; if(n%2) int a=6; t+=a+; else int a=7;t+=a+; return t+a+; void main()int s=a,i=0;for(;i2;i+) s+=f(i);printf(%dn,s); 程序运行后的输出结果是 A)24 B)28 C)32 D)36(30)有以下程序: main() int i=0,a=0; while(i2) x+f(-x);else return 0;则 f(3)= 0 。(2) 当执行以下程序时,输入1234567890,则其中while循环体将执行( 0 ) 次。 include main() char ch; While(ch=getchar()=0) printf(“#”); (3) 下面程序的运行结果是: 11 。#includefun(int t,int n)int i,m;if(n=1)return t0;elseif(n=2)m=fun(t,n-1); return m; main()int a=11,4,6,3,8,2,3,5,9,2;printf(%dn,fun(a,10);(4)以下程序用于判断a、b、c能否构成三角形,若能,输出YES,否则输出NO。当a、b、c输入三角形三条边长时,确定a、b、c能构成三角形的条件是需同时满足三条件:a+bc,a+cb,b+ca。请填空。main() float a,b,c;scanf(%f%f%f,&a,&b,&c); if( (4)(a+bc)&(a+cb)&(b+ca) )printf(YESn); /*a、b、c能构成三角形*/else printf(NOn); /*a、b、c不能构成三角形*/(5)以下程序的功能是:输出100以内(不包含100)能被3整除且个位数为6的所有整数,请填空。main() int i,j;for(i=0; (5)i10 ;i+) j=i*10+6;if((5.2)J%3!=0 )continue;printf(%d ,j);(6)现有两个C程序文件T18.c和myfun.c同在TC系统目录(文件夹)下,其中T18.c文件如下:#include #include myfun.cmain() fun(); printf(n);myfun.c文件如下:void fun()char s80,c; int n=0;while(c=getchar()!=n) sn+=c;n-;while(n=0) printf(%c,sn-);当编译连接通过后,运行程序T18时,输入Thank!则输出结果是: (6) Knah 。(7)以下程序运行时若从键盘输入:10 20 30。输出结果是 10300 。#include main() int i=0,j=0,k=0; scanf(%d%*d%d,&i,&j,&k); printf(%d%d%dn,i,j,k);(8) 以下isprime函数的功能是判断形参a是否为素数,是素数,函数返回1,否则返回0。请填空。int isprime(int a) int i;for(i=2;i0) case 1:switch(b0) case 1: printf (“”); break; Case 2: printf(“!”); break; case 0: switch(c=5) case 0: printf(“*”); break; case 1: printf(“#”); break; case 2: printf(“$”); break; default : printf(“&”); printf(“n”); 三写程序题2、 写程序,实现矩阵(3行3列)的转置(即行列互换)。例如,输入一面的矩阵:程序输出:试题程序:#include #include int fun(int array33) /*请在此处写下语句*/int i,j,

温馨提示

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

评论

0/150

提交评论