一、操作符:
算术操作符 + - * / %(取模)
define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
//操作符
//算数操作符 + — * / %
int main()
{//int a = 9/2;//int b = 7 % 2;//7除2得到的余数(取模)//printf("%d\n",a);//printf("%d\n",b);//除号两端都是整数的时候,执行的是整数除法,如果两端有一个浮点数,便执行浮点数除法,结果就是浮点数,float a = 9 / 2.0;int b = 7 % 2;//7除2得到的余数(取模)printf("%f\n", a);printf("%.1f\n",a);//当百分号%之后出现 .1f 则打印的数值只有小数点后一位,printf("%.2f\n", a);// .2f 同理打印的数值位小数点后两位printf("%d\n", b);//取模操作符(%)的两个操作数只能是整数return 0;}
二、
移位操作符(( >> << )暂时不讲,涉及二进制)
位操作符 ( (& ^ |)暂时不讲)
赋值操作符 (= += -= *= /= &= |= >>= <<= )
#include<stdio.h>
int main()
{//赋值操作符 (= += -= *= /= &= |= >>= <<= )int a = 0;//初始化a = 20;//赋值a = a + 3;//a=23a += 3;//a+3并且把值赋给areturn 0;
}
三、单目操作符
单目操作符 (只有一个操作数的操作符)
1. ( 反目操作符 ! )把真的变成假的,把假的变成真的,取反
C语言中 0表示假
非0为真
#include<stdio.h>
int main()
{int a = 5;if (!a){printf("%d\n",-1);}return 0;
}
2.赋值操作符
-赋予负值 +赋予正值
3. &取地址(和后面指针有关)
4. sizeofz是操作符,且为单目操作符,非函数
#include<stdio.h>
int main()
{int a = 5;printf("%d\n",sizeof(a));//4printf("%d\n", sizeof(int));//4printf("%d\n", sizeof a );//4 不是函数,是单目操作符,则可以把括号()取掉//printf("%d\n", sizeof int );但是int这个不允许去掉()int arr[10] = { 0 };printf("%d\n",sizeof(arr));//40计算的是整个数组的大小,单位字节printf("%d\n", sizeof(arr[0]));//4计算的是数组中第一个元素的大小的大小printf("%d\n",sizeof(arr)/sizeof(arr[0]));//10 数组元素个数return 0;
}
5.有关-- 和++的前置和后置
#include<stdio.h>
int main()
{//-- ++ 前置和后置int a = 10;*/int b = a++;//后置++,先使用,后++ ,b=a+1printf("%d\n",a);//11printf("%d",b);//10int b = ++a;//先++(a+1)后赋值printf("%d",a);//11printf("%d",b);//11int c = --a;//先减减,在赋值printf("%d",a);//9printf("%d",c);//9return 0;
}
6.乘号 * 先不讲
7. 单操作符 类型
#include<stdio.h>
int main()
{ int a=3.14;//字面浮点数,编译器默认理解为double类型printf("%d\n",a);int a = (int)3.14;//强制类型转换 ()括的是类型不是数据sprintf("%d\n",a);return 0;
}
8.关系操作符
> >= < <= != ==
9.逻辑操作符
逻辑与&& 逻辑或||
#include<stdio.h>
int main()
{int d = 10;int e = 20;int f = 0;if (d && f){printf("hh");}//什么也没有,&&关系为 且 f=0,条件不成立if (d || f){printf("o");}//oreturn 0;
}
10. 条件操作符(有点像if语句)
#include<stdio.h>
int main()
{exp1?exp2:exp3 // exp1(条件一) ? exp2(条件二) : exp3(条件三)//条件一为真时 表达式二为表达结果//条件一为假时 表达式三为表达结果 int r = 0;int g = 10;int h = 5;r = g > h ? g : h;//在此式中,g>h为条件一 g为条件二 h为条件三printf("%d\n",r);//10int p = 0;int w = 40;int o = 300;p = w > o ? w : o;printf("%d\n",p);//300return 0;
}
11.逗号表达式 就是逗号隔开的一串表达式
逗号表达式的特点是从左向右以依次算,整个表达式的结果是最后一个表达式的结果
#include<stdio.h>
int main()
{
int l = (h=g+10,p=w+g,r=h+p);printf("%d",r);//70
return 0;
}
12.0 下标引用、函数调用、结构成员
#include<stdio.h>
int main()
{int arr[10] = { 1,2,3 };arr[3];//[]就是下标引用操作符,,arr和3是 [] 操作数arr[3] = 20;//利用操作符找到数组中的第四个数并且将其改为20printf("%d\n",arr[3]);//20 int v = 6;arr[v] = 30;printf("%d\n",arr[v]);//此刻可以用变量v来读取下标第7个元素return 0;
}
函数操作符
#include<stdio.h>
int main()
{
int k = 0;
int w = 0;
int z = 0;
int add(int m, int n){int k = m + n;return k;}
return 0;
}
函数操作符
scanf是操作符,不是函数
#include<stdio.h>
int main()
{scanf("%d,%d", &w, &z);int sum = add(w, z);// () 括号就是函数调用操作符,add,w,z都是()的操作数printf("%d",sum);
return 0;
}
常见的关键字(关键字是C语言本身内置的,不是用户自己创建的,也不能自己建)
auto int t = 10;//自动变量auto可省略,因此
for swith char const(常属性) enum-枚举
while case short struct-结构体
do while defaule int union-联合体(共用体)
break(跳出) if else long
continue goto float
double
signed有符号的
unsigned无符号的
sxtern 声明外部符号的 register寄存器 return 函数返回值
viod 无(函数的返回类型,函数参数) static静态的
sizeof计算大小的
typedef类型重命名
volatic先不讲
变量的命名:
1、有意义 2、名字必须是字母、数字、下划线组成,不能有特殊字符,且不能以数字开头