C语言简答题答案

C语言变量的存储特性可分四类:

自动型(auto)、静态型(static)、外部型(extern)和寄存器型(register)。

A uto的特点:

1.auto 类型标识符 变量列表;常常可以缺省auto。

  1. 函数内定义的局部变量、函数的形式参数和函数体内分程序的局部变量.

  2. 随函数的调用而存在,随函数的返回而消失,它们在一次调用结束到下一次调用开始之间不再占有存储空间。

  3. 作用域局限于所定义的函数,其生存期就是函数的生存期,在一个函数中引用另一个函数的自动型变量的值是错误的.

S tatic的特点:

1.局部变量在函数内定义

2.局部变量的生存期虽然为整个源程序,但是其作用域仍域自变量相同

3.允许对构造类静态局部量赋初值

4.对基本类型的静态局部变量若在说明未赋予初值,则系统自动赋予0值

Extern 的特点:

1.外部型变量和全局变量是对同一类变量的两种不同角度的提法.全局变量是从它的作用域提出,外部变量是从它的存储方式提出的,表示它的生存期。

  1. 当一个源程序由若干个源文件组成时,在一个源文件中定义的外部变量在其他的源文件中也有效

R ejister的特点 :

  1. C语言提供的rejister说明符,能够让程序员去指定某个局部自动变量存放在寄存器里而不是内存中,以提高程序的变形速度。

2.现在计算机的运行速度越来越快,性能越来越高,优化的编译系统能够识别频繁使用的变量,自动把其放在寄存器中,而不需要程序员指定。

文件的概念

从广义上来说,文件是指信息输入和输出的对象

文件类型

  1. 根据文件的保存内容,分为程序文件和数据文件
  2. 根据文件袋存储形式,分为文本文件和二进制文件
  3. 根据文件是否使用缓冲区,分为标准文件和非标准文件
  4. 根据文件的存取方式,分为顺序存取文件和直接存取文件

文件指针

系统给每个打开的文件都在内存中开辟一个区域,用于存放文件的有关信息(如文件名,文件位置),这些信息在C语言中保存在一个结构类型变量中,该结构体类型是由系统定义的

文件的操作顺序

  1. 定义文件指针
  2. 打开文件,判断是否成功打开,若打开失败,程序退出运行状态
  3. 对文件进行读写操作
  4. 关闭文件

宏定义

C语言源程序中允许用一个标识符来表示一个较复杂的字符串,称为"宏",被定义为"宏"的标识符称为"宏名".在编译预处理时,对程序中所有出现的"宏名",都用宏定义中的字符串去代换,这称为"宏代换"或"宏展开"。

带参的宏与函数有什么区别

(1)宏定义与宏调用是为了减少书写量和提高运行速度;而函数定义、函数调用是为了实现模块程序设计,便于构造软件。

(2)宏调用展开后的代码是嵌入源程序中的,且每调用一次,嵌入一次代码.因此,宏调用时总的程序代码是增加的;而函数调用是执行时转入对应的函数,执行后返回主调函数,无论调用多少次,函数体的代码都不会增加.所以函数也解决代码重用问题****。****

指针有哪些运算

赋值运算 算术运算 关系运算 sizeof运算

指针编程的优点

  1. 提高程序的编译效率和执行速度
  2. 通过指针可使用主调函数和被调函数之间共享变量或数据结构,便于实现双向数据通信
  3. 可以实现动态的存储分配
  4. 便于表示各种数据结构,编写高质量的程序
相关推荐
鹿角片ljp2 小时前
KV Cache 解析
java·算法
captain3762 小时前
网络原理(9)-数据链路层
java·网络协议·java-ee
free-elcmacom2 小时前
C语言字符指针与字符串字面量——从一道“剑指 Offer”笔试题说起
c语言·visual studio
惊讶的猫2 小时前
意图识别置信度和检索重排的分数
java
caoerzhong3 小时前
仓库管理数字化趋势解读:JeeWMS 开源 Java WMS 视角下的五个演进方向
java·开源
程序员JerrySUN3 小时前
Jetson Edge AI 实战01:Nano、Xavier、Orin 怎么选?Jetson 硬件选型详解【视频讲解】
java·数据库·redis·安全·mybatis
Joy T4 小时前
Spring AI 2.0 Agent 进阶:Memory、State 与 Context Engineering 常见技术全景
java·人工智能·后端·spring·agent入门·agent state
估值探索者4 小时前
【Python量化系统工程化 #08】关了 SSH 就停?systemd 让脚本开机自启 + 异常自动拉起
java·c++·人工智能·分类·数据挖掘
天若有情6734 小时前
C++花式魔改!手写头文件复刻Java语法,彻底打破编码思维定式
java·c++·语言做语言·jac++