1 字符和ASCII编码
字符:能在键盘上敲出来的字母、数字、字和符号。eg:a,b,w,#,@。在C语言中字符是被单引号括起来的。用%c来指定打印字符。
ASCII编码:C语言字符遵循的编码方式。字符在计算机中以二进制形式存储,为了规范二进制和字符之间的对应关系,美国国家标准协会出台的标准。
可以用ASCII打印字符
int main()
{
printf("%c\n", 'Q');
printf("%c\n", 81);//这里的81是Q对应的ASCII编码值
return 0;
}
用ASCII打印可打印字符
int main()
{
int num = 0;
for (num = 32; num <= 127; num++)
{
printf("%c",num);
if (num % 16 == 15)
{
printf("\n");
}
}
return 0;
}
2 字符串和\0
字符串:数字、字母、下划线组成的一串字符,一般用双引号括起来。C语言中也可以把一个字符串放在一个字符数组中,但也需要用双引号括起来。eg:"abhydjawbc"。在字符串的结尾有一个转义字符"\0 ",这是字符串结束的标志,所有在使用printf()打印字符,strlen()计算字符长度时,遇到\0会自动停止。
字符串的打印格式用%s来指定,也可以直接打印:
int main()
{
printf("%s\n", "hello world");
printf("hello world");
return 0;
}
我们可以用下面代码验证"\0"的功能
int main()
{
char arr1[] = { 'a', 'b', 'c' };//数组中存放三个字符
char arr2[] = "abc";//数组中存放字符串
printf("%s\n", arr1);
printf("%s\n", arr2);
return 0;
}
运行结果为:abc烫烫烫烫烫烫烫烫烫烫烫烫烫烫蘟bc
abc。在这里可以发现,在打印arr1时会有一些随机值,因为在末尾没有\0作为结束标志,在"abc"打印完成后,计算机会继续向后打印,直到在某个位置遇到"\0"才停止打印。arr2中,隐藏着"\0",可以正常打印。如果使arr1可以正常打印,则需要人为的在arr1数组中单独的放一个"\0"。
3 转义字符
转义字符:转变原来意思的字符。“\”像一个滑铲,一个滑铲,把人由站立状体变成横躺状态,改变了他的姿势。
- \?:在以前的编译器中,连续写多个问号会被解析成三字母词。eg:“??)”会被解析成“】”
- \':在C语言中,两个'构成一个字符,使用printf时不能单独打印',此时需要转义字符\转义。
- \":与“\'”类似,用于表示一个字符串内部的双引号。
- \\:转义转义字符,转义字符变为普通的反斜杠,不会被解释为转义字符序列号。
- \b:退格,光标退回一个字符,但不删除字符,退回后再继续打印时会覆盖原先位置的字符。
- \n:换行符。
- \r:回车符,光标移到同一行的开头。继续打印时会覆盖原先的字符。
- \t:制表符,光标移到下一个水平制表位,通常是8的倍数
- \v:垂直分隔符,光标移到下一个垂直制表位。
- \ddd:ddd表示1~3个八进制数,eg:\130表示字符X。
- \xdd:dd表示两个十六进制数字,eg:\x30表示字符0。
4 语句和分类
C语言中语句可五类:空语句,表达式语句,函数调用语句,符合语句,控制语句
4.1 空语句
空语句:需要一条语句,但不需要做任何事情。一个分号就是一个空语句。
int main()
{
;//空语句
return 0;
}
4.2 表达式语句
表达式语句:在表达式后面加分号的语句。
int main()
{
int a = 10, b = 20;
b = a + 9;
printf("%d\n", b);//表达式语句
return 0;
}
4.3 函数调用语句
函数调用语句:函数调用时也会加上分号。
int Add(int x, int y)
{
return x + y;
}
int main()
{
printf("hello\n");//函数调用语句
int ret = Add(2, 3);//函数调用语句
return 0;
}
4.4 复合语句
复合语句:成对括号中的代码构成的代码块。
void print(int arr[], int sz)//函数大括号中的代码也构成复合语句
{
int i = 0;
for (i = 0; i < sz; i++)
{
printf("%d\n", arr[i]);
}
}
int main()
{
int i = 0;
int arr[10] = { 0 };
for (i = 0; i < 10; i++)//for循环体的大括号中也是复合语句
{
arr[i] = 10 - i;
printf("%d\n", arr[i]);
}
return 0;
}
4.5 控制语句
控制语句:控制程序执行流程,包括顺序结构、选择结构、循环结构。C语言中有9中控制语句,可分为三类
条件判断语句:if语句,switch语句。
循环执行语句:do while语句,while语句,for语句。
转向语句:break语句,goto语句,continue语句,return语句。