目录
六、字符串+转义字符+注释
字符串
由双引号引起来的一串字符称字符串,例如“abcdef”就是一个字符串。在C语言中要表示一个字符的话要用单引号表示,例如'a','b',''(空字符)等等,但是不能这样乱写'ab'。
言归正传,字符串的结束标志是一个 \0 的转义字符。在计算字符串长度的时候 \0 是结束标志,不算作字符串内容。平常用字符串的时候,一般会用字符数组来存储。
如上图所示的代码,ch1和ch2的区别是什么呢?第一点,是ch1创建了七个字符的空间,而ch2只创建了六个;第二点,ch1和ch2打印的结果也不一样:
为什么打印的结果有区别呢?其实最本质的原因是\0。我们都知道,\0是字符串的结束标志;ch1中,abcdef打印结束后碰到了\0,就结束打印了;而ch2中,并没有\0啊,abcdef打印出来了以后就开始打印随机数了,就一直打印下去,直到最后碰到了\0才停只打印,要想也和ch1一样的话也非常简单,char ch2[] = { 'a','b','c','d','e','f','0' }; 即可。
另外,\0在打印字符串长度的时候也有重要的作用(需要用到strlen库函数,头文件是string.h);
很明显,ch2是错误的,这是为什么呢?原因是strlen死抠\0,ch2找光了都没有找到,就只能继续往后面找了,又是一大串奇奇怪怪的数据之后,找到了\0,长度也就是随机值了。
转义字符
转义:改变原来的意思的意思。下面列举一些常见的转义字符:
附赠一张ASCII码表给大家:
一个转义字符的长度是1:
注释
为什么要注释?
1. 代码中有不需要的代码可以直接删除,也可以注释掉。
2. 代码中有些代码比较难懂,可以加一下注释文字。
注释的方法有哪些?
1./* */ C语言风格 缺陷:不能嵌套注释。
2.// C++语言风格(推荐)。
七、选择语句
在我们日常的生活中,都会面临着不同的选择,也会有着不同的结果。
八、循环语句
其实我们每一天都有好多好多重复的事情去做,比如说老师需要日复一日的讲课,比如说学生需要日复一日的学习。
九、函数
就是一个代码块,其作用是简化代码、代码复用。
一个函数出来以后,大家就可以都调用它,不需要再写相同的步骤。
十、数组
数组:一组相同类型元素的集合。
每一个数组元素都是由下标[ ]的,下标是从0开始依次往上的,数组arr[0]表示数组中的第一个元素,a[1]表示数组中的第二个,......,具有n个元素的数组,其下标最大是n-1。
正序打印数字:
倒序打印数字:
十一、操作符
1.算术操作符 (+ - * / %)
基本上和数学差不多(需要注意一下除法)
% 取模(余)得到的是整除之后的余数。
2.移位操作符(>>右移操作符 <<左移操作符)
针对的是二进制操作
左移:二进制左边丢弃,右边补上一个0(也就是整体向左边移动一个二进制位)
位操作符(& ^ |)
按位与(&)
按位异或(^)
按位或(|)
3.赋值操作符(= += -= *= /= &= ^= |= <<= >>=)
赋值(等于)= 举例:a=10 给a赋值为10;
【==判断是否相等 注意区分=和==】
其他的,a+=10 等价于 a=a+10,a-=10等价于a=a-10;......
4.单目操作符
说明:单目操作符就是有一个操作数。类似的,双目操作符就是有两个操作数;举个例子,a+b,+操作着a和b,有两个操作数,所以+是双目操作符。
在C语言中,用非0表示真,用0表示假。
真假的用法之一:
sizeof(计算操作数的长度)
~(按位取反)
++ --
前置++ 后置++ 前置-- 后置--
5.关系操作符(> >= < <= != ==)
!= 用于测试“不相等”
== 用于测试“相等”
6.逻辑操作符(&& ||)
&& 逻辑与 并且(列的条件都要满足才为真)
|| 逻辑或 或者(满足一个条件就可以为真)
7.条件操作符(又叫三目操作符)
exp1?exp2:exp3
表达式exp1为真的话,则整个表达式的值是exp2;表达式exp1为假的话,则整个表达式的值是exp3。
8. 逗号表达式
9.下标引用、函数调用和结构成员
下标引用操作符[ ] 在数组那里用的,a[0];
函数调用操作符在函数那里用的,Add(a,b);
结构成员在结构体那里用到。