C语言复习:构造类型与指针的混合运用

需积分: 9 0 下载量 75 浏览量 更新于2024-07-14 收藏 401KB PPT 举报
"这篇资料是关于C程序设计的复习材料,涵盖了数据的定义,特别是构造类型(如数组)和指针类型的混合使用。复习内容包括理论考试和实验考试的评分标准,以及考试的具体题型和范围。" 在C语言中,数据的定义是理解程序运行的基础。这里特别强调了构造类型(如数组)与指针类型的混合操作。数组是一种构造类型,它允许存储同一类型的多个元素。数组的元素可以通过索引来访问,索引从0开始。例如,声明一个整型数组`int a[100]`,则`a`代表数组的首地址,`a+i`表示数组中的第`i+1`个元素的地址。 指针变量是存储地址的变量,可以用来指向数组的元素。声明一个指针变量`int *p`,将`p`赋值为数组`a`的首地址(`p = a`),那么`p+i`就指向数组中对应位置的元素。因此,`p[i]`等价于`*(p+i)`,也就是`a[i]`的值。需要注意的是,虽然可以对指针`p`进行自增操作(`p++`),使得`p`指向下一个元素,但不能直接对数组名`a`进行自增,因为数组名是常量,不能修改。 数组和指针的这种关系在处理大型数据结构时尤其有用,比如在遍历数组或实现动态数据结构时。例如,给定`int a[3]={1,3,5}`和指针`*p=&a[2]-2`,`*p`的值将是数组`a`的第一个元素,即1,因为`p`初始指向`a[2]`,减去2后指向上一个元素`a[0]`。 复习中还提到了考试的形式和评分规则。理论成绩占50%,实验考试成绩占25%,平时成绩也占25%。实验考试允许调试和多次提交,而理论考试则不允许调试。考试内容包括分支、循环、数组、函数等基本概念,其中涉及数组名作为函数参数、递归函数的使用。 在基本类型中,复习材料涵盖了整型、实型和字符型的常量和变量。常量包括整数、实数、字符和字符串,以及它们的不同表示形式,如八进制、十六进制、科学记数法等。变量定义时可以初始化,并在程序中被引用。 对于数组,复习材料讲解了一维和二维数组的定义、初始化和访问方法,强调了防止使用变量定义数组大小和防止下标越界的重要性。此外,还提到了一维字符数组与字符串、二维字符数组与字符串数组的关联。 通过这些复习内容,学习者可以更好地理解和运用C语言中的数据定义,特别是在处理数组和指针时的细节,为考试做好充分准备。