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. 便于表示各种数据结构,编写高质量的程序
相关推荐
WeiLai1112几秒前
面试基础--微服务架构:如何拆分微服务、数据一致性、服务调用
java·分布式·后端·微服务·中间件·面试·架构
Want5952 分钟前
C/C++跳动的爱心
c语言·开发语言·c++
kongba0074 分钟前
Cursor提示词模板,开发GD32,C语言开发GD32 ARM单片机编程规范提示词 大厂风格代码规范
c语言·arm开发·单片机
非 白1 小时前
【Java】单例模式
java·笔记·单例模式
LaoZhangGong1231 小时前
STM32的“Unique device ID“能否修改?
c语言·经验分享·stm32·单片机·嵌入式硬件
IDRSolutions_CN1 小时前
如何在 PDF 文件中嵌入自定义数据
java·经验分享·pdf·软件工程·团队开发
_风中无我。1 小时前
Spring的过滤器获取请求体中JSON参数,同时解决Controller获取不到请求体参数的问题。
java·spring·json
bing_1581 小时前
Spring Boot 中为什么 需要限流、降级和熔断?
java
ccm031 小时前
高效开发助手:深入了解Hutool工具库
java·g工具库
雪落南城2 小时前
【Maven】maven加载不到包
java·maven