数组习题

上传人:小** 文档编号:90224895 上传时间:2019-06-09 格式:DOC 页数:40 大小:127KB
返回 下载 相关 举报
数组习题_第1页
第1页 / 共40页
数组习题_第2页
第2页 / 共40页
数组习题_第3页
第3页 / 共40页
数组习题_第4页
第4页 / 共40页
数组习题_第5页
第5页 / 共40页
点击查看更多>>
资源描述

《数组习题》由会员分享,可在线阅读,更多相关《数组习题(40页珍藏版)》请在金锄头文库上搜索。

1、第七章 数组 (8学时)学习目的与要求:1 、重点掌握一维数组的定义和引用;2 、基本掌握二维数组的定义和引用;3 、重点掌握字符型数组的定义与引用;4 、能正确使用字符串处理函数; 5 、学会使用数组解决实际问题。重点: 1 、一维数组的定义与引用;2 、二维数组的定义与引用;3 、字符数组的定义与引用; 第1讲知识归纳: 1、一维数组的定义:类型说明符数组名 常量表达式 ;(1) (1) 数组名后必须用方括弧 ,用其他括弧均错误; (2) 方括弧中的常量表达式表示数组的元素个数;(3) 方括弧中的常量表达式,必须是能计算出具体数值,且不改变的常量,不能是变量;2、一维数组的引用:数组名 下

2、标 /下标从0开始,可以是整型常量或整型表达式;(1) 注意:数组元素引用时,不要超出数组范围;如 int a10 ; /可以引用的数组元素为 a0a9 , a10 不是本数组元素;3、一维数组的初始化:(1) (1) 可以在定义数组后,立刻赋值;如 int a 3 = 1,3, 5 ;但下面这样是错误的:int a3 ; a = 1,3, 5 ;(2) (2) 可以给数组的部分元素赋值,不赋值的元素,默认值为int 0, char, , float 0.0 ;如 int a 3= 1,3 ; /a0 =1 ; a1= 3 ; a2= 0 ;(3) 在对数组全部元素赋初值时,可以不指定元素个数

3、;(4) 可以在循环控制下,给数组各元素赋值;如:int a10 ;for ( i=0 ; i 10 ;i + )a i = i ;基础训练(A)一、 一、 选择题1、在c语言中,引用数组元素时,其数组下标的数据类型允许是()。A)整型常量 B)整型表达式C)整型常量或整型表达式 D)任何类型的表达式2、要说明一个有10个int元素的数组,应当选择语句()。A) int a10; B) int a(10); C) int a9 D) int a113、以下对数组的正确定义是:()。A) float b5.0 B) float b5 C) float b(5) D) float b4、对以下说明

4、语句的正确理解是()。int a10=6,7,8,9,10;A)将5个初值依次赋给a1至a5B)将5个初值依次赋给a0至a4C)将5个初值依次赋给a6至a10D)因为数组长度与初值的个数不相同,所以此语句不正确5、已知:int a10;则对a数组元素的正确引用是()。A) a10 B) a3.5 C) a(5) D) a10-106、以下能对一维数组a进行正确初始化的语句是()。A) int a10=(0,0,0,0,0); B)int a10=C) int a=0; D) int a10=10*1;7、以下能对一维数组a进行正确初始化的语句是()。A) A) int a5; B)int a3

5、; a=0,1,2,3,4; for(i=0;i3;i+) scanf(“%d”,a); C) int a3=0,1,2,3; D) int a5; for(i=0;i5;i+) scanf(“%d”,&ai); 二、 二、 填空题1、构成数组的各个元素必须具有相同的。C语言中数组的下标必须是整正数、0或。如果一维数组的长度为n ,则数组下标的最小值为,最大值为。2、在C语言中,一维数组的定义方式为:类型说说明符数组名。3、已知数组b定义为int b =9,6,3;,则b的各元素的值分别是,最小下标是,最大下标的。4、在C语言中数组名是一个,不能对其进行加、减及赋值操作。5、已知数组T为一有1

6、0个单元的整型数组,正序输出T中的10个元素的值的语句为:for (j=0;j10;j+) printf(“%d”,Tj);下面的语句试图按相反的顺序显示输出T中的10个元素的相反数;请补充完整下面的语句:for(;j- -)printf(“%d”, );三、 三、 综合题1、下面程序(每行程序前面的数字表示行号),请指出存在错误的行号() 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 7 printf(%dn,a0);8 2、下面程序(每行程序前面的数

7、字表示行号),请指出存在错误的行号()1 1 main()2 2 3 3 int a3;4 4 int i;5 5 scanf(“%d”,&a);6 6 for(i=0;i3;i+) a0=a0+ai;7 7 printf(“a0=%d”,a0);8 8 3、下面程序(每行程序前面的数字表示行号),请指出存在错误的行号()1 1 main()2 2 3 3 int a3;4 4 int i;5 5 for (i=0;i3;i+) scanf(“%d”,&ai);6 6 for(i=1;i3;i+) a0=a0+ai);7 7 printf(“%dn”,a);8 8 能力提高(B)一、 一、选择

8、题1、以下对一维整型数组a的正确说明是()。A) int a(10); B)int n=10,an;C) int n; D)#define SIZE 10;scanf(%,&n); int aSIZE;int an;2、若有以下说明,则数值为4的表达式是()。A) ag-c B) a4 C) ad-c D) ad-c3、要定义一个int型一维数组art,并使其各元素具有初值89,-23,0,0,0,不正确的定义语句是()。A) int art5=89,-23;B) int art =89,-23;C) int art5=89,-23,0,0,0;D) int art =89,-23,0,0,0

9、;二、填空题1、 1、读入20个整数,统计非负数个数,并计算非负数之和。#include “stdio.h”main() int i,a20,s,count; s=count=0; for ( i=0; i20; i+) scanf(“%d”,&ai); for ( i=0; i20; i+) if (ai0)continue ; s+=ai; count+; printf(“s=%dt count=%dn”,s,count);2、 2、 下面程序段的功能是将一个数组中的值按逆序重新存放,例如:原来顺序是8,5,3,2,要求改为2,3,5,8#define N 10int i,j,aN;for

10、 ( i=0, j=N-1 ; ij; i+, j-) k=ai; ai=aj; aj=k;3、若有以下程序段:. int a5=4,0,2,3,1;i,j,t; for(i=1;i=0&taj) aj+1=aj;j-;.则该程序段的功能是(对a数组降序排)。三、编程题1、有一个已经排好序的数组,现输入一个数,要求按原来排序的规律将它插入到数组中。#include main() int a11=3,4,7,9,10,13,14,15,18,20; int i,j,n; scanf (%d,&n); i=0; while (i10) if (ni; j-) aj=aj-1;ai=n; break

11、;else i+; if (i=10) a10=n; for (i=0;i11;i+) printf(%4d,ai);2、设计一程序,它输入20个正整数,然后重新安排这个序列的顺序,使得最小数位于序列的首部,最大数位于序列的尾部。显示处理前后的这两个整数序列。第2讲知识归纳:1、二维数组的定义:类型说明符数组名 常量表达式1 常量表达式2 ;(1)常量表达式1-可以形象理解为行数;常量表达式2-可以形象理解为列数; (2) 二维数组中元素存放顺序是:先存放第一行的元素,再存放第二行的元素,依次类推;2、二维数组的引用:数组名 下标 下标 /下标从0开始,可以是整型常量或整型表达式;(1) 注意:数组元素引用时,不要超出数组范围;如 int a3 4 ; /可以引

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 管理学资料

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号