1.双目运算符就是有两个操作数,比如+,有左操作数和右操作数;
同理单目运算符就是只有一个操作数的,比如!
2.
3.while循环的括号后面不要加分号,不然会出现死循环
4.continue语句,使用了之后如果执行了这个语句那么continue下面的代码就直接跳过
第10行跳过
(循环部分结束)
5.数组系列
1、什么是数组访问越界?
我们通过数组的下标来得到数组内指定索引的元素。这称作对数组的访问。
如果一个数组定义为有n个元素,那么,对这n个元素(下标为0 到 n-1的元素)的访问都合法,如果对这n个元素之外的访问,就是非法的,称为“越界。
数组占用了一段连续的内存空间。然后,我们可以通过指定数组下标来访问这块内存里的不同位置。因此,当你的下标过大时,访问到的内存,就不再是这个数组“份内”的内存。你访问的,将是其它变量的内存了。
2、访问越界会出现什么结果?
首先,它并不会 造成编译错误!就是说,C,C++的编译器并不判断和指出你的代码“访问越界”了。一个明明是错误的东西,就这样“顺利”地通过了编译
数组访问越界在运行时,它的表现是不定的,有时似乎什么事也没有,程序一直运行(当然,某些错误结果已造成);有时,则是程序一下子崩溃。因此在使用数组时,一定要在编程中判断是否越界以保证程序的正确性。
常见的错误就是数组的size值和下标访问值弄错,数组的下表是从0开始的,最大的访问值是size-1
6.利用函数来打印数组
7.
字符数组的存取
打印字符串多加一个(第4行代码)
输出正确:
打印字符串不多加一位的反例:
乱码了就
注:只有在打印字符串%s时候才多加一位,其他的则无影响
输出字符串乱码时候,要去查看字符数组中是否存储了结束符\0
8.在上图的打印字符串,我们可以运用到while循环里面,当while的条件是0的时候,就退出循环,那么什么时候是0呢,也就是假,当然是打印字符串时候的最后一位结束符\0了
注意第八行打印用的是%c,打印的是一个个字符
9.scanf读取字符串
double两个的:
10.gets和puts
gets:
get相比于scanf的好得多,gets能一次读取一整行,无视空格,而scanf遇到空格就Gg
puts:
11.str系列字符串操作函数
strlen是用来求字符串长度的
另一种函数,同样的效果(通过遍历):
12.strcat(拼接):
strcpy(复制):
strcmp(比较两个字符串的大小(大小指ASCALL编码值),如下面例子,大于返回1,等于返回0,小于返回-1):
相等情况下:
注:c和e都是字符串,直接写“”(字符串也可以)。
注:全用数组名就可以,别用字符串常量,容易记混