C语言基础2

循环:if

if语句的形式:C语言把任何非零和非null的值假定为true,把0或null假定为false.

if(条件){
   条件成立要做的事
}
if(条件){
    条件成立要做的事
}else{条件不成立要做的事
}
if(条件1){
    条件1成立要做的事
}else if(条件2){
   条件2成立,条件1不成立要做的事
}else if(条件3){
}
......
}else{
以上条件都不成立要做的事
}

问号表达式(三目运算符)

char c;
     if(3>1){
        c='y';
     }else{
     c='n';
     }
    等价于 c=3>1?'y':'n'

逗号表达式

result =表达式1,表达式2,表达式3

    int temp=20;
     int t2=(temp--,temp--,temp--);//t2=18
     if(t2){
        printf("temp=%d\n",temp);
        printf("t2=%d\n",t2);
     }

计算工资

#include<stdio.h>

int main(){
    int salary=0;
    int pay=0;
    printf("请输入工资:"); 
    scanf("%d",&salary);
    
    //开始计算
     if(salary<5000){
        pay=salary;
     }  else if(salary>5000&&salary<8000){
        int tax=(salary-5000)*0.1;
        pay=salary-tax;
     }else if(salary>8000&&salary<10000){
        int tax=(salary-8000)*0.15+3000*0.1;
         pay=salary-tax; 
     }else{
        int tax=(salary-10000) *0.2+3000*0.1+2000*0.15;
        pay=salary-tax;
     }
     
     printf("到手工资:%d",pay);
    

    return 0;
}

优化计算工资

#include<stdio.h>

int main(){
    int salary=0;
    int tax=0;
    printf("请输入工资:"); 
    scanf("%d",&salary);
    
    //开始计算
     if(salary<5000){
        tax=0;
     }  else if(salary>5000&&salary<8000){
        tax=(salary-5000)*0.1;
     }else if(salary>8000&&salary<10000){
         tax=(salary-8000)*0.15+3000*0.1;
     }else{
         tax=(salary-10000) *0.2+3000*0.1+2000*0.15;
     }
     
     printf("到手工资:%d",salary-tax);
    return 0;
}

年龄转英文实战

#include<stdio.h>

int main(){
    int age=0;
    //保存个位数
    char* gewei[] ={"","one"," two ","three ","four ","five"," seven ","eight"," nine"};
    char* temp[]={"ten"," eleven"," twelve ","thirteen ","fourteen"," fifteen"," sixteen ","seventeen ","eighteen","nineteen"};
    char* shiwei[]={"twenty ","thirty","forty ","fifty ","sixty ","seventy"," eighty ","ninety"};
    printf("请输入年龄:");
    scanf("%d",&age);
    
//[one two three four five seven eight nine ]
    //[ten eleven twelve thirteen fourteen fifteen sixteen seventeen eighteen]
//  [twenty thirty forty fifty sixty seventy eighty ninety]
    
     char* name;
     if(age<10){
        //直接访问个位数数组 
        name=gewei[age];
     }else if(age>=10&&age<19){
        int index=age%10;//获取个位数
         name=temp[index] ;
     }else{
        //获取个位数
         int g=age%10;
         //获取十位数
         int s=age/10;
         char* sString=shiwei [s-2];
         char* gString=gewei[g];
         printf("your age is %s-%s\n",sString,gString);
         return 0;
     }
     printf("your age is %s\n",name);
    return 0;
}
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • BOOL类型 BOOL数据额类型,是一种表示非真即假的数据类型,布尔类型的变量只有YES和NO两个值.YES表示表...
    克里斯里亚诺罗纳尔多阅读 354评论 0 0
  • 1、指针能够遍历数组的根本原因: 数组空间是连续的、地址加减是一个类型的大小 2、下标运算 数组的下标本质上是指针...
    BadRosoul阅读 2,234评论 0 0
  • C程序格式特点 习惯用小写字母,大小写敏感 不使用行号,无程序行概念 可使用空行和空格 常用锯齿形书写格式 例1....
    张轻舟阅读 670评论 0 1
  • 如果相除的两个数都是整数的话,则结果也为整数,小数部分省略,如8/3 = 2;而两数中有一个为小数,结果则为小数,...
    肖塔塔阅读 737评论 0 0
  • 每周一本书,进步不止步。这里是椰子私塾。 昨天我们了解了心身的关系的哲学思想,这场辩论远远没有结束。这今天我们来了...
    丨张伟丨阅读 232评论 0 1