C语言复习:构造类型与数组详解

需积分: 41 3 下载量 182 浏览量 更新于2024-08-23 收藏 107KB PPT 举报
"这篇资料是浙江大学金军教授关于C语言的复习内容,主要涵盖了C语言的基础知识和程序设计技能,包括数据定义、运算与流程控制、程序结构、函数、输入输出、命令行参数和编译预处理以及常用算法。特别强调了对构造类型的掌握,特别是数组和结构体的应用。" 在C语言中,构造类型是一种复合数据类型,它允许我们将多个相同或不同类型的变量组合成一个单一的实体。本资料中提到了两种构造类型:数组和结构。 数组是最常见的构造类型,分为一维数组和二维数组。一维数组可以看作是一条线性的数据序列,而二维数组则类似于表格,可以理解为多条一维数组的集合。数组的定义和初始化是非常关键的步骤。例如,定义一个3行2列的整数数组`inta[3][2]`并初始化为`{1,2,3,4,5,6}`,数组元素`a[2][1]`的值为6。在给定的选项中,选项C是错误的赋值方式,因为不能直接用赋值语句将字符串赋给未初始化的字符数组。 字符数组特别用于存储字符串,字符串在C语言中是字符数组的特殊形式,以空字符`\0`结束。选项A和B是正确的字符串初始化方式,而选项D是完整初始化一个包含7个字符的字符串数组,最后一个字符是空字符,确保字符串的正确性。选项C是错误的,因为不能直接用赋值语句将字符串赋给未声明大小的字符数组。 在比较字符串时,`strcmp()`函数是C语言中的标准库函数,用于比较两个字符串。如果第一个字符串小于第二个,返回值为负数;如果相等,则返回0;如果第一个字符串大于第二个,返回值为正数。所以,表达式`strcmp("box","boss")`的值是一个负数,因为"box"在字典顺序上小于"boss"。 此外,资料还提到了通过遍历数组进行特定计算的例子,比如计算对角线元素之和,这体现了对数组元素访问和操作的基本能力。 这份复习资料全面覆盖了C语言的基础概念,尤其是构造类型的使用,对于学习和巩固C语言编程技能非常有帮助。