字符串: 默认以\0
结尾(占一个字节)。
在c语言中使用字符串,有两种方式,借用指针和数组。必须注意到的就是,这样的字符串“”
中,自带有结束符\0
,而在{}
中定义的无\0
,必须自己写上。如果未写上了,在进行字符串相关的操作就会出错。如计算一个字符串的长度:
int main()
{
char arr[] = { 'b','i','t' };
printf("字符串长度为:%d\n", strlen(arr));
}
输出结果为:
很明显就能看到出错了,strlen计算字符长度会在遇到\0
停止。
加上结束标志符\0
,结果为:
转义字符: \
表示转义,它对特殊字符的转义可转为字符常量,比如对“
和’
的转义。对字符常量可转义为特殊字符。
一般比较常用的转义字符有:
\? //在书写连续多个问号时使用,防止被解析成三字母词
\' //表示字符常量 '
\" //用于表示一个字符串内部的双引号
\\ //表示一个\,防止被解释为一个转义序列符
\a //警告字符,蜂鸣
\b //退格符,输入当前的值再将其消掉
\f //进纸符,将当前位置移到下一页的开头
\n //换行
\r //回车,将当前位置移到本行的开头
\t //水平制表符,将当前位置移到下一个tab位置
\v //垂直制表符
\ddd //dd表示1~3个八进制数字
\xdd //表示两个16进制数字
注释: 两种方法:①在每行前面加//(单行)
。②使用/* 语句块(多行) */
,但次方法有一个缺点,不能嵌套注释。如:
/*printf("3.27日晚");
/*printf("3.27日晚");*/
printf("3.27日晚");
printf("3.27日晚");
printf("3.27日晚");
printf("3.27日晚"); */
快捷指令:加注释:ctrl+k+c。去注释:ctrl+k+u。
选择语句: if(支持嵌套)。c语言当中一般将非0视为真,0为假。
选择语句中为什么要把常量放在左边?
将常量放在左边可以很好的避免,因漏写=
时,此分支就会一直执行,且不会报错,不容易发现。将常量放在左边,程序执行时就会报错。
循环语句: 循环有三大条件:
- 循环条件初始化。
- 循环条件的判定。
- 循环条件的更新。
while
{
}
for(; ;)
do {
}while
最后一种循环和前两种的区别为 :先执行,再判定。
两重定义:一般在函数内部定义两次同一变量就会报错。但只在本结构or循环里面重定义的就不会报错。并且它们不是同一变量。例:
int i = 10;
printf("1: %p\n", &i);
for (int i = 0; i < 1; i++)
{
printf("2: %p\n", &i);
}
结果为:
函数:函数是面向过程编写的最重要的语法结构。
为什么要用函数呢?
- 更具结构性。逻辑清楚,易懂。
- 代码的可维护性强。
函数的组成有:
- 返回值(可看是否调用成功)
- 函数值(见名知意,必须清楚此函数的意思)
- 形参列表(函数调用时,通过实参向形参传递值,且两者必须是相同的数据类型)
- 函数体(代码块)