首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> 關於C語言

C語言基礎:輸入輸出與程式結構之美

     編輯:關於C語言

C語言學習筆記:輸入輸出與程式設計結構之美

今天的菜單:printf()、scanf()、if 語句、switch、三種循環結構。這些基礎知識看似簡單,但正是因為基礎,才蘊含博大精深——依照自己的思路拼湊,便能形成不同風格的程式。

一、格式輸出 printf()

1. 格式:printf(格式控制, 輸出列表);

  • 格式控制:雙引號字串,含「格式字串」(% + 格式字元)與「普通字元」。
  • 輸出列表:待輸出資料或運算式。

2. 常用格式字元

格式字元作用說明
d / i輸出十進制整數①%d 實際長度 ②%md 指定寬度,不足左補空格 ③%ld 長整數
o八進制輸出%o, %mo, %lo, %mlo
x / X十六進制輸出%x, %mx, %lx, %mlx
u無符號十進制%u, %mu, %lu
c單一字元%c, %mc
s字串%s, %ms, %-ms, %m.ns, %-m.ns
f實數(小數形式)%f, %m.nf, %-m.nf;單精度 7 位,雙精度 16 位

註:l 用於長整型;m 為最小寬度;n 為小數位數或字串截取長度。

3. 疑惑解答

  • 輸出 %:格式控制中用 %%,如 printf("%f%%", a);
  • 格式控制可含轉義字元,如 \n 換行。

二、格式輸入 scanf()

1. 格式:scanf("格式控制", 地址表列);

  • 格式控制與 printf 相同,但不顯示非格式字元。
  • 地址表列:&變數名(如 &a)。

2. * 號用法

跳過該輸入值。例:scanf("%d%*d%d", &a, &b); 輸入 123 → a=1, 2 被跳過, b=3。

3. 注意事項

  • scanf 無精度控制:scanf("%5.2f", &a) 錯誤。
  • 輸入格式必須與格式控制字串一致(含逗號、空格等分隔符)。

三、if 語句嵌套之美

關鍵在於縮排與層次清晰:

if (條件)
  語句;
else
  語句;

if (條件)
  語句;
else if (條件)
  語句;
...
else
  語句;

條件運算符等價形式:max = a > b ? a : b;

四、switch 語句

switch (表達式) {
  case 值1: 語句1; [break;]
  case 值2: 語句2; [break;]
  ...
  [default: 語句;]
}

表達式類型僅限整型或字元型。break 詳解見下文。

五、三種循環結構

while (表達式) { 語句序列; }
do { 語句序列; } while (表達式);
for (表達式1; 表達式2; 表達式3) { 語句序列; }
  • for 循環最重要;while 先判斷後執行,do-while 先執行後判斷。
  • for 執行流程:初始化 → 判斷 → 執行語句 → 更新 → 判斷…

實例:九九乘法表

for (m=1; m<10; m++) printf("%4d", m);
for (m=1; m<10; m++) {
  for (n=1; n<=m; n++) printf("%4d", m*n);
  printf("\n");
}

六、break 與 continue 差異

1. break

  • 僅用於循環或 switch 中。
  • 終止所在層循環,不能同時跳出多層。
  • 外層循環繼續執行。

2. continue

  • 結束本次循環,跳過剩餘語句,直接進入下一次條件判斷。
  • 外層循環不受影響。


本文出自「趙玉強的博客」,轉載請保留出處:https://zhaoyuqiang.blog.51cto.com/6328846/1261201

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved