C32关键字

分支(5)

  1. if
  2. else
  3. switch
  4. case
  5. default

循环(3)

  1. for
  2. while
  3. do

跳转(4)

  1. return
  2. goto
  3. continue
  4. break

内建(7)

  1. void
  2. int
  3. short
  4. char
  5. long
  6. double
  7. float

自建(4)

  1. struct
  2. union
  3. enum
  4. sizeof

类型限定(9)

  1. auto
  2. const
  3. static
  4. volatile
  5. register
  6. extern
  7. typedef
  8. unsigned
  9. signed

关键字解读

流程控制相关的(12)

分支(5)

if

条件语句,当括号内为真则执行下面语句,为假不执行

 if(条件表达式1){执行语句1:}if(条件表达式2){执行语句2:}

例子 :

if(x>0)
{printf("小于零");
}

else

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

if else
 if(条件表达式)
{执行语句1;
}
else  //else 否则的意思。
{执行语句2;
}

例子:

if(x>0)
{printf("小于0");
}
else
{printf("大于等于0");
}
else if
if(条件表达式)
{执行语句1;
}
else if (条件表达式)
{执行语句2;
}
……
else
{执行语句n;
}

例子 :

if(x>0)
{printf("小于0");
}
else if(x==0)
{printf("等于0");
}
else
{printf("大于0");
}

switch(用于开关语句 )

case(用于开关语句 )

default(用于开关语句 )

switch case default break一般一起出现
若语句后不加break;则会输出一堆。下面有例子

   switch(n)//n可以是数值、表达式,运算结果必须是整数{case val: //val必须是常量...break;//关闭执行开关,如果每个case后面都有一个break,形成了分支结构default: //如果每个case都没打开,则打开该执行开关,而且任何位置都最后生效}

举例子:输入一个整数 1输出haha 2输出xixi 其他情况都输出 hehe
若都不加break的话,输入1的时候,会输出 hahaxixihehe

#include <stdio.h>
int main()
{int a;scanf("%d",&a);switch(a)case 1:    printf("haha"); break;case 2:     printf("xixi");break;default:     printf("hehe");break;
}

跳转(4)

break

结束跳出循环作用

例子: 当i等于5的时候结束了循环

int i;
for(i=0;i<10;i++)
{if(5==i)break;
}
printf("%d",i);

continue

结束当前这一次循环 ,进入下一次循环
例子: 正常s等于10 但因为在i等于5的时候遇到了continue 后面语句不执行了 少+了一次 最后等于9

int i,s=0;
for(i=0;i<10;i++)
{if(5==i)continue;s++;
}
printf("%d",s);

goto

无条件跳转语句 ,可以实现在函数内任意跳转 ,但不建议使用。 太灵活了,导致别人很难理解代码,且出错了很难找到。
但是它在驱动编程时特别适合处理异常。
例子 : 跳到 haha :位置执行语句 下面是个死循环

标签名: 语句;goto 标签名;

例子:

haha: i++;
goto haha;

return

  1. 返回一个数据给函数的调用者
  2. 结束函数的执行
函数返回值为0
return 0
main函数内 遇到则结束

循环(3)

for

for(表达式1;表达式2;表达式3){语句块4;}
执行过程为 1 2 4 3 2 4 3 2 .... 当2为假时结束
表达式1:初始化循环因子,最早被执行,只执行一次表达式2:判断,每次进入循环前都要进行判断,每次都执行表达式3:步进,修改循环因子的值(在执行完语句块1后才执行),每次都执行表达式4:执行0次或以上

例子 :

for(;;)  //死循环
for(int i=0;i<100;i++)//循环100次

while

所有的for循环都可以用while来表示,看习惯使用

while(表达式1){表达式2;}表达式1:判断,每次进入循环前都要进行判断,每次都执行表达式2:相较于for循环中的语句块1增加了步进即修改循环因子的值,执行0次或以上循环因子的初始化在while循环前

例子:

while(1) //死循环int i=100 //循环100次
while(i--)
{}

do

与while 配合使用
先执行循环体,再判断循环条件,该循环体至少执行一次, 适合先干活,后检查的情况

do{表达式2;}while(表达式1);
表达式1:判断,每次进入循环前都要进行判断,每次都执行表达式2:相较于for循环中的语句块1增加了步进即修改循环i因子的值,相较于while循环中的表达式1执行次数变为1次或以上循环因子的初始化在while循环前

例子 :虽然 一开始就不小于0 但还是要先进一次循环后在判断条件 最后输出的i等于1

int i=0;
do
{i++;
}
while(i<0);
printf("%d",i);

