標籤:字元 半徑 相容 需要 預留位置 整數 文法 其他 大小寫
常量:程式在運行過程中無法對值變更。
變數:是在電腦記憶體空間一種表示,聲明變數將會向電腦記憶體申請儲存空間,用於儲存資料,電腦的CPU會從記憶體中載入資料。
聲明變數:
資料類型 變數名[=值];
也可以一次性聲明多個變數: 資料類型 變數名1,變數名2….變數名N;
變數的使用需要滿足:先聲明, 後賦值,在使用。
比如:
int a;
a=10;
int a=10;
標示符的命名規範:見名知意
- 有字母,數字和底線組成,不能有其他特殊字元,不能以數字開頭。
- 不能使用預留關鍵字. 比如int
- 嚴格區分大小寫。 City ,city是兩個變數
- 建議採用駝峰命名法:首單詞小寫,其他單詞的首字母大寫(employeeName)
資料類型
1、分為數值型、非數值型(char)
2、數值型又分為整形和浮點型
3、整形又分為長整型(long)、整形(int)、短整型(short)
4、浮點型分為單精確度浮點型(float)、雙精確度浮點型(double)
printf()/scanf():輸出和輸入
常用的預留位置:%d 十進位的整型int , %f:浮點型float,預設精確到小數點後6位,
%lf:雙精確度浮點型double, %c:字元型char ,%s: 字串
scanf(“%d”,&a);à &取地址符號
例一:
計算圓柱體積
float raduis,height,vol,pi=3.14;//聲明兩個變數分別用於儲存半徑和高
printf("請輸入半徑:\n");
scanf("%f",&raduis);
printf("請輸入高:\n");
scanf("%f",&height);
vol = pi*raduis*raduis*height;
printf("圓柱的體積vol=%0.2f",vol);
例二:
//列印購物小票
float price=20,totalPrice,realPrice,disCount;//牙膏價格
float total,change;//付款金額和找零
int num;//要購買的牙膏的數量
printf("牙膏的價格為20元每隻\n");
printf("請輸入購買牙膏的數量:\n");
scanf("%d",&num);//擷取輸入的數量
printf("請輸入折扣:\n");
scanf("%f",&disCount);//擷取輸入的折扣
printf("請輸入付款金額:\n");
scanf("%f",&total);//擷取付款金額
totalPrice = price*num;//計算總價(原價)
realPrice = (1- disCount)*totalPrice;//計算應付金額
change = total-realPrice;//計算找零
printf("***************購物小票**************\n");
printf("單價\t數量\t小計\n");
printf("%0.2f\t%d\t%0.2f\n",price,num,totalPrice);
printf("折扣:%0.2f,折扣價:%0.2f\n",disCount,disCount*totalPrice);
printf("應付:%0.2f,實付:%0.2f,找零:%0.2f\n",realPrice,total,change);
printf("************************************");
算術運算子:分為一元運算子和二元運算子
二元運算子(運算元有兩個):+,-,*,/,%(求餘或模數)
一元運算子(運算元只有1個):++(自加1),--(自減1)
int num=5;
printf("%d\n",num++);//5
printf("%d\n",num);//6
printf("%d\n",++num);//7
printf("%d\n",num);//7
printf("*************************\n");
printf("%d\n",num--);//7
printf("%d\n",num);//6
printf("%d\n",--num);//5
printf("%d\n",num);//5
類型轉換: 自動轉換和強制轉換
自動轉換:
1.兩種資料類型相互相容
2.目標類型大於源類型--->範圍小的可以向範圍大的自動轉化
short--->int--->long--->float--->double
強制轉換:在強制轉換的過程中有可能會發生進度的丟失
文法: (資料類型)變數或數值;
int a=3,b=2;
float c,d,e,f;
c=a/b;//1.000000
d=(float)(a/b);//1.000000
e=(float)a/b;//1.500000
f=(int)c%a;//1.000000
getchar()和putchar()的函數
- getchar()擷取使用者輸入的字元, 類似於scanf()
- putchar(char c):輸入字元到顯示器(控制台), 類似於printf()
樣本:
char c; c = getchar();//scanf("%c",&c); putchar(c); //printf("%c",c); |
樣本2 char a,b; printf("請輸入兩個字元:"); a=getchar(); fflush(stdin); b=getchar(); fflush(stdin); putchar(a); putchar(b); putchar(‘\n‘); |
作業1: 聲明兩個整型的變數用於接收使用者輸入的兩個整數,完成交換使用者輸入的值。
int a=10;
int b=5;
e a=5,b=10;
//1.擷取使用者輸入的兩個數值,並完成交換 int num1,num2,temp; printf("請輸入num1的值:\n"); scanf("%d",&num1); printf("請輸入num2的值:\n"); scanf("%d",&num2); printf("交換前:num1=%d,num2=%d\n",num1,num2); //交換num1和num2的值 temp=num1; num1=num2; num2=temp; printf("交換後:num1=%d,num2=%d\n",num1,num2); |
作業2: 根據使用者輸入的上底,下底和高計算梯形的面積。
面積=(上底+下底)*高/2;
//2.根據使用者輸入的上底,下底和高計算梯形的面積。 //面積=(上底+下底)*高/2; float top,bottom,height,s; printf("請輸入梯形的上底:\n"); scanf("%f",&top); printf("請輸入梯形的下底:\n"); scanf("%f",&bottom); printf("請輸入梯形的高:\n"); scanf("%f",&height); s=(top+bottom)*height/2;//計算面積 printf("梯形的面積為:%0.2f",s); |
C語言之變數和資料類型