亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

C 語(yǔ)言基礎(chǔ)教程(我的C之旅開(kāi)始了)[八]

 更新時(shí)間:2007年02月25日 00:00:00   作者:  

19. 基本數(shù)據(jù)類型:復(fù)數(shù)類型和虛數(shù)類型

C99 新增了復(fù)數(shù)類型_Complex)和虛數(shù)類型_Imaginary)。簡(jiǎn)單來(lái)說(shuō),C99 提供了三種復(fù)數(shù)類型:float _Complex,double _Complex,和 long double _Complex。對(duì)于 float _Complex 類型的變量來(lái)說(shuō),它包含兩個(gè) float 類型的值,一個(gè)用于表示復(fù)數(shù)的實(shí)部real part),另一個(gè)用于表示虛部imaginary part)。類似地,
double _Complex 包含兩個(gè) double 類型的值。以此類推。C99 也提供了三種虛數(shù)類型:float _Imaginarydouble _Imaginary,以及 long double _Imaginary。虛數(shù)類型只有虛部,沒(méi)有實(shí)部。
包含標(biāo)準(zhǔn)頭文件 complex.h 后,我們就可以用 complex 來(lái)代表 _Complex,用
imaginary 來(lái)代表 _Imaginary,以及用 I 來(lái)代表虛數(shù)單位 i,也就是 -1 的平方根。例如:
    #include <complex.h>
       
double _Complex x = 5.2; /* 實(shí)部等于 5.2,虛部為 0 */
        double complex y = 5.0 * I; /* 實(shí)部為 0,虛部為 5.0 */
        double complex z = 5.2 – 5.0 * I; /* 實(shí)部為 5.2,虛部為 5.0 */
注意_Complex 類型對(duì)于獨(dú)立式環(huán)境freestanding environment)來(lái)說(shuō)是可選的。可選的意思是,不強(qiáng)制必須支持這種類型。而所謂獨(dú)立式環(huán)境,是指 C 程序可以在沒(méi)有操作系統(tǒng)的情況下運(yùn)行。_Imaginary 類型在任何環(huán)境下都是可選的。目前的編譯器對(duì)這兩種類型的支持都不太好,故而我在此就不對(duì)這兩種類型進(jìn)行更深入的討論了。
    至此,基本數(shù)據(jù)類型就全部討論完了。


20. 轉(zhuǎn)義字符使用實(shí)例
下面這個(gè)例子演示了 \a、\b、\t、\r,以及 \n 的作用。其中 \b\t\r 的概念可以追溯到電腦仍然使用打字機(jī)作為輸出設(shè)備的時(shí)候,所以對(duì)于現(xiàn)代的一些電腦來(lái)說(shuō),它們可能不起作用。在某些麥金托什機(jī)(Macintosh)上,它們的作用就和我們下面所說(shuō)的不一樣。首先請(qǐng)認(rèn)真看一下以下程序,然后編譯運(yùn)行一下,看看運(yùn)行結(jié)果和您想象的是否一樣,然后再看后面的詳細(xì)解說(shuō)。
/* esc_sq.c -- 使用轉(zhuǎn)義字符 */ 
#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;
}
第一個(gè) printf 通常會(huì)引起一聲鳴響\a),同時(shí)顯示以下提示
Please enter your height: _____ cm
其中活躍位置(光標(biāo))在下劃線的開(kāi)端?;钴S位置之所以會(huì)位于下劃線的開(kāi)端,是因?yàn)槟前藗€(gè) \b 把活躍位置后退了八個(gè)位置。順帶一題,下劃線 _____ 由五個(gè) _ 構(gòu)成。注意:一般來(lái)說(shuō),\b 不會(huì)擦除前面輸出的字符,但是在某些系統(tǒng),\b 卻會(huì)擦除前面輸出的字符,導(dǎo)致顯示結(jié)果為 Please enter your height: 。\a 產(chǎn)生的效果取決于硬件。一般來(lái)說(shuō),輸出 \a 會(huì)產(chǎn)生鳴響。但是在某些系統(tǒng),輸出 \a 不會(huì)產(chǎn)生任何效果,或者僅僅顯示一個(gè)特殊字符。
    輸入一個(gè)數(shù)后(比如輸入 180.5),屏幕的顯示會(huì)變成