数据类型相关的(20)

类型限定符(9)

auto

声明自动变量
现在不加就等于加了,加了反而容易出错。
在C11标准中 :auto给了新功能,自动识别变量类型
例子 :

int a=2;
double b=3.14;
-----等价-------
auto a=2;
auto b=3.14;

const

防止变量被显示的修改,使用const关键字修饰的变量,一定要对变量进行初始化
例子 :下面就会报错

const int a=10;
a=100;

例子2:隐式修改可以,虽然有警告还是修改成功了。

#include <stdio.h>
int main(int argc,const char* argv[])
{const int a=10;int* q=&a;*q=100;printf("%d",a);
}
------------------------------
1.c: 在函数‘main’中:
1.c:6:9: 警告: initialization discards ‘const’ qualifier from pointer target type [默认启用]
100
请按 ENTER 或其它命令继续

static

  1. 改变储存位置:
    改变局部变量的储存位置,由stack改为data或者bss
  2. 延长生命周期:
    延长局部变量的生命周期。
  3. 限制作用范围:
    限制全局变量、函数只能在本文件中使用
    可以防止全局变量、函数命名冲突,或者也可以防止别人调用
#include <stdio.h>
static int j;
void f(void)
{static int i=0;i++;printf("i=%d ",i);
}
void g(void)
{j=0;j++;printf("j=%d\n",j);
}
int main(int argc,const char* argv[])
{for(int k=0;k<10;k++){   f();g();}
}
-------------------------------
i=1 j=1
i=2 j=1
i=3 j=1
i=4 j=1
i=5 j=1
i=6 j=1
i=7 j=1
i=8 j=1
i=9 j=1
i=10 j=1请按 ENTER 或其它命令继续

volatile

如果变量值没有被显示地修改,在使用这个变量时不会每次都从内存中读取,而会继续使用上一次读取的结果
如果使用volatile修饰后的变量,每次使用该变量时,都会从内存读取一次。
一般用于硬件编程或者多线程编程
例子 :不一定永远相等

volatile int num = 10;
if(num == num)
{}

register

申请把变量的储存介质由内存改寄存器,可以大大提升运算速度,但是由于寄存器数量有限,申请不一定成功。(编译器可能会根据实际情况忽略这个请求)

register int a = 0;

extern

声明变量,意识是声明此变量已经在别处定义了,请放心使用
只是临时让编译能够通过,链接时如果找不到依然报错
声明外部变量时,不可以赋值

extern   int teacher_i;//老师总数

typedef

类型重定义,定义变量时如果前面加入typedef那么变量名就变成了这种类型(注意:不是替换关系)

1. typedef int num;   类型重定义
2. #define num int  替换

unsigned

无符号类型

unsigned char a;  //这时候a的范围是0-255
char a;      //范围是-128 - 127

signed

有符号类型
默认就是有符号的,不需要写。

signed char a;
signed int a;

内建类型(7)

void

void最常见的用法,就是在函数中限定函数的参数和返回值的 void draw(void); 表明函数draw没有参数也没有返回值 。
void* 类型后面才学 跟函数回调有关

char

类型 字节 范围
signed char 1 -128~127
unsigned char 1 0- 255

short

类型 字节 范围
signed short 2 -32768~-32767
unsigned short 2 0~65535

int

类型 字节 范围
signed int 4 正负20亿
unsigned int 4 正40亿

long

类型 字节
signed long 4/8
unsigned long 4/8

float

类型 字节
float 4

double

类型 字节
double 8

自建类型(4)

struct(结构)

结构(struct)联合(union)枚举(enum)

  struct 结构名 { 类型  变量名; 类型  变量名; ... } 结构变量;

union(联合)

结构(struct)联合(union)枚举(enum)

enum(枚举)

结构(struct)联合(union)枚举(enum)

sizeof

求字节数,用到的地方很多,很实用的一个关键字

 printf("%d",sizeof(long));

