常量
1.字面常量
2.const修饰的常变量,本质还是个变量
const int num = 10; 具有了常属性,不能给改变
printf("num = %d\n", num);
3.#define定义的标识符常量
#define MAX 1000
MAX = 2000; //error
int n = MAX;
printf
4.枚举常量
可以一一列举的常量
enum Sex //枚举类型的变量未来可能取值
{MALE,FEMALE,SECRET}; // 枚举常量
字符串
int main() // f10调试
{
//字符数组 - 一组相同类型的元素
char arr[]="hello" //又双引号一起的一串字符,包含6个字符,字符串中最后由 \0 结束
return 0;
printf("%s\n",arr);
}
char arr[]={'a','b','c'}; abc?????后面没有\0,后面空间未知,会有乱码
↓修改
char arr[]={'a','b','c','\0'};
//求字符串长度
#include
int len = strlen("abc"); // string lenth
printf("%d\n",len); 打印出来是3 \0只作为标识,计算长度时不算入
求数组算\0 ,直接求字符串长度不算/0
转义字符
转变原来的意思
printf("%d",100); //整型
printf("%c",'a'); //字符
printf("%s","abc"); //字符串
选择循环语句
int main()
{
int input = 0;
printf("你会去敲代码吗?(选择1 or 0):>");
scanf("%d", &input);
if(input == 1)
{ printf("坚持,你会有好offer\n"); }
else { printf("放弃,回家卖红薯\n"); }
return 0; }
while循环的实例
int main()
{
int line = 0;
while(line20000)
printf("好offer\n");
return 0;
}
函数
int Add(int x, int y)
{
int z= 0;
z = x+y;
return z;
}
int main()
{
int num1 = 0;
int num2 = 0;
scanf("%d%d", &num1,&num2)
int sum = Add(num1,num2);
printf("%d\n",sum);
return 0;
}
数组
int arr[10] = {1,2,3,4,5,6,7,8,9,10};
// 0,1,2,3,4,5,6,7,8,9
int i = 0;
while (i<10)
{
printf("%d",arr[i]);
i++;
}
char ch[5] = {'a','b','c'}; //不完全初始化,剩余默认为0
数组是用下标来访问的
操作符
算术操作符
+ - * / %
移位操作符
>>
移动的是二进制位
int a = 2;
int b = a
位操作符
& ^ | //按位与或异或
赋值操作符
= += -= *= /= &= ^= |= >>=
a = a + 3 相当于 a += 5
单目操作符
! 逻辑反操作 //0表示假,非0表示真
- 负值
+ 正值
& 取地址
sizeof 操作数的类型长度(以字节为单位)
~ 对一个数的二进制按位取反,整数在内存中存的是补码
-- 前置、后置-- //先使用,再++
++ 前置、后置++ //前置先++,后使用
* 间接访问操作符(解引用操作符)
(类型) 强制类型转换 int a = (int)3.14;
关系操作符
> >= <
逻辑操作符
&& 逻辑与
|| 逻辑或
条件操作符(三目操作符)
exp1 ? exp2 : exp3 //表达式1成立,表达式2计算,结果是表达式2的结果
//表达式1不成立,表达式2计算,结果是表达式3 的结果
类似于if语句
逗号表达式
exp1, exp2, exp3, …expN
//从左往右依次计算,结果是最后一个表达式的结果
下标引用、函数调用和结构成员
[] () . ->
int a = 9/2 得4
float a = 9/2.0 得4.5