欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C語(yǔ)言中多樣式的格式控制符的使用詳解

 更新時(shí)間:2023年03月20日 09:04:25   作者:Gritty?wang  
C語(yǔ)言中的格式控制符類型繁多,雖然格式字符可能就那么幾個(gè),但組合起來使得格式控制符變得多樣化,這對(duì)于C語(yǔ)言初學(xué)者來說無疑是一種痛苦,為此我將常見的格式控制符類型及意義總結(jié)一下,希望對(duì)大家有所幫助

C語(yǔ)言中的格式控制符類型繁多,雖然格式字符可能就那么幾個(gè),但組合起來使得格式控制符變得多樣化,這對(duì)于C語(yǔ)言初學(xué)者來說無疑是一種痛苦,為此我將常見的格式控制符類型及意義總結(jié)一下,這些格式符的用法不需要你立即全部掌握,應(yīng)當(dāng)在日后的編程實(shí)踐中逐步掌握。

先來看一個(gè)代碼示例:

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
int main(void)
{
    int i;
    int temp=1234;
    int arr[5] = { 34,45,-67,89,-68 };
    printf("%#o\n", temp);
    printf("%lo\n", temp);
    for (i = 0; i < 5; i++)
        printf("%d", arr[i]);
    printf("\n");
    for (i = 0; i < 5; i++)
        printf("%-5d", arr[i]);
    printf("\n");
    for (i = 0; i < 5; i++)
        printf("%+4d", arr[i]);
    printf("\n");
 
    return 0;
}

代碼運(yùn)行結(jié)果如下:

從上面代碼示例中可以看到,printf函數(shù)中的格式字符串有多種不同的組合,不同的組合輸出內(nèi)容也不盡相同,它一般是以%開頭的字符串,在%后面跟有各種樣式的格式字符,以說明輸出數(shù)據(jù)的類型、形式、長(zhǎng)度、小數(shù)位數(shù)等,其 一般形式如下:

%[標(biāo)志] [輸出最小寬度] [.精度] [長(zhǎng)度]

其中[]中表示可選項(xiàng)。各項(xiàng)意義介紹如下:

1.標(biāo)志:標(biāo)志字符有-、+、#、空格等四種,其所代表的意義如下:

  • -: 當(dāng)實(shí)際位數(shù)小于指定位數(shù)時(shí),數(shù)據(jù)在指定寬度內(nèi)左對(duì)齊;多余位數(shù)以空格填充。
  • +: 用于在正數(shù)之前添加"+",在負(fù)數(shù)之前添加"-"。

-和+的代碼示例如下:

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
int main(void)
{
    int i;
    int temp = 1234;
    int arr[3] = { 23,45,68 };
    printf("%d\n", temp);
    printf("%+d\n", temp);
    for (i = 0;i < 3; i++)
        printf("%3d", arr[i]);
    printf("\n");
    for (i = 0;i < 3; i++)
        printf("%-3d", arr[i]);
    return 0;
}

運(yùn)行結(jié)果如下:

#: 對(duì)o類,輸出時(shí)添加前綴o;對(duì)x類,在輸出時(shí)添加前綴0x;對(duì)e,g,f類,當(dāng)結(jié)果有小數(shù)時(shí)才給出小數(shù)點(diǎn),對(duì)c、s、d、u類無影響。

#的代碼示例如下:

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
int main(void)
{
    int temp1 = 1234;
    float temp2 = 3.5;
    printf("%#d\n", temp1);
    printf("%#o\n", temp1);
    printf("%#x\n", temp1);
    printf("%#f\n", temp2);
    return 0;
}

運(yùn)行結(jié)果如下:

2.輸出最小寬度:用十進(jìn)制整數(shù)來表示輸出的最少位數(shù)。若實(shí)際位數(shù)多于定義的長(zhǎng)度,則按實(shí)際位數(shù)輸出,若實(shí)際位數(shù)少于定義的寬度則補(bǔ)以空格或0。

3.精度:精度格式符以‘ . ’開頭,后跟十進(jìn)制數(shù)。它的含義是:如果輸出實(shí)數(shù),則表示小數(shù)的位數(shù);如果輸出的是字符串,則表示輸出字符的個(gè)數(shù);如果實(shí)際位數(shù)大于所定義的精度數(shù),則截去超過的部分(四舍五入)。

4.長(zhǎng)度:長(zhǎng)度格式有h和l兩種,h表示按短整型輸出,l表示按長(zhǎng)整型輸出。

敘述了這么多理論知識(shí),相信大家已經(jīng)對(duì)格式字符的多種組合已經(jīng)有了一個(gè)了解,為了讓大家對(duì)其有一個(gè)更加深入的了解,特舉一些常用的格式符使用示例如下:

⑴%m.nd: m、n均為正整數(shù),其中m指定輸出結(jié)果的總位數(shù),n指定實(shí)際輸出的整數(shù)位數(shù)。

注意:若整數(shù)的實(shí)際位數(shù)小于n,則用字符0填充;若實(shí)際位數(shù)大于n,則n不起作用。

代碼示例如下:

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
int main(void)
{
    int a = 123;
    int b = -1234;
    printf("%d\n", a);
    printf("%.4d\n", a);
    printf("%5.2d\n", a);
    printf("%.4d\n", b);
    printf("%8.6d\n", b);
    return 0;
}

運(yùn)行結(jié)果如下:

⑵%m.ns: m、n均為正整數(shù)。其中m指定輸出結(jié)果的總位數(shù),n指定實(shí)際輸出結(jié)果的字符個(gè)數(shù)(從字符串左端截取)。

代碼示例如下:

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
int main(void)
{
    printf("%.3s\n", "good");
    printf("%.4s\n", "good");
    printf("%10.4s\n", "good");
    printf("%.8d\n", "good");
    return 0;
}

運(yùn)行結(jié)果如下:

雖然格式控制符組合繁多,但并不需要死記硬背,只需在一定代碼訓(xùn)練后掌握其含義即可。

到此這篇關(guān)于C語(yǔ)言中多樣式的格式控制符的使用詳解的文章就介紹到這了,更多相關(guān)C語(yǔ)言格式控制符內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論