c++ printf函數用法詳解

一、printf用法

printf函數是C語言的標準庫函數,主要用於輸出字元或者字元串。在C++中,printf仍然可以使用,但是最好使用C++的流式輸出語句cout,因為cout更加類型安全、可讀性更強。

printf函數的一般語法如下:

    int printf(const char *format, ...)

其中,第一個參數format是一個字元串,用於給出待輸出的格式。後面的參數則是一個變長參數列表,用於依次填充format字元串中的格式符。

常用的格式符如下:

  • %d:輸出整型數據
  • %f:輸出單精度浮點型數據
  • %s:輸出字元串
  • %c:輸出一個字元
  • %%:輸出一個百分號

以下代碼是一個簡單的printf用法示例:

    int number = 10;
    printf("The number is %d", number);

以上代碼執行的結果是:The number is 10

二、cprintf用法

cprintf函數是Turbo C/C++中的一個特有函數,它與printf的功能相同,但是支持顏色控制。

語法如下:

    void cprintf(const char *format, ...)

其中,format和可變參數列表的含義與printf相同。cprintf支持使用控制字元來控制輸出的顏色,常用的控制字元如下:

  • \e[1m:高亮顯示
  • \e[0m:關閉所有屬性
  • \e[31m:紅色前景色
  • \e[32m:綠色前景色
  • \e[33m:黃色前景色
  • \e[34m:藍色前景色
  • \e[35m:洋紅前景色
  • \e[36m:青色前景色
  • \e[37m:白色前景色
  • \e[41m:紅色背景色
  • \e[42m:綠色背景色
  • \e[43m:黃色背景色
  • \e[44m:藍色背景色
  • \e[45m:洋紅背景色
  • \e[46m:青色背景色
  • \e[47m:白色背景色

以下是一個cprintf用法的示例代碼:

    cprintf("\e[31mThis text is in red color!\e[0m");

以上代碼執行結果是:This text is in red color!

三、printf用法舉例

下面我們來看一些printf用法的實際例子:

1. 輸出整型數據

以下代碼輸出了一個整型變數num的值:

    int num = 100;
    printf("The value of num is %d", num);

以上代碼執行結果是:The value of num is 100

2. 輸出單精度浮點型數據

以下代碼輸出了一個單精度浮點型變數f的值:

    float f = 1.23f;
    printf("The value of f is %f", f);

以上代碼執行結果是:The value of f is 1.230000

3. 輸出字元串

以下代碼輸出了一個字元串hello world:

    printf("hello world");

以上代碼執行結果是:hello world

4. 輸出一個字元

以下代碼輸出了字元’A’:

    printf("%c", 'A');

以上代碼執行結果是:A

5. 輸出一個百分號

以下代碼輸出了一個百分號:

    printf("%%");

以上代碼執行結果是:%

四、c++ printf用法

在C++中,使用printf並不是最優的選擇。C++11中引入了一種新的流式輸出語句cout,既可以輸出基本數據類型,也可以輸出字元串等複雜類型的數據。

以下是一個cout的示例代碼:

    #include 
    using namespace std;
    
    int main() {
        int num = 100;
        cout << "The value of num is " << num << endl;
        return 0;
    }

以上代碼執行結果是:The value of num is 100

五、c語言printf用法例子

下面我們再看一些實際的printf用法例子:

1. 格式化輸出

以下代碼使用了格式化輸出的方法,將整型變數num的值輸出到控制台:

    int num = 50;
    printf("The value of num is %d", num);  

輸出結果為:The value of num is 50

2. 輸出浮點數

以下代碼輸出了一個浮點型變數f的值:

    float f = 3.1415;
    printf("The value of f is %f", f);

輸出結果為:The value of f is 3.141500

3. 控制輸出精度

以下代碼控制了浮點數的輸出精度,只輸出小數點後兩位:

    float pi = 3.1415926f;
    printf("%.2f", pi);

輸出結果為:3.14

六、printf函數的用法

在C++中,printf函數的用法和C語言是一樣的,格式化字元串中的格式符取決於要輸出的數據類型。

1. 輸出無符號整型數據

以下代碼輸出了一個無符號整型變數的值:

    unsigned int x = 10;
    printf("The value of x is %u", x);

結果輸出為:The value of x is 10

2. 輸出十六進位數據

以下代碼輸出了一個十六進位數:

    int num = 0x12AF;
    printf("The value of num is %X", num);

結果輸出為:The value of num is 12AF

3. 輸出八進位數據

以下代碼輸出了一個八進位數:

    int num = 0173;
    printf("The value of num is %o", num);

結果輸出為:The value of num is 173

七、c語言printf的用法

最後,我們來看一些c語言printf的用法舉例。

1. 字元串拼接

以下代碼將兩個字元串拼接成一個字元串並輸出:

    char str1[] = "hello";
    char str2[] = "world";
    printf("%s %s!", str1, str2);

輸出結果為:hello world!

2. 輸出指針地址

以下代碼輸出了指針變數p的地址:

    int x = 100;
    int *p = &x;
    printf("The address of x is %p", p);

輸出結果為:The address of x is 004FFAB0(地址會因計算機而異)

3. 輸出字元數組

以下代碼輸出了字元數組str的內容:

    char str[] = "hello world";
    printf("%s", str);

輸出結果為:hello world

八、scanf與printf用法詳解

scanf和printf是C語言和C++中最常用的輸入輸出函數,下面簡單介紹一下它們的用法。

1. scanf用法

scanf用於從標準輸入流stdin中讀取數據。

    int age;
    scanf("%d", &age);

以上代碼將讀取用戶輸入的整數,並將其存儲到整型變數age中。

2. printf用法

printf用於向標準輸出流stdout中輸出數據。

    int num = 100;
    printf("The value of num is %d", num);

以上代碼將輸出:The value of num is 100。

3. scanf與printf結合使用

以下代碼演示了如何使用scanf和printf結合完成輸入輸出操作:

    int age;
    printf("Please enter your age: ");
    scanf("%d", &age);
    printf("Your age is: %d", age);

以上代碼將提示用戶輸入年齡,然後將用戶輸入的年齡列印輸出。

總結

本文介紹了C++中printf函數的用法,包括常見的格式符、控制字元等方法,以及C++中更加類型安全的流式輸出語句cout。同時,還介紹了C語言中常用的格式化輸出和控制輸出精度等方法,以及printf結合scanf用法舉例。

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/283378.html

相關推薦