C语言基础

在此处输入标题

标签(空格分隔): 未分类

运算符

用来告诉程序执行的操作。
带()内先执行
结合性:算术是左结合性x+y-z
右结合性x=y=z右边赋给左边的值。
算术运算符+-*/%加减
%取余

// 这里是注释
void test{
}
int result;
result = 1+1;
result =1-1;
result =2*2;
result =6/3
result =10/3

取余运算智能用于整数
取余运算的正负数取决于前面的数与后面的无关,即10。
如果取余运算小于右边则等于左边
自动类型转换(隐式转换):
int number =10.8 int整数类型,10.8实数类型。number4个字节,double八个字节,如果右边的所占空间大于左边,则右边失去精准度。
强制类型转换(显示转换);(需要转换的类型)需要转换的数据
int number =(int)10.8
注意,无论 是隐式转换还是显示转化,只要将一个大的数据类型转换成一个小的数据类型,都会丢失精准度。
int result=10+9.9 int+double类型
注:在运算过程中,其实还做了一次自动类型提升,算术运算符规定,只有相同类型的数据才可以进行运算,如果在计算过程中,参与运算的操作数不是同一类型,那么系统会自动将小类型转换为大类型,然后再进行运算,

int result = 10+9.9 //int+double
// int result =10.0+9.9=19.9-->19int类型
printf("result=%i\n",result);

算术运算注意点:参与算术操作的类型是什么,计算出来的操作手类型就是什么,

void main (){
double result=1 / 2;//int int 结果int 
double result =1.0 /2;//1.0/2.0==0.5;
double result =(double)1/2;//1.0/2.0==0.5;
douuble result =(double)(1/2);//这种写法是错误的,()优先级
printf(“result= %f\n”,result);
return0;
}

赋值运算符

int main(){
/*//最简单的赋值运算就是将等号右边的值赋值给等号左边的变量
//赋值运算符的结合性:从右到左
int number = 10;
 
 int a = 10;
 int b;
 a = b = 5;
 printf(“a = %i,b = %i”,a ,b);*/
 //复合赋值运算符
 /*
 +=
 -=
 *=
 /=
 %=
 */
 /*int number = 10;
 //number= number+5;
 number += 5;//number = number+5;
 number -= 5;*/
 int number = 5;
 number +=2+3+4;//复合计算会先计算等号右边的值//然后再用计算出来的结果和等号左边的值进行相加
 number=number+(2+3+4);
 printf("number=%i\n",number);
 return 0;
}

自增自减

int main()
{
int number  = 10;
number++;//输出为10
++number;//输出为11
printf("number=%i",number);
return 0;
}

int a =10
int b = a++ ++在后先进行赋值然后在运算
输出b=10,a=11
int b = ++a ++在前,先进行运算,在进行赋值
输出b=11,a=11
sizeof运算符:
sizeof 是用来计算一个常量,变量,数据类型所占的空间的字节数,
计算常量所占字节

int main ()
{
int number = sizeof(10);//括号可以去掉,
printf("number = %i\n");//输出4
return 0;
}
//计算变量所占的字节
int main()
{
double number sizeof(10.8);//括号可以去掉。
printf ("number = %i",number);输出为8
return 0;
}
//计算数据类型
int number = sizeof(char);括号不能省略
printf ("number = %i",number);输出为1
return 0;

逗号运算符

关系运算符
注意点,优先级> < >= <= 优先级高于== !=
算术运算符的优先级高于关系运算符
关系运算符左结合性
如果优先级和结合性同事存在,先优先级,在结合性
逻辑运算符:逻辑运算符的返回值只有两种,要么真要么假
&&(与运算)一假则假 只计算前面的
||(或运算)一真即真 只计算前面的
!(非运算)如果表达式是真,就返回假,如果表达式为假,就返回真,结合性从右到左

int result = 10 > 8 && 8 > 5;
printf("result = %i",result);
return 0;

三目运算符:

int a ;
int b ;
//int result = a > b;
// 结合性,左-->右
//三目运算符,条件表达式 //?条件A:条件B 
//只要条件表达式为真返回a,条件表达///式为假返回b
//a>b返回a否则返回b 
int result = (a > b)? a:b;

从键盘输入三个数,找出最大值,
1,提示用户输入三个整数
printf(“输入三个数,用逗号隔开,回城而结束”);
2,定义变量保存数据
int num1,num2,num3;
3,用scanf函数接收三个整数
scanf("%i,%i,%i",&num1,&num2,&num3);
4,比较三个数的最大值,
4.1比较num1 num2 的大小
int temp=(num1>num2)? num1:num2;
4.2比较 num num3de 大小,
int result = (temp>num3)? temp:num3;
5,输出结果。
printf("result=%\n",result);
流程控制:默认程序下,流程结果从上到下的,事实并不是这样的,
顺序结果,从上到下,
选择结果,对给定的条件进行判断,根据判断选择程序,
循环结构,在条件成立的情况下,反复执行的结果。
选择结构,if基本概念
if的第一中格式
if (条件表达式){
}满足条件表达式才能执行大括号的内容
if的第二种格式
if(条件表达式){
语句
}
else{
语句
}
if的第三中格式,
if(条件表达式){
语句
}
else if(条件表达式2){
语句
}
else if(条件表达式3){
语句
}
else{
语句
}
众多大括号只执行一个,
第四种格式
if(条件表达式)
语句
条件为真只执行第一条语句。无论条件是否满足第二个语句都执行

你可能感兴趣的:(C语言基础)