Please enter your height: 180.5 cm 
我們輸入的數(shù)字取代了原來(lái)的下劃線。接著我們需要按回車確定我們的輸入。按下回車鍵后,
活躍位置會(huì)移動(dòng)到下一行的開(kāi)端。
 
       第二個(gè) printf 運(yùn)行結(jié)束后,屏幕顯示如下:
 
    Please enter your height: 180.5 cm
    Oh!     Your height is 180.50.
這是因?yàn)?\t 使活躍位置向后移動(dòng)了若干個(gè)位置(通常是八個(gè)),然后輸出
Your height is 180.50. 。接著 \r 使活躍位置返回當(dāng)前行的開(kāi)端,然后輸出 Oh! ,
最后 \n 引起換行。
 
 
 
加法運(yùn)算符使它左右兩邊的值相加。例如:
 
printf("%d", 9 + 11);
 
輸出結(jié)果為 20。加法運(yùn)算符的操作數(shù)可以是常量,也可以是變量。例如:
 
var = var_1 + var_2;
 
這個(gè)語(yǔ)句先把 var_1 的值和 var_2 的值相加,然后把相加的結(jié)果賦值給 var。
 
 
2. 減法運(yùn)算符(Subtraction Operator): –
 
減法運(yùn)算符導(dǎo)致左邊的操作數(shù)減去右邊的操作數(shù)。例如:
 
var = 100 – 40;
 
100 – 40 的值是 60,然后這個(gè) 60 被賦值給 var。
 
加法運(yùn)算符減法運(yùn)算符被稱為二目運(yùn)算符binary operator),因?yàn)樗鼈冃枰獌蓚€(gè)操作數(shù)。
 
 
3. 正負(fù)運(yùn)算符(Sign Operator): – 和 +
 
例如:
 
var_1 = -5;
var_2 = -var_1;
var = +5
 
var_1 的值是 -5,var_2 的值是 5,var 的值是 5。
 
正負(fù)運(yùn)算符被稱為單目運(yùn)算符unary operator),因?yàn)樗鼈冎恍枰粋€(gè)操作數(shù)。

 

 

23. 乘法運(yùn)算符和除法運(yùn)算符
1. 乘法運(yùn)算符(Multiplication Operator):*
    * 是乘法運(yùn)算符。以下語(yǔ)句:
        meter = 100 * cm;
常量 100 和變量 cm 相乘,乘積被賦值給變量 meter。

2. 除法運(yùn)算符(Division Operator):/
    C 使用 / 作為除法運(yùn)算符。/ 左邊的操作數(shù)除以右邊的操作數(shù)。也就是說(shuō),/ 左邊是被除數(shù),右邊是除數(shù)。例如:
        var = 6/2;
