C语言第三讲

课堂笔记

一、算术运算符:

        二元运算符:+,-,*,/,%(取余)

        一元运算符:-(负号)→取相反数

        int a,b,c;           //[-2147483648,2147483647]

//     a=2147483647,b=3;

//     c=a+b;

//     cout<<"c="<<c<<endl;

       

//     a=-2147483648,b=1;

//     c=a-b;

//     cout<<"c="<<c<<endl;

       

        a=5,b=2;

        cout<<a*b<<endl;

        cout<<a/b<<endl; //除法对整型数来讲是整除

       

float f1=5,f2=2;

        cout<<f1/f2<<endl;

       

        //%,只对整型数操作

        cout<<a%b<<endl;       //5=2*2+1

       

        a=345;                 //345=100*3+45  a=2345

        cout<<a/100<<endl;

        cout<<a%10<<endl;      //345=10*34+5

        cout<<(a/10)%10<<endl; //34=10*3+4,法一:将十位数字变换为最低位取余//cout<<(a-3*100)/10<<endl;45/10=4 法二:将十位数字变换为最高位取整

       

        a=3;                  //3=10*0+3

        cout<<a%10<<endl;

       

        cout<<7.0/2<<endl;    //普通除法

       

         

二、复合赋值运算:*=,/=,+=,-=,%=

         

        int a=2,b=5,c;

        a*=2;     //a=a*2;  a+=2;  a=a+2;

        a/=2;     //a=a/2;  a-=2;  a=a-2;

        cout<<a<<endl;

        a+=a;     //a=a+a

        cout<<a<<endl; 

        a+=a-=a*a; //a-=a*a  a=a-a*a  a=a+a //×不要使用这种让自己和别人都看不懂的写法

        cout<<a<<endl;

       

三、增量运算和减量运算:++,--

        int a=2,b,c;

        //b=a++;  //a++: a=a+1;   a--:  a=a-1

        //后增量 :先拿原来的值参与其他运算,再自行增量

        b=++a;   //++a:a=a+1;     --a:  a=a-1

        //前增量,先进行自增,然后再参与其他运算

        cout<<a<<"\t"<<b<<endl;

        b=a++;

        c=b+a;

        cout<<c<<"\t"<<a<<endl;       

        //可读性好

        return 0;  

}

代码编写

#include <iostream>
using namespace std;
/* run this program using the console pauser or add your own getch, system("pause") or input loop */

int main(int argc, char** argv) {
	//一、 简单一元二元算术运算
	//*1.注意超出整型范围的计算
	int a,b,c;//整型数据范围为[-2147483648,214748647]
	a=2147483647,b=3;
	c=a+b;
	cout<<"c="<<c<<endl;
	//输出结果为倒回-2147483648进行计算,相当于这个范围是一个循环 
	//同理 
	//输出警告,可能是-2147483648并不是一个数值常量,而是一个表达式,它是2147483648这个数值常量前面加了一个单目运算符“-”。
    //而2147483648本身超出了int型的范围,又没有用后缀(L,UL等)指明它的类型,所以会导致undefined behavior。 
/*	a=-2147483648,b=1;
 	c=a-b; 
	cout<<"c="<<c<<endl;*/ 
	
	//2.简单运算
	a=5,b=2;
	cout<<a*b<<endl;
	cout<<a/b<<endl;//除法对整型数是整除
	cout<<a%b<<endl;//%取余只对整型数操作 //5=2*2+1
	
	float f1=5,f2=2; 
	cout<<f1/f2<<endl;//与整型数的区别在与可以显示小数点后面的位数 
	
	//3.利用取余整除等运算取出一个三位正整数的每个位上的数字
	a=345;
	cout<<a/100<<endl;//345=100*3+45百位
	cout<<(a/10)%10<<endl;//34=10*3+4,法一:将十位数字变换为最低位取余
	//cout<<(a-3*100)/10<<endl;45/10=4 法二:将十位数字变换为最高位取整 
	cout<<a%10<<endl;//345=10*34+5个位	 
	
	//二、复合赋值运算 
	int d=2;
	d*=2;//d=d*2;  
	cout<<d<<endl;
	d/=2;//d=d/2;  
	cout<<d<<endl;
	d+=2;//d+=2;  d=d+2;
	cout<<d<<endl;
	d-=2;//d-=2;  d=d-2;
	cout<<d<<endl;//注意啊从除法那步开始就已经使用上面运算赋值后的结果了
	//不是一直都用d=2这个数据的 
	d+=d-=d*d;//d-=d*d→d=d-d*d=2-2*2=-2  d=d+d=-2+(-2)=-4//×不要使用这种让自己和别人都看不懂的写法 
	cout<<d<<endl;
	
	//三、增量运算和减量运算:++,--
	int e=2,f,g;
	f=e++;//f=2 因为是先把e的值赋值给f,然后e再增量 
	    //e++:e=e+1;e--:e=e-1
	 	//后增量 :先拿原来的值参与其他运算,再自行增量 
	cout<<f<<endl;//注意转义字符要放到引号内 并且要单独用<<括起来 
	cout<<e<<endl;
		//前增量,先进行自增,然后再参与其他运算
	f=++e; //++e:e=e+1;     --e:  e=e-1
	cout<<f<<endl;
	cout<<e<<endl;//此时二者结果相同 
	
	f=e++;
	g=f+e;
	cout<<g<<"\t"<<e<<endl;	

	
	return 0;
}

学习总结

1.理解了超出整型数据范围运算

2.编写代码过程中了解了超出范围无法输出的警告

3.自学了取出三位数中十位数字的两种办法

4.编写过程知道了赋值后结果会根据后面的代码一直运行

5.对比了前增量与后增量的区别

6.注意转义字符要单独用“”引号与<< <<括起来

7.那个混合复合赋值运算仍然遵循先乘除后加减的原则

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值