第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

全部開發(fā)者教程

C 語言入門教程

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

C 語言中的邏輯運算符

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

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

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 下測試通過,請大家使用支持 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;
}

運行結(jié)果

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

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

如果不使用布爾類型,直接使用整數(shù)會怎樣?下面我就通過實際的程序來看一下結(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;
}

運行結(jié)果

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

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

2. 小結(jié)

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

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