转义字符
转变了意思的字符。
常见的有:
\0 ----表示没有内容,用于字符串的结束标志,其ASCII码值为0
\' -----表示字符常量
\" ----表示一个字符串内部的双引号
\\ ----用于表示一个反斜杠,防止被解释为一个转义序列符
\a ----警报
\b ---撤回键,光标撤回一个字符
\f ---换页符,光标移到下一页
\n --换行符
\r ---回车符,光标移动到同一行的开头
\t ---制表符,光标移动到下一个水平制表位,通常是下一个8的倍数
\v ---垂直分隔符,光标移动到下一个垂直制表位,通常是下一行的同一列
\ddd ---d d d表示1~3个八进制的数字,如:\130 表示字符X
\xdd ----d d表示2个十六进制数字,如:\x30 表示字符0
进制换算:
十进制: 1 3 0
8**2 8**1 8**0
八进制: 1*8**2+3*8**1+0*8**0=64+24+0=88
(X的ASCII码值就是88)
十进制: 1 2 3
16**2 16**1 16**0
十六进制:1*16**2+2*16**1+3*16**0=256+32+3=291
strlen
全称string length ,用于表示字符串有效长度的库函数(需要在开头引用string.h头文件)
返回值的类型为size_t,专门用来测长度的。
#include <string.h>
int main()
{
size_t len=strlen("abc");//a b c \0
printf("%d\n",len);
return 0;
}
//输出的值就是3(\0不是有效长度)
#include <string.h>
int main()
{
size_t len=strlen("c:\test\class111\123.c");(\t是一个转义字符,\c不是转义字符但被识别为一个转义字符,\123是一个转义字符)
printf("%d\n",len);
return 0;
}
//输出结果为17
语句和语句分类
c语言是由一条条语句(以;结尾)构成的,共有五类语句:
1.空语句(一个;【这里需要一条语句,但这条语句什么都不用做】)
2.表达式语句
int a=0;
a=2+5;
3.函数调用语句
int ret=Add(2,3)
printf("abc");
4.复合语句(代码块,一堆代码用{ }阔起来的语句)
5.控制语句(用于控制程序的执行流程,以实现各种结构方式)
c语言中有三种结构:
1.顺序结构
2.选择结构
3.循环结构
c语言九种控制语句,可分为三类:
1.条件判断语句,也叫繁殖语句:if语句、switch语句
2.循环执行语句:do while语句、while语句、for语句
3.转向语句:break语句、goto语句、continue语句、return语句
注释
//和/* */
数据类型
1.内置类型:字符
整形
浮点型
布尔类型
2.自定义类型:数组
结构体-struct
枚举-enum
联合体-union
(1)字符:char//相当于signed char (有符号的char)
unsigned char(无符号的char)
(2)整形:
短整型
short [int]
[signed] short [int]
unsigned short [int]
整形
int
[signed] int
unsigned int
长整型
long [int]
[signed] long [int]
unsigned long [int]
更长的整形
long long [int]
[signed] long long [int]
unsigned long long [int]
[ ]中的可省略
(3)浮点型://小数点可浮动
3.14=31.4*10**(-1)=0.314*10**1
1.float(单精度浮点型)
2.double(双精度浮点型)
3.long double
(4)布尔类型:
专门用来表示真假
0表示假,非0表示真
_Bool//需要引用头文件<stdbool.h>
变量的取值是true(1)和false(0)
int main()
{
_Bool flag=true;
if (flag)//如果flag为真
printf("a");
else
printf("b");
return 0;
}
//输出结果为a
signed和unsigned
signed表示该类型带有正负号,包含负值
unsigned表示该类型不带正负号,只能表示0和正整数(好处是同样长度的内存能够表示的最大整数值增大了一倍)