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. 便于表示各种数据结构,编写高质量的程序
相关推荐
小萌新上大分11 分钟前
SpringCloudGateWay
java·开发语言·后端·springcloud·springgateway·cloudalibaba·gateway网关
直视太阳1 小时前
springboot+easyexcel实现下载excels模板下拉选择
java·spring boot·后端
24白菜头1 小时前
C和C++(list)的链表初步
c语言·数据结构·c++·笔记·算法·链表
Code成立1 小时前
《深入理解Java虚拟机:JVM高级特性与最佳实践(第3版)》第2章 Java内存区域与内存溢出异常
java·jvm·jvm内存模型·jvm内存区域
一 乐2 小时前
实验室预约|实验室预约小程序|基于Java+vue微信小程序的实验室预约管理系统设计与实现(源码+数据库+文档)
java·数据库·微信小程序·小程序·毕业设计·论文·实验室预约小程序
程序媛学姐2 小时前
SpringRabbitMQ消息模型:交换机类型与绑定关系
java·开发语言·spring
努力努力再努力wz2 小时前
【c++深入系列】:类与对象详解(中)
java·c语言·开发语言·c++·redis
兰亭序咖啡2 小时前
学透Spring Boot — 009. Spring Boot的四种 Http 客户端
java·spring boot·后端
独行soc2 小时前
2025年渗透测试面试题总结- 某四字大厂面试复盘扩展 一面(题目+回答)
java·数据库·python·安全·面试·职场和发展·汽车
早上好啊! 树哥2 小时前
常见的文件加密方式之【异或加密】,代入原理看例子,帮助更好的理解。
android·java·junit