单选题
1、第154题 (1.0分) 题号:723 函数调用语句:fseek(fp,-20L,2);的含义是()。
A
将文件位置指针移到距离文件头20个字节处
B
将文件位置指针从当前位置向后移动20个字节
C
将文件位置指针从文件末尾处退后20个字节
D
将文件位置指针移到离当前位置20个字节处
答案解析
正确答案:C
解析:
**解析:**
`fseek` 函数用于移动文件流的位置指针,其原型为:
```c
int fseek(FILE *stream, long offset, int whence);
```
该函数包含三个参数:
1. **`stream` (fp)**:指向 FILE 对象的指针,即文件指针。
2. **`offset` (-20L)**:偏移量。正数表示向前(向文件尾方向)移动,负数表示向后(向文件头方向)移动。这里的 `-20L` 表示向后移动 20 个字节。
3. **`whence` (2)**:起始位置基准。在 C 语言标准库中,该参数有三个宏定义值:
* `SEEK_SET` (值为 0):从文件开头开始计算。
* `SEEK_CUR` (值为 1):从当前位置开始计算。
* `SEEK_END` (值为 2):从文件末尾开始计算。
**具体分析本题:**
* 第三个参数为 `2`,对应 `SEEK_END`,表示基准点是**文件末尾**。
* 第二个参数为 `-20L`,表示相对于基准点**向前(退后)**移动 20 个字节。
因此,`fseek(fp, -20L, 2)` 的含义是将文件位置指针从文件末尾处向前(退后)移动 20 个字节。
**选项分析:**
* A. 距离文件头 20 个字节:应使用 `fseek(fp, 20L, 0)`。
* B. 从当前位置向后移动 20 个字节:应使用 `fseek(fp, 20L, 1)`。
* C. **从文件末尾处退后 20 个字节**:符合 `fseek(fp, -20L, 2)` 的定义。
* D. 离当前位置 20 个字节:描述不准确,且未指明方向,若指向前则是 `fseek(fp, 20L, 1)`,若指向后则是 `fseek(fp, -20L, 1)`。
故正确答案为 **C**。
题目纠错
c语言选择判断题库
相关题目
单选题
1、第105题 (1.0分) 题号:619 对 for(表达式1; ;表达式3) 可理解为()。
单选题
1、第104题 (1.0分) 题号:98 以下标识符中,不能作为合法的C用户定义标识符的是()。
单选题
1、第103题 (1.0分) 题号:213 C语言中,文件由()。
单选题
1、第102题 (1.0分) 题号:544 char *s1=“hello”,*s2;s2=s1;则()。
单选题
1、第101题 (1.0分) 题号:160 C语言的if语句嵌套时,if与else的配对关系是()。
单选题
1、第100题 (1.0分) 题号:625 已知x=43,ch='A',y=0;则表达式( )的值是()。
单选题
1、第99题 (1.0分) 题号:692 以下叙述中正确的是()。
单选题
1、第98题 (1.0分) 题号:668 以下正确的说法是()。
单选题
1、第97题 (1.0分) 题号:643 以下能对一维数组a进行正确初始化的语句是()。
单选题
1、第96题 (1.0分) 题号:526 用户定义的函数不可以调用的函数是()。
