scanf是C语言提供的
scanf_s不是标准C语言提供的,是VS编译器提供的
尽量使用标准C语言使用的
define _CRT_SECURE_NP_WARNINGS 1
可以让编译器不再提醒这类警告
加在源文件第一行
常量
C语言中常量的分类
字面常量 直接写出来的值
const 修饰的常量--const常属性
const int n = 10;
此时n是有常属性的变量,本质上还是变量
define定义的标识符常量
define MAX 10
此时MAX为常量10
枚举常量--enum
字符串--由双引号引起的一串字符就是字符串
char arr1[] = "abc";--'a' 'b' 'c' '\0'这个是字符串的结束标志
\0的值是0
char arr2[] = {'a','b','c',0};
= {'a','b','c','\0'};
字符串的结束标志是一个 \0 的转义字符
PS:'a' = 97 数据在计算机上储存的是二进制,给每个字符一个值,ASCII 编码
相应的值叫ASCII值,再转换为二进制
strlen--string length--计算字符串长度的
没有\0的字符串,测长度会一直向后寻找\0,会得到一个随机数
PS:计算字符长度的时候\0是结束标志,不算作字符串内容。
同类类比 \n 转义字符-换行
\ 用于表示一个反斜杠,防止它被解释为一个转义序列符。
如果想打印一个双引号或者单引号
printf("%c\n",''');--反斜杠使前两个单引号不成对,才可打印 出单引号,双引号同上
另外:\32--32是2个8进制数字
32作为8进制代表的那个十进制数字,作为ASCII码值,对应的字符。
32 -- 10进制 == 26 -- 对应ASCII码值 -- 对应向右箭头,打印出来就是向右箭头
\xdd -- 表示两个十六进制数字 -- \x30
PS:\ddd和\xdd都是一个字符
ASCII码值:0从48开始,A从65开始,a从97开始
C语言的注释--/....../ 不支持嵌套
C++的注释--//
C语言的循环--while语句-for语句-do...while语句
函数
自定义函数/库函数
数组
一组相同类型数据的集合
默认下标从0开始,即:下标+1就是序数
操作符
算术操作符
-
-
- / %(取模)--5%2得到的是5/2剩下的余数
移位操作符
<< >> 移(2进制)位操作符
一个整型占4个字节,32位
int a = 1;
即000000000000000000000000000000001
a<<1 就是把整个二进制数左移一位,即舍弃第一个0,末尾补一个0
变成00000000000000000000000000000010
(2进制)位操作符
& 按位与 2进制位有一个0就是0,都是1为1
| 按位或 2进制位有一个1就是1
^ 按位异或 2进制位相同为0,不相同为1
赋值操作符
a=a+10 -- a+=10 复合赋值符
单目操作符(一个操作数)
& 取地址
sizeof() 计算的是变量或者类型所占空间大小,单位为字节
计算数组个数--数组总大小/数组每个元素的大小
- / %(取模)--5%2得到的是5/2剩下的余数
-
算法题目库:Leetcode
浙公网安备 33010602011771号