循环 与 分支语句 和 字符函数库cctype 文件简单处理
- for循环
- while循环
- do while循环
- int a[5]={1,3,4,5,6};
- int a[5]={1,3,4,5,6};
- for (int i :{1,3,4,5,6})
- 指定循环终止条件
- 在首次测试前初始化条件
- 在条件再次测试前更新条件
- 语句块是由花括号,而不是缩进定义的
- ANSI和c++库中存在clock函数返回程序开始执行后所用的系统时间,单位不一定是秒
- 添加头文件#include<ctime>
- CLOCKS_PER_SEC,该常量等于每秒钟包含的系统时间,所以系统时间除于这个值等于秒数
- ctime把clock_t作为clock()返回类型的别名,这意味着可以把变量声明为clock_k类型
- 使用预处理器:#define aliasname typename
- 当声明多个一系列别名时不能使用
- 使用关键字typedef创建:typedef typename aliasname
- 能处理define处理不了的复杂别名,与define相比,typedif是更好的选择,有时也是唯一的选择
- 注意,typedif不是创建新类型,而是在已有的类型建立一个新名称
- 使用原始的cin进行输入
- cin读取char值时与读取其他基本类型一样,忽略了空格和换行符,所以输入的空格没有显示也没有包括在计数内
- 用cin输入时被缓冲,意味着当用户按下回车才发给程序,当缓存区还有数据时,会赋予下一条cin语句
- int n;cin>>n;如果输入的类型不匹配时将出现4种情况
- n的值不变
- 不匹配的输入将留在输入队列的缓冲区中
- cin中一个错误的标记被设置 (当错误被标记时,可以使用cin.clear()重置标记,同时也清除文件尾的eof)
- 对cin方法的调用返回false或0
- 使用cin.get()
- cin.get(ch)读取输入中的下一个字符(即使是空格),并将其赋给变量ch
- 在c语言中要修改变量的值,必须将变量的地址传递给函数,但在c++中只要将参数声明为引用即可,头文件iostream将cin.get(ch)的参数声明为引用类型
- cin.get()函数接受不同数量参数的原因是函数重载
- 当cin及cin.get()等输入作为循环条件时,则转换成bool类型,正确输入则返回true错误则返回false
- 当程序用户输入了错误内容时应采取3个步骤
- 用clear()函数重置cin以接收新的输入
- 用cin.get()读取行尾之前的所有输入,也就是删除错误输入
- 提示用户重新输入
- windo命令提示符模式下在任意位置按下Ctr+z和Enter
- 检测到EOF后cin将两位(eofbit和failbit)都设置为1;通过成员函数cin.eof()和cin.fail()来查看eofbit是否被设置,返回true和false
- cin.clear()可以用来重置输入流,即清空缓冲区,
- !运算符高于所有关系运算符和算术运算符
- 逻辑 | | 运算符高于&&运算符
- C语言用逻辑运算符的另一种表达方式需要包含头文件iso646.h,c++不需要使用头文件,即&& and,|| or,! not
|
函数名称
|
返回值
|
|
isalnum()
|
如果参数是数字或字母,则返回true
|
|
isalpha()
|
如果参数是字母,则返回true
|
|
islower()
|
如果是小写字母,则返回true
|
|
isupper()
|
如果是大写字母,则返回true
|
|
isdigit()
|
如果是数字(0-9),则返回true
|
|
isctrl()
|
如果是控制字符,则返回ture
|
|
isgraph()
|
如果是空格以外的打印字符,则返回true
|
|
ispunct()
|
如果是标点符号该字符返回true
|
|
isprint()
|
如果参数是打印字符(包括字符),则返回true
|
|
isspace()
|
如果参数是标准空白字符,包括空格换行回车制表符,则返回true
|
|
isxdigit()
|
如果参数是16进制数字,则返回true
|
|
toupper()
|
如果是小写字母则返回大写字母,否则返回原参数
|
|
tolower()
|
如果是大写字母则返回小写字母,否则返回原参数
|
- c++种唯一一个需要3个操作数的运算符
- 表达式1 ? 表达式2 :表达式3 //当表达式1为true时,则执行表达式2,为false时则执行表达式3
- 而且可以在条件表达式中嵌套另一个表达式(一个被谴责的任务,隐藏代码)
- integer-expreession必须是结果为整数的表达式
- 标签必须是一个整数常量表达式,如:int,char,也可以是枚举量
- 如果integer-expreession找不到匹配的标签,则执行default标签
- 为了应对不按指令办事的用户,最好用字符输入
- 要让程序执行一组特定语句后停止,必须使用break
- switch语句中将int值和枚举量标签进行比较时,将枚举提升为int,在while循环测试条件中,也会将枚举量提升为int类型
- 当选项多余3个时,最好用switch分支语句
- 写入到文本文件
- 必须包含头文件fstream
- 必须指明名称空间std,可以使用using或std::
- 头文件ftream定义一个处理输出的ofstream类
- 需要创建多个ofstream变量(对象),要遵守变量的命名规则
- 将ofstream对象与文件关联起来,可以使用open()方法
- 使用完应使用close()将其关闭
- 可以像使用cout那样使用ofstream的对象,如<<,endl以及各种cout格式化函数
- 方法open()接受一个字面字符串做参数,或存在数组的字符串。
- 将在当前目录新建文件,open参数将会是文件名,如果文件名存在则默认清空再打开
- 如果没有使用close(),系统将在程序正常终止时关闭
- 读取文本文件
- 必须包含头文件fstream
- 必须指明名称空间std,可以使用using或std::
- 头文件ftream定义一个处理输入的ifstream类
- 需要创建多个ifstream变量(对象),要遵守变量的命名规则
- 将ifstream对象与文件关联起来,可以使用open()方法
- 使用完应使用close()将其关闭
- 可以像使用cin那样使用ifstream的对象,cin适用的操作和方法都适用ifstream的对象,如>>
- 可以使用ifstream对象和get()方法读取一个字符,使用getline()方法读取一行字符
- 可以结合ifstream和eof()、fail()等方法判断输入是否成功
- 当ifstream的对象被作为测试条件时,最后一个读取操作成功时转化成true,否则false
- 检查文件是否成功打开可以使用方法is_open(),成功返回true
- 读取文件时不应该超过EOF
- 最后读取数据遇到EOF,eof()返回true
- 最后数据出现类型不匹配时,fail()将返回ture
- 当文件受损,或硬件故障时,bad()将返回true
- 当没有出现任何错误时,good()将返回true
- 通常cout显示bool值之前把他们转化成int,但cout.self(ios::boolalpha)函数调用设置了一个标记,该标记命令cout显示true和false,而不是1和0
- 头文件cstdlib定义下,exit(EXIT_FAILURE)实现程序终止
- window文本文件的每行都以回车字符和换行符结尾,通常c++读取文件时将这两个字符转换为换行符并在写入文件时执行相反的转换。
- 布尔函数is_int() 使用climits文件中定义的两个字符常量(INT_MAX和INT_MIN)来确定参数是否位于适当的范围,非常适合作为条件
循环 与 分支语句 和 字符函数库cctype 文件简单处理的更多相关文章
- 学习笔记二十三——字符函数库cctype【转】
本文转载自: 字符函数库cctype 在头文件cctype(ctype.h)中定义了一些函数原型,可以简化输入确定字符是否为大写字母.数字.标点符号等工作. 例如: 如果ch是一个字母,则isalph ...
- 字符函数库 - cctype 和 climits 中的符号常量
一. C++从C语言中继承一个与字符相关的.非常方便的函数软件包,他可以简化诸如确定字符是否为大写字母‘数字.标点符号等工作,这些函数的原型在头文件cctype(老式的为ctype.h)中定义的.例如 ...
- C++学习笔记之字符函数库cctype
C++从C语言继承了一个与字符相关的.非常方便的函数软件包,它可以简化诸如确定字符是否为大写字母.数字.标点符号等工作,这些函数原型是在头文件cctype(老式风格ctype.h)中定义的. 下表对这 ...
- 字符函数库 cctype
<cctype> (ctype.h) Character handling functions This header declares a set of functions to cla ...
- C/C++知识总结 四 循环与分支语句
C/C++循环与分支语句 循环与分支语句的意义 关系运算符.逻辑运算符 for循环和嵌套for循环(基于范围for循环) while循环与do while循环 分支if语句.if else语句.if ...
- 【C语言入门教程】5.6 函数库和文件
函数库是为代码复用建立的,将同一类型,需要在不同的程序里使用的函数放置在一起,就组成了一个函数库.如 C 语言的标准库,它集合了开发者常用的函数.开发者自行编写的函数也可以组成函数库,通常称之为自定义 ...
- [C++ Primer Plus] 第6章、分支语句和逻辑运算符(一)程序清单
程序清单6.2 #include<iostream> using namespace std; void main() { char ch; cout << "Typ ...
- 【java开发】分支语句、循环语句学习
一.Java分支语句类型 if-else 语句 switch 关于if-esle语句可以拆分为三种 if语句 if(条件){语句块;} if-else语句if(条件语句){语句块;} if-else ...
- T_SQL编程赋值、分支语句、循环
咱们在C#中会常用到赋值.循环.分支语句什么的 今天咱们来看下当初在C#用到的一点东西放到SQL中是怎么使用的 创建变量 在C#中创建一个值类型变量很简单 int a:这就可以了 SQL: decla ...
随机推荐
- QRowTable表格控件(三)-效率优化之-合理使用QStandardItem
目录 一.开心一刻 二.概述 三.效果展示 四.QStandardItem 1.QStandardItem是什么鬼 2.性能分析 3.QStandardItem使用上的坑 五.相关文章 原文链接:QR ...
- Windows下ElasticSearch的Head安装及基本使用
前段时间,有一朋友咨询我,说es的head插件一直安装失败,为了给朋友解惑,自己百度博文并实践了一番,也的确踩了些坑,但我给爬了起来.今天就来分享下实践心得并跳过的坑. ElasticSearch 是 ...
- canvas的width和height设置问题
最近在学习canvas属性中遇到一个小问题,就是canvas的width和height设置问题 代码如下: <!DOCTYPE html> <html lang="en&q ...
- 自定义View之开关
资源文件 首先我们需要有两个图片文件,分别是开关的背景和开关的滑块 自定义View 1.写一个类继承View 2.copy该类的全路径名在布局文件使用, 3.找到这个控件,设置初始信息 4.根据需求绘 ...
- Linux下gcc编译器的使用
例:gcc -x -g c helloC -o firstC -x:改变gcc的行为.(注:如果是.c文件则不用加-x) -x c :编译c程序 -x c++ :编译c++程序 -x java :编译 ...
- MetInfo企业网站管理系统 5.3 全新安装
在phpStudy\PHPTutorial\WWW的文件下创建MetInfo文件夹.把MetInfo5.3解压到MetInfo文件夹里 用浏览器访问127.0.0.1/MetInfo 同意安装 下一步 ...
- python课堂整理6---字典
一.字典 dict info = {"k1" : "v1", "k2" : "v2"} 以键值对形式组成字典 字典里的 ...
- fuel 9.0完全离线配置+升级fule 9.1+bootstrap制作
2017-08-23 fuel 完全离线配置 完全离线适用于部署在内网,无Internet的环境当中,且需要升级fuel版本的情况.理论上,我的办法适用所有版本. 以下所有操作全部在fuel节点上. ...
- canal同步MySQL数据到ES6.X
背景: 最近一段时间公司做一个技术架构的更改,由于之前使用的solr和目前的业务不太匹配,具体原因不多说啦.所以要把数据放到Elasticsearch中进行快速的搜索,这是便产生了一个数据迁移的需求, ...
- ansible批量管理服务 上
1 ansible简介 1.1 ansible批量管理服务概述 (1)是基于python语言开发的自动化软件工具(2)是基于SSH远程管理服务实现远程主机批量管理(3)并行管理,部署简单,应用也简单方 ...