C语言语法知识点
数据类型
基本数据类型
类型名称说明char字符类型存放字符的ascii码int整型存放有符号整数short短整型存放有符号整数long长整型存放有符号整数long long存放有符号整数float单精度浮点型存放精度不高的小数double双精度浮点型存放精度较高的小数
- 除了这些基本数据类型之外,还有一些复合类型,后面会慢慢讲到.
- 表格中最常用到的四种类型是 char int float 和double.
类型介绍
根据存放类型的不同,可以大致分为字符型,整型和浮点型
- 整型
- 存放整数的类型 比如0 1 2 3 4这种自然数或者负数都可以用整型存放
类型大小范围说明
int4-231~231-1
short2-215~215
short(int) 短整型
long4-231~231-1long (int) 长整型,规定范围不得低于int
long long8-263~263-1不低于long类型
- 整型数据需要注意的是 整型数据之间的运算只会得到整型,也就是类似3除以4这种操作得到的不是0.75,而是0
- 字符类型
- 字符类型是一种比较特殊的整型,本质上存放的仍然是整数,因此可以和整数一样参与各种计算
类型大小范围说明char1-1281270127每个数字代表一个字符,但是不是所有的字符都是可打印字符
- ascii码表,字符类型不需要记这个表格,需要的时候可以查表
- 浮点型/实型
- 浮点型指的是小数类型,为什么叫浮点型,参考浮点数二进制计算时候小数点的移动
类型大小范围说明float4-3.4e383.4e38**单精度浮点型,精确到小数点67位double8-1.7e3081.7e308**双精度浮点型,精确到小数点后面1617位
- float内存占用更小,运算速度更高.double类型占用内存大,运算较慢,但是精度更高
变量定义和命名规范
- 变量和常量
- c语言中将在代码中不能变的量称之为变量,不可变的量称之为常量
- 比如圆周率这种就是常量,关注人数就是变量
- 定义变量
- 类型规定了数据存放和使用的方式,现在有一个数据如果要存放的话,就需要用到变量
//定义变量的格式 类型 变量名; int a;
- 上面代码定义了一个int类型的变量a 这个变量可以在后面赋值,计算,或者显示到屏幕上
- 命名规范
- 只能由数字,下划线,字母,美元符号组成
- 不可以是数字开头
- 不可以和关键字冲突
有一些名字拿去做其他作用,比如int 代表整型,这些就称之为关键字
- 命名方式 驼峰命名法
每个变量名由若干个单词组成,除了第一个单词之外,其余单词首字母全部大写.单词可以是缩写。比如 mcisendstring
基本输入输出
- 输入输出函数
- printf用于将指定的内容以特定格式输出到屏幕
- scanf用于获取用户输入的内容
- 格式说明
格式占位符作用%d有符号10进制整型%c字符类型%f单精度浮点型%lf双精度浮点型%s字符数组类型%o无符号8进制整型%x无符号16进制整型
- 输出格式
- printf("格式占位符",变量);
- 输入格式
- scanf("格式占位符",&变量);
分支
分支语句
c语言的分支结构主要有if和switch
- if
- 基本格式
if(条件) { //语句1 } else { //语句2; } //如果条件满足 执行语句1,如果条件不满足 执行语句2
- 需要注意的事情
- 条件可以用一个数字作为条件,判断真假按照 0为假以非0为真的规则
- 写条件的时候注意=和==是不同的运算符 不要弄混
- 如果条件比较复杂 建议拆成多句,if里面的条件不宜太长,方便阅读
- 在if后面不要加分号
- else部分如果不需要可以不写
- 如果是if-else嵌套,比如
if(条件1){ 语句1; } else if(条件2) { 语句2; } … else { 语句n; }
-
- 当第一个条件不成立的时候才判断条件2
- if后面的{}中如果只有一个语句(用分号结尾的语句或者其他if语句都可以),那么可以省略掉{},else并不是必要的,如果else的{}中没有内容 可以不要else
- switch
- 基本格式
switch(变量) { case 情况1: 语句1; break case 情况2: 语句2; break; //... default: break; }
- 注意事项
-
sw itch的case后面只能接整型或者字符型的常量表达式,不可以是小数或者字符
-
sw itch每个case后面都有一个break
-
default语句如果不需要可以不要
-
对比
- if适应于任何分支情况,三目运算符适合一些比较简单的分支,switch适合可以一一列举所有可能情况的时候
- 如果是一个范围的话用if比较容易表示,但是如果是单个单个能列举的值,用switch比较简介,比如游戏操作的wasd方向键,菜单的几个功能都可以用switch
循环
循环作用
- 多次执行的语句就可以使用循环
比如游戏的操作和贴图,这些都是要多次执行的,就会用到循环
- 分支只会执行一次,但是循环可能会执行多次(会搭配使用)
三大循环语句
- while循环
- 基本格式
while(条件) { 语句; //循环{}中语句称之为循环体 } //执行顺序 先判断条件 条件满足执行循环体,不满足直接退出
- 说明
当条件满足的时候执行循环体,执行之后再去判断条件,条件不满足的时候退出
//打印ascii码表中的所有字符 int i=0; while(i<128) { printf("%c\t",i++); } //同一个代码可以有多种不同的写法 熟练使用其中一个循环就好了
- 注意事项
-
w hile循环不要加分号
-
w hile循环体只有一句的时候可以省略{} 但是不要省略
-
如果条件满足则会一直进行循环,不满足就会退出循环,所以w hile可能一次都不执行
-
for循环
- 基本格式
for(初始化1;条件2;自增自减3) { 循环体4; } //为了描述方便 给每个语句都加了一个编号 //执行顺序 先执行初始化语句1,然后判断条件2,条件成立执行循环体4,不成立跳出循环. //循环体执行完毕之后,执行自增语句3 然后判断条件 开始下一轮循环 //简记 1243 243 243
- 说明
for循环类似w hile循环 同样是先判断然后执行循环体的,不过for的语法比较简单并且相对于w hile更不易写错,所以可以先从for循环开始熟悉
- 注意事项
-
for循环中的两个分号必不可少,其余的部分都可以不要,但是分号必不可少
-
for循环外面不要加分号!!!! 画重点 if w hile for一般都不要加分号
-
do while循环
- 基本格式
do { //循环体; }while(条件); //;不能少 //do while循环的特点是先执行循环体然后判断条件,如果条件成立进行下一轮循环 //do while的循环体必定会执行一次
- 说明
do w hile循环条件放在后面,先执行然后判断,如果条件不成立会退出,不然会继续循环
-
特别说明
-
- 条件一直为真的循环称之为死循环,常用的有w hile(1) 或者for(;
上一篇: 快速向表插入大量数据
下一篇: canvas实现验证码