2019-11-15c語言的 第二次學習

變量

1.為什么定義變量?

保存數(shù)據(jù):密碼 金額

2.變量數(shù)據(jù)類型所占字節(jié)

int 占4 個字節(jié)- %d
long 占4 個字節(jié) -%ld
float 占4 個字節(jié) -%f
double 占8 個字節(jié) -%f
char 占1個字節(jié) - %c
bool 占1 個字節(jié)- %d

輸入和輸出

#include<stdio.h> 
#include<stdbool.h> 

int main(){
    int count=0;//定義變量    4byte*8=32wei
    count=3;
    //%d
    //%02d 數(shù)據(jù)共兩位,不足兩位的用0補齊 
    //%.2f  保留小數(shù)點后兩位 
    printf("i have %02d dogs\n",count) ;//前面是格式,后面是要輸出變量的值
     //運行結果:i have  3 dogs

    long size=230;//10G=10*1024M*1024KB*1024B   
    printf("%ld\n",size);
    //運行結果:230

    float score=3.1415926;
    printf("%f\n",score);
    //運行結果:3.141593

    float score1=95.5;
    printf("%f\n",score1);
    //運行結果:95.500000

    float score2=3.1415926;
    printf("%.2f\n",score2);
    //運行結果:3.14

    //中文占據(jù)兩個字符 
    //%c  字符
    //%d   字符對應ASCII碼值 
    char choose='c';
    printf("%c\n",choose); 
    printf("%d\n",choose);
    //運行結果:c
     //運行結果:99
                     

    //非零即真1  零即假0 
    
    bool status=-3;//false
    printf("%d\n",status);
    //運行結果:1

    //scanf格式化輸入
       /*
    int a=123;
    char b=' ';
    int c=456;
    緩沖區(qū): " 123 456'\n' "
    終端 :123 456'\n' 
    */
    
    /*
    jack123 用戶輸入的格式 
    注意:不要再scanf里面隨便寫內容
    寫的內容就是用戶輸入的格式 
    pwd=123
    */
    int pwd=0;
    //scanf("jack%d",&pwd);//jack123
    //scanf("_%d_",&pwd);//_123_         
    scanf("%d",&pwd);//123
    printf("pwd=%d\n",pwd);//123
    //運行結果:(輸入123)    pwd=123

    int num1,num2;//12
    //scanf("%d%d",&num1,num2) ;
    scanf("%d %d",&num1,&num2) ;
    printf("%d %d\n",num1,num2) ;
    //運行結果:(輸入1 2)    1 2

    //判斷
    /*
    if(條件){條件成立要做的事
    }    
    
    if(條件){條件成立要做的事
    }else{條件不成立要做的事
    }
    
    if(條件1){條件1成立要做的事
    }else if(條件2){條件2成立要做的事
    }else if(條件3){條件3成立要做的事
    }else{以上條件都不成立要做的事
    }

    */
    
    
    /*當某種條件成立才做事情
    if(條件-true非0-false=0){
        成立要做的事情 
    }   
    */
    
    /*
    運算符 + - * 
    / 除 取整數(shù)部分7除3=2... 1, 則7/3=2 
     %  取余數(shù)部分7除3=2... 1,則 7%3=1 
     x%16+1=1....16位 
     x%51+50=50...100位 
     && 且 兩個同時成立 1>2 && 2>1
     //或 只要一個成立就可以了 1>2 // 2>1
      ++ 自增a++,++a 
      += a+=2
      -- 自減
      == 判斷   a==2 
      = 賦值 
      !=     不等于     1!=2
      */
     
    float r=3/2;
    printf("%f\n",r);
    //運行結果:1.000000

    int a=20;
    if(++a==20){
        printf("a=20\n");
        printf("a=%d\n",a);
    }else{
        printf("a!=20\n");
        printf("a=%d\n",a);
    }
    printf("a=%d\n",a);
    //運行結果:a!=20
       //運行結果:a=21

    if(a==20){
        printf("a=2\n");
    }
       //運行結果:

    //問號表達式
    char c;
    if(3>1){
        c='y';
    } else{
        c='n';
    }
    //運行結果:c='y'
//等價于c=3>1?'y':'n';//三目運算符 
    
    //逗號表達式 
    //result=表達式1,表達式2,表達式3 
    int temp=20;
    int t2=(temp--,temp--,temp--);
    if(t2){
        printf("temp=%d\n",temp);
        printf("t2=%d\n",t2);
    }
//運行結果:temp=17   
//運行結果:t2=18 
    return 0;
}

計算到手工資 標準

#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;
}

計算到手工資 標準優(yōu)化

#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;
}

輸入年齡 顯示 your age is 英文數(shù)字

//保存?zhèn)€位數(shù)
char* gewei[] = {"","one","two","three","four","five" ,"six","seven" ,"eight","nine"};

//保存10-19
char* temp[] = {"ten","eleven","twelve","thirteen","fourteen","fifteen","sixteen","seventeen","eighteen","nineteen"};

//保存十位 
char* shiwei[] = {"twenty","thirty","forty","fifty","sixty","seventy","eighety","ninty"};

// 接受輸入 
printf("請輸入年齡:");
scanf("%d",&age);

char *name;
if(age<10){
    
    //直接訪問個位數(shù)組 
name = gewei[age];
} else if(age>=10&&age<=19){
    
    //獲取個位數(shù) 
    int index = age % 10;
    name = temp[index]; 
}else{
    //獲取個位數(shù)
    int g = age % 10; 
    //獲取十位數(shù) 
    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("yoour age is %s\n",name);
/*
age<10;
age/10;
age%10;
[one two three four five six seven eight nine]
[ten eleven twelve thirteen fourteen fifteen sixteen 
seventeen eighteen nineteen] 
[twenty thirty forty fifty sixty seventy eighety ninty]
*/

 
 
return 0;

}

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。