C语言数组基础与练习解析

版权申诉
0 下载量 37 浏览量 更新于2024-08-06 收藏 58KB DOC 举报
"C语言数组相关的练习与复习资料" 在C语言中,数组是一种重要的数据结构,用于存储同一类型的多个数据项。本资料主要涵盖了数组的基本概念、声明、初始化以及使用方法,适合考试复习和练习。 1. 数组的特性: - 数组的大小在声明时是固定的,不可在程序运行时动态改变。 - 所有数组元素必须具有相同的类型,例如,一个数组要么全部是整型,要么全部是浮点型等。 - 数组的索引通常从0开始,下标是整型常量或整型表达式。 2. 一维数组的声明: - 正确声明一维数组的方式是`int a[10];`,其中10表示数组的长度,即可以存储10个整数。 - 定义数组长度时,可以使用预处理器指令#define来定义常量,如`#define SIZE 10`,然后声明`inta[SIZE];`。 - 数组的初始化:`int m[10]={0,0,0,0};`,每个元素被赋予初始值;`int m[]={0};`,只给第一个元素赋值,其他默认为0;`int m[10]={10*2};`,错误,因为这会将整个数组赋值为20,而不是单个元素。 3. 数组元素的引用: - 引用数组元素的表达式如`a[1]`,其地址可以通过`&a[0]+1`,`&bb[1]`或`bb+1`获取,但`&bb[0]++`是错误的,因为数组名本身是常量指针,不能自增。 4. 数组在内存中的存储: - 数组在内存中连续存放,如`int x[10]={0,2,4}`,数组x占用20个字节(假设int占2字节),即使未给出所有元素值,剩余元素默认为0。 5. 数组元素的访问: - 访问数组元素可以通过下标表达式,如`a[g-c]`,`a[4]`,`a['d'-'c']`,如果条件合适。`a['d'-c]`在字符'a'到'd'的情况下,相当于`a[3]`。 6. 输入数组元素: - 给数组所有元素输入数据的正确方式是`scanf("%d", &a[i]);`,在循环中使用`a+(i++)`可以实现连续输入。 7. 数组与变量的关系: - 变量k的值为`s[1]*10`,初始值为3,当`s[0]=k`后,k的值变为3,因此`k=s[1]*10`的结果是30。 8. 程序段输出: - 程序段`for(i=9;i>=0;i--)a[i]=10-i;`倒序填充数组,所以`a[2]`,`a[5]`,`a[8]`对应的值分别为8,5,2,因此输出结果是`852`。 通过以上练习,可以深入理解C语言中数组的概念、声明、初始化、元素访问以及输入输出等核心知识点,这对于理解和编写C语言程序至关重要。