一、变量类型
C语言中的基础数据类型有六类包括short、int、long、char、float、double.此外C语言还有一些构造方面的数据类型如下图
二、运算符
C 语言提供了丰富的运算符,有:算术运算符、关系运算符、逻辑运算符、赋值运算符、移位运算符、逗号运算符及 sizeof 运算符。
a)算术运算符按操作数个数可分为一元运算符(含一个操作数)和二元运算符(含两个操作数)。一元运算符的优先级一般高于二元运算符。
一元运算符:+(正号)、-(负号)、++(增1)、–(减1)。
二元运算符:+(求和)、-(求差)、*(求积)、/(求商)、%(求余)。
b)程序中的所有数据在计算机内存中都是以二进制的形式进行存储的,数据的位是可以操作的最小数据单位,位操作就是直接对整数在内存中的二进制位进行操作。因此,在理论上,我们可以通过“位运算”来完成所有的运算和操作,从而有效地提高程序运行的效率。
C 语言中提供了 &(与)、|(或)、^(异或)、~(取反)、>>(右移)、<<(左移)6 种位操作符。
c)C语言中提供的关系运算符包括
< 小于;<= 小于等于;> 大于;>= 大于等于
以上四个优先级相同(高)
== 等于;!= 不等于
这两个优先级相同(低)
d)逗号运算符确保操作数被顺序地处理:先计算左边的操作数,再计算右边的操作数。右操作数的类型和值作为整个表达式的结果。
三、条件语句
if:判断表达式内容,如果为true(真),就执行语句
else if:如果if的判断没有通过,则进行下面的else if,如果当前的else if判断通过,则执行当前else if的语句。如果没通过,则一直执行下面的else if判断
else:else为最后的分支,如果在else之前的if、else if判断都没有通过就会执行else
PS:在一条if条件判断中,可以有无数条else if,但是只能有一个else
四、循环语句
C语言循环控制语句是一个基于C语言的编程语句,该语句主要有while循环语句、do-while循环语句和for循环语句来实现循环结构。
一般形式如下:
while(表达式)
语句;
或者是:
do
语句;
while(表达式);
for ( [表达式 1]; [表达式 2 ]; [表达式3] )
语句
五、数组
C语言中包含多种数组定义,其中基础的是一维数组和多维数组,在数组定义中要注意考虑数组越界问题
六、函数
函数是一组一起执行一个任务的语句。每个 C 程序都至少有一个函数,即主函数 main() ,所有简单的程序都可以定义其他额外的函数。
您可以把代码划分到不同的函数中。如何划分代码到不同的函数中是由您来决定的,但在逻辑上,划分通常是根据每个函数执行一个特定的任务来进行的。
函数声明告诉编译器函数的名称、返回类型和参数。函数定义提供了函数的实际主体。
C 标准库提供了大量的程序可以调用的内置函数。例如,函数 strcat() 用来连接两个字符串,函数 memcpy() 用来复制内存到另一个位置。
函数还有很多叫法,比如方法、子例程或程序,等等。
七、指针
指针是一个特殊的变量,它里面存储的数值被解释成为内存里的一个地址。要搞清一个指针需要搞清指针的四方面的内容:指针的类型、指针所指向的类型、指针的值或者叫指针所指向的内存区、指针本身所占据的内存区。让我们分别说明。
在这里给出一篇参考文章
https://blog.youkuaiyun.com/constantin_/article/details/79575638
八、C语言中二进制、八进制、十六进制的表示与运算
采用一组0和1表示数字的方法叫做二进制
二进制表示方式中,每个位置有一个编号,最右边位置的
编号是0,向左以此递增
某个位置上的1代表的数字是2的位置编号次方
在二进制表示方式中,如果两个相邻位置上的内容一样,
则左边的数字是右边数字的2倍
此外C语言中:
十进制直接表示,例如:1,2,3,4,5,6
八进制要加零表示,例如:00,01,02,03,04,05
十六进制要加0x表示,例如:0xA1,0x13,0xFF
关于各进制之间的计算希望大家参考这个链接
https://blog.youkuaiyun.com/qq_42667792/article/details/81517582
九、位与、位或、位异或、位取反
位运算是指按二进制进行的运算。在系统软件中,常常需要处理二进制位的问题。C语言提供了6个位操作运算符。这些运算符只能用于整型操作数,即只能用于带符号或无符号的char,short,int与long类型。
C语言提供的位运算符列表:
运算符含义描述
& 按位与 如果两个相应的二进制位都为1,则该位的结果值为1,否则为0
| 按位或 两个相应的二进制位中只要有一个为1,该位的结果值为1
^ 按位异或 若参加运算的两个二进制位值相同则为0,否则为1
~ 取反 ~是一元运算符,用来对一个二进制数按位取反,即将0变1,将1变0
<< 左移 用来将一个数的各二进制位全部左移N位,右补0
‘>>’ 右移 将一个数的各二进制位右移N位,移到右端的低位被舍弃,对于无符号数,高位补0
十、异或加密与解密方式
异或加密是一种很简单的加密算法,无论是原理还是操作性上,都不具备任何难度,所以,在做一些简单的加密时,被广为采用。
但因为很简答,破解起来也很容易,所以对于更加私密的信息,不要用这种方法加密。
数学运算符为XOR(exclusive OR),在计算机中通常用"^"的符号表示(在英文模式下,按住shift键+键盘上方的数字6)
在二进制中:
1 XOR 0=1
0 XOR 1=1
1 XOR 1=0
0 XOR 0=0
可以看出若两个数相同取0,不同取1。
例:
运算11001 ^ 01011=10010
用其他进制表示的数做异或运算时,则应先将他们化为二进制的数,再做运算。(不足的位在前边填0补齐)
同样因为异或方式是可逆的,因此可以用在作为加密解密的领域,主要是将输入数字与key值进行异或,然后生成加密代码,最后可以使用key值进行再次异或完成解密操作。