6 除以 2 得 3,然后 3 被賦值給變量 var。
    整數(shù)相除和浮點(diǎn)數(shù)相除有所不同。浮點(diǎn)數(shù)相除得到浮點(diǎn)數(shù),整數(shù)相除得到整數(shù)。C 語(yǔ)言規(guī)定,整數(shù)相除產(chǎn)生的小數(shù)部分一律被拋棄,這就是所謂的截?cái)?/FONT>(truncation)。例如:7/4 的結(jié)果是 1,而不是 1.75,也不是 2。
    下面我們來(lái)看一個(gè)小程序。
        /* 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
最后一個(gè) printf 中,我們用浮點(diǎn)數(shù)除以整數(shù),得到的結(jié)果和第二個(gè) printf 一樣。這是因?yàn)?C 自動(dòng)把這兩個(gè)操作數(shù)的類型轉(zhuǎn)換成了同一種類型。本例中,整數(shù) 4 被轉(zhuǎn)換成了浮點(diǎn)類型,然后再和浮點(diǎn)數(shù) 7. 相除。
    C99 之前,正整數(shù)和負(fù)整數(shù)相除,如果產(chǎn)生小數(shù)部分,則相除的結(jié)果是不確定的。例如:7/-4 的結(jié)果可能是 -2,也可能是 -1。C99 規(guī)定,正整數(shù)和負(fù)整數(shù)相除,產(chǎn)生的小數(shù)部分一律被拋棄。也就是說(shuō),C99 中,7/-4 的結(jié)果是確定的,一定是 -1。

相關(guān)文章

  • C++的template模板中class與typename關(guān)鍵字的區(qū)別分析

    C++的template模板中class與typename關(guān)鍵字的區(qū)別分析

    這篇文章中我們來(lái)談一談C++的template模板中class與typename關(guān)鍵字的區(qū)別分析,同時(shí)會(huì)講到嵌套從屬名稱時(shí)的一些注意點(diǎn),需要的朋友可以參考下
    2016-06-06
  • VSCode 搭建 Arm 遠(yuǎn)程調(diào)試環(huán)境的步驟詳解

    VSCode 搭建 Arm 遠(yuǎn)程調(diào)試環(huán)境的步驟詳解

    這篇文章主要介紹了VSCode 搭建 Arm 遠(yuǎn)程調(diào)試環(huán)境的步驟詳解,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-04-04
  • Linux網(wǎng)絡(luò)編程之socket文件傳輸示例

    Linux網(wǎng)絡(luò)編程之socket文件傳輸示例

    這篇文章主要介紹了Linux網(wǎng)絡(luò)編程之socket文件傳輸示例,對(duì)于基于Linux平臺(tái)的C程序員來(lái)說(shuō)有一定的借鑒價(jià)值,需要的朋友可以參考下
    2014-08-08
  • C++ deque與vector對(duì)比的優(yōu)缺點(diǎn)

    C++ deque與vector對(duì)比的優(yōu)缺點(diǎn)

    這篇文章主要介紹了C++中deque與vector相比的優(yōu)勢(shì)與劣勢(shì),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)吧
    2023-01-01
  • Qt基礎(chǔ)開(kāi)發(fā)之QString與QByteArray詳細(xì)用法與區(qū)別及QString QByteArray互轉(zhuǎn)

    Qt基礎(chǔ)開(kāi)發(fā)之QString與QByteArray詳細(xì)用法與區(qū)別及QString QByteArray互轉(zhuǎn)

    這篇文章主要介紹了Qt基礎(chǔ)開(kāi)發(fā)之QString與QByteArray詳細(xì)用法與區(qū)別及QString QByteArray互轉(zhuǎn),需要的朋友可以參考下
    2020-03-03
  • C++?auto關(guān)鍵字的小知識(shí)點(diǎn)分享

    C++?auto關(guān)鍵字的小知識(shí)點(diǎn)分享

    這篇文章主要是來(lái)和大家介紹一些C++中的小知識(shí)點(diǎn),本文將從auto關(guān)鍵字開(kāi)始講起,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起了解一下
    2023-05-05
  • VC取得任務(wù)欄高度的方法

    VC取得任務(wù)欄高度的方法

    這篇文章主要介紹了VC取得任務(wù)欄高度的方法,需要的朋友可以參考下
    2014-07-07
  • CMake的簡(jiǎn)單應(yīng)用

    CMake的簡(jiǎn)單應(yīng)用

    這篇文章主要介紹了CMake的簡(jiǎn)單應(yīng)用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-03-03
  • C語(yǔ)言大作業(yè)之圖書管理系統(tǒng)的實(shí)現(xiàn)詳程

    C語(yǔ)言大作業(yè)之圖書管理系統(tǒng)的實(shí)現(xiàn)詳程

    隨著網(wǎng)絡(luò)技術(shù)的高速發(fā)展,計(jì)算機(jī)應(yīng)用的普及,利用計(jì)算機(jī)對(duì)圖書館的日常工作進(jìn)行管理勢(shì)在必行,趁著寒假時(shí)間手把手帶你用C語(yǔ)言實(shí)現(xiàn)一個(gè)圖書管理系統(tǒng),大家可以在過(guò)程中查缺補(bǔ)漏,提升水平
    2022-01-01
  • QT實(shí)現(xiàn)用戶登錄注冊(cè)

    QT實(shí)現(xiàn)用戶登錄注冊(cè)

    這篇文章主要為大家詳細(xì)介紹了QT實(shí)現(xiàn)用戶登錄注冊(cè),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-06-06

最新評(píng)論