10.操作符
除号的两端都是整数的时候,执行的是整数除法,如果两端只要有一个浮点数就执行浮点数的除法
取模操作符的两个操作数只能是整数
#include<stdio.h>
int main()
{
int a = 0;//初始化
a = 20;//赋值
}
a+b;//+的两端一共有两操作数称为双目操作符
向上面的单目操作符只有一个操作数
//! 逻辑反操作,就是把假的变真,真的变假
//在C语言中,非0表示为真,0表示为假
sizeof是操作符,不是函数,一定要注意,是单目操作符
#include<stdio.h>
int main()
{
int a=10;
printf("%d\n",sizeof(a));//4 计算类型创建变量所占大小
printf("%d\n",sizeof(int));//4
printf("%d\n",sizeof a);//4
//但是sizeof (int),这里的括号不可以省略,对于名字这里的括号可以省略
//sizeof还可以计算数组大小
int arr[10]={0};
printf("%d\n",sizeof(arr));//40,计算整个数组的大小,单位是字节
printf("%d\n",sizeof(arr[0]));//4,计算的是首元素的大小
int sz=sizeof(arr)/sizeof(arr[0]);//10,计算数组的元素个数
}
前置++,后置++
#include<stdio.h>
int main()
{
//后置++:先使用后++,前置++:先++后使用,同理可知前置--和后置--的用法
int a=10;
// int b=a++;
//b=a a=a+1
// printf("%d\n",b);//10
// printf("%d\n",a);//11
int b=++a;
printf("%d\n",b);//11
printf("%d\n",a);//11
}
(类型)强制类型转换
#include<stdio.h>
int main()
{
int a=(int)3.14;
//3,14 字面浮点数,编译器默认理解为double类型
printf("%d\n",a);//3
return 0;
}
#include<stdio.h>
int main()
{
int a=10;
if(a=3)
{
printf("hehe\n");//这里会打印hehe,因为' = '是赋值操作符,恒为真
}
return 0;
}
&&两边的操作数同时为真是才满足要求
| | 两边只要有一个为真就可以满足要求
条件操作符又称三目操作符
表达式1为假为表达式3的结果,表达式1为真为表达式2的结果
#include<stdio.h>
int main()
{
int a=0;
int b=0;
scanf("%d%d",&a,&b);
if(a>b)
{
printf("%d",a);
}
else
{
printf("%d",b);
}
}
//这里的if...else语句可以改写为(a>b)?a:b
逗号表达式就是用逗号隔开的一串表达式
逗号表达式的特点:从左向右依次进行计算,整个表达式的结果是最后一个表达式的结果
#include<stdio.h>
int main()
{
int a=10;
int b=20;
int c=0;
int d=(c=a-2,a=b+c,c-3);
printf("%d\n",d);//5
return 0;
}
下标引用操作符
arr[ 3 ];//[ ] 就是下标引用操作符 arr 和 3 就是[ ] 的操作数
#include<stdio.h>
int main()
{
int arr[10]={1,2,3,4,5,6,7,8,9,10};//这的[]必须用常量
int n=3;
arr[n]=20;//这里是访问下标为3的元素,arr中的元素已经确定就是十个元素
//这里访问的是元素不会再创建空间,所以这里可以是变量
}
函数调用操作符(),在调用过程中()是不能删掉的
11.常见的关键字
关键字 - C语言本身内置的,关键字不是自己创建出来的,也不能自己创建
本篇只介绍几个,以后再进行介绍
auto-所有的局部变量前都有auto,但是一般都会直接省略掉
break-跳出循环,一般与while,do...while,for循环连用,coutinue也是它们连用
switch-与case、default连用(分支语句,同样属于分支语句 if...else)
char 、short 、int 、 long 、float 、 double-都是C语言的内置类型
const-表示常属性
enum-枚举
struct-结构体
union-联合体(共用体)
extern-声明外部符号
goto(分支语句)
register-寄存器
return-函数返回值
signed-有符号的
unsigned-无符号的
sizeof-计算大小的关键字
static-静态的
typedef-类型重命名
void-无(函数的返回类型,函数参数)
变量的命名:
1)有意义
int age;
float salary;
2)名字必须是字母、数字、下划线组成,不能有特殊字符,同时不能以数字开头
3)变量名不能是关键字