一、前言
- 本人是一名小白,这一篇是记录我初识C语言的第四部分的所学所得,仅为简单的认识下C语言中的各个知识。
二、常见关键字
1、关键字列举
auto break case char const continue default do double else enum
extern float for goto if int long register return short signed
sizeof static struct switch typedef union unsigned void volatile while
- C语言提供了丰富的关键字,这些关键字都是语言本身预先设定好的,用户自己是不能创造关键字的。
2、分类
- C语言关键字共有32个,根据用途,可分为四类。
1、变量数据类型关键字(14个)
char | char 单字节整型数或字符型数据 |
---|---|
short | 短整型数 |
int | 基本整型数 |
long | 长整型数 |
float | 单精度浮点型数 |
double | 双精度浮点型数 |
signed | 有符号数(二进制数据的最高位为符号位,最高位是1为负数,最高位是0为正数) |
unsigned | 无符号数 |
void | 无数据类型、空数据类型 |
volatile | 该变量在程序执行中可被隐含的改变 |
typedef | 重新进行数据类型定义 |
struct | 结构数据类型 |
enum | 枚举数据类型 |
2、9条基本语句用到的关键字(12个)
if | 构成选择语句 |
---|---|
else | 构成选择语句 |
switch | 构成选择语句 |
case | 构成选择语句 |
break | 跳出最内层循环 |
default | 构成选择语句 |
for | 构成选择语句 |
do | 构成循环语句 |
while | 构成循环语句 |
continue | 转向下一次循环 |
goto | 无条件转移语句 |
return | 函数返回 |
3、存储类型关键字(5个)
const | 在程序执行过程中不可更改的常量值 |
---|---|
extern | 在其它程序模块中说明了的全局变量 |
static | 静态变量 |
register | 使用CPU内部寄存器的变量 |
auto | 一般在代码块中定义的变量,即局部变量,默认都是auto修饰的,不过一般省略 |
4、运算符关键字(1个)
sizeof | 运算符,计算表达式或数据类型占用的,内存的字节数。 |
---|
3、举例介绍
1、register----寄存器
- 使用CPU内部寄存器的变量
1、计算机上,数据可以存储在哪里呢?
1.寄存器( 字节)
2.高速缓存( M)
3.内存(16G等)
4.硬盘(500G)
5.网盘( T)
- 以上从下数度越快,造价越高,空间越小。
- 以上存储的数据由CPU(中央处理器,central processing unit,简称CPU,作为计算机系统的运算和控制核心,是信息处理、程序运行的最终执行单元)进行处理运算。寄存器是有限存储容量的高速存储部件,它们可用来暂存指令、数据和位址。
2、能不能把创建的变量放到寄存器里面呢?
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
int main()
{
//建议的作用,a存储在什么地方,还是取决于编译器
//不加register,也可能会存储在寄存器
//提高工作效率
register int a = 0;
return 0;
}
2、typedef
1、定义
顾名思义是类型定义,这里应该理解为类型重命名。
2、作用
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
typedef unsigned int unt;
//unt便成为unsigned int的别名
int main()
{
//定义一个无符号的整形
unsigned int a = 10;
unt b = 20;//相当于unsigned int b = 20;
//a,b这两个的变量类型一样
return 0;
}
3、static(静态的)
1、作用
- 在C语言中:
static是用来修饰变量和函数的
- 修饰局部变量-称为静态局部变量
- 修饰全局变量-称为静态全局变量
- 修饰函数-称为静态函数
2、用法
1、修饰局部变量-称为静态局部变量
先观察下面这段代码
//void中文翻译为“无类型”。常用在程序编写中对定义函数的参数类型、返回值、函数中指针类型进行声明。
//void的字面意思是“无类型”,void* 则为“无类型指针”,void* 可以指向任何类型的数据。
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
void test()
{
int a = 0;
a++;
printf("%d\n", a);
}
int main()
{
int i = 0;
while (i < 10)
{
test();
i++;
}
return 0