2013年二级C语言南开100题:整除与字母计数

需积分: 4 2 下载量 97 浏览量 更新于2024-07-26 1 收藏 146KB DOC 举报
"2013年二级C语言考试题,包括了三个编程题目,分别是:寻找1到100内能被7或11整除但不能同时被7和11整除的数;找出能整除给定整数x且不是偶数的整数并按升序放入数组;以及统计字符串中每个英文字母出现的次数。" 在这些题目中,我们可以提炼出几个重要的C语言知识点: 1. **循环与条件判断**:所有题目都涉及到了`for`循环和条件判断语句,如`if`。在第一题中,通过`for`循环遍历1到100,然后使用`if`判断是否能被7或11整除且不能被77整除。第二题中,也是使用`for`循环检查每个数是否满足条件。第三题中,遍历字符串的每个字符并用`switch`语句进行处理。 2. **数组操作**:数组是C语言中存储数据的基本结构。在第一题和第二题中,数组用来存储符合条件的数字。例如,`int a[100]`用于存储结果,`int pp[]`则作为输入和输出参数。第三题中,数组`pp[]`用于统计每个字母的出现次数。 3. **函数定义与参数传递**:每个题目都是以函数的形式给出,如`void fun(int a[], int *n)`。函数定义中,参数的类型和名称很重要,如`int x`、`int *n`等。这里使用了传址,如`*n`,意味着函数可以修改实参的值。 4. **指针操作**:在第二题中,`int *t=pp;`声明并初始化了一个指向数组的指针,然后通过`t`来访问数组元素。在第三题中,`*tt`表示对字符串的遍历,而`pp[i]`通过指针访问数组元素并进行计数。 5. **模运算符(%)**:模运算符在所有题目中都有使用,如`i%2!=0`判断奇数,`i%7==0`或`i%11==0`判断能否被7或11整除,以及`x%t[i]==0`检查x是否能被数组中的元素整除。 6. **数组长度动态更新**:在第二题中,通过变量`k`记录实际放入数组的元素个数,然后将`k`的值赋给`*n`,实现了返回数组长度的功能。 7. **字符串处理**:第三题涉及到对字符串的处理,使用`while(*tt)`遍历字符串,`switch`语句根据字符进行计数。 8. **内存管理**:虽然题目没有直接涉及内存分配,但理解如何通过指针操作数组元素是C语言内存管理的基础,比如通过`pp[k]=t[i];`来复制元素。 掌握以上知识点,对于理解和解答这类C语言编程问题是非常关键的。在实际编程中,还需要注意代码的可读性、错误处理以及优化等问题。