23/2/28学习记录(C语言复习-1)

投递华为od已通过机试、性格测试,明天准备hr面试,现在准备技术面试

1. 关键字。 这些保留字不能作为常量名、变量名或其他标识符名称。

auto

声明自动变量 (局部变量)

break

跳出当前循环

case

开关语句分支

char

声明字符型变量或函数返回值类型

const

定义常量,如果一个变量被 const 修饰,那么它的值就不能再被改变

continue

结束当前循环,开始下一轮循环

default

开关语句中的"其它"分支

do

循环语句的循环体

double

声明双精度浮点型变量或函数返回值类型

else

条件语句否定分支(与 if 连用)

enum

声明枚举类型

extern

声明变量或函数是在其它文件或本文件的其他位置定义

float

声明浮点型变量或函数返回值类型

for

一种循环语句

goto

无条件跳转语句

if

条件语句

int

声明整型变量或函数

inline(c++)

内联函数,把函数展开,把函数代码复制到调用的地方从而直接执行代码,不用跳转、压栈,节省时间内联函数相当与C语言中的#define宏定义中的带参数定义。内联是以代码复制为代价,仅仅省去了函数调用的开销,从而提高函数的执行效率。

long

声明长整型变量或函数返回值类型

register

声明寄存器变量 (请求编译器把这个修饰的变量尽可能放在cpu内部寄存器中,减少CPU到内存中抓取数据的次数,从而提高程序的执行效率。)

return

子程序返回语句(可以带参数,也可不带参数)

short

声明短整型变量或函数

signed

声明有符号类型变量或函数

sizeof

计算数据类型或变量长度(即所占字节数)

static

声明静态变量

struct

声明结构体类型

switch

用于开关语句

typedef

用以给数据类型取别名

unsigned

声明无符号类型变量或函数

union

声明共用体类型

void

声明函数无返回值或无参数,声明无类型指针

volatile

说明变量在程序执行中可被隐含地改变

while

循环语句的循环条件

注意:volatile关键字

基本概念:因为访问寄存器要比访问内存单元快的多,所以编译器可能会优化读取和存储,暂时使用寄存器中的值,当要求使用volatile声明变量值的时候,系统总是重新从它所在的内存读取数据,忽略优化。保证精确度。提醒编译器它后面所定义的变量随时都有可能改变。

使用场景:1. 并行设备的硬件寄存器(如:状态寄存器PC)比如I/O端口,我们会去操作映射到对应IO端口的寄存器。判断寄存器的值,加上volatile关键字;2. 在中断服务函数中修改全局变量。3. 在多线程中修改全局变量。

static关键字

  static 关键字不仅可以用来修饰变量,还可以用来修饰函数。在使用 static 关键字修饰变量时,我们称此变量为静态变量。静态变量的存储方式与全局变量一样,都是静态存储方式。但这里需要特别说明的是,静态变量属于静态存储方式,属于静态存储方式的变量却不一定就是静态变量。例如,全局变量虽然属于静态存储方式,但并不是静态变量,它必须由static加以定义后才能成为静态全局变量。  

1.隐藏与隔离 全局变量的作用域是整个源程序,当一个源程序由多个源文件组成时,全局变量在各个源文件中都是有效的。加上static关键字后,就限定在避免在其它的源文件中引起错误。

2.保存变量内容的持久性 希望函数中局部变量的值在函数调用结束之后不会消失,因此对局部变量加上static修饰后,存储就从栈区移到静态存储区。需要保留函数上一次调用结束时的值。如果初始化后,变量只会被引用而不会改变其值,则这时用静态局部变量比较方便,以免每次调用时重新赋值。

3.默认初始化 初始化为0。在C语言中,静态变量,即全局变量和static变量,是在程序运行前创建的,其中已初始化的全局变量和static变量在编译阶段就完成了,初始值就已经保存在磁盘的.data段了,进程加载时将其映射到内存空间即可;未初始化的全局变量需要进程加载时真正的为.bss段分配内存空间,并赋值为0。静态变量的创建和初始化都是在运行前完成的。

  修饰函数时 函数的定义和声明默认情况下是extern的,但静态函数只是在声明他的文件当中可见,不能被其他文件所用。好处:其他文件中可以定义相同名字的函数,不会发生冲突;静态函数不能被其他文件所用。

空格 在 C 中,空格用于描述空白符、制表符、换行符和注释。空格分隔语句的各个部分,让编译器能识别语句中的某个元素(比如 int)在哪里结束,下一个元素在哪里开始。

c编程学习记录 文章被收录于专栏

为了华为od机试刷题学习记录

全部评论
厉害了大佬
点赞
送花
回复
分享
发布于 2023-03-02 13:12 江苏
请问性格测试难吗?
点赞
送花
回复
分享
发布于 2023-03-02 14:09 黑龙江
秋招专场
校招火热招聘中
官网直投
兄弟准备机试刷了多少题
点赞
送花
回复
分享
发布于 2023-03-08 18:52 贵州

相关推荐

点赞 评论 收藏
转发
2 15 评论
分享
牛客网
牛客企业服务