C语言的32个关键字(简单介绍加解析方便记忆)相关推荐

  1. c语言关键字中文意思,C语言的32个关键字是什么意思啊

    C语言的32个关键字是什么意思啊 32个关键字是什么意思有谁知道的要简洁一点的 更新时间:2019-06-03 22:54 最满意答案 1. 数据类型关键字(12个): (1). char :声明字符 ...

  2. sqlite 无符号32_C语言的32个关键字

    图控大叔 构图传递思想 阅读从未如此简单!!! 01 前言 今天对C语言的32个关键字做一下分类整理. 02 具体内容 对C语言的32个关键字做分类,一共可以分成四大类.如下: 具体分类如下: 数据类 ...

  3. c语言 json 请求_JSON的简单介绍以及C语言的JSON库使用

    JSON概述 JSON: JavaScript 对象表示法( JavaScript Object Notation) .是一种轻量级的数据交换格式. 它基于ECMAScript的一个子集. JSON采 ...

  4. C语言的32个关键字

    C语言的关键字共有32个,根据关键字的作用,可分其为数据类型关键字.控制语句关键字.存储类型关键字和其它关键字四类. 1 数据类型关键字(12个): (1) char :声明字符型变量或函数 (2) ...

  5. C 语言的32 个关键字意义

    2019独角兽企业重金招聘Python工程师标准>>> 01 auto 声明自动变量,缺省时编译器一般默认为auto 02 int 声明整型变量 03 double 声明双精度变量 ...

  6. C语言——函数和数组的简单介绍

    本人声明:小编是一个刚学c语言不久的小白,想要写博客来加深对知识的理解,如果有写得不对或者不好的地方请各位大佬多多指教! 目录 (1)函数的概念 (2)函数的定义 (3)函数的调用 (4)使用函数和不 ...

  7. c语言while的读音,C语言的32个关键字(读音、用法、注释)转来的,给刚接触C的...

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 一.数据类型关键字(12个): 1.char [tʃɑ:]:声明字符型变量或函数 (1)主要内容字符:容纳单字符的一种基本数据类型:(2)n.炭:女清洁工 ...

  8. C语言之32个关键字

    数据类型关键字(12个)   char:声明字符型变量或函数   int:声明整型变量或函数   short:声明短整型变量或函数   long:声明长整型变量或函数   float:声明浮点型变量或 ...

  9. c语言读音,C语言的32个关键字(读音、用法、注释)转来的,给刚接触C的

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 一.数据类型关键字(12个): 1.char [tʃɑ:]:声明字符型变量或函数 (1)主要内容字符:容纳单字符的一种基本数据类型:(2)n.炭:女清洁工 ...

  10. c语言变量名拼音,C语言的32个关键字(读音、用法、注释)转来的,给刚接触C的...

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 一.数据类型关键字(12个): 1.char [tʃɑ:]:声明字符型变量或函数 (1)主要内容字符:容纳单字符的一种基本数据类型:(2)n.炭:女清洁工 ...

最新文章

  1. 【从零开始的ROS四轴机械臂控制】(一)- 实际模型制作、Solidworks文件转urdf与rviz仿真
  2. 10个你必须知道的ios框架
  3. mysql safe 关闭_新手请教,mysqld经常自动关闭是什么原因?-问答-阿里云开发者社区-阿里云...
  4. 赛思信安携手太极 助力《甘肃省公安厅大数据警务云》项目
  5. spring基于注解的声明式事务控制
  6. 前端开发 使用html写一个博客 基本标签的体验 0226
  7. 笔记本卡顿不流畅是什么原因_为什么越来越多的笔记本电池不可拆卸
  8. apollo动态切换mysql数据源_log4j2从Apollo初始化配置并可动态变更
  9. SSM框架-添加信息及图片上传到本地MultipartResolver-foreknow_cms
  10. postman 配置统一的ip地址
  11. ArcGIS中GWR模型的构建
  12. 计算机维吾尔语键盘用法,超实用丨手机电脑如何安装、使用维吾尔语输入法
  13. 【转】只有运用你的逻辑才能看懂其中的恐怖
  14. SonarQube代码审查工具
  15. 文本分类(2)-基于传统机器学习方法进行文本分类
  16. MT6573 android 系统默认语言处理流程
  17. 图像处理的Alpha通道
  18. EXCEL中怎样能复制公式得来的数据(选择性粘贴)
  19. java操作word替换文字和在固定位置插入表格
  20. VMware虚拟机下载及安装 (新手教程)

热门文章

  1. java nio web,JavaWeb之三——网络IO和NIO
  2. 学生管理系统java源代码_java学生管理系统源代码
  3. Java后台快速开发框架
  4. 仿英雄联盟网页HTML代码 学生网页设计与制作期末作业下载 大学生网页设计与制作成品下载 DW游戏介绍网页作业代码下载
  5. 开启3389的方法记录
  6. Java JDK下载安装及环境配置超详细图文教程
  7. java 实现base64编码的三种方式、各方式性能比较、最后给出最优工具类 小白实操记录
  8. Android实战开发-Kotlin教程(入门篇 1.0)
  9. Oracle 11g数据库基础教程(第2版)-课后习题-第六章
  10. excel 第20讲:图表基础