19. 基本數據類型:復數類型和虛數類型
C99 新增了復數類型(_Complex)和虛數類型(_Imaginary)。簡單來說,C99 提供了三種復數類型:float _Complex,double _Complex,和 long double _Complex。對於 float _Complex 類型的變量來說,它包含兩個 float 類型的值,一個用於表示復數的實部(real part),另一個用於表示虛部(imaginary part)。類似地,
20. 轉義字符使用實例
下面這個例子演示了 \a、\b、\t、\r,以及 \n 的作用。其中 \b,\t 和 \r 的概念可以追溯到電腦仍然使用打字機作為輸出設備的時候,所以對於現代的一些電腦來說,它們可能不起作用。在某些麥金托什機(Macintosh)上,它們的作用就和我們下面所說的不一樣。首先請認真看一下以下程序,然後編譯運行一下,看看運行結果和您想象的是否一樣,然後再看後面的詳細解說。/* esc_sq.c -- 使用轉義字符 */ #include <stdio.h> int main(void){ float height; printf("\aPlease enter your height: _____ cm\b\b\b\b\b\b\b\b"); scanf("%f", &height); printf("\tYour height is %.2f.\rOh!\n", height); return 0;}第一個 printf 通常會引起一聲鳴響(\a),同時顯示以下提示Please enter your height: _____ cm其中活躍位置(光標)在下劃線的開端。活躍位置之所以會位於下劃線的開端,是因為那八個 \b 把活躍位置後退了八個位置。順帶一題,下劃線 _____ 由五個 _ 構成。注意:一般來說,\b 不會擦除前面輸出的字符,但是在某些系統,\b 卻會擦除前面輸出的字符,導致顯示結果為 Please enter your height: 。\a 產生的效果取決於硬件。一般來說,輸出 \a 會產生鳴響。但是在某些系統,輸出 \a 不會產生任何效果,或者僅僅顯示一個特殊字符。 輸入一個數後(比如輸入 180.5),屏幕的顯示會變成Please enter your height: 180.5 cm
我們輸入的數字取代了原來的下劃線。接著我們需要按回車確定我們的輸入。按下回車鍵後,第二個 printf 運行結束後,屏幕顯示如下: Please enter your height: 180.5 cm Oh! Your height is 180.50.這是因為 \t 使活躍位置向後移動了若干個位置(通常是八個),然後輸出
活躍位置會移動到下一行的開端。
加法運算符使它左右兩邊的值相加。例如: printf("%d", 9 + 11); 輸出結果為 20。加法運算符的操作數可以是常量,也可以是變量。例如: var = var_1 + var_2; 這個語句先把 var_1 的值和 var_2 的值相加,然後把相加的結果賦值給 var。 2. 減法運算符(Subtraction Operator): – 減法運算符導致左邊的操作數減去右邊的操作數。例如: var = 100 – 40; 100 – 40 的值是 60,然後這個 60 被賦值給 var。 加法運算符和減法運算符被稱為二目運算符(binary operator),因為它們需要兩個操作數。 3. 正負運算符(Sign Operator): – 和 + 例如: var_1 = -5;var_2 = -var_1;var = +5 var_1 的值是 -5,var_2 的值是 5,var 的值是 5。 正負運算符被稱為單目運算符(unary operator),因為它們只需要一個操作數。
23. 乘法運算符和除法運算符