《C语言程序设计》习题集
位运算
1. 交换两个变量的值,不允许用临时变量,应该使用下列哪一个位运算 符__________。
(A) ~ (B) & (C) ^ (D) |
2. 以下程序的运行结果是__________。 main() { char x=040;
printf(\\n\
(A) 100
(B) 160
(C) 120
(D) 64
3. 以下程序的运行结果是__________。 main() { int x=35; char z='A';
printf(\\n\
(A) 0
(B) 1
(C) 2
(D) 3Z
4. 以下程序中c的二进制值是__________。 char a=3,b=6,c; c=a^b<<2;
(A) 00011011
(B) 00010100
(C) 00011100
5. 以下程序的运行结果是__________。 main()
{ int a=5,b=6,c=7,d=8,m=2,n=2; printf(\\n\
(A) 0
(B) 1
(C) 2
(D) 3
1. 位运算是指__________。
2. 在二进制中,表示数值的方法有__________。 3. 按位与的用途有__________。 4. 异或运算的应用有__________。
5. 如果a=3,b=4,下列语句的执行结果是____________。
54. a=a^b;b=b^a;a=a^b;printf(\6. 对一个数进行左移操作相当于对该数__________。
- 41 -
(D) 00011000
《C语言程序设计》习题集
7. 对一个数进行右移操作相当于对该数__________。
8. 设变量a的二进制数是00101101,若想通过运算a^b使a的高4位取反,低 9. 4位不变,则b的二进制数应是__________。
10. 若a为任意整数,能将变量a清零的表达式是__________。
11. 能将两个字节变量x的高8位置全1,低字节保持不变的表达式是____。
- 42 -
文件
1. 标准库函数fgets(str,n,file)的功能是___________。
(A) 从文件file中读取长度为n的字符串存入指针str所指的内存 (B) 从文件file中读取长度不超过n-1的字符串存入指针str所指的内存 (C) 从文件file中读取n个字符串存入指针str所指的内存 (D) 从文件file中读取长度为n-1的字符串存入指针str所指的内存 2. 若fp是指向某文件的指针,且已读到文件末尾,则库函数feof(fp) 的返回值是_________。
(A) EOF
(B) –1
(C) 非零值
(D) NULL
3. 缺省状态下,系统的标准输入文件(设备)是指__________。
(A) 键盘 (B) 显示器
(C) 软盘 (D) 硬盘
4. 缺省状态下,系统的标准输出文件(设备)是指__________。
(A) 键盘 (B) 显示器
(C) 软盘 (D) 硬盘
5. 若要用fopen函数打开一个新的二进制文件,该文件要既能读也能写,则 文件打开时的方式字符串应是__________。
(A) \
(B) \(C) \ (D) \
6. fscanf函数的正确调用形式是 __________。 (A) fscanf(fp,格式字符串,输出表列);
(B) fscanf(格式字符串,输出表列,fp);
(C) fscanf(格式字符串,文件指针,输出表列); (D) fscanf(文件指针,格式字符串,输入表列);
7. fwrite函数的一般调用形式是 __________。 (A) fwrite(buffer,count,fp,size); (C) fwrite(fp,count,size,buffer);
(B) fwrite(fp,size,count,buffer); (D) fwrite(buffer,size,count,fp);
8. fgetc函数的作用是从指定文件读入一个字符,该文件的打开方式必须 是__________。
(A) 只写
(B) 追加
(C) 读或读写
(D) 答案B和C都正确
9. 若调用fputc函数输出字符成功,则其返回值是__________。
(A) EOF
(B) 1
(C) 0 (D) 输出的字符
10. 函数调用语句:fseek(fp,-20L,SEEK_END);的含义是__________。 (A) 将文件位置指针移到距离文件头20个字节处 (B) 将文件位置指针从当前位置向后移动20个字节 (C) 将文件位置指针从文件末尾处向后退20个字节 (D) 将文件位置指针移到离当前位置20个字节处 11. 利用fseek函数可实现的操作是 __________。
43
(A) 改变文件的位置指针 (B) 辅助实现文件的顺序读写
(C) 辅助实现文件的随机读写(D) 以上答案均正确 12. fseek函数的正确调用形式是 __________。 (A) fseek(文件类型指针,起始点,位移量); (C) fseek(位移量,起始点,fp);
(B) fseek(fp,位移量,起始点);
(D) fseek(起始点,位移量,文件类型指针);
13. 函数rewind的作用是 __________。 (A) 使位置指针重新返回到文件的开头 (C) 使位置指针指向文件的末尾
(B) 将位置指针指向文件中所要求的特定位置
(D) 使位置指针自动移至下一个字符位置
14. 函数ftell(fp)的作用是 __________。 (A) 得到文件当前位置指针的位置 (C) 初始化流式文件的位置指针
(B) 移动流式文件的位置指针
(D) 以上答案均正确
15. 在执行fopen函数时,若执行不成功,则函数的返回值是__________。
(A) TURE
(B) –1
(C) 1 (D) NULL
16. 以下fread函数的调用形式中,参数类型正确的是__________。
(A) fread(char *buf,int size, int count,FILE fp) (B) fread(FILE fp,int * buf,int size,int count) (C) fread(FILE fp,int size,int count,char * buf) (D) fread(int count,char *buf,int size, FILE fp) 1. 在C程序中,文件可以用__________方式存取,也可以用__________ 方式存取。 2. 在C程序中,数据可以用__________和__________两种代码形式存放。
3. 在C语言中,文件的存取是以___________为单位的,这种文件被称作__________文件。 4. rewind()函数的作用是__________。
5. 在C语言中,能实现改变文件的位置指针的函数是__________。
6. 在C语言中,对文件的存取是以__________为单位,即以__________为单位。 7. 定义FILE *fp,这里fp是一个__________。 8. 在C语言中,文件的打开使用函数__________。
9. 函数调用语句:fgets(buf,n,fp);从fp指向的文件中读入__________个字符放到buf字符数组中。函
数返回值为__________。 10. 设有以下结构体类型: struct st
{ char name[8]; int num; float s[4];}
student[50];
并且结构体数组student中的元素都已有值,若要将这些元素写到硬 盘文件fp中,请将以fwrite语句补充完整:fwrite(student,_________________________,1,fp)
11. feof(fp)函数用来判断文件是否结束,如果遇到文件结束,函数返回值为__________,否则为_____。
44

