循环 与 分支语句 和 字符函数库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 ...
随机推荐
- python爬虫常用正则表达式组合匹配
["\']匹配什么?(.*?)匹配什么? ["\'] ----------- 匹配单双引号 (.*?)xxx ----------- 匹配任意长度字符+xxx ...
- SpringBoot快速入门01--环境搭建
SpringBoot快速入门--环境搭建 1.创建web工程 1.1 创建新的工程. 1.2 选择maven工程,点击下一步. 1.3 填写groupid(maven的项目名称)和artifacti ...
- springboot项目快速构建
1. 问题描述 springboot的面世,成为Java开发者的一大福音,大大提升了开发的效率,其实springboot只是在maven的基础上,对已有的maven gav进行了封装而已,今天用最简单 ...
- 个人永久性免费-Excel催化剂功能第60波-数据有效性验证增强版,补足Excel天生不足
Excel在数据处理.数据分析上已经是公认的最好用的软件之一,其易用性和强大性也吸引无数的初中高级用户每天都在使用Excel.但这些优点的同时,也带出了一些问题,正因为其不同于一般的专业软件,需要专业 ...
- 小白开学Asp.Net Core《二》
小白开学Asp.Net Core<二> ——数据仓储层(Repositroy) 一.历史现象 在后端开发中,数据库操作是最频繁的,每一个开发人员都会接触,甚至不少开发人员每天的工作就是与数 ...
- k8s1.9.0安装--环境准备
一.预先准备环境 1. 准备服务器 这里准备了三台centos虚拟机,每台一核cpu和2G内存,配置好root账户,并安装好了docker,后续的所有操作都是使用root账户.虚拟机具体信息如下表: ...
- 《HTML总结》
一.HTML简介 Hyper Text Markup Language(超文本标记语言) 超文本包括:文字.图片.音频.视频.动画等 二.HTML发展史 1993-6发布超文本标记语言 ....... ...
- rabbitMQ_rpc(六)
远程过程调用(RPC) 在前面我们已经学习了如何使用工作队列在多个消费者之间分配耗时的任务. 但是如果我们需要在远程计算机上运行功能并等待结果怎么办?那将会是一个不同的故事.此模式通常称为远程过程调用 ...
- 让Controller支持对平铺参数执行@Valid数据校验
每篇一句 在金字塔塔尖的是实践,学而不思则罔,思而不学则殆(现在很多编程框架都只是教你碎片化的实践) 相关阅读 [小家Java]深入了解数据校验:Java Bean Validation 2.0(JS ...
- codeforces 340 A. The Wall
水水的一道题,只需要找xy的最小公倍数,然后找a b区间有多少个可以被xy的最小公倍数整除的数,就是答案. //============================================ ...