C语言期末考试重点整理

需积分: 3 15 下载量 53 浏览量 更新于2024-08-01 收藏 185KB DOC 举报
"C语言期末复习资料,包括选择题和编程题,涵盖了变量、运算符、指针、字符串、数组和循环等基础知识。" C语言是一门基础且强大的编程语言,对于学习计算机科学的学生来说至关重要。这份期末复习资料包含了多个重点知识点,让我们逐一解析: 1. **自增自减运算符**:题目中的`sum=pad=5;pad=sum++,pad++,++pad;`展示了自增和自减运算符的用法。自增`++`和自减`--`可以在变量前或后使用,前缀形式会先进行操作再赋值,后缀形式则是先赋值再操作。 2. **整型常量和前导零**:在`#include<stdio.h>`后的程序中,`inti=010,j=10;`使用了八进制表示法,前导零表示这是一个八进制数。`++i`和`j--`涉及到了预增量和后递减运算符,最终输出的是`i`和`j`更新后的值。 3. **ASCII码**:`charc1='A',c2='Y';`定义了两个字符变量,ASCII码中'A'对应65,'Y'对应89,因此输出这两个字符的ASCII码值。 4. **字符串长度**:字符串`char*s="\\\"Name\\Address\n"`包含了转义字符,长度计算时要注意包含结束的空字符`\0`。此题中字符串的长度应该是19。 5. **指针与数组**:`int(*ptr)[m];`定义了一个指向具有M个整型元素的一维数组的指针,不是指向单个整型变量的指针,也不是函数指针。 6. **逻辑运算符**:`while(!E);`中的条件`!E`等价于`E==0`,因为逻辑非`!`会将非零值转换为0,零值转换为1,相当于判断E是否为零。 7. **NULL的值**:在C语言中,`NULL`通常被定义为0或者(void*)0,因此`printf("%d\n",NULL);`会输出0。 8. **函数参数传递**:`func((exp1,exp2),(exp3,exp4,exp5));`这里的实参是以逗号分隔的表达式列表,表示传递了两个参数,每个参数是一个元组。 9. **位运算**:`c=a^b<<2;`涉及到位异或`^`和左移`<<`运算。根据题目中的赋值,可以推算出二进制结果。 10. **错误检查**:在给出的程序中,第6行`scanf("%d",&a[i]);`试图读取浮点数到整数数组`a`中,这是错误的,应该使用`%f`来读取浮点数。 这些题目覆盖了C语言的基础知识,包括变量、数据类型、运算符、控制结构、字符串处理、数组、指针以及输入输出等。通过复习这些内容,学生可以对C语言有更深入的理解,为期末考试做好准备。