zoukankan      html  css  js  c++  java
  • [c/c++] programming之路(7)、数据类型转换、偷钱小程序、进制转换

    一、数据类型转换

     1 #include<stdio.h>
     2 //某些场合,必须进行数据类型转换,以匹配调用
     3 void main0(){
     4     printf("%f",1);//printf不管你是什么类型,解析失败就是0    0.000000
     5     printf("
    %d",1.0);//0
     6     printf("
    %f",(float)1);//1.000000
     7     printf("
    %d",(int)1.0);//1
     8     getchar();
     9 }
    10 
    11 void main1(){
    12     //实数转整数,会舍弃小数点部分
    13     //printf("%d",1/2);//0
    14     //printf("
    %d",1/2.0);//0
    15     int num=3/2;
    16     float f1=1/2.0;//0.5    整数与实数,结果为实数
    17     float f2=3/2;//1.000000 整数与整数,结果为整数
    18     //1按照%f解析失败,就是0.000000
    19     printf("%d,%f",num,num);//1  0.000000
    20     //0.5按照%d解析失败,就是0
    21     printf("
    %f,%d",f1,f1);//0.500000    0
    22     printf("
    %f,%d",f2,f2);//1.000000    0
    23     getchar();
    24 }

    1.隐式转换

    1 #include<stdio.h>
    2 //赋值号会自动进行赋值类型转换
    3 void main(){
    4     int x=3.8;
    5     printf("%d,%d",sizeof(x),sizeof(3.0));// 4    8
    6     printf("
    %d",x);//3
    7     getchar();
    8 }

    2.显式转换(强制转换)

    1 #include<stdio.h>
    2 //    +-*/赋值->自动转换    printf需要强制转换
    3 void main(){
    4     printf("%c",(char)65.0);
    5     getchar();
    6 }

    二、偷钱小程序

     1 #include<stdio.h>
     2 #include<stdlib.h>
     3 //    1234.45->1234.4
     4 //    1234.46->1234.5
     5 //    五舍六入
     6 //    1234.45->12344.5    +0.4    12344.9    12344    1234.4
     7 //    1234.46->12344.6    +0.4    12345    12345    1234.5
     8 void main(){
     9     float RMB,changeRMB;
    10     scanf("%f",&RMB);
    11     printf("现在有%0.2f元",RMB);
    12     changeRMB=((int)(RMB*10.0f+0.4f))/10.0f;
    13     printf("
    现在有%0.2f元
    ",changeRMB);
    14     changeRMB<RMB?printf("可以偷%f元
    ",RMB-changeRMB):printf("原封不动
    ");
    15 
    16     system("pause");
    17 }

    练习:123.345  小数点第三位先五舍六入,第二位再四舍五入

     1 #include<stdio.h>
     2 #include<stdlib.h>
     3 //    123.345->123.340->123.300  小数点第三位先五舍六入,第二位再四舍五入
     4 //    123.346->123.350->123.400
     5 //    五舍六入,再四舍五入
     6 //    123.345->12334.5    +0.4    12334.9    12334    123.34->1233.4    +0.5    1233.9    1233    123.3
     7 //    123.346->12334.6    +0.4    12335      12335    123.35->1233.5    +0.5    1234    1234    123.4
     8 void main(){
     9     float RMB,change_start_RMB,change_end_RMB;
    10     scanf("%f",&RMB);
    11     printf("现在有%0.3f元",RMB);
    12     change_start_RMB=((int)(RMB*100.0f+0.4f))/100.0f;
    13     printf("
    第三位五舍六入后有%0.3f元",change_start_RMB);
    14     change_end_RMB=((int)(change_start_RMB*10.0f+0.5f))/10.0f;
    15     printf("
    第二位四舍五入后有%0.3f元
    ",change_end_RMB);
    16     change_end_RMB<RMB?printf("可以偷%f元
    ",RMB-change_end_RMB):printf("原封不动
    ");
    17 
    18     system("pause");
    19 }

    三、进制转换itoa

     1 #include<stdio.h>
     2 #include<stdlib.h>
     3 
     4 void main(){
     5     int num;
     6     char str[32];
     7     scanf("%d",&num);
     8     printf("%d,%u,%o,%x",num,num,num,num);//十进制,无符号十进制,八进制,16进制
     9     //要转换的数据,保存的字符串,要转换的进制
    10     itoa(num,str,2);
    11     printf("
    %s",str);
    12      
    13     system("pause");
    14 }
  • 相关阅读:
    电子商务运营模式
    PHP 常用资源
    Ajax 常用资源
    java 常用资源
    Net 常用资源
    Web App 响应式页面制作 笔记整理
    移动端click事件延迟300ms该如何解决
    阻止冒泡事件
    关于jquery stopPropagation()阻止冒泡事件
    集算器如何处理类文本数据计算
  • 原文地址:https://www.cnblogs.com/little-monkey/p/7218553.html
Copyright © 2011-2022 走看看