最近中文字幕高清中文字幕无,亚洲欧美高清一区二区三区,一本色道无码道dvd在线观看 ,一个人看的www免费高清中文字幕

全部開(kāi)發(fā)者教程

C 語(yǔ)言入門教程

C 語(yǔ)言基礎(chǔ)教程
01 C 語(yǔ)言簡(jiǎn)介 02 C 語(yǔ)言的程序結(jié)構(gòu) 03 C 語(yǔ)言的編譯 04 C 語(yǔ)言的標(biāo)準(zhǔn) 05 C 語(yǔ)言中的注釋 06 C 語(yǔ)言中的變量 07 C 語(yǔ)言中的變量類型 08 C 語(yǔ)言的常量 09 C 語(yǔ)言的輸入與輸出 10 C 語(yǔ)言中的 printf() 格式輸出 11 C 語(yǔ)言中的類型轉(zhuǎn)換 12 C 語(yǔ)言中的運(yùn)算符 13 C 語(yǔ)言中的算數(shù)運(yùn)算符 14 C 語(yǔ)言中的位運(yùn)算符 15 C 語(yǔ)言中的邏輯運(yùn)算符 16 C 語(yǔ)言中的三目運(yùn)算符 17 C 語(yǔ)言中的分支結(jié)構(gòu) 18 C 語(yǔ)言中的多重分支 19 C 語(yǔ)言中的分支嵌套結(jié)構(gòu) 20 C 語(yǔ)言中的循環(huán)結(jié)構(gòu) 21 C 語(yǔ)言中的 while 循環(huán) 22 C 語(yǔ)言中的 do-While 循環(huán) 23 C 語(yǔ)言中的 for 循環(huán) 24 C 語(yǔ)言中的多重循環(huán)嵌套 25 循環(huán)實(shí)戰(zhàn),打印九九乘法表 26 C 語(yǔ)言中的break和continue 27 C 語(yǔ)言中的 if 語(yǔ)句 28 C 語(yǔ)言中的 switch/case 語(yǔ)句 29 C 語(yǔ)言中的函數(shù) 30 C 語(yǔ)言函數(shù)的定義和聲明 31 C 語(yǔ)言中函數(shù)的參數(shù)傳入類型 32 C 語(yǔ)言中的 main() 函數(shù)參數(shù) 33 make 工具 makefile 34 C 語(yǔ)言中的數(shù)組 35 C 語(yǔ)言中的多維數(shù)組 36 數(shù)組的練習(xí) 37 C 語(yǔ)言中的字符串 38 C 語(yǔ)言中的字符串函數(shù) 39 C 語(yǔ)言字符串練習(xí) 40 C 語(yǔ)言中的指針 41 C 語(yǔ)言中的 struct 42 C 語(yǔ)言中的 union 43 C 語(yǔ)言中的 maclloc free() 44 C 語(yǔ)言中的 enum 45 整體練習(xí)-學(xué)生管理系統(tǒng)

C 語(yǔ)言中的邏輯運(yùn)算符

在之前的 C 語(yǔ)言標(biāo)準(zhǔn)中,邏輯運(yùn)算符是表示兩個(gè)數(shù)值之間邏輯關(guān)系的運(yùn)算符。通常用 0 和 1 來(lái)表示假值和真值。但是在 C 語(yǔ)言中會(huì)認(rèn)為非 0 的數(shù)值在邏輯運(yùn)算中都為 1 。邏輯運(yùn)算的返回值也是整數(shù)型,不是 0 就是 1 ,這點(diǎn)和其他很多編程語(yǔ)言是不同的。

但是,在 C99 標(biāo)準(zhǔn)中引入了布爾類型。所以 C 語(yǔ)言中的邏輯運(yùn)算就簡(jiǎn)單了很多。要想使用布爾類型,需要引入 stdbool.h 這個(gè)庫(kù)即可。但是遺憾的是,到目前為止還沒(méi)有可以直接輸出布爾值的打印語(yǔ)句。所以即使定義了布爾類型,在輸出的時(shí)候還是只能直接輸出整數(shù)值。當(dāng)然可以通過(guò)后面介紹的三目運(yùn)算符來(lái)很輕松的解決這個(gè)問(wèn)題。我們留到后面介紹。

A B A && B(A與B) A || B(A或B) !A(非A) !B(非B)
1 0 0 1 0 1
0 1 0 1 1 0
0 0 0 0 1 1
1 1 1 1 0 0

1. 案例演示

Tips:示例程序在 GCC 7.5.0 下測(cè)試通過(guò),請(qǐng)大家使用支持 C99 標(biāo)準(zhǔn)的編譯器。

# include <stdio.h>
# include <stdbool.h>

int main()
{
    bool x,y,z;
    x=false;
    y=true;
    printf("x = %d; y = %d\n",x,y);
    z=x||y;
    printf("x || y = %d\n",z);
    z=x&&y;
    printf("x && y = %d\n",z);
    printf("!x = %d\n",!x);
    printf("!y = %d\n",!y);
    return 0;
}

運(yùn)行結(jié)果

x = 0; y = 1
x || y = 1
x && y = 0
!x = 1
!y = 0

從實(shí)際的程序可以看到,和我們上一節(jié)中介紹的表格中的運(yùn)算結(jié)果是一致的。

如果不使用布爾類型,直接使用整數(shù)會(huì)怎樣?下面我就通過(guò)實(shí)際的程序來(lái)看一下結(jié)果。

# include <stdio.h>

int main()
{
    int x,y,z;
    x=0;
    y=10;
    printf("x = %d; y = %d\n",x,y);
    z=x||y;
    printf("x || y = %d\n",z);
    z=x&&y;
    printf("x && y = %d\n",z);
    printf("!x = %d\n",!x);
    printf("!y = %d\n",!y);
    return 0;
}

運(yùn)行結(jié)果

x = 0; y = 10
x || y = 1
x && y = 0
!x = 1
!y = 0

雖然由布爾類型變?yōu)榱苏麛?shù)類型,但是最后的結(jié)果是一致的。這也就是 C 語(yǔ)言在出現(xiàn)布爾類型之前經(jīng)常用到的形式。

2. 小結(jié)

C 語(yǔ)言在前期是沒(méi)有布爾類型的,但是采用了整數(shù)類型來(lái)直接替代布爾類型使用。一般情況下,非零的值都被認(rèn)為是真值,而零值則被認(rèn)為是假值。這點(diǎn)上與其他的編程語(yǔ)言,如 C#, JAVA 等是不同的。因?yàn)檫@些語(yǔ)言是內(nèi)置有布爾類型的。

但是這點(diǎn)在 C99 標(biāo)準(zhǔn)之后有了一個(gè)進(jìn)步,就是提供了 stdbool 這個(gè)程序庫(kù),可以提供布爾類型。但是稍顯遺憾的是,還是沒(méi)有辦法直接輸出布爾類型,只能輸出整數(shù)類型。