bool表示布尔型变量,也就是逻辑型变量的定义符,以英国数学家、布尔代数的奠基人乔治·布尔(George Boole)命名。
bool类似于float,double等,只不过float定义浮点型,double定义双精度浮点型。 在objective-c中提供了相似的类型BOOL,它具有YES值和NO值;在java中则对应于boolean类型。
C99中提供了一个头文件 <stdbool.h>定义了bool代表_Bool,true代表1,false代表0。只要导入 stdbool.h ,就能非常方便的 *** 作布尔类型了。
扩展资料:
BOOL和bool区别:
1、类型不同
bool为布尔型用作逻辑判断
BOOL在<windef.h>typedef int BOOL
在<wtypes.h>typedef long BOOL
2、长度不同
bool只有一个字节
BOOL长度视实际环境来定,一般可认为是4个字节
3、取值不同
bool取值false和true,0为false,非0为true。(例如-1和2都是true)。
如果数个bool对象列在一起,可能会各占一个Byte,这取决于编译器。
BOOL是微软定义的typedef int BOOL(在windef.h中),0为FALSE,1为TRUE。(-1和2既不是TRUE也不是FALSE)。
#ifndef FALSE
#define FALSE 0
#endif
#ifndef TRUE
#define TRUE 1
#endif
布尔型变量bool
布尔型变量的值只有 真 (true) 和假 (false)。
布尔型变量可用于逻辑表达式和则,也就是“或”“与”“非”之类的逻辑运算和大于小于之类的关系运算,逻辑表达式运算结果为真或为假。
bool可用于定义函数类型为布尔型,函数里可以有 return TRUEreturn FALSE 之类的语句。
if (逻辑表达式)
{
如果是 true 执行这里;
}
else
{
如果简纤是 false 执行这里;
}
三、关于bool的小例子
(1)
#include<iostream>
using namespace std
int main()
{
bool b =2//执行此行后,b=true(整型2转为bool型后结果为true)
if(b)
cout <<"ok!" <<endl
b = b-1//执行此行后,b=false(bool型数据true参与算术运算时会转为int值1,减1后结果为0,赋值给b时会转换为bool值false)
if(b)
cout <<"error!" <<endl
return 0
}
运行结果:OK!
(2)
#include<iostream>
#include<windef.h>
using namespace std
int main()
{
BOOL b =2//执行拦棚仿此行后,b=2(BOOL为int此处不进行类型转换,b存放的就是2)。
if(b)
cout <<"ok!" <<endl
b=b-1//执行此行后,b=1(只是简单的进行算术运算,结果为1,回存)
if(b) // b非0,条件为真
cout <<"error!" <<endl
return 0
}
运行结果:OK!
error!
可以在定义b时改成 bool b=0;看看运行结果。
参考资料来源:百度百科-BOOL
C语言标准库函数存放在头文件当中,使用相应函数时需要用include引用先关头文件。
C语言程序设计里,C 标准函数(C Standard library)是所有目前符合标准的头文凯旦件(head
file)的集合,以及常用的函数库实现程序,例如 I/O输入输出和字串符控制。不像 COBOL、Forrian和 PL/I等编程语言,在 C
语言的工作任务里不会包含嵌入的关键字,所以几乎所有的 C 语言程序都是由标准函数库的函数来创建的。
下面列出C89及C99中C语言标准函数库的头文件。
C89中标准的头文件
<assert.h>设定断言点
<ctype.h>字符处理
<errno.h>错误报告
<float.h>定义与实现相关的浮点值勤
<limits.h>定义与实现相关的各种极限值
<locale.h>支持函数setlocale()
<math.h>数学函数库使用的各种定义
<setjmp.h>支持非局部跳转
<signal.h>定义信号值
<stdarg.h>支持盯困扰可变长度的变元列表
<stddef.h>定义常用常数
<stdio.h>支持文件输入和输出
<stdlib.h>其他各种声明
<string.h>支持串函数
<time.h>支持系统时间函数
C99新增的头文件和库
<complex.h>支持复数算法
<fenv.h>给出对浮点状态标记和浮点环境的其他方面的访问
<inttypes.h>定义标准的、可移植的整型类型集合。也支持处理最大宽度整数的函数
<iso646.h>首先在此1995年第一次修订时引进,用于定义对应各种运算符的宏
<stdbool.h>支持布尔数据类型类型。定义宏bool,以便兼容于C++
<stdint.h>定义标准的、可移植的整型类型集合。该文件包含在<inttypes.h>中
<tgmath.h>定义一般类型的浮点宏
<wchar.h>首先在1995年第一次修订时引进,用于支持多字节和宽字节函数
<wctype.h>首先在1995年第一次修订时引进,用于尺运支持多字节和宽字节分类函数
首先我们先找到Visual Studio编辑器中的“解决方案”,右键点击并在下拉菜单塌迟中找到属性并点击。点击后会出现一个d窗,在里面找到“调试源文件”,在右边列表中找到include文件夹的路径并复制下来。
在文件资源管理器中输入路径找到include文件夹。在include文件夹中新建一个文件夹bits。
在桌面创建一个txt文档,在文档中输入代码,这里提供一个万能头文件的代码和一个线性筛素数函数的代码。
//万能头文件代码 txt文档命名为stdc++
// C
#ifndef _GLIBCXX_NO_ASSERT
#include <cassert>
#endif
#include <cctype>
#include <cerrno>
#include <cfloat>
#include <ciso646>
#include <climits>
#include <clocale>
#include <cmath>
#include <csetjmp>
#include <csignal>
#include <cstdarg>
#include <cstddef>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <ctime>
#if __cplusplus >= 201103L
#include <ccomplex>
#include <cfenv>
#include <cinttypes>
#include <cstdalign>
#include <cstdbool>
#include <cstdint>
#include <ctgmath>
#include <cwchar>
#include <cwctype>
#endif
// C++
#include <algorithm>
#include <bitset>
#include <complex>
#include <deque>
#include <exception>
#include <fstream>
#include <functional>
#include <iomanip>
#include <ios>
#include <iosfwd>
#include <iostream>
#include <istream>
#include <iterator>
#include <limits>
#include <list>
#include <locale>
#include <map>
#include <memory>
#include <new>
#include <numeric>
#include <ostream>
#include <queue>
#include <set>
#include <sstream>
#include <stack>
#include <stdexcept>
#include <streambuf>
#include <string>告衫肢
#include <typeinfo>
#include <utility>
#include <valarray>
#include <vector>
#if __cplusplus >= 201103L
#include <array>
#include <atomic>
#include <chrono>
#include <condition_variable>
#include <forward_list>
#include <future>
#include <initializer_list>
#include <mutex>
#include <random>
#include <ratio>
#include <regex>
#include <scoped_allocator>
#include <system_error>
#include <thread>
#include <tuple>
#include <typeindex>
#include <type_traits>
#include <袜世unordered_map>
#include <unordered_set>
#endif
//线性素数筛代码
bool vis[100005]
int prime[10005]
int cnt=0
void xianxingshai()
{
for(int i=2i<=100005i++)
{
if(!vis[i]) prime[++cnt]=i
for(int j=1j<=cnt,i*prime[j]<=100005j++)
{
vis[i*prime[j]]=1
if(i%prime[j]==0) break
}
}
}
//插入由此代码组成的头文件后 标识符cnt vis prime 将不可用
//prime[i]可表示第i个素数,直接使用即可
//素数不超过100005
然后将txt文档的后缀名从.txt改为.h,并复制到文件夹bits中(这里会显示需要提供管理员权限,直接点就可以了,不需要管)。
然后这些头文件就可以直接使用啦,使用方法如下所示:
这样制作一个自己的头文件就成功啦。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)