一、运算符
运算符是对变量和常量进行操作。
1 分类:
赋值运算符 : = += -= *= /= %=
算术运算符 :+ - * / % ++ --
关系运算符 : >大于 ==等于 <小于 >=大于等于 <=小于等于 !=不等于
逻辑运算符 : 逻辑或 || 逻辑与 && 逻辑非 !
三目运算符 : 判断?语句1:语句2 1>2?printf("1>2"):printf("1<2");
2 算术运算符的加加和减减(++ --)
概念 : 这种运算符的概念:让变量自身+1或者自身-1,不能让常量自身+1或者自身-1.
譬如:int a=9; a++行,但是9++就不行
常量运算操作的误区
++和--:运算符在变量的前面是先计算之后再使用变量的值,如果在变量的后面则是先使用变量的值再计算.
3 三目运算符 : 判断?语句1:语句2
第一种写法
1>2?printf("1>2"):printf("1<2"); //如果1大于2,那么printf("1>2")反之printf("1<2"
)
第二种写法
int a = 1>2?100:99; //当判断成立则三目运算符的式子等于100,不成立则等于99 那么a等于99
二、常见的控制流语句
常见的控制流语句
① if
② for
③ while
④ do...while
⑤ return
① if 条件判断语句的写法
特殊功能在函数里面可以再创建区别于函数作用域的另外一个作用域
第一种:
if(判断条件)
{
} //如果是条件是真的就会执行,作用域里面的代码(大括号扩起来的区域)
#include <stdio.h>
int main()
{
int a = 10;
printf("a的地址:%p\n",&a);
if(a == 10) //C语言语法特色
{
int b;
printf("b的地址:%p\n",&a);
}
return 0;
}
第二种 if和else搭配
if(条件判断)
{ //逻辑真就进去
}
else //否则
{ //逻辑假就进去
} //同一时间只能满足一个
#include <stdio.h>
int main()
{
int a = 0;
if(a) //非0即真
{
printf("---\n");
}
else
{
printf("+++\n");
}
return 0;
}
第三种写法:if和elseif和else搭配 最后的else的范围就是上面的情况之外情况
int a=9;
if(a) //a<8
{
}
else if(a) //a>99
{
}
else //其他情况
{
}
#include <stdio.h>
int main()
{
int a = 11;
if(a<0)
{
printf("+++++\n");
}
else if(a>0 && a<10)
{
printf("-----\n");
}
else if(a>10)
{
printf("^^^^^\n");
}
else
{
printf("******\n");
}
return 0;
}
最后一种情况: 如果你的执行语句只有一句那么可以不需要写大括号
② for循环结构
就是可以让自己作用域里面的代码连续执行多次
③while循环结构
while(判断语句) //如果()里面为1是死循环
{ 如果是真则执行作用域里面的代码 }
#include<stdio.h>
int main()
{
int n=0;
while(n<5) //循环5次
{
printf("----\n");
n++;
}
while(n++ <5 ) //循环5次
{
printf("----\n");
}
return 0;
}
④ do...while结构
至少循环一次. 先执行一次后再判断
do { }
while(条件判断);
include<stdio.h>
int main()
{
int n = 5;
do
{
printf("-----\n");
}
while (n--);
{
printf("%d\n",n); //-1
}
return 0;
}
⑤ return 语句
只要执行到return那么程序就会无条件退出当前函数,如果该函数是main函数,那么程序就退出了
return的作用:① 在函数退出的时候可以返回数据值 ② 提前结束函数的执行 ③ 返回值类型为void时,不需填返回值
三、数组
基本概念
数组是一个集合(构造类型),可以存放很多个数据,但是里面的数据的类型一致,因此数组就有类型区分: 专门存放整形的数组 专门存放字符型的数组 ......
整形数组类型定义变量
int 数组名字[数组的长度]; 数组的长度要是常量或者常量表达式
int array[2]; //这个数组只能存放2个数据
int a=2;
int array[a]; //这个数组只能存放2个数据
int a;
scanf("%d",&a);
int array[a]; //用户输入多大,定义的数组就能存放几个数据,假如输入3,那么就是array[3]
数组的赋值
int array[2];
//有两个空间可以存放两个值,那么第一个房间用array[0] 表示,第二个房间用 array[1]表示
array[0] = 1; //给第一个赋值1
array[1] = 99; //给第二个赋值99
输出数组中的元素
for(int lp=0; lp<2; lp++) //定义一个变量 lp 赋值为 0,lp小于2就执行{}中的代码,lp执行一次加一
{
printf("%d\n",array[lp]);
}