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

C語言基礎 I/O 綜合案例:printf/puts/scanf 格式化、轉義字符與交互菜單

     編輯:C 語言入門

轉義字符速查表

轉義含義ASCII
\n換行10
\r回車(移至行首)13
\t水平製表9
\v垂直製表11
\b退格8
\f換頁12
\a響鈴7
\\反斜槓92
\'單引號39
\"雙引號34
\?問號63
\ddd八進制字符-
\xhh十六進制字符-

printf 格式化輸出完整示例


#include <stdio.h>
#include <stdlib.h>

int main(void) {
    int num = 10;
    printf("文本: very nice!\\n");
    printf("變量: The value of number is %d\\n", num);

    printf("\\a響鈴\\n");
    printf("\\b退格\\n");
    printf("\\f換頁\\n");
    printf("------分界線----\\n");
    printf("\\r回車");  // 後續輸出會覆蓋本行
    printf("\\t水平制表符\\n");
    printf("\\v垂直制表符\\n");
    printf("\\\\反斜槓\\n");
    printf("\\?問號\\n");
    printf("\\'單引號\\n");
    printf("\\\"雙引號\\n");
    printf("-----結束---");

    system("pause");
    return 0;
}

運行結果1 運行結果2

交互菜單案例:do-while + switch


#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <time.h>
#include <Windows.h>

void choice_what(void);
void goon_or_quit(void);

int main(void) { goon_or_quit(); system("pause"); return 0; }

void choice_what(void) {
    int opt;
    printf("選擇操作:\\n1. 響鈴\\n2. 顯示日期\\n3. 輸出信息\\n> ");
    scanf("%d", &opt);
    switch (opt) {
        case 1: printf("\\a響鈴了!\\n"); break;
        case 2: system("@echo %date% %time%"); break;
        default: printf("(*^__^*) 嘻嘻……\\n");
    }
}

void goon_or_quit(void) {
    int flag = 1;
    do {
        choice_what();
        printf("繼續?1=是 0=否: ");
        scanf("%d", &flag);
    } while (flag);
    exit(0);
}

菜單運行結果

scanf 格式化輸入


#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>

int main(void) {
    int a; double b = 1.09;
    scanf("%d %lf", &a, &b);  // double 用 %lf
    printf("%d, %f\\n", a, b);
    system("pause");
    return 0;
}

scanf 結果

puts vs printf 選擇指南

  • puts:僅輸出字符串、自動換行、開銷極小、不能輸出變量。
  • printf:格式化強大、可輸出任意類型、開銷較大。
  • 經驗法則:純文本提示用 puts,帶變量格式化用 printf,資源受限環境優先 puts。

常用轉換說明符

類型printfscanf
char%c%c
short%hd%hd
int%d%d
long%ld%ld
float%f%f
double%f / %lf%lf
字符串%s%s
無符號%u/%lu%u/%lu
指針%p%p
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved