选择语句:
int main()
{
int input=0;
printf("加入比特\n");
printf("你要好好学习吗?(1/0)>:");
scanf("%d",&input);
if(input==1)
printf("好offer\n");
else
printf("卖红薯\n")
return 0;
}
循环语句:
int main()
{
int line=0;
printf("加入比特\n");
while(line<20000)
{
printf("敲一行代码,%d\n, line");
line++;
}
if(line>20000)
printf("好offer\n");
return 0;
}
数组:
一组相同类型元素的集合
int arr[10]={1,2,3,4,5,6,7,8,9,10};//定义一个存放10个整数的数据
下表 0,1,2,3,4,5,6,7,8,9
printf("%d\n",arr[4]); //5
打印上面那个数组:
int i=0;
while(i<10)
{
printf("%d ",arr[i]);
i++;
}
操作符:
算数操作符:= - * / % /取除整 %取模
移位操作符: <<左移 >>右移
位操作符: &按位与 |按位或 ^按位异或
011 011 011
101 101 101
001 111 110
赋值操作符: = += -= *= /= |= >>= <<=
单目操作符
!(逻辑反操作)
-(负值) +(正值)
&(取地址)
sizeof(操作数的类型长度,以字节为单位)
~(对一个数的二进制按位取反)
--(前置,后置--)
++(前置,后置++)
*(间接访问操作符) (解引用操作符)
(类型) (强制类型转换)
双目操作符
计算数组的元素个数
个数=数组总大小/每个元素的大小
sz=sizeof(arr)/sizeof(arr[0])
关系操作符:< <= > >= !=(用于测试不相等) ==(用于测试相等)
逻辑操作符 &&(逻辑与) ||(逻辑或)
int main()
{
int a=3;
int b=5;
int c=a&&b;
printf("c=%d\n",c);
return 0;
}//3是非0表示真,5是非0,表示真,所以最终结果是1,如果其中有一个0,则结果为0 逻辑或||其中有一个为真那结果就是真,结果为1
(三目操作符)条件操作符:
exp1?exp2:exp3
举例:
int main()
{
int a=10;
int b=20;
int max=0;
if(a>b) 这里可以用max=(a>b?a:b);表示
max=a;
else
max=b;
return 0;
}
逗号表达式
exp1,exp2,exp3,......expn
下表引用操作符[]
函数调用()
结构成员 . ->
求两个数中的较大值代码
#include<stdio.h>
#include<string.h>
int Max(int x,int y)
{
if(x>y)
return x;
else
return y;
}
int main()
{
int num1=10;
int num2=20;
int max=0;
max=Max(num1,num2);
printf("max=%d\n",max);
return 0;
}
符号位不变,其他按位取反,反码加一得补码
原码 ,反码, 补码(负数在内存中存储的时候,存储的是二进制的补码)
使用printf函数打印的时候,打印的是这个数的原码
对前置后置的使用
int main()
{
int a=10;
int b=a++;
printf("a=%d b=%d\n,a,b");
return 0;
} 11 10
int main()
{
int a=10;
int b=++a;
printf("a=%d b=%d\n,a,b");
return 0;
} 11 11
int main()
{
int a=10;
int b=a--;
printf("a=%d b=%d\n,a,b");
return 0;
}9 10
int main()
{
int a=10;
int b=--a;
printf("a=%d b=%d\n,a,b");
return 0;
}9 9
强制类型转换使用事例
int main()
{
int a=(int)3.14;
return 0;
}