收藏 分享(赏)

数组练习题及答案.doc

上传人:精品资料 文档编号:10651352 上传时间:2019-12-15 格式:DOC 页数:25 大小:120KB
下载 相关 举报
数组练习题及答案.doc_第1页
第1页 / 共25页
数组练习题及答案.doc_第2页
第2页 / 共25页
数组练习题及答案.doc_第3页
第3页 / 共25页
数组练习题及答案.doc_第4页
第4页 / 共25页
数组练习题及答案.doc_第5页
第5页 / 共25页
点击查看更多>>
资源描述

1、1第五章 数组练习题及答案一、选择题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;C、

2、float a34; static float a 4=0,0; auto float a 4=0,0,0;D、float a34; float a3 ; float a 4;4、下面程序的运行结果是( )15 DDCBA 610 BDABB 1115 CCCBC 1620 DDCBB 2125 BBAAA 2630 DBDDB#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

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

4、 i,s=0; for(i=0;chi=0printf(“%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;is2) B、if(strcmp(s1,s2) C、if(strcmp(s2,s1)0) D、if(strcmp(s1,s2)0)15、下面程序(每行程序前面的数字表示行号):( )41 main()2 3 int a3=3*0;4 int i;5 for(i=0;i2) i=3-j;s+=bij;return s;main( )int

5、 44=1,2,3,4,0,2,4,5,3,6,9,12,3,2,1,0; printf(“%dn”,f(a); A、12 B、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

6、B、10010 C、00110 D、10100二、填空题1、设数组 a 中的元素均为正整数,以下程序是求 a 中偶数的个数和偶数的平均值。请填空。(填空时数组元素请用数组表示方法)main()int a10=1,2,3,4,5,6,7,8,9,10;7int k,s,i; float ave;for(k=s=i=0;i0;i-) ai=ai-1;a0=t;for(i=0;i=afor(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

7、,3,4,5,6,7,8,9,10;int k,s,i;float ave;for(k=s=i=0;i表示回车) ,则下面程序的运行结果是( )3 1 2 3 2 2 2 1 1 3 0main()main()int a4,x,i;for(i=1;i0)ax+=1;scanf(“%d“, for(i=1;iCUTGAMEPAGE(表示回车) ,则下面程序的运行结果是( )#include “stdio.h“#include “string.h“main()int i;char str10,temp10=“Control“;for(i=0;iboy(表示回车),则下面程序的运行结果是( )#in

8、clude “stdio.h“#include “string.h“10main()char a280,t;int i,j,m,n,le,max;for(i=0;it) 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;i=0m=m/2;else break;printf(“%d“,i);三、判断题1、有以下说明语句

9、: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。 ( )6、float a3,4;是对二维数组 a 的正确定义。 ( )7、在 C 语言中,引用数组元素时,其数组下标的数据类型允许是整型常量或整型表达式。( )8、以下是对一维整型数组 a 的正确定义:int

10、n; scanf(“%d“, 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。 ( )12四、程序填空1、将一个数列头尾颠倒。设该数列为 1,3,5,7,9,11,13,15,17,19。要求 19,17,15,13,11,9,7,5,3,1

11、次序存放并输出。要求写一函数实现对包含任意个数据的颠倒处理。void f2(char a,int n)int i,t;for(1;ibj) 1;k+;j+;else2;k+;i+;while(iaj+1) temp=aj; aj=aj+1; aj+1=temp; 5、下面程序的功能是输入 5 个整数,找出最大数和最小数所在的位置,并把二者对调,然后输出调整后的 5 个数。请填空。main()int a5,max,min,i,j,k;for(i=0;imax)max=ai;4;ak=max;aj=min;printf(“nThe position of min is :%dn“,k);print

12、f(“The position of max is :%dn“,j);for(i=0;i=aj-)if(i+j=3) sum2=sum2+aij;printf(“%d,%d“,sum1,sum2);9、下面程序的功能是检查一个二维数组是否对称, (即:对所有 i 和 j 都有 aij=aji) 。请填空。main()int a44,i,j,found=0;for(i=0;ix) 1;i+;if(flag=1) for(j=2;jamid) 3=mid+1;while(top0) p=j;if(p!=i)strcpy(t,cp);strcpy(cp,ci);strcpy(ci,t);for(i=

13、0;ix)for(j=n-1;j=I;j-)aj+1=aj;ai=x;elseai=x;改 写 :void f(int a ,int n,int x)int I,j;while(ai=I;j-)17aj+1=aj;ai=x;2、 插 入 法 : 下 面 程 序 的 运 行 结 果 是 ( ) 。main() int I=0,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=0for(j=I-1;j=0;j-)printf(“%d”,aj);9、 有 17 个 人 围 成 一 圈 , 编 号

14、为 016, 从 第 0 号 的 人 开 始 从 1 报 数 ,凡 报 到 3 的 倍 数 离 开 圈 子 , 然 后 再 数 下 去 , 直 到 最 后 只 剩 下 一 个 人 为 止 , 问 此 人原 来 的 位 置 是 多 少 号 。main()int a17,I,t=0,s=0;for(I=0;Imax) max=arrI*n+j; row=I;col=j;flag=1;for(k=0;k=I;j-)k+;an-I-1j=k;for(j=n-I-2;j=I+1;j-)k+;aji=k;for(I=0;Imain()char a20=”cehiknqtw”;char s=”fbla”;int I,k,j;for(k=0;sk!=0;k+)j=0;while(sk=ajaj=sk;puts(a);19、 下 面 程 序 的 功 能 是 在 三 个 字 符 串 中 找 出 最 小 的 。 请 填 空 。main()char s20,str320;int I;for(I=0;I=as=s+1;if ai= flag=0;printf(“%d”,s);

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报