C语言计算机2级考试重点题解

需积分: 9 1 下载量 199 浏览量 更新于2024-09-12 收藏 165KB TXT 举报
"这是一份计算机2级考试的复习资料,专注于C语言,包含题目及答案,用于帮助考生备考。" 在计算机2级考试中,C语言是重要的考点,下面我们将详细讨论题目中的相关知识点: 1. 题目1: 这段代码是一个将数字字符串转换为整数的函数`fun`。`*n`表示一个指向数字字符串的指针。程序通过每次取余来获取数字的每一位,并累加到变量`x`中。`__1__`应该填入10,因为要用当前数字除以10得到下一位;`__2__`应填0,判断奇偶性,如果余数不等于0,则该位是奇数,可以累加;`__3__`应填`x`,最后更新指针所指的数字为0,表示处理完所有数字。 答案:(1)10 (2)0 (3)x 2. 题目2: 此代码定义了一个计算阶乘的函数`fun`。`__1__`处应去掉`if(n==0)`,因为`while`循环已经包含了n等于0的情况;`__2__`处的`result*=n--`应在循环体内,以确保每次循环前都正确计算了当前n的阶乘值。 修改后的代码: ```c double fun(int n) { double result = 1.0; while (n > 1) { result *= n--; } return result; } ``` 3. 题目3: 这段代码将带符号的字符串转换为长整型。`fun`函数接收一个字符指针`p`,根据第一个字符判断正负,然后逐个字符处理,将其转换为对应的数值。注意,这里使用`-48`是因为ASCII码中'0'的值是48,所以用当前字符的ASCII值减去48即可得到对应的数字。 现在我们转向文件操作的部分: 在编程中,文件操作是非常基础且重要的技能。题目中涉及到的`fopen`、`fprintf`、`fclose`和`fgetc`都是C语言中的文件处理函数。 1. 文件写入: `__1__`应填写`FILE *`,声明一个指向文件的指针`fp`。`fopen`函数用于打开文件,"w"参数表示写模式,会覆盖原有内容。 ```c FILE *fp; ``` 2. 文件读取: `__2__`应填写`fp`,检查是否到达文件末尾。`feof`函数用于检测文件是否已读取到末尾。 ```c while (!feof(fp)) { ``` 3. 文件操作完整示例: ```c void fun(char *s, int a, double f) { FILE *fp; char ch; fp = fopen("file1.txt", "w"); fprintf(fp, "%s%d%f\n", s, a, f); fclose(fp); fp = fopen("file1.txt", "r"); printf("\nThe result:\n\n"); ch = fgetc(fp); while (!feof(fp)) { printf("%c", ch); ch = fgetc(fp); } fclose(fp); } ``` 这个函数首先以写模式打开文件,将字符串`s`、整数`a`和浮点数`f`写入文件,然后以读模式再次打开文件,逐字符读取并打印出来。 以上就是计算机2级考试中涉及的C语言编程及文件操作的相关知识点,包括字符串处理、数值计算、文件的读写等,这些都是C语言程序员必备的基础技能。