如果想得到两个数的商就用/,想得到两个数的余数就用%
数组:一组相同数据类型的集合。如果数组不完全初始化,默认初始化为0.数组每个元素都有一个下标,从0开始。
[ ]是数组下标引用操作符
算数操作符 :- * / + %;如果 / 号两端都是整数,执行整数除法,如果有一个浮点数,执行浮点数的除法。%取余数两端必须是整数。
移位操作符:<< >> 左移 右移 。与二进制有关。
位操作符 :& | ^.;
赋值操作符:= 、+=、-=、*=、/=、&=、^=、!=;
单目操作符:!逻辑反操作 、-负值、+正值、&取地址、sizeof操作符的类型长度(以字节为单位)、~对有关二进制数求反、*间接访问操作符、(类型)强制转换。
再C语言中0表示假,非0表示真。
int b=(a++);后置++,先使用,在++
int b=++a;前置++,先++,后使用;
&&逻辑与 ;||逻辑或;只关注真假;
条件操作符:exp1?exp;exp3;它的作用是如果exp1为真,则表示exp2,否则,表示exp3;
例如:m=(a>b?a;b);如果a>b;m=a;否则m=b;
常见关键字
auto 自动 register 寄存器
EOF的宏定义为-1;文件结束的标志;
scanf是一个输入数值的函数,如果赋值成功则为真;失败返回EOF为-1;
例:#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
int main()
{
int a = 0, b = 0;
int ret;
ret=scanf("%d %d", &a,&b);
printf("a=%d\nb=%d\nret=%d\n", a, b, ret);
return 0;
}
scanf函数如果读取正常的话,返回的是读取到数据的个数;
register int a=10;表示建议a放在寄存器中。
typedef 重新命名;
static 静态的
三种用法:1、修饰局部变量。2、修饰全局变量。3、修饰函数。
static修饰之后,会吧修饰的东西放在静态区,知道程序结束才销毁。
普通的局部变量是放在栈区的,这种局部变量进入作用域创建,出作用域释放。但是,局部变量被static修饰之后,这种变量就放在静态区。本质是static改变了变量的存储位置;使得执行效果不一样。被static修饰是不会影响作用域的。
全局变量是具有外部链接属性的,可以被其他的源文件使用;但是,被static修饰后外部链接属性就变成了内部链接属性;只能在自己所在的源文件中使用。使全局变量的作用域变小了。
static修饰函数的效果与全局变量的作用一样;限制了作用域。
#define 定义常量 宏 例如:#define m 100