上海市计算机二级考试C语言复习资料与试题解析

需积分: 14 8 下载量 119 浏览量 更新于2024-08-01 收藏 296KB DOC 举报
"上海2009年计算机二级考试题(c语言)——上海理工大学的C语言复习资料,涵盖C语言的基础知识、编程技能和算法分析,旨在帮助考生备考上海市计算机二级考试。" 本文将深入探讨C语言的一些核心知识点,根据提供的部分试题和题目类型,我们将逐一解析。 1. 循环结构:C语言中的循环是程序控制流的重要部分。第一道题目涉及一个while循环,当条件`k=0`不满足时,循环不会执行,因此循环次数为0次,选择B。循环结构包括for、while和do-while,理解它们的工作原理和如何避免死循环至关重要。 2. 死循环与跳出循环:第二题考察的是死循环的识别。选项B中的`while(1)`创建了一个无限循环,但内部的`if`语句提供了跳出循环的可能,所以不是死循环。选项C的do-while循环虽然会至少执行一次,但`while(k>=10000)`的条件意味着当`k`值达到10000以上时,循环会停止,也不是死循环。选项A和D则构成了死循环。 3. 指针与数组:第三题涉及到指针和数组的使用。指针`p`初始化为数组首地址,`*p`表示解引用操作,访问数组的第一个元素;`a[p-a]`等价于`*(a+p)`,访问数组中下标为`p-a`的元素;`p+i`表示指针移动`i`个元素的位置,但未解引用,不是一个有效的元素引用;而`p+i`作为数组元素的引用是错误的。 4. 字符串处理:第四题考察字符串的初始化。C语言中,字符串是由字符数组表示的,并以`\0`作为结束符。正确的赋值方式是B,使用双引号初始化字符串,包括结束符在内。选项A和C没有为字符串分配足够的空间,选项D没有初始化字符串。 5. 字符数组输出:第五题展示了遍历字符数组并打印的代码。循环从`arr`开始,每次迭代打印一个字符,直到`arr+4`(即`'D'`的地址),因此输出为"ABCD",选择D。这体现了C语言对字符数组的处理方式。 这些题目覆盖了C语言的基础知识点,包括循环控制、条件判断、指针操作、数组和字符串处理等。复习C语言时,需要重点掌握这些概念,同时加强编程实践,提高阅读和编写程序的能力。对于上海市计算机二级考试,考生还需要熟悉考试的具体框架和题型,如读程序写结果、改错、编程和程序指令填空等。通过大量练习和模拟测试,可以有效提高应试能力。