类型转换和各种运算符

各种数据类型之间的转换。
1: 大转小 字节大的类型的数赋值到字节小的类型的数上,小字节的类型
数据无法接受,所以输出的数为 0
例子:
#include<stdio.h>
void main(){
   unsigned short a =256;   //char字符型只有一个字节,short短整形有两个字节
      char b= a;                          简单看就是256超出char类型能够装载的最大值
    printf("%d",b);
   getchar();

}


2:隐式转换

实型和字符型数据之间可以混合运算

例如10+‘a’+1.5-8765.1234*'b'

用自己的话说就是不同类型的两个数相互运算,字节低的那个类型会向高字节类型转化,字节变为和高字节数据的字节一样,

#include<stdio.h>
void main(){
   char i='a'; 字节少的往字节高的方向转  ‘a’计算转成ASCII码97,也就是一个整形
   short l=3;
   float j=8765.1234;
   int k=10;
   printf("\n%d,%d",sizeof(i+l),i+l);
   printf("\n%d,%f",sizeof(i+j),i+j);
   printf("\n%d,%f",sizeof(j+k),j+k);
   getchar();
}

不同数据类型之间运算会进行自动类型转换 转换规则如下

低     int (char,short)

      unsigned      运算类型不同时转换的方向

       long

高    double (float)

低字节往高字节进行计算



3:强制转换

   char b=10;     //赋值改变数据类型

   unsigned short a=b;

  printf(“%u”,a);


//要点就是将各个位数提取出来,然后自己排列或者运算;

#include<stdio.h>
void main(){
   int i,j,k,l,sum;
   int num =123;
   i=num/100;                求三位数123各位数相加的和
   j=num%100;
   k=j/10;
   l=j%10;
   sum=i+k+l;
   printf("%d",sum);
   getchar();
}



int num,i,j;
scanf("%d",&num);
  i=num/10;
  j=num%10;        //将一个二位数个位与十位交换
  num=10j+i;
printf("%d",num);








#include<math.h>
void main(){
   double i=1.22,j=2.34,k=3.56;
   double a,b,c,d;
   a=i+j+k;                                   //简单的运算
   b=(i+j+k)/3;
   c=pow(i,2)+pow(j,2)+pow(k,2);
   d=sqrt(c);
   printf("\n%f,\n%f,\n%f,\n%f",a,b,c,d);
   getchar();
}
注意 pow就是平方 例如pow(2,2)就是2的平方
sqrt就是开方 例如sqrt(4)就是4的开方 答案为2


这两个的使用需要引用,开头用#include<math.h>引用




C语言中弧度与角度的转换


弧度转角度 (180/3.14)*弧度
角度转弧度 (3.14/180)*角度






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值