1. c語言, S是什麼,可否去掉S
正確的是B,請查看譚浩強C語言第二版 294頁關於 typedef 說明.
Typedef struct S
{
int g;
char h;
}T;
typedef 聲明新的類型名,也就是定義一個新的數據類型.如果你看除去 typedef ,T就變成了聲明一個結構體類型S:
struct S
{
int g;
char h;
};
加上typedef,T之後,這個T就等效於 struct S,是一個結構體類型.也就是說,typedef 只是將 struct S 另定義為一種新的數據類型T.
再看答案:
A 錯誤, S 不可以定義結構體變數,要加上 struct ,也就是 struct S + 結構體變數
B 正確, 因為T 等效於 struct S.
C 錯誤 S 不是變數,要和 struct 一起才有意義.
D 錯誤 T不是變數,是一種新的類型,等效於 struct S.
2. C語言中%c,%s分別代表什麼意思
%c在C語言中代表字元型格式符。
%s在C語言中代表字元串型格式符。
%c和%s一般用在printf、sprintf等字元串格式化函數中,用於決定格式化參數的數據類型。如printf("%s", a)會將變數a作為字元串類型進行格式化。
printf()函數是格式化輸出函數, 一般用於向標准輸出設備按規定格式輸出信息。
printf()函數的調用格式為: printf("<格式化字元串>", <參量表>)。
格式輸出,它是c語言中產生格式化輸出的函數(在 stdio.h 中定義)。用於向終端(顯示器、控制台等)輸出字元。格式控制由要輸出的文字和數據格式說明組成。要輸出的文字除了可以使用字母、數字、空格和一些數字元號以外,還可以使用一些轉義字元表示特殊的含義。
(2)c語言中的s啥意思擴展閱讀:
C語言中所有格式化類型的定義:
1、%d/i
接受整數值並將它表示為有符號的十進制整數,i是老式寫法
2、%o
無符號8進制整數(不輸出前綴0)
3、%u
無符號10進制整數
4、%x/X
無符號16進制整數,x對應的是abcdef,X對應的是ABCDEF(不輸出前綴0x)
5、%f(lf)
單精度浮點數和雙精度浮點數用f(lf在C99開始加入標准,意思和f相同)
6、%e/E
科學計數法表示的數,此處"e"的大小寫代表在輸出時用的「e」的大小寫
7、%g/G
有效位數,如:%.8g表示單精度浮點數保留8位有效數字。
8、%c
字元型。可以把輸入的數字按照ASCII碼相應轉換為對應的字元
9、%s/S
字元串。輸出字元串中的字元直至字元串中的空字元(字元串以'