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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

c语言数组习题.docx

1、c语言数组习题数组练习解答1 定义一个名为a的单精度实型一维数组,长度为4,所有元素的初值均为0的数定义语句是_【分析】按照一般数据定义语句的格式,可以直接写出方法一(参看答案);考虑到所有元素均赋初值时可以省略数组长度,可以写出方法二(参看答案);考虑到不省略数组长度,给部分元素赋初值时,所有未赋初值的元素均有空值(对数值型数组来说,初值为0),可以写出方法三(参看答案);考虑到选用静态型,不赋初值所有元素也自动赋予。空值(对数值型数组来说,初值为0),可以写出方法四(参看答案)。【答案】方法一:float a400,00,00,00; 方法二:float a 00,00,00,00; 方法

2、三:float a4= 00; 方法四: static float 4;2 下列数组定义语句中,错误的是() char x1a; auto char x1=0; static char xl; char xl;【分析】显然答案中给字符型数组赋初值的格式不对(不能直接赋予字符常量,必须用花括号括住),所以备选答案是符合题意的答案。【答案】 3 用冒泡排序法对n个数据排序,需要进行n一1 步。其中第k步的任务是:自下而上,相邻两数比较,小者调上;该操作反复执行nk次。现在假设有4个数据:4、l、3、2要排序,假定4为上、2为下,则利用冒泡排序法执行第2步后的结果是_。【分析】开始排序前的排列执行第

3、1步后的排列执行第2步后的排列 4 1 1 1 4 2 3 2 4 2 3 3 【答案】 l、2、4、34 用选择排序法对n个数据排序,需要进行n1步。其中第k步的任务是:在第k个数据到第n个数据中寻找最小数,和第k个数据交换。现在假设有4个数据:4、1、3、2要排序,则利用冒泡排序法执行第2步后的结果是_。【分析】 开始排序前的排列为: 4 1 3 2 执行第1步后的排列为: 1 4 3 2 执行第2步后的排列为: 1 2 3 4【答案】1、2、3、45 下列数组定义语句中,正确的是() int a=1,2,3,4,5,6; char a23a,b; int a3= 1,2,3,4,5,6;

4、 static int a1,2,3,4,5,6;【分析】C语言规定,二维数组定义时不允许省略第二维的长度,所以备选答案是错误的。C语言还规定,定义字符型数组时不允许直接使用字符常量的方式赋初值,所以备选答案也是错误的。显然备选答案符合题意。【答案】6 定义一个名为s的字符型数组,并且赋初值为字符串123的错误语句是()char s=1,2,3,0 ; char s=123;char s=123n; char s4=1,2,3;【分析】备选答案中省略了数组长度,所以每个元素都赋了初值,共计4个元素,初值依次为l、2、3、0,最后一个元素的值为字符串结束标记,所以数组S中存放的是字符串123,该

5、答案不符合题意(即正确的);备选答案中直接赋予字符串作为初值所以数组s的长度为4,其中的初值是字符串123,不符合题意(即正确的);备选答案中也是给数组s赋予字符串的初值,但是字符串不是123,而是123n,所以该答案符合题意(即错误的);显然答案也不符合题意(即正确的)。下面来分析答案为什么是正确的,该答案给出了数组长度为4,赋初值时仅给前3个元素赋予字符1 、 2、3,第 4个元素没有赋初值,按照 C语言的规定,也有初值,且初值为空值, 对字符型数组来说,空值就是0,即字符率结束标记,所以数组S中存放的也是字符串 123。【答案】7 设有下列数据定义语句,则数组元素xi的值是_。int i

6、 3,x4= 1,2,3;【分析】由于i的初值为3,所以xi就是x3。由于数组的下标是从0开始的,所以x3实际上是数组x的第4个元素。从定义语句中可以看出数组x的前3个元素的初值依次为1、2、3,第4个元素没有赋初值,其初值自动设为空值,对整型数组来说,空值是0,显然x3的值是0.【答案】08 设有下列数据定义语句,则 puts(s00)的输出结果是_; puts(s0输出结果是_。char s45=l,0,23,345,40;【分析】首先分析字符型数组s的初值,s的第1行中存放的字符串是1、第2行中存放的符串是23、第3行中存放的字符串是345、第4行中存放的字符串是4。puts()函数的功

7、能是输出从参数处开始存放的字符串中有效字符。按照上的分析,第1个输出的结果是从S00开始的字符串,这个地址对应的就是数s的第1行,所以输出结果为1;第2个输出的结果是从“s”开始的字符串,这个址对应的也是数组s的第1行,所以输出结果也为1。【答案】 1 19 设有下列数据定义语句:char a410=11,22,33,44;则 puts(strcat(a1,a3)的输出结果是_;putS(strcpy(a0,a2)的输出结果是_。【分析】字符数组a共有4行,每行存放一个字符串。这4行的首地址依次为:a0、a1、a2、a3,从这4个地址开始存放的字符串依次为:11、22、33、44。strcat

8、(a1,a3)函数调用的功能是将s3处的字符串连接到al的字符串后面,所以执行该函数调用后的al处的字符串为2244,而该函数的返回值就是a1的首地址,puts()函数的功能就是输出这个地址存放的字符串,由此,第1个输出的结果就是:2244。同样理由可以分析strcpy(a0,a2)的功能是将a2处的字符串(33)复制到a0处,返回a0的地址,puts()输出的就是a0处的字符串,结果为:33。【答案】2244 3310 设有下列数据定义语句: char str210=abc,ABC;则printf(d,strcmp(str1,str0)的输出结果是_;printf(d,strcmp(strl

9、wr(str1,str0),str0)的输出结果是_。【分析】字符型数组str中,从str0开始存放的字符串是abc、从strl开始存放的字符串是ABC。strcmp(strl,str0)是比较strl和str【0处的两个字符串的大小,由于ABC是小于abc的,按照srrcmp函数的功能可知,返回值是一个小于0的整数,这是第1个空的答案。再来分析第2个空的答案,strlwr(strl)函数的功能是将strl处的字符串中大写字母改为小写字母,其返回值是修改后字符串的地址。strcmp(stlwr(sir1),str0)函数的功能是比较strl和str0处的字符串,由于strl处的字符串已经改为小

10、写字母了,所以和 str0处的字符串完全相同,返回值是0,这就是第2个空的答案。答案某个小于0的任意整数 011 下列程序的功能是读取10个实数,然后依次输出前l个实数和、前2个实数和、前9个实数和、前10个实数和。请填写程序中缺少的语句。 main() float f10,X00; int i; for(i=0;i10;i+) scanf( f, fi); for(i=1;i=10;i+) _ printf(sum of NO 2dfn,i,x); 【分析】浏览程序清单后,可以发现前一个次数型循环是输入 10个实数存入数组 f中。后一个次数型循环是计算前i个实数和并存入变量X中,然后再输出这

11、个x的值。程序中所缺少的语句就是实现计算前i个实数和并存入变量X中的。当i等于1时,x要等于f0的值,即fil的值;当i等于2时,x要等于f0 fl的值,即f0fi1的值,此时f0的值已经计算并存入变量x中;当i等于3时,x要等于f0f1f2的值,即f0f1fil的值,此时f0f1的值已经计算并存入变量x中;由此可以推出:前i个值的计算公式为:xxfi1,将这个表达式组成语句就是需要填写的内容。【答案】 x=xfil; 或 xfil;12 运行下列程序的输出结果是() 111ll llll lll 222 main() int a=1,2,3,4, 5 ,i; for( i=1;i 5; i)

12、 printf( 1d, ai ai一1); 【分析】首先分析数组a各元素的值,由于是赋初值,很容易看出:a0 1、a12、a45。再分析次数型循环共计执行4次(i1、i2、i3、i4),每次输出1位整数;iai1,当i1时,输出的是211;当i2时,输出的是32l;当i=3时,输出的是43l;当i4时,输出的是541。整个程序的输出结果是1111。【答案】13 下列程序的功能是输入一个5行5列的实数矩阵,然后求出其中的最大数和最小数,并且对调这两个数后,再输出,请填写程序中缺少的语句。main() float f 55,max, x;int i,j,max_l,max_J,min_i,min_J;for(i0;i5;i) for(j0;j5;j) scanf(f,x); fijx; maxminf00;max_imax_imin_imin_j 0;for(i= 0;i5;i) for(j0;j5;j) if(maxfij) maxfij,max_ii,max_jj; if(minfij)

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

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