笔记day2
原创
©著作权归作者所有:来自51CTO博客作者wx61d17c9ccb867的原创作品,请联系作者获取转载授权,否则将追究法律责任
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 码值表
//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;
}
双目操作符
三目操作符