變量
1.為什么定義變量畜号?
保存數(shù)據(jù):密碼 金額
2.變量數(shù)據(jù)類型所占字節(jié)
int 占4 個(gè)字節(jié)- %d
long 占4 個(gè)字節(jié) -%ld
float 占4 個(gè)字節(jié) -%f
double 占8 個(gè)字節(jié) -%f
char 占1個(gè)字節(jié) - %c
bool 占1 個(gè)字節(jié)- %d
輸入和輸出
#include<stdio.h>
#include<stdbool.h>
int main(){
int count=0;//定義變量 4byte*8=32wei
count=3;
//%d
//%02d 數(shù)據(jù)共兩位尿这,不足兩位的用0補(bǔ)齊
//%.2f 保留小數(shù)點(diǎn)后兩位
printf("i have %02d dogs\n",count) ;//前面是格式簇抵,后面是要輸出變量的值
//運(yùn)行結(jié)果:i have 3 dogs
long size=230;//10G=10*1024M*1024KB*1024B
printf("%ld\n",size);
//運(yùn)行結(jié)果:230
float score=3.1415926;
printf("%f\n",score);
//運(yùn)行結(jié)果:3.141593
float score1=95.5;
printf("%f\n",score1);
//運(yùn)行結(jié)果:95.500000
float score2=3.1415926;
printf("%.2f\n",score2);
//運(yùn)行結(jié)果:3.14
//中文占據(jù)兩個(gè)字符
//%c 字符
//%d 字符對應(yīng)ASCII碼值
char choose='c';
printf("%c\n",choose);
printf("%d\n",choose);
//運(yùn)行結(jié)果:c
//運(yùn)行結(jié)果:99
//非零即真1 零即假0
bool status=-3;//false
printf("%d\n",status);
//運(yùn)行結(jié)果:1
//scanf格式化輸入
/*
int a=123;
char b=' ';
int c=456;
緩沖區(qū): " 123 456'\n' "
終端 :123 456'\n'
*/
/*
jack123 用戶輸入的格式
注意:不要再scanf里面隨便寫內(nèi)容
寫的內(nèi)容就是用戶輸入的格式
pwd=123
*/
int pwd=0;
//scanf("jack%d",&pwd);//jack123
//scanf("_%d_",&pwd);//_123_
scanf("%d",&pwd);//123
printf("pwd=%d\n",pwd);//123
//運(yùn)行結(jié)果:(輸入123) pwd=123
int num1,num2;//12
//scanf("%d%d",&num1,num2) ;
scanf("%d %d",&num1,&num2) ;
printf("%d %d\n",num1,num2) ;
//運(yùn)行結(jié)果:(輸入1 2) 1 2
//判斷
/*
if(條件){條件成立要做的事
}
if(條件){條件成立要做的事
}else{條件不成立要做的事
}
if(條件1){條件1成立要做的事
}else if(條件2){條件2成立要做的事
}else if(條件3){條件3成立要做的事
}else{以上條件都不成立要做的事
}
*/
/*當(dāng)某種條件成立才做事情
if(條件-true非0-false=0){
成立要做的事情
}
*/
/*
運(yùn)算符 + - *
/ 除 取整數(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位
&& 且 兩個(gè)同時(shí)成立 1>2 && 2>1
//或 只要一個(gè)成立就可以了 1>2 // 2>1
++ 自增a++,++a
+= a+=2
-- 自減
== 判斷 a==2
= 賦值
!= 不等于 1!=2
*/
float r=3/2;
printf("%f\n",r);
//運(yùn)行結(jié)果: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);
//運(yùn)行結(jié)果:a!=20
//運(yùn)行結(jié)果:a=21
if(a==20){
printf("a=2\n");
}
//運(yùn)行結(jié)果:
//問號表達(dá)式
char c;
if(3>1){
c='y';
} else{
c='n';
}
//運(yùn)行結(jié)果:c='y'
//等價(jià)于c=3>1?'y':'n';//三目運(yùn)算符
//逗號表達(dá)式
//result=表達(dá)式1碟摆,表達(dá)式2,表達(dá)式3
int temp=20;
int t2=(temp--,temp--,temp--);
if(t2){
printf("temp=%d\n",temp);
printf("t2=%d\n",t2);
}
//運(yùn)行結(jié)果:temp=17
//運(yùn)行結(jié)果:t2=18
return 0;
}
計(jì)算到手工資 標(biāo)準(zhǔn)
#include<stdio.h>
int main(){
int salary = 0;//定義變量
int pay=0;//稅后工資
//接受輸入
printf("請輸入工資:");
scanf("%d",&salary);
//開始計(jì)算
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;
}
計(jì)算到手工資 標(biāo)準(zhǔn)優(yōu)化
#include<stdio.h>
int main(){
int salary = 0;//定義變量
int tax=0;//稅
//接受輸入
printf("請輸入工資:");
scanf("%d",&salary);
//開始計(jì)算
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){
//直接訪問個(gè)位數(shù)組
name = gewei[age];
} else if(age>=10&&age<=19){
//獲取個(gè)位數(shù)
int index = age % 10;
name = temp[index];
}else{
//獲取個(gè)位數(shù)
int g = age % 10;
//獲取十位數(shù)
int s = age / 10;
//取出對應(yīng)的單詞
char* sString = shiwei[s-2] ;
char* gString = gewei[g];
printf("your age is %s-%s\n ",sString,gString);
return 0;//程序還未運(yùn)行完畢就提前結(jié)束
}
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;
}