chap7.1课前自测正答率
chap7.2-3课前自测正答率
实验4正答率
类型 数组名[常量表达式]
数组是一组相同类型数据的集合,数组开辟的空间是连续的。数组下标是从0开始,最大下标为数组长度减1,下标不能越界,数组名不能与其他变量名相同,数组名表示该数组所分配连续内存空间中第一个单元的地址,即首地址。数组空间一经分配之后再运行过程中不会改变,因此数组名是一个地址常量,不允许修改。
例:int a[10] 表示在内存中开辟了10个连续的 int大小的空间,总长度为10*sizeof(int),数组下标为0到9。
初始化形式:
类型名 数组名 [数组长度] = {
初值表};
初值表依次存放着数组元素的初值
例1:int a[10]={
1,2,3,4,5,6,7,8,9,10];
数组长度为10,元素依次为1到10
例2:int a[10]={
1};
数组长度为10,a[0]的值为1,其他为0
例3:int a[]={
1,2,3,4,5}
对全部元素赋值时,数组长度可以省略,a[0]为1...a[4]为5
例4:int a[10];
数组中元素的值将由系统随机赋值
例5:static int a[10]
静态数组若未初始化,系统自动给所有元素赋值为0。
分析
二维数组的定义形式
类型名 数组名[行长度][列长度]
行小标的合理取值范围是[0,行长度-1],列下标的合理取值范围是[0,列长度-1],注意下标不要越界。
二维数组初始化方法有两种。
1、分行赋初值
一般形式为:
类型名 数组名[行长度][列长度] = {
{
初值表0},{
初值表1},..{
初值表k}};
例1:int a[3][3] = {
{
1,2,3},{
4,5,6},{
7,8,9}};
a数组中各元素为:
1 2 3
4 5 6
7 8 9
例2:int a[3][3] = {
{
1,2},{
4,5,6},{
}};
部分初始化
a数组中各元素为:
1 2 0
4 5 6
0 0 0
例3:int a[][3]={
{
1,2,3},{
4,5,6},{
7,8,9}};
结果同例1,如果对所有行都赋值,可以省略行长度,但列长度不能省略。
2、顺序赋初值
一般形式为:
类型名 数组名[行长度][列长度] = {
初值表};
例1:int a[3][3]={
1,2,3,4,5,6,7,8,9}
a数组中各元素为:
1 2 3
4 5 6
7 8 9
例2:int a[3][3] ={
1}
a数组中各元素的值为
1 0 0
0 0 0
0 0 0
例3:int a[][3]={
1,2,3,4,5,6,7,8,9}
若对全部元素都赋了初值,可以省略行长度。
定义字符数组一般形式
char 数组名[数组长度]
一维字符数组用于存放字符型数据,它的定义、初始化和应用于其他数据类型一样。
初始化字符数组
例1:char str[5]={
'H','a','p','p','y'};
下标范围为[0,4]
字符串常量就是用一对双引号括起来的字符序列,即一串字符,它有一个结束标志‘\0’(ASCII值为0)。
例:字符串“Happy”由六个字符组成,‘H’,‘a’,‘p’,‘p’,‘y’,’\0’。
例:char str[2];
str[0]='a';
str[1]='\0';
等价于char str[2]="a";
'\0’表示字符串出入结束,ASCII值为0,无法输入。
从做题情况来看,数组这部分正确率相对较高。数组这部分内容要理解数组在内存中的是如何存储的,数组下标不要越界,字符串与字符数组的区别,编程题要多练。