C 語言基礎教程(我的C之旅開始了)[八]
19. 基本數據類型:復數類型和虛數類型
double _Complex 包含兩個 double 類型的值。以此類推。C99 也提供了三種虛數類型:float _Imaginary,double _Imaginary,以及 long double _Imaginary。虛數類型只有虛部,沒有實部。
imaginary 來代表 _Imaginary,以及用 I 來代表虛數單位 i,也就是 -1 的平方根。例如:
double _Complex x = 5.2; /* 實部等于 5.2,虛部為 0 */
double complex y = 5.0 * I; /* 實部為 0,虛部為 5.0 */
double complex z = 5.2 – 5.0 * I; /* 實部為 5.2,虛部為 5.0 */
20. 轉義字符使用實例
我們輸入的數字取代了原來的下劃線。接著我們需要按回車確定我們的輸入。按下回車鍵后,
活躍位置會移動到下一行的開端。
Your height is 180.50. 。接著 \r 使活躍位置返回當前行的開端,然后輸出 Oh! ,
最后 \n 引起換行。
23. 乘法運算符和除法運算符 |
1. 乘法運算符(Multiplication Operator):*
* 是乘法運算符。以下語句:
meter = 100 * cm;
常量 100 和變量 cm 相乘,乘積被賦值給變量 meter。
2. 除法運算符(Division Operator):/ C 使用 / 作為除法運算符。/ 左邊的操作數除以右邊的操作數。也就是說,/ 左邊是被除數,右邊是除數。例如:
var = 6/2;
6 除以 2 得 3,然后 3 被賦值給變量 var。
整數相除和浮點數相除有所不同。浮點數相除得到浮點數,整數相除得到整數。C 語言規(guī)定,整數相除產生的小數部分一律被拋棄,這就是所謂的截斷(truncation)。例如:7/4 的結果是 1,而不是 1.75,也不是 2。
下面我們來看一個小程序。
/* divide.c */
#include <stdio.h> int main(void)
{ printf("integer division: 7/4 is %d \n", 7/4); printf("floating division: 7./4. is %f \n", 7./4.); printf("mixed division: 7./4 is %f \n", 7./4); return 0;
} 輸出為:
integer division: 7/4 is 1
floating division: 7./4. is 1.750000 mixed division: 7./4 is 1.750000 最后一個 printf 中,我們用浮點數除以整數,得到的結果和第二個 printf 一樣。這是因為 C 自動把這兩個操作數的類型轉換成了同一種類型。本例中,整數 4 被轉換成了浮點類型,然后再和浮點數 7. 相除。
C99 之前,正整數和負整數相除,如果產生小數部分,則相除的結果是不確定的。例如:7/-4 的結果可能是 -2,也可能是 -1。C99 規(guī)定,正整數和負整數相除,產生的小數部分一律被拋棄。也就是說,C99 中,7/-4 的結果是確定的,一定是 -1。 |
相關文章
C++的template模板中class與typename關鍵字的區(qū)別分析
這篇文章中我們來談一談C++的template模板中class與typename關鍵字的區(qū)別分析,同時會講到嵌套從屬名稱時的一些注意點,需要的朋友可以參考下2016-06-06VSCode 搭建 Arm 遠程調試環(huán)境的步驟詳解
這篇文章主要介紹了VSCode 搭建 Arm 遠程調試環(huán)境的步驟詳解,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-04-04Qt基礎開發(fā)之QString與QByteArray詳細用法與區(qū)別及QString QByteArray互轉
這篇文章主要介紹了Qt基礎開發(fā)之QString與QByteArray詳細用法與區(qū)別及QString QByteArray互轉,需要的朋友可以參考下2020-03-03