41、“.”运算符称为( )运算符。(1分)
A、指针 B、取地址
C、结构体成员 D、指向结构体成员
C提供了两种指针运算符,一种是取地址运算符 &,一种是间接寻址运算符 *。AB全灭。为了使用方便和直观,C语言允许把(*p).num用p->num来代替,p->num表示p指向的结构体变量中的num成员。D也错。这道题选择C。
42、C语言可以处理的文件类型是( )。(1分)
A、文本文件和数据文件 B、文本文件和二进制文件
C、数据文件和二进制文件 D、文本文件和图像文件
数据文件指的是在大容量复制操作中,将数据从向外大容量复制操作传输到向内大容量复制操作的文件。比如Office全家桶就是数据文件。很显然C和数据文件无缘。C也不能处理图像文件。这道题选择B。
43、在C语言中,关于文件存取方式,( )。(1分)
A、只能顺序存取 B、只能随机存取(也称直接存取)
C、可以顺序存取,也可以随机存取 D、只能从文件开头存取
数组是随机存取,所有的线性表都是顺序存取结构。这道题选择C。
44、以读写方式打开一个已存在的二进制文件file1,fopen函数的正确的调用方式是( )。(1分)
A、FILE *FP; FP=fopen("r","file1"); B、FILE *FP; FP=fopen("file1","r");
C、FILE *FP; FP=fopen("rb+","file1"); D、FILE *FP; FP=fopen("file1","rb+");
这道题选择D
45、在C程序中,可把整型数以二进制形式存放到文件中的函数是( )。(1分)
A、fprintf函数 B、fread函数
C、fwrite函数 D、fputc函数
int fprintf(FILE *stream, char *format, <variable-list>);
int fputs(char *string, FILE *steam);
int fputc(int ch, FILE *steam);
int fwrite(void *buf, int size, int count, FILE *stream);
read很明显是读入,B错误。函数fprintf()、fputs()和fputc()均为文件的顺序写操作函数。fprintf() 函数的返回值为实际写入文件中的字罕个数(字节数)。如果错误, 则返回一个负数, fputs()函数返回0时表明将string指针所指的字符串写入文件中的操作成功, 返回非0时, 表明写操作失败。fputc()函数返回一个向文件所写字符的值, 此时写操作成功, 否则返回EOF(文件结束结束其值为-1, 在stdio.h中定义)表示写操作错误。因此AD错误。fwrite()函数是把buf指针所指的缓冲器中, 长度为size个字节的count个字段写到stream指向的文件中去。这道题选择C。