什麼是c語言?他是20世界70年代初期在貝爾實驗室開發出來的一種廣為使用的程式語言。
2023年美國國家標準(ansi)制定了本國c語言標準,1989標準化c語言,俗稱c89,2023年iso標準化了增加新特性,c99正式出現。
c語言的優點:
缺點
#include
int main()
對於上面**,要轉化為機器可以執行的形式,通常包含以下3個步驟:
預處理,首先程式會被送交給預處理器(preprocessor)。預處理器執行以#開頭的命令(通常稱為指令)。預處理器有點類似於編輯器,它可以給程式新增內容,也可以對程式進修改。
編譯,修改後的程式現在可以進入編譯器(compiler) 了。編譯器會把程式翻譯成機器指令。
鏈結,在最後乙個步驟中,鏈結器( linker)把由編譯器產生的目標**和所需的其他附加**整合在一起,這樣才最終產生了完全可執行的程式。這些附加**包括程式中用用到的庫函式(如:printf)。
即使最簡單的c語言程式也包含3個關建的語言特性
指令,所有指令都是以字元#
開始的。這個字元可以把c程式中的指令和其他**區分開來。指令預設只佔一行,每條指令的結尾沒有分號或其他特殊標記。
語句函式
#include#include
int main() else
break;
case '2':
printf("本次收入金額:");
scanf("%lf", &money);
getchar();
balance += money;//更新餘額
printf("本次收入說明:");
scanf("%s", ¬e);
getchar();
sprintf(temp, "n收入t%.2ftt%.2ftt%snn", money, balance, note);
//將資訊拼接到details
strcat(details, temp);
count = 1;
break;
case '3':
printf("本次支出金額:");
scanf("%lf", &money);
getchar();
// 當使用者消費的金額大於餘額時,提醒使用者餘額不足
if (balance - money < 0)
balance -= money;//更新餘額
printf("本次支出說明:");
scanf("%s", ¬e);
getchar();
sprintf(temp, "n支出t%.2ftt%.2ftt%snn", money, balance, note);
//將資訊拼接到details
strcat(details, temp);
count = 1;
break;
case '4':
//此處不直接退出,而是讓使用者再次確認
printf("你確定要退出嗎?y/nn");
do else
} while (1);
if (choice == yes)
}} while (flag);
printf("你已經成功退出了家庭財務軟體n");
return 0;
}
#include#include
// created by poplar on 2020/5/4 模組化程式設計
// 1.顯示選單
// 使用do while迴圈顯示選單,如果使用者輸入4,表示退出程式
// 使用者輸入4退出時,給出提示"你確定要退出嗎? y/n",必須輸入正確的y/n ,
// 否則迴圈輸入指令,直到輸入y 或者 n
char key = 'a'; //表示使用者輸入了那個選單
char temp[300] = "";
char note[300] = "";
double money = 0.0;
const char yes = 'y';
const char no = 'n';
char choice = 'a'; //隨便放的初始值
int loop = 1;
char details[3000]; //存放賬目資訊
double balance; //餘額
int flag;
} account;
//支出
void pay(account *account)
account->balance -= money;//更新餘額
printf("本次支出說明:");
scanf("%s", ¬e);
getchar();
sprintf(temp, "n支出t%.2ftt%.2ftt%snn", money, account->balance, note);
//將資訊拼接到details
strcat(account->details, temp);
account->flag = 1;
} //收入
void income(account *account)
//退出
//此處不直接退出,而是讓使用者再次確認
printf("你確定要退出嗎?y/nn");
do printf("你的輸入不正確,請輸入y/nn");
} while (1);
if (choice == yes)
} void show(account *account) else
} void menu_show(account *account)
} while (loop);
printf("你已經成功退出了家庭財務軟體n");
} int main()
#include#include
// created by poplar on 2020/5/4.
// crm系統
//客戶資訊的增刪改查
char key; //表示使用者輸入了那個選單
int loop = 1;
int customerslength = 1;
char choice;
//定義結構體customer
typedef struct customer customer;
//定義乙個專門用來顯示某個客戶資訊的函式,使用指標操作,提高效率
void showcustomerdetail(customer *customer)
//定義乙個customer結構體陣列
struct customer customers[100];
//顯示客戶列表
void showcustomerlist()
} //新增使用者
void addcustomer()
//根據id查詢在陣列中對應的下標
int findindex(int id)
}return index;
} //刪除id客服
int deletecustomer(int id) else
customerslength--;
return 1;
}}
//顯示刪除客戶介面
void deleteview()
printf("n確認是否刪除(y/n):");
scanf("%c", &choice);
getchar();
if (choice == 'y') else
}}
//退出
do while (choice != 'y' && choice != 'n');
if (choice == 'y')
} //首頁,主介面
void indexshow(customer *customer)
} while (loop);
printf("n 你成功退出了貓咪管理系統");
getchar();
} //主方法
int main()
c語言 gets完後不退出 C語言入門筆記(3)
c語言入門 3 臨近期末島主們開始複習了嗎?大家一定要為考試做好準備喲!小信這次繼續分享c語言基礎知識,希望對島主們的複習也有幫助 不可改變的常量 在程式執行過程中,值不發生改變的量稱為常量。c語言的常量可以分為直接常量和符號常量。直接常量也稱為字面量,是可以直接拿來使用,無需說明的量,比如 def...
C語言程式編譯後的儲存區域區分
由c語言 文字檔案 形成可執行程式 二進位制檔案 需要經過編譯 彙編 連線三個階段。編譯過程把c語言文字檔案生成匯程式設計序,彙編過程把匯程式設計序形成二進位制機器 連線過程則將各個原始檔生成的二進位制機器 檔案組合成乙個檔案。c語言編寫的程式經過編譯 連線後,將形成乙個統一檔案,它由幾個部分組成。...
c語言裡面用scanf連續輸入字元型資料常見問題
include include int main 很簡單的乙個程式,看起來應該沒有問題,執行結果理論上應該像這樣 但是實際上是這樣 其中的原因就在於scanf是從標準緩衝區中讀取輸入的字元的,所以想上面那樣寫的時候字元型變數j接收的就是輸入i之後輸入的那個回車鍵。解決方法 1.用fflush std...