当前位置:网站首页>c期末复习
c期末复习
2022-07-05 18:22:00 【mxrone】
1.直接访问就是直接利用变量的地址直接进行访问。(T)
解析:
(1)直接访问:
按变量的地址存取变量值。
(2)间接访问:
通过存放变量地址的变量访问变量。
2.设变量定义为 int a[2]={1,3}, *p=&a[0]+1;
则*p
的值是( 3 )。
解析: 注意是地址加一,而不是 值加1;
3.对于以下结构定义,++p->str
中的++
加在(A)。
struct {
int len;
char *str;
} *p;
A.指针str
上 B.指针p
上 C.str
指向的内容上 D.语法错误
4.C语言中结构类型变量在程序执行期间( 所有成员一直驻留在内存中 )。
5.链表不具有的特点是(可随机访问任一元素)。
6.用链表代替数组进行数据操作时,查询更加方便。(F)
解析:
数组: 支持随机访问,使用方便 ,查询效率比链表高,内存为一连续的区域 。
链表: 不可数据访问,可动态添加删除 大小可变 ,内存可能是不连续内存,链式存储,查询效率低。
7.在 C 程序中,函数既可以嵌套定义,也可以嵌套调用。(F)
解析:
C语言中函数的定义都是相互平行、相互独立的,也就是说在函数定义时,函数体内不能包含另一个函数的定义,即函数不能嵌套定义,但可以嵌套调用。
8.文件指针指向文件缓冲区中文件数据的存取位置。(F)
解析:
文件指针指向的是一块内存区域,这块区域存储着打开的文件的相关信息,包括文件读取指针当前位置、文件读取缓冲区大小等信息,并不是指向文件的。
9.使用结构指针作为函数参数只需要传递一个地址值,因此,能够提高参数传递的效率。(T)
10.已知有定义,FILE fp; char str[] = "Good!"; fp = fopen("filename.dat", "wb");
将数组str中存放的字符串写到名为filename.dat的二进制文件中。需要的语句是( D)。
A.fwrite(str[0], sizeof(char), 1, fp) B.fread(str, sizeof(char), 5, fp)
C.fwrite(fp, sizeof(char), 5, str) D.fwrite(str, sizeof(char), 5, fp)
解析:
fread与fwrite函数
函数原型:
size_t fread(void *buffer, size_t size, size_t, count, FILE *pf)
size_t fwrite(void *buffer, size_t size, size_t count, FILE *pf)
fread 和 fwrite 函数一般用于二进制文件的输入输出。
fscanf与fprintf函数
例如:
fscanf(fp, "%s %d %d %f\n", pb->name, &pb->num, &pb->age, &pb->score)
fprintf(fp,"%s %d %d %f\n", pa->name, pa->num, pa->age, pa->score)
fscanf函数的功能是:
按“格式字符串”所指定的格式,从“文件类型指针”所指向的文件的当前位置读取数据,然后按“输入项地址表列”的顺序,将读取来的数据存入指定的内存单元中。
fprintf函数的功能是:
按“格式字符串”所指定的格式,将“输出项表列”中指定的各项的值写入“文件类型指针”所指向的文件的当前位置。若写入成功,fprintf函数的返回值是写入文件中的字符个数(或字节个数),否则返回EOF(-1)。
11.为打开文本文件student.txt,进行追加数据的正确写法是( B )。
A.fp=fopen("my.txt","r") B.fp=fopen("my.txt","a")
C.fp=fopen("my.txt","w") D.fp=fopen("my.txt","w+")
r 以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。
a 打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
a+ 打开一个文件只用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。
w 打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。
w+ 打开一个文件用于读写。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。
wb 以二进制格式打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。一般用于非文本文件如图片等。
wb+ 以二进制格式打开一个文件用于读写。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。一般用于非文本文件如图片等。
12.
以下描述错误的是( D )。
A.函数调用可以出现在一个表达式中 B.函数调用可以出现在执行语句中
C.函数调用可以作为一个函数的实参 D.函数调用可以作为一个函数的形参
解析:
返回值存在寄存器中, 没有地址, 不能作为形参,但可以作为实参。
边栏推荐
- 苹果手机炒股安全吗?打新债是骗局吗?
- 《ClickHouse原理解析与应用实践》读书笔记(5)
- Use of print function in MATLAB
- 在通达信上做基金定投安全吗?
- Problems encountered in the project u-parse component rendering problems
- Share: ZTE Yuanhang 30 Pro root unlock BL magick ZTE 7532n 8040n 9041n brush mask original brush package root method Download
- Use JMeter to record scripts and debug
- LeetCode 6109. 知道秘密的人数
- Star ring technology data security management platform defender heavy release
- 含重复元素取不重复子集[如何取子集?如何去重?]
猜你喜欢
SAP 特征 特性 说明
Memory leak of viewpager + recyclerview
基于can总线的A2L文件解析(3)
To solve the stubborn problem of Lake + warehouse hybrid architecture, xinghuan Technology launched an independent and controllable cloud native Lake warehouse integrated platform
Nanjing University: Discussion on the training program of digital talents in the new era
Reptile 01 basic principles of reptile
记一次使用Windbg分析内存“泄漏”的案例
vs2017 qt的各种坑
LeetCode 6111. Spiral matrix IV
Use JMeter to record scripts and debug
随机推荐
爬虫01-爬虫基本原理讲解
Copy the linked list with random pointer in the "Li Kou brush question plan"
sample_rate(采样率),sample(采样),duration(时长)是什么关系
使用JMeter录制脚本并调试
Sophon KG升级3.1:打破数据间壁垒,解放企业生产力
开户注册股票炒股安全吗?有没有风险的?靠谱吗?
RPC协议详解
Share: ZTE Yuanhang 30 Pro root unlock BL magick ZTE 7532n 8040n 9041n brush mask original brush package root method Download
Numerical calculation method chapter8 Numerical solutions of ordinary differential equations
About statistical power
MATLAB中print函数使用
Multithreading (I) processes and threads
ViewPager + RecyclerView的内存泄漏
buuctf-pwn write-ups (9)
Use of print function in MATLAB
Memory leak of viewpager + recyclerview
《力扣刷题计划》复制带随机指针的链表
How to obtain the coordinates of the aircraft passing through both ends of the radar
Penetrate the whole intranet through socks agent
Nacos distributed transactions Seata * * install JDK on Linux, mysql5.7 start Nacos configure ideal call interface coordination (nanny level detail tutorial)