C语言(1)答案.doc_第1页
C语言(1)答案.doc_第2页
C语言(1)答案.doc_第3页
C语言(1)答案.doc_第4页
C语言(1)答案.doc_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

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

文档简介

北京理工大学珠海学院计算机学院嵌入式协会笔试试卷年级专业 班级 学号 姓名_ _题号一二三总分得分试卷说明:_闭卷笔试,60分钟_ 一、单选题(每题1分,共30分)1、有关main()函数的说法,以下正确的是 B A、 main() 函数可以有多个 B、 C语言程序总是从main()函数开始执行C、 C语言程序中,main()函数必须放在程序的开始部分D、 C语言程序总是从第一个定义的函数开始执行2、若a是float型变量,且a=4,则表达式a/2+(int)(a+1)2的值为 A A、3.0 B、 3 C、 3.5 D、 均不对3、当接受用户输入的含空格的字符串时,应使用 C 函数。A、scanf( ) B、gets( ) C、getchar( ) D、puts( )4、设ch是char型变量,其值为A,且有下面的表达式: ch=(ch=A&ch=b)&(c= =d)时u=w,否则x=y的if语句是 D A、if(ab) B、if(ab)x=y; if(c= =d) x=y; else if(c= =d) u=w; else x=y; else x=y; else u=w;C、if(a=b) if(c= =d)x=y; if(c= =d) x=y; else u=w; else u=w; 9、 对于以下程序段, 运行后i值为 B int i=1, a=2;switch (a) case 1: i+=1;case 2: i+=2; break;default: i+=3; A、 1 B、 3 C、 6 D、 上述程序有语法错误10、有以下程序片段,请问执行后的输出结果是 D int i;for (i=1;i+);printf(“%d”,i+);A、1 B、2 C、3 D、陷入死循环,无输出结果11、要求通过while循环不断读入字符,当读入字母N时结束循环。若变量已正确定义,以下正确的程序段是 B 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);12、下面的程序段不能实现求阶乘10!(10!=1*2*3*4*5*6*7*8*9*10,结果存放在p中)的是 D A、p=1; B、p=2;for(i=1;i3;i-)p=p*i; p=p*i;C、p=1;i=1; D、p=1;i=10; while(i1);13、下列对字符串的说法中,错误的是 A A、字符串就是一个字符数组B、字符串可以整体输入输出C、字符串可以比较大小D、存储字符串所需的内存空间等于字符串的长度14、C语言规定函数的返回值的类型是由( A )。A、return语句中表达式类型决定 B、调用该函数时的主调函数类型决定C、调用该函数时系统临时决定 D、在定义该函数时所指定的函数类型决定15、设有以下程序段int a10=1,2,3,4,5,6,7,8,9,10,*p=&a3,b;b=p5;b中的值是: B A、5B、6C、8D、916、定义:int a,*pa=&a;以下scanf语句中能正确为变量a读入数据的是:DA、scanf(“%d”,pa);B、scanf(“%d”,a);C、scanf(“%d”,&pa);D、scanf(“%d”,*pa);17、设有数组定义: char array =China; 则数组 array所占的空间为( B ) A、 4个字节 B、5个字节 C、6个字节 D、7个字节18、如果a和b是两个字符串,判断a和b是否相等,应当使用如下哪种形式( D )A、(ab) B、(ab)C、(strcpy(a,b)=0) D、(strcmp(a,b)=0)19、不属于整型常量的是 D A)10 B)010 C)0xl0 D)4/2.020、以下程序执行后sum的值是( B )main() int i , sum=0;for(i=1;i=6;i+); sum+=i;printf(%dn,sum); A、7 B、21 C、不确定 D、021、有以下程序 #include 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 则输出结果是D A、1267 B、1256 C、1278 D、1245 22下列四个选项中,正确的数组定义是。 C A、int 3a8; B、int i;scanf(d,&i);char chi; C、#define MAX l0 D、#define MAX l0.0 int aMAX int aMAX;23有以下程序 int fun(int n) if(n=1) return 1; else return (n+fun(n-1); main() int x; scanf(“%d”,&x); x=fun(x); printf(“%dn”,x); 程序执行时,给变量x输入10,程序的输出结果是 B A、55 B、 54 C、 65 D、 4524若i是int型变量,且有下面的程序片段 B i=0; if(i=1) printf(#); else printf(*); 上面程序片段的输出结果是 A、 # B、 * C、 #* D、有语法错误,无输出结果25以下程序的输出结果是(A )int fun(int x,int y) int z;z=x*y;return z; main() int a=5, b=7;int c;c=fun(a,b);printf(%d n, c);A、35 B、12 C、20 D、7526请读程序: #include main() int x=l,y=0,a=0,b=0; switch(x) case l:switch(y) case 0: a+; break; case 1:b+;break; case 2:a+;b+; break; printf(a=d, b=dn,a,b); 上面程序的输出结果是 C A、a=2,b=l B、a=l,b=l C、a=l,b=0 D、a=2,b=227. 以下对二维数组a进行正确初始化的是( A )。A、int a23=1,2,3,4,5,6; B、int a3=1,2,3,4,5,6;C、int a2 =1,2,3,4,5,6; D、int a2 =1,2,3,4;28已定义以下函数 int fun(int *p) return *p; fun 函数返回值是(D )。 A、不确定的值 B、一个整数 C、形参p中存放的值 D、形参p的地址值29以下叙述中正确的是(A )。 A、预处理命令行必须位于C源程序的起始位置 B、在C语言中,预处理命令行都以“#”开头 C、每个C程序必须在开头包括预处理命令行:#include D、C语言的预处理不能实现宏定义和条件编译的功能 30、以下叙述中错误的是( D )。 A、可以通过typedef增加新的类型 B、可以用typedef将已存在的类型用一个新的名字来代表 C、用typedef定义新的类型名后,原有类型名仍有效 D、用typedef可以为各种类型起别名,但不能为变量起别名二、程序填空(每空2分,共20分)1、 以下程序的功能是输入h,r1,r2,调用函数v(int h,int r),计算圆筒的体积。例如:假如输入5,6,3,程序执行输出结果如下:Input h,r1,r2:5,6,3V=424.115982程序如下,请填空:#include _ _ v( int r, int h ) return (_v_); main( ) int r1, r2, h; _ _; float v();printf (Input h,r1,r2:); scanf (%f%f%f, &r1, &r2, &h);v1=v(r1,h);v2=_v(r2,h) _; printf (V=%lfn, _ v_ ); 2、有以下程序,其功能是将两个有序(由小到大排列)数组中的数据合并到一个数组中,要求合并后的数组依然是由小到大顺序排列,最后输出排序后数组内容。数组中以数据0表示数据的结束。请在下划线处填上正确的内容,以实现程序功能。 #include main() int a20=1,4,7,17,23,0; int b20=2,6,9,10,15,24,45,72,81,92,0; int i,j,k,c20; i=j=k=0; while(ai!=0)&(bj!=0) if(aibj) ck=_ ai_; i+; else ck=_bi_; j+; k+; if(ai= =0) while(_ ) ck+=bj+; if(bi= =0) while(_ ) ck+=aj+; _ ;三、编程题 (尽可能多做)1. 编写程序,输入3个整数,判断它们是否能构成三角形,若能构成三角形,则输出三角形的类型(等边、等腰或一般三角形)(10分)2、 编写一个求水仙花数的函数,求100到999之间的全部水仙花数。(10分)所谓水仙花数是指一个三位数,其各位数字立方的和等于该数。例如:153就是一个水仙花数:153 = 1*1*1 + 5*5*5 + 3*3*3。3、求组合数。编程计算: 要求:计算任意数的阶乘用自定义函数实现,求组合数用主函数完成。(10分)4、编程显示如下图形。(10分) * * * * 5、用选择排序法实现10个元素的数组a0a9由小到大排序。(10分)第1题#include main ()float a,b,c; if(a0&b0&c0|a+bc|b+ca|a+cb) if(a=b=c) printf(等边三角形); else if(a=b|a=c|b=c) printf(等腰三角形); else printf(三角形); 第2题#includeintshuixianhua(intnum) intdata,ten,hun;data=num%10;ten=num/10%10;hun=num/100%10;if(num=data*data*data+ten*ten*ten+hun*hun*hun)return1;elsereturn0;intmain()inti; printf(水仙花数:); for(i=100;i1000;i+)if(shuixianhua(i)printf(%5d,i);return0;第4题#include main() int I, j , k ;For ( i=1; i=4; i+) for (j=1, j2*j-1; j+) Printf( );For ( k=1; k=4*i-1; k+)Printf(*/n)第5题#include mai

温馨提示

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

评论

0/150

提交评论