日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

C语言中的布尔值

發布時間:2023/12/9 编程问答 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C语言中的布尔值 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
C語言的布爾類型

  在C語言標準(C89)沒有定義布爾類型,所以C語言判斷真假時以0為假,非0為真。所以我們通常使用邏輯變量的做法:

//定義一個int類型變量,當變量值為0時表示false,值為1時表示true
int flag;
flag = 0;
//......
flag = 1;

if( flag )
{
//......
}

  

  但這種做法不直觀,而且沒有明確flag一定是布爾值。所以我們又借助C語言的宏定義:

//宏定義布爾類型
#define BOOL int
#define TRUE 1
#define FALSE 0

//定義一個布爾變量
BOOL flag = FALSE;

?

  這種方法雖然直觀,但依然是換湯不換藥,變量flag在編譯器看來依然是int類型。

  新版本總會改進一些不好的地方,所以在最新的C語言標準(C99)解決了布爾類型的問題。C99提供了_Bool 型,所以布爾類型可以聲明為 _Bool flag。

  _Bool依然仍是整數類型,但與一般整型不同的是,_Bool變量只能賦值為0或1,非0的值都會被存儲為1。

  C99還提供了一個頭文件 <stdbool.h> 定義了bool代表_Bool,true代表1,false代表0。只要導入 stdbool.h ,就能非常方便的操作布爾類型了。

//導入 stdbool.h 來使用布爾類型
#include <stdbool.h>
#include <stdio.h>

//計算n!,n的值在main中定義
int main(void)
{
int n = 10; //計算疊乘數
int sum = 1; //用來存放疊乘的結果
bool flag = false; //疊乘標記

int num = n; //循環次數
while( !flag )
{
sum = sum * (num--);
//當num=1時結束循環
if( num == 1)
{
flag = true;
}
}
printf ("%d的疊乘值為 %d \n", n, sum);
return 0;
}

轉載于:https://www.cnblogs.com/NULL-ROOT/p/10363862.html

總結

以上是生活随笔為你收集整理的C语言中的布尔值的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。