C語言入門第一天主要是建立編譯環境和書籍選擇
編譯器:VSCode以及cmd指令操作結合使用
書籍選擇:C Primer plus 第五版(簡單易懂,需要先吃透一本書,再言其他)
以下是個人閑暇學習敲打的代碼,在一個.C檔案中不斷運行主程式,記錄C語言入門的代碼記錄:
#include <stdio.h>
// void name(void);
//printf函式使用
/* int main (void)
{
int num;
num = 18;
// printf("hello world \n");
// printf("my name is bom.\n");
// printf("what's your name?\n");
// printf("my lucky num is %d.but your num is %d.\n",num,num + num);
printf("my lucky num is %#o.but your num is %#x.\n",num,num + num); //以8進制和16進制列印結果
// name();
return 0;
} */
/* void name(void)
{
float today_time;
today_time = 11.03;
printf("today is a good day.\n");
printf("today_time is %.2f\n",today_time); //只列印2位小數的格式是%.2f,列印3位是%.3f
} */
//整數溢位
/* int main(void)
{
int i = 2147483647;
unsigned int j = 4294967295;
printf("%d,%d,%d\n",i,i+1,i+2);
// printf("%d,%d,%d\n",j,j+1,j+2);
printf("%u,%u,%u\n",j,j+1,j+2); //無符號整形列印格式%u
return 0;
} */
//列印數值格式不同,printf呼叫數值不同
//使用printf()陳述句時,切記每個要顯示的值都必須對應自己的格式說明書,并且顯示值型別腰痛說明符相匹配
/* int main(void)
{
unsigned int un = 3000000000; //超出數值范圍,無符號和有符號列印數值不一致
unsigned int on = 10; //對于小一些整數,無符號和有符號列印數值一致
short end = 200; // short型別列印格式%hd
long big = 65537; // long型別列印格式%ld
long long verybig = 12345678908642; // long型別列印格式%lld
printf("un = %u and not %d\n",un,un);
printf("on = %u and not %d\n",on,on);
printf("end = %hd and not %d\n",end,end); // short型別自動轉換為int型別,int型別數值是計算機處理最快捷方便的整數型別
printf("big = %ld and not %hd\n",big,big); //long型別是32位數字,而short型別是16數字,將65537轉換為32位二進制,發現低16位有效只有1,高16位未計入
printf("verybig = %lld and not %ld\n",verybig,verybig); //%ld只列印后低32位數值,相比于%lld裁剪了一次
return 0;
} */
//char型別 -> char卻也是整數型別,在ASCII碼中,數值65代表的就是大寫字母A
/* int main(void)
{
char ch; //char型別列印格式%c
printf("please enter a character:\n");
scanf("%c", &ch); //&取地址運算子,取出ch在記憶體中的地址,即在鍵盤上敲入任意字符,會將該字符存在ch的地址上,&來取地址
printf("The code is %c.%d\n",ch,ch); //The code is A.65
return 0;
} */
//float 是6位小數
/* int main(void)
{
float aboat = 32000.0;
double abet = 2.14e9;
float toobig = 3.4E38 * 100.0f; // 浮點數溢位
printf("%f can be written %e\n",aboat,aboat);
printf("%f can be written %e\n",abet,abet);
printf("%f\n",toobig); //列印結果1.#INF00代表上溢
return 0;
} */
//sizeof運算子
/* int main(void)
{
printf("Type int has a size of %u\n",sizeof(int)); //占用空間大小是無符號整數,格式%u
printf("Type char has a size of %u\n",sizeof(char));
printf("Type long has a size of %u\n",sizeof(long));
printf("Type double has a size of %u\n",sizeof(double));
return 0;
} */
//資料型別運用不當,資料精度損失
/* int main(void)
{
int math_e = 2.718;
float math_pi = 3.1415926;
printf("math_e is %d\n",math_e); //math_e is 2
printf("math_pi is %f\n",math_pi); //math_pi is 3.141593
return 0;
} */
//printf陳述句將輸出傳遞給一個被稱為緩沖區(buffer)的中介存盤區域,緩沖區中的內容再不斷地被傳輸給螢屏,以下情況輸出
//1.緩沖區滿時;2.遇到換行符時;3.需要輸入時;4.程式運行結束時
int main(void)
{
printf("hello world!"); //不列印hello world
while(1); //不滿足四個條件,不會列印
return 0;
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/203251.html
標籤:其他
