C语言复习关键点解析

需积分: 3 1 下载量 32 浏览量 更新于2024-08-16 收藏 239KB PPT 举报
本文档是关于C语言复习的资料,主要涵盖了C语言中的常量表示、运算符(如i++与++i)、循环结构(while与do...while)、数组长度计算以及一维数组与指针的关系等内容,并给出了相关练习题。 1. **常量表示** - 整型常量可以用后缀`u`或`U`表示无符号整型,`l`或`L`表示长整型,`ul`或`UL`表示无符号长整型。 - 浮点型常量通常使用小数形式或科学记数法,但需注意e或E后面必须跟数字,例如`0.123123e4`是合法的,而`e3`、`2.1e3.5`、`.e3`则不是。 - 字符常量由单引号包围,如'a',也可以包含转义字符,如`\n`表示换行。 - 字符串常量由双引号包围,如"ajfhgg",在内存中会自动添加终止符`\0`。 2. **i++与++i** - `i++`操作符会先使用当前的i值,然后将i自增1。 - `++i`操作符会先将i自增1,然后再使用新的i值。这种差异在某些特定的条件语句和表达式中尤为重要。 3. **while语句与do….while语句** - `while`语句先进行条件判断,只有当条件满足时才会执行循环体。 - `do…while`语句先执行一次循环体,然后才进行条件判断,即使初始条件不满足,也会至少执行一次循环。 4. **数组长度** - 在C语言中,字符串是以`\0`结尾的,所以数组长度通常比初始化的字符数多1。例如,`char a[]="happy"`的长度是7,而`char a[]={'h','a','p','p','y'}`的长度也是5,因为它们都会在末尾自动添加`\0`。 5. **一维数组与指针** - 一维数组可以看作是元素连续存储的内存区域,数组名是该区域的首地址,它是一个常量指针,不能被改变。 - `*(p+i)`和`p[i]`是等价的,都用于访问数组中的元素。 - 当使用指针遍历数组时,如`*p++`,指针会在每次迭代后自增,指向下一个元素。 6. **练习题解析** - 题1中,选项C的'Ox41'不是一个合法的C语言常数,因为它使用了大写的'O'而不是数字'0'来表示十六进制。 - 题2中,表达式`x<y?x++:y++`的值取决于x和y的比较。如果x小于y,则x自增,此时表达式的值是x的原值(4),所以答案是C.4。 - 题3中,数组A和B的长度分别是字符串的长度加上结束符`\0`,所以都是7,因此答案是A.7,7。 - 题4中,D选项的`for`循环会通过指针p自增导致只输出第一个元素,因此无法正确输出所有元素,所以答案是D。 这个复习资料对准备计算机二级考试中的C语言部分非常有帮助,涵盖了C语言的基础知识和重要概念,适合考生进行自我测试和巩固学习。