C語言基礎學習day02
資料和C
示例程式
#include<stdio.h> int main(void) { float weight; float value; printf("are you worth your weight in platinum?\n"); printf("Let's check it out.\n"); printf("please enter your weight in pounds: "); scanf("%f",&weight); //獲取使用者輸入 value=1700.0*weight*14.5833; printf("your weight in platinum is worth $%.2f.\n",value); printf("you are easily worth that!if platinum prices drop,\n"); printf("eat more to maintain your value.\n"); return 0; }
輸出結果:
基本資料型別
1. int型別
宣告多個變數,變數名之間用逗號隔開
初始化變數,初始化可以直接在宣告中完成,只需要在變數名後面加上=和待賦的值即可
int hogs = 21; int cow =32 ,goats = 14;
注意:最好不要把初始化變數和未初始化的變數放在同一條宣告中
宣告為變數建立和標記儲存空間,併為其制定初始值
列印int值
%d指明瞭在一行中列印整數的位置,叫做轉換說明,每個%d都與待列印變數列表中相應的int值匹配
在使用printf()函式時,切記檢查每個待列印值都有對應的轉換說明,還要檢查轉換說明的型別是否與待列印的型別相匹配
#include<stdio.h> int main(void) { int ten = 10; int two = 2; printf("doing it right:"); printf("%d minus %d is %d\n",ten,2,ten-two); printf("doing it wrong:"); printf("%d minus %d is %d\n",ten);//遺漏2個引數 return 0; }
輸出結果
第二次列印的被減數和結果是任意值,大部分函式都需要制定數目的引數,編譯器會檢查引數的數目是否正確,要確保轉換說明的數量與待列印的值數量相等
其他整數型別
2. char型別
C語言把1位元組定義為char型別佔用的位數,因此無論是16位還是32位系統,都可以使用char型別
字元常量和初始化
char grade='A';
在C語言中,用單引號括起來的單個字元被稱為字元常量,字元是以數值形式儲存的,所以也可使用數字程式碼來賦值
轉義序列
#include<stdio.h> int main(void) { char ch; printf("please enter a character.\n"); scanf("%c",&ch); printf("the code for %c is %d.\n",ch,ch); return 0; }
輸出結果:
please enter a character.
C
the code for C is 67.
注意:printf()函式中的轉化說明決定了資料的顯示方式,而不是資料的儲存方式
3. _Bool型別
用於表示布林值,1表示true,0表示false,所以_Bool型別實際上也是一種整數型別,但原則上它僅佔用1位儲存空間
4. 浮點型常量
printf()函式使用 %f 轉換,用 %e 列印指數計數法的浮點數
列印long double型別要使用%Lf、%Le或%La轉換說明
特殊浮點值NAN(not a number)
程式設計練習
1. 編寫一個程式,要求提示輸入一個ASCII碼值,如66,然後列印輸入的字元
#include<stdio.h> int main(void) { char a; scanf("%d",&a); printf("%c\n",a); return 0; }
2. 一年大約有3.156*10^7秒,編寫一個程式,提示使用者輸入年齡,然後顯示該年齡對應的秒數
#include<stdio.h> int main(void) { float a; printf("please input your age:\n"); scanf("%f",&a); printf("your age is %eseconds\n",a*3.156E7); return 0; }
3. 1英寸相當於2.54釐米,編寫一個程式,提示使用者輸入身高(/英寸)。然後以釐米為單位顯示身高
#include<stdio.h> int main(void) { float h; printf("please input your height:\n"); scanf("%f",&h); printf("your height is %.2fcm",h*2.54); return 0; }