2. 常量

//字面常量(例如数字2等)

//const 修饰的常变量 变量但有常属性

//#define 定义的标识符常量  #define MAX 10

​//指数e后面必须有整数3.14e003 = 3.14*10^3

//枚举常量 enum{ 0 1 2.. }    enum Sex{MALE , FEMALE , SECRET};

#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
int main()
{
const int num = 4;
printf("%d",num);
num = 8;
printf("%d", num);//报错不改变
return 0;
}
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
int main()
{
const int n = 10;
int arr[n] = { 0 };//报错必须输入常量
return 0;
}
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
enum sex
{
male,
famale,
secret

};
int main()
{
enum sex s = male;
printf("%d", male);//0
printf("%d", famale);//1
printf("%d", secret);//2
return 0;
}

2. 字符串+转义字符+注释

字符串

“hello word\n”

这种由双引号引起来的一串字符串字面值,或者简称字符串

字符串的结束标志是一个\0的转义字符.在计算字符串长度的时候\0是结束标志,不算作字符串内容。

“hello word”

“abc”//abc0//默认放个\0 字符串结束标志

#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
int main()
{
char arr1[] = "abc";//默认有个\0结束语
char arr2[] = { 'a','b','c' };//找到0为止
printf("%s", arr1);
printf("%s", arr2);
return 0;
}

//ASCII 编码

//ASCII 码值表

笔记day2_#include

//strlen() - string length - 计算字符串长度  #include <string.h>

转义字符

转变原来的意思



/ddd  -- 三个8进制代表的那个十进制数字,作为ASCII码值的对应的字符

/xdd --  两个16进制的代表的那个十进制数字,作为ASCII码值的对应字符

注释 - //

Ctrl+k+c  注释

Ctrl+k+u  取消注释

选择语句

if else

#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
int main()
{
int input = 0;
printf("加入比特\n");
printf("是否要好好学习\n");
scanf("%d",&input);
if (input == 1)
printf("好offer\n");
else
printf("没工作\n");
return 0;
}

循环语句

while语句

for语句

do...while语句

#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
int main()
{
int a = 0;
printf("加入比特\n");
while (a < 20000)
{
printf("敲一行代码%d\n",a);
a++;
}
if (a>=20000)
{
printf("好offer");
}
return 0;
}

自定义函数

#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
int add(int x, int y)
{
int z = x + y;
return z;
}
int main()
{
int a, b, c;
scanf("%d", &a);
scanf("%d", &b);
c = add(a, b);
printf("%d", c);
return 0;

}

数组

Int arr[10] ={}

下标从0开始

#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
int main()
{
int arr[10] = { 1,2,3,4,5,6,7,8,9,10 };
printf("%d\n", arr[4]);//5
return 0;
}

操作符

算数操作符

+   -   *   /   %(取模 - 余数)

移位操作符(移2进制位)

>>(右移)    <<(左移)

#define _CRTSECURE_NO_WARNINGS 1
#include <stdio.h>
int main()
{
int a = 1;
int b = a << 2;
//000000000000000000001
//000000000000000000100
printf("%d", b);//4
printf("%d", a);//1
return 0;
}

位操作符(2进制)

&(按位与)【有一个0则是0】   

#define _CRTSECURE_NO_WARNINGS 1
#include <stdio.h>
int main()
{
int a = 3;
//0000000000000011
int b = 5;
//0000000000000101
int c = a & b;//有0则是0
printf("%d", c);//1
return 0;
}

^(按位异或)【相同为0,相异为1】   

#define _CRTSECURE_NO_WARNINGS 1
#include <stdio.h>
int main()
{
int a = 3;
//0000000000000011
int b = 5;
//0000000000000101
int d = a ^ b;//相同为0相异为1
printf("%d", d);//6
return 0;
}

|(按位或)【有一个1则是1】

#define _CRTSECURE_NO_WARNINGS 1
#include <stdio.h>
int main()
{
int a = 3;
//0000000000000011
int b = 5;
//0000000000000101
int d = a | b;//有一个1则是1
printf("%d", d);//7
return 0;
}

赋值操作符

=   +=   -=    *=    ==(判断)   /=   &=   ^=   |=   >>=   <<=


单目操作符

! 逻辑反操作(非0则输出为0,0则输出为1)

- 负值()

+ 正值

& 取地址

Sizeof 操作数的类型长度(以字节为单位)

~ 对一个数的二进制按位取反

-- 前置、后置--     --

++ 前置(先++在使用)、后置++(先使用在++)

前置(先--在使用)、后置--(先使用在--)

++ 前置、后置++    

* 间接访问操作符(解引用操作符)

(类型) 强制类型转换

#define _CRTSECURE_NO_WARNINGS 1
#include <stdio.h>
#include<string.h>
int main()
{
int arr[10];
printf("%d", sizeof(arr));//40 int4个字节
return 0;
}

双目操作符

三目操作符