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. 便于表示各种数据结构,编写高质量的程序
相关推荐
likerhood5 分钟前
java中的return this、链式编程和Builder模式
java·开发语言
spring2997926 分钟前
Spring Boot 实战篇(四):实现用户登录与注册功能
java·spring boot·后端
2401_835956819 分钟前
Golang怎么做代码热更新_Golang热更新教程【精通】
jvm·数据库·python
justjinji12 分钟前
如何解决Oracle JDBC驱动版本的兼容性问题_ojdbc8.jar与JDK版本的对应关系
jvm·数据库·python
程序猿编码13 分钟前
给Linux程序穿“隐身衣”——ELF运行时加密器全解析(C/C++代码实现)
linux·c语言·c++·网络安全·elf·内存安全
2301_7775993724 分钟前
CSS中如何让浮动元素撑开父容器_深度解析清除浮动
jvm·数据库·python
Goway_Hui26 分钟前
【ReactNative鸿蒙化-三方库使用与C-API集成】
c语言·react native·harmonyos
2401_8716965227 分钟前
c++如何将程序的私有配置信息加密保存为.enc格式的二进制文件【详解】
jvm·数据库·python
2301_7751481528 分钟前
Redis如何管理高频写入下的AOF文件膨胀_通过调低auto-aof-rewrite-percentage提速重写
jvm·数据库·python
weixin_4249993630 分钟前
c++如何利用内存映射读取超大文件_CreateFileMapping与mmap【进阶】
jvm·数据库·python