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

C語言順序程序設計全解析:scanf、printf、getchar、putchar 核心函數詳解

     編輯:關於C語言

C語言語句分類概覽

C語言的程序由各類語句構成,主要分為五大類:

  • 表達式語句:由表達式加分號「;」組成,如 a = b + c;
  • 函數調用語句:由函數名、實際參數加分號組成,如 printf("Hello");
  • 控制語句:包含條件判斷(if、switch)、循環執行(do-while、while、for)、轉向語句(break、goto、continue、return)
  • 復合語句:用大括號 { } 將多個語句括起來形成一個語句塊
  • 空語句:僅由分號組成,不執行任何操作,常用於空循環體,如 while(getchar() != '\n');

賦值語句深度解析

C語言支援鏈式賦值,遵循右結合性:

a = b = c = d = e = 10

實際執行順序為:

e = 10;
d = e;
c = d;
b = c;
a = b;

字符輸入輸出函數

putchar - 字符輸出

功能:在顯示器上輸出單個字符

putchar(字符變量);

getchar - 鍵盤輸入

功能:從鍵盤讀取一個字符,通常配合賦值語句使用:

char c;
c = getchar();

格式化輸出函數 printf 詳解

函數原型位於 stdio.h,一般形式:

printf("格式控制字符串", 輸出表列);

格式字符串組成

[標志][輸出最小寬度][.精度][長度]類型,方括號內為可選項。

常用類型字符

格式字符意義
d以十進制輸出帶符號整數
o以八進制輸出無符號整數
x/X以十六進制輸出無符號整數
u以十進制輸出無符號整數
f以小數形式輸出實數
e/E以指數形式輸出實數
g/G以 %f 或 %e 中較短者輸出
c輸出單個字符
s輸出字符串

標志字符

標志意義
-結果左對齊,右側填空格
+輸出符號(正號或負號)
空格正數冠以空格,負數冠以負號
#對 o 類加前綴 0,對 x 類加前綴 0x,對 e/g/f 類在有小數時才給出小數點

格式化輸入函數 scanf 詳解

一般形式:

scanf("格式控制字符串", 地址表列);

注意:地址表列必須使用取址運算符 &,如 &a、&b。

格式字符串組成

%[*][輸入數據寬度][長度]類型

類型字符對照表

格式字符意義
d輸入十進制整數
o輸入八進制整數
x輸入十六進制整數
u輸入無符號十進制整數
f/e輸入實型數
c輸入單個字符
s輸入字符串

關鍵修飾符說明

  • * 號:跳過該輸入項,不賦值給變量。例:scanf("%d %*d %d", &a, &b); 輸入 1 2 3 時,1 給 a,2 被跳過,3 給 b
  • 寬度:指定讀取字符數。例:scanf("%5d", &a); 輸入 12345678 只讀取 12345
  • 長度:l 表示長整型(%ld)或雙精度(%lf),h 表示短整型

scanf 使用注意事項

  1. 無精度控制:scanf("%5.2f", &a); 是非法的
  2. 必須給出變量地址:scanf("%d", a); 錯誤,正確為 scanf("%d", &a);
  3. 數值輸入間隔:可用空格、TAB、回車分隔;遇非法字符(如對 %d 輸入 12A)視為結束
  4. 字符輸入特性:scanf("%c%c%c", &a, &b, &c); 輸入 d e f 時,空格也被視為有效字符;若需跳過空格,格式串應寫為 "%c %c %c"

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