C语言练习卷2及答案汇总_第1页
C语言练习卷2及答案汇总_第2页
C语言练习卷2及答案汇总_第3页
C语言练习卷2及答案汇总_第4页
C语言练习卷2及答案汇总_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

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

文档简介

1、一、单选题(每小题2分,共30分)1若以下选项中的变量已正确定义,则正确的赋值语句是(练习卷2第7页(共6页)A . x=6.3%3; B. x+仁 2;2以下程序main ()int x=102,y=012;printf( %2d,%2d/n " x,y); 执行后的输出结果为()C. x3=0x12; D. x=1+2=3;A. 10, 01B. 02, 12C.02, 10D.102, 103.已知 a=2, b=3, x=3.5, y=2,贝lJ(float)(a+b)/2)+(int)x%(int)y的值为()A . 3.5B. 3.0c.2.5D.44.阅读以下程序,一共

2、执行()次循环?main ()int k=5;while(-k) pri ntf( %dH,k-=3);A. 1B. 2c.3D.45.A . a&&bB . a>b&&!c|06.A. 只能是0或者是1B. 只能是整数C. 只能是数值D .可以是任意合法的表达式7.已知a=1; b=2 ; c=3;下列值为真的是()C. (!a=1)&&!b D. !a|!b|!c以下关于逻辑运算符两侧运算对象叙述正确的是()以下运算符优先级由高到低排序正确的是()C. (int) , &&,!,|D. +, ?,<8.在嵌套使用i

3、f语句时,C语言规定else总是()A .与之前与其具有相同缩进位置的 if相配B. 与之前最近的不带else的if相配C. 与之前最近的if相配D. 与之前的第一个if相配9.以下程序main ()int a=3,b=3,c=1; if(a=b)printf( %d ”,C+1);elseprintf( %d " +C+1);执行结果是()A. 0B. 1C. 210.以下说法正确的是()A . break只能用于switch语句B. break只能与循环语句配合使用D. 3C. 在switch语句中必须有default语句D. continue必须与循环语句配合使用11. 关于字

4、符和字符串,以下语句正确的是()A . char c="A ,5B. char c10= "A "C. char c10;c10= ''D. char c=,ab,;12. 关于函数的说法正确的是()A .函数必须有返回值B. 函数不能是空函数C. 函数的形参和实参类型必须完全一样D 有返回值的函数中必须有return语句13. 有函数首部int funct (float x10,int *a),则下面针对此函数声明语句中不正确的是()A . int funct (float x10,int *a);B. int funct (float x,in

5、t *);C. int funct (float;D. int funct (float,int);14关于数组char a10,以下语句不合法的是()A.a0=65;B.a10=M;C.a仁=2=65;D.scanf( %s",a);15.右有语d double *p,a;则能通过scanf语石给输人项读入数据的正确程序段是(A .*p=&a;scanf( %lf ”,p);B.*p=&a;scanf( %f ",p);C.p=&a;scanf(%lfp);D.p=&a;scanf( %lf*p);二、填空题(每小题 2分,共10分)1 现

6、有数组int a10,若a0地址为2000H,则a地址为。2. 输入3,4,能正确将3读入给a,4读入给b的写法是。3. 现有一数据结构student,它有两个成员:num, name (长度为20的一维数组),则定义此结构体的语句为4. 要为指针p动态分配一块可以容纳10个整型元素的空间,正确的写法是5. 现有int *p; int a10;p=a;,要访问a3,写出至少两种访问方式 (a3除外):、。三、程序分析题(每小题 2分,共10分)1. inta=1,b=2;char c=66;printf ( %5d,%5c,%dn ,J a,c,b);(注:必须标出空格)程序执行后的结果是o2

7、有以下程序#in clude<stdio.h>void mai n ()int a=90,70,80,85,75,i;float ave=0;for (i=0;iv5;i+)ave+=ai;ave/=5;printf (“ %5i” f,ave);程序执行后的结果是o3. 有以下程序#i nclude<stdio.h>int a=1 ,b=2;void mai n()int c=3,d=4;void cha nge(i nt,i nt);cha nge(a5b);cha nge(c,d);void cha nge(i nt xj nt y)intt;t=x;x=y;y=

8、t;printf( %d,%d:X,y);程序执行后的结果是4有以下程序段int i,j,x;for(i=0,x=0;iv3;i+)for(j=0;jvi;j+)x+;printf( %dn " x);程序执行后的结果是o5有以下程序#i nelude <stdio.h>void mai n()char a= arhbula nee";printf( “ n%d ,sizeof(a)/sizeof(char);程序执行后的结果是O四、程序填空题(每空2分,共20分)请在横线处填上程序缺失部分1. 逆序输出数组元素。#i nelude <stdio.h>

9、;void mai n()int a卜0,1,2,3,4,5,6,7,8,9,i;for(i=0;i+)printf( %d :);2. 判断某字符串是否回文。#i nclude <stdio.h>#in clude<stri ng.h>void mai n()char a20;int i,j;scan f("%s",a);for(i=0,j=strle n(a)-1 ;ivj;i+,j)if()break;if( ) printf(” 是回文”);else printf("不是回文“);3求 5!#i nelude <stdio.h

10、>long f(int n)if() return 1;else return ;void mai n()printf( %ld ” );4. 编 写一个 函 数string_place(oldstring,replacechar,pos),该函数实现字符串局部字符替换,即将oldstring中第pos个字符替换成replacecharo#i nelude <stdio.h>#in elude <stri ng.h>int stri ng_place(char a,char cj nt pos)if()return 0;apos=c;return 1;void m

11、ai n()char a20, c; int pos;printf(”请输入字符串:n”);scan f("%s",a);getchar();printf(”请输入替换的字符:n”);printf (”请输入替换位置019:n“);scan f (”d”,&pos);if ()prin tf (”s“,a);elseprintf (“您输入的参数不正确”);五、程序设计题(每小题 10分,共30分)1、对10个整数排序(这10个整数程序运行时输入,并存储在数组中)。2、输入一行字符,以号结束,统计其中数字、小写字母、大写字母的个数。3、有一个字符串,包含n个字符,写

12、一个函数,将此字符串从第m个字符开始全部复制成另一个字符串。Mr r=fcp答案、单择题(每小题2分,共30分)123456789101112131415cDBAADBBCDBDDBC二、填空题(每小题2分,共10分)1、2014H2、seanf( %d%d',&a,&b)3、struct stude nt int num; char n am引2014、p=(i nt *)malloc(10*sizeof( in t)5、*(a+3)*(P+3)(或一d)三、程序分析题(每小题2分,共10分)1. 口 口 1, 口 口 B,22. 80.003. 2,1 4,34.

13、35. 2P四、程序填空题(每空2分,共20分)1、i<10a9-i2、ai1!=aj1 i>=i3、 n=0|n=1n*f( n-1) f(5)4、posv0|pos>=20 (或者:posvO|pos>=strlen(a) seanf( “ C, &c) string place(a,c,pos)五、程序设计题(每小题10分,共30分)参考答案:1、对10个整数排序(这10个整数程序运行时输入,并存储在数组中)。#i nclude<stdio.h>void mai n (丿int a10;int i,j,t;printf(” 请输入10个整数:n

14、");for(i=0;i<10;i+)sea nf(”d”,&ai);prin tf(Hnn);for(j=0;j<9;j+)for(i=0;i<9-j;i+)if(ai>ai+1)( 3 分)t=ai;ai=ai+1;ai+1=t;for(i=0;i<10;i+)prin tf(*'%d H,ai);2、输入一行字符,以号结束,统计其中数字、小写字母、大写字母的个数。#i nclude<stdio.h>void mai n (丿char c;int upp=0,low=0,digit=0;printf(”请输入一行字符:n“

15、);while(c=getchar() !='#')if(c>='0'&&c<=9) digit+;if(c>=*a'&&c<='z')low+;if(c>='A '&&c<='Z,) upp+;printf(" 数字数:dn 大写字母数:%dn 小写字母数:%dn”,digit,upp,low);个字符串。3、有一个字符串,包含 n个字符,写一个函数,将此字符串从第m个字符开始全部复制成另#i nclude<stdio.h>#in clude<stri ng.h>void main ( ) (main 函数 5 分) void copystr(char *,char *,i nt);int m;chars120,s220;prin tf("请输入字符串:nH);gets

温馨提示

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

评论

0/150

提交评论