ImageVerifierCode 换一换
格式:DOCX , 页数:45 ,大小:33.08KB ,
资源ID:11208899      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/11208899.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(c语言第五章习题.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

c语言第五章习题.docx

1、c语言第五章习题第五章 练习题一、选择题1、判断字符串a和b是否相等,应当使用( ) A、if(a=b) B、if(a=b) C、if(strcpy(a,b) D、if(strcmp(a,b)2、以下正确的定义语句是( ) A、int a14=1,2,3,4,5; B、float x3=1,2,3; C、long b23=1,1,2,1,2,3; D、double y3=0;3、以下各组选项中,均能正确定义二维实型数组a的选项是( ) A、float a34; float a 4; float a3 =1,0; B、float a(3,4); float a34; float a =0,0;

2、C、float a34; static float a 4=0,0; auto float a 4=0,0,0; D、float a34; float a3 ; float a 4;4、下面程序的运行结果是( ) #include stdio.h main() char str=SSSWLIA,c; int k; for(k=2;(c=strk!=0);k+) switch(c) case I:+k;break; case L:continue; default:putchar(c);continue; putchar(*); A、SSW* B、SW* C、SW*A D、SW5、下面程序段是输

3、出两个字符串中对应相等的字符。横线处应填入( ) char x=programming; char y=Fortran; int i=0; while(xi!=0&yi!=0) if(xi=yi) printf(%c,1); else i+;A、xi+ B、y+i C、xi D、yi6、有下面的程序段,则( ) char a3,b=china; a=b; printf(%s,a); A、运行后将输出China B、运行后将输出Ch C、运行后将输出Chi D、编译出错7、下面程序的运行结果是( ) main() char ch7=12ab56; int i,s=0; for(i=0;chi=0

4、&chi=9;i+=2) s=10*s+chi-0; printf(%dn,s); A、1 B、1256 C、12ab56 D、1 2 5 68、定义如下变量和数组:则下面语句的输出结果是( ) int k; int a33=1,2,3,4,5,6,7,8,9,; for(k=0;k3;k+)printf(%d,ak2-k);A、3 5 7 B、3 6 9 C、1 5 9 D、1 4 79、下面程序段的运行结果是( ) char c5=a,b,0,c,0; printf(%s,c);A、ab B、ab C、ab c D、abc10、若有说明:int a3=1,2,3,4,5,6,7;则a数组第

5、一维的大小是( ) A、2 B、3 C、4 D、无确定值11、下面程序的运行结果是( ) main() int a6,i; for(i=1;i3)%5; printf(%2d,ai); A、-4 0 4 0 4 B、-4 0 4 0 3 C、-4 0 4 4 3 D、-4 0 4 4 012、下面程序的运行结果是( ) main() int a66,i,j; for(i=1;i6;i+) for(j=1;j6;j+) aij=(i/j)*(j/i); for(i=1;i6;i+) for(j=1;js2) B、if(strcmp(s1,s2) C、if(strcmp(s2,s1)0) D、if

6、(strcmp(s1,s2)0)15、下面程序(每行程序前面的数字表示行号):( ) 1 main() 2 3 int a3=3*0; 4 int i; 5 for(i=0;i3;i+) scanf(%d,&ai); 6 for(i=1;i3;i+) a0=a0+ai; 7 printf(%dn,a0); 8 A、第3行有错误 B、第7行有错误 C、第5行有错误 D、没有错误16、下面程序的功能是从键盘输入一行字符,统计其中有多少个单词,单词之间用空格分隔。横线处应填入( ) main() char s80,c1,c2= ; int i=0,num=0; gets(s); while(si!=

7、0) c1=si; if(i=0) c2= ; else c2=si-1; if(1) num+; i+; printf(%d,num); A、c1= &c2= B、c1!= &c2= C、c1= &c2!= D、c1!= &c2!= 17、有字符数组a80和b80,则正确的输出语句是( ) A、puts(a,b); B、printf(%s,%s,a,b); C、putchar(a,b); D、puts(a),puts(b);18、下面描述正确的是( ) A、两个字符串所包含的字符个数相同时,才能比较字符串。 B、字符个数多的字符串比字符个数少的字符串大. C、字符串“STOP ”与“STOP

8、”相等。 D、字符串“That”小于字符串“The”19、有两个字符数组a、b,则以下正确的输入语句是( ) A、gets(a,b); B、scanf(%s%s,a,b); C、scanf(%s%s,&a,&b); D、gets(a),gets(b);20、以下不正确的定义语句是( ) A、double x5=2.0,4.0,6.0,8.0,1.0; B、int y5=0,1,2,3,4,5,6 C、char c1=1,2,3,4,5; D、char c2=x10,xa,x8;21、调用函数时,若实参是一个数组名,则向函数对应的形参传送的是( ) A、数组的长度 B、数组的首地址C、数组第一个

9、元素的值 D、整个数组元素的值22、下面程序段的运行结果是( )char s6; s=”abcd”; printf(“”%s”n”,s);A、“abcd” B、”abcd “ C、”abcd”n D、编译出错23、(多项选择)以下不能对二维数组a进行正确初始化的语句是( ) A、int a2=1,0,1,5,2,3; B、.int a3=1,2,3,4,5,6;C、int a24=1,2,3,4,5,6; D、int a3=1,0,1,1,1;24、(多项选择)若有说明:int a34;则对a数组元素不能正确引用是( )A.a24 B、a1,3 C、a1+10 D、a(2)(1)25、(多项选

10、择)若有说明“static int a34=0;”则下面正确的叙述是( ) A、只有元素:a00可得到初值0 B、此说明语句不正确 C、数组a中各元素都可得到初值,但其值不一定为0 D、数组a中每个元素均可得到初值026、以下对一维整型数组的正确说明是( )A、int a(1); B、int n=10,an;C、int n;scanf(“d”,&n);int an; D、#define SIZE 10 int aSIZE;27、有以下程序,其输出结果是( )void swap1(int c) int t; t=c0;c0=c1;c1=t;void swap2(int c0,int c1) in

11、t t; t=c0;c0=c1;c1=t;main( ) int a2=3,5,b2=3,5; swap1(a); swap2(b0,b1); printf(“%d %d %d %dn”,a0,a1,b0,b1); A、5 3 5 3 B、5 3 3 5 C、3 5 3 5 D、3 5 5 328、以下程序执行后的输出结果是( )int f(int b4) int i,j,s=0; for(j=0;j2) i=3-j;s+=bij;return s;main( )int 44=1,2,3,4,0,2,4,5,3,6,9,12,3,2,1,0; printf(“%dn”,f(a); A、12 B

12、、11 C、18 D、1629、执行下列程序后输出的结果是( )int a33=1,2,3;int b33=1,2,3;main()printf(d n,a10 + b00);A、0 B、1 C、2 D、330、以下程序运行后,输出结果是( )main() int y=18,i=O,j,a8;do ai=y%2;i+; y=y2; while(y=1); for(j=i-1;j=0;j-) printf(“%d”,aj); printf(“n”); A、1000 B、10010 C、00110 D、10100二、填空题1、设数组a中的元素均为正整数,以下程序是求a中偶数的个数和偶数的平均值。请

13、填空。(填空时数组元素请用数组表示方法) main() int a10=1,2,3,4,5,6,7,8,9,10; int k,s,i; float ave; for(k=s=i=0;i10;i+) if(ai%2!=0) 1; s+=2; k+; if(k!=0) ave=s/k; printf(%d,%f,k,ave); 2、下面程序的运行结果是( ) main() int num_list=6,7,8,9; int k,j,b,u=0,m=4,w; w=m-1; while(u=w) j=num_listu; k=2;b=1; while(k0;i-) ai=ai-1; a0=t; fo

14、r(i=0;i=a&ai=z) printf(%c,ai-32); else printf(%c,ai+32); else printf(*);5、下面程序的运行结果是( ) main() int i=1;n=3,j,k=3; int a5=1,4,5; while(iai) i+; for(j=n-1;j=i;j-) aj+1=aj; ai=k; for(i=0;i=1); for(j=i-1;j=0;j-) printf(%d,aj); 7、下面程序的运行结果是( ) main() int a10=1,2,3,4,5,6,7,8,9,10; int k,s,i; float ave; fo

15、r(k=s=i=0;i10;i+) if(ai%2=0)continue; s+=ai; k+; if(k! =0) ave=s/k; printf(The number is:%d,The average is:%fn,k,ave); 8、若有以下输入(表示回车),则下面程序的运行结果是( ) 3 1 2 3 2 2 2 1 1 3 0 main() main()int a4,x,i; for(i=1;i0) ax+=1;scanf(%d,&x); for(i=1;i=3;i+) printf(a%d=%d,i,ai); 9、当运行以下程序时,从键盘输入: BOOK CUT GAME PAG

16、E(表示回车),则下面程序的运行结果是( ) #include stdio.h #include string.h main() int i; char str10,temp10=Control; for(i=0;i4;i+) gets(str); if(strcmp(temp,str)0) strcpy(temp,str); puts(temp); 10、当运行以下程序时,从键盘输入girl boy(表示回车),则下面程序的运行结果是( ) #include stdio.h #include string.h main() char a280,t; int i,j,m,n,le,max; f

17、or(i=0;i=1;i+) gets(ai); t=a00; for(i=0;i=1;i+) le=strlen(ai); for(j=0;jt) max=aij; m=i; n=j; printf(%c %d %dn,max,m,n); 11、下面程序的功能是在三个字符串中找出最小的。请填空(注:填空时请用数组元素表示方法)。 #include stdio.h #include string.h main() char s20,str320; int i; for(i=0;i3;i+) gets(stri); strcpy(s, (1)str0:str1); if(strcmp(str2,

18、s)=0&cha=9;a+) s=10*s+cha-0; printf(%d,s);13、下面程序的运行结果是( ) main() int a33,i,j; for(i=1;i3;i+) for(j=1;j3;j+) aij=(i/j)*(j/i); for(i=1;i3;i+) for(j=1;j3;j+) printf(%d,aij); 14、下面程序段将输出computer,请填空。 char c =Its a computer; for(i=0;i=1 ;i+) printf(%c,ci2);15、下面程序的运行结果是( ) main() int a9=0,6,12,18,42,44,

19、52,67,94; int x=52,i,n=9,m; i=n/2+1; m=n/2; while(m!=0) if(xai) i=i+m/2+1;m=m/2; else break; printf(%d,i); 三、判断题1、有以下说明语句:int a10=6,7,8,9,10;则将5个初值依次赋给a1至a5。( )2、若有说明:int a4=0,0;则只有元素a00和a01可得到初值0。( )3、int a=0;是对一维数组a进行正确初始化的语句。( )4、有以下语句是正确的。char s10; s=China;( )5、若有说明:int a34=0;则数组a中每个元素均可得到初值0。(

20、)6、float a3,4;是对二维数组a的正确定义。( )7、在C语言中,引用数组元素时,其数组下标的数据类型允许是整型常量或整型表达式。( )8、以下是对一维整型数组a的正确定义:int n; scanf(%d,&n); int an; ( )9、若有定义:int a10;则a10是对a数组元素的正确引用。( )10、若有以下定义:static int a34;则数组a中各元素不能得到确定的值。( )11、int a3=1,2,3;是能对二维数组a进行正确的初始化的语句。( )12、有以下定义和语句:char s110=China; printf(%d,strlen(s1);输出结果为5。

21、( )四、程序填空1、将一个数列头尾颠倒。设该数列为1,3,5,7,9,11,13,15,17,19。要求19,17,15,13,11,9,7,5,3,1次序存放并输出。要求写一函数实现对包含任意个数据的颠倒处理。 void f2(char a,int n) int i,t; for(1;in2;i+) t=ai; ai=an-i; an-i=t; 2、编写串连接函数strcat。(注:填空请用数组表示方法) void strcat(char s1,char s2) int i,j; for(i=0;1;i+); for(j=0;2;j+) s1i+j=s2j; s1i+j=3 3、下面程序用“两路合并法”把两个已按升序排列的数组合并成一个升序数组。请填空。(注:填空请用数组表示方法) main() int a3=5,9,19; int b5=12,24,26,37,48; int c10,i=0,j=0,k=0; while(i3&jbj) 1;k+;j+; else2;k+;i+; while(i3) 3;i+;k+; while(j5) 4;k+;j+; 4、用冒泡法进行排序函数如下,请填空。 void bubble(int a ,int n) int i,j,t,temp; for(1;i=n-1;i+) t=n2; for(j=0;jaj+1)

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1