目录
数据类型
变量与常量的区别
标准输入和标准输出
算术运算符:+、-、*、/、++、--、%
比较运算符 :>、<、==、!=(不等于)
赋值运算符:=
逻辑运算符:!、&&、||
位运算符(二进制数据)
原码、反码、补码
三目运算符
特殊运算符
数据类型
| 数据类型 | 关键字 | 64位系统字节数 | 32位系统字节数 | 输出格式符 |
| 整型 | int | 4 | 4 | %d |
| 短整型 | short | 2 | 2 | %hd |
| 长整型 | long | 8 | 4 | %ld |
| 字符型 | char | 1 | 1 | %c |
| 单精度浮点型 | float | 4 | 4 | %f |
| 双精度浮点型 | double | 8 | 8 | %lf |
| 字符串 | %s | |||
| 字符指针 | char* | 8 | 4 | |
| 超长整形 | long long | 8 | 8 | %lld |
变量与常量的区别
变量:随意变化的数据(程序的定义)
例如 int a;
变量的命名不能有特殊符号且不能以数字开头
常量:不能更改的数据(系统规定的)
例如 a,b,c为字符;1,2,3,为数字
标准输入和标准输出
标准输入:
scanf(); //从键盘中获取数据
(注意scanf会阻塞程序的运行)
标准输出:
printf();
不带参数:printf(字符串);
标准输入:
scanf(); //从键盘中获取数据
(注意scanf会阻塞程序的运行)
标准输出:
printf();
不带参数:printf(字符串);
例如
printf("Hello Worldn");
带参数:printf("字符串",参数1,参数2......);
例如
char*name = "陈冠希";
int id = 1;
printf("姓名为:%st学号为:%dn",name,id);
算术运算符:+、-、*、/、++、--、%
此处定义a = 10,b = 5,c = 2
b % c //b除以c再取余等于1
自增,自减:注意++a是先给a+1在运算,而a++是先运算再给a+1
a++ //a的自加等于a + 1
a-- //a的自减等于a - 1
比较运算符 :>、<、==、!=(不等于)
比如
int i = 4;
if(i = 5) //此处是赋值,条件永远成立
{
//语句组
}
if(i == 5) //此处是判断是否相等,语句不一定成立
{
//语句组
}
赋值运算符:=
逻辑是先运算右边再运算左边
逻辑运算符:!、&&、||
!:取逻辑反C语言中1代表逻辑成立,0代表逻辑不成立
&&:逻辑与,只有多个表达式或条件同时成立时才会输出1即为逻辑真
i = 5,j = 6;
printf("(i < j)&&(i == 5)=%dn",(i < j)&&(i == 5);
//只有i < j和i == 5这两个条件同时成立时才输出1,逻辑真
||:逻辑或,当多个表达式成立其中一个时,输出1,即为逻辑真
i = 5,j = 6;
printf("(i < j)||(i == 5)=%dn",(i < j)||(i == 5);
//当i < j和i == 5这两个条件成立至少一个时就可以输出1,即为逻辑真
位运算符(二进制数据)
&:与运算(特性:遇0则0)
(1010 1010)&(1111 1111)-----》(1010 1010)
即2^7 + 2^5 + 2^3 + 2^1=170
2^7 + 2^6 + 2^5 + 2^4 + 2^3 + 2^2 + 2^1 + 2^0=255
255&170---------》170
|:或运算(特性:遇1则1)
(1010 1010)|(1111 1111)-----》(1111 1111)
<<:左移运算(将二进制的数字1往左边高位移动,空出来的位置补0)
前提是数据不会溢出,左移实际上是将原本的数据*2^n
>>:右移运算(将二进制的数字1往右边低位移动,空出来的位置补0)
右移实际上是把原来的数据/2^n
~:按位取反(二进制数据中的1变为0,0变为1)
原码、反码、补码
正数:
原码:数据的二进制
反码、补码:与原码一样
负数:
原码:数据的二进制
反码:符号位不变,数据位取反
补码:反码+1
正数:
原码:数据的二进制
反码、补码:与原码一样
负数:
原码:数据的二进制
反码:符号位不变,数据位取反
补码:反码+1
三目运算符
(表达式1)?(表达式2):(表达式3)
逻辑:判断表达式1是否成立,如果成立则输出表达式2的结果,如果不成立则输出表达式3的结果
通常被用作做比较
大小:a > b ? a : b
#includeint main() { int num1 = 88, num2 = 188; printf("(num1 > num2) ? (num1) : (num2) = %dn", (num1 > num2) ? (num1) : (num2)); return 0; }
特殊运算符
sizeof():计算变量/类型的大小(输入的参数可以是变量名/数据类型)
printf("sizeof(int) = %dn",sizeof(int));
printf("sizeof(a) = %dn",sizeof(a));
return:
1、返回结果给函数的调用(比如在for函数中可以作为break)
2、退出函数



