循环 与 分支语句 和 字符函数库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 ...
随机推荐
- Java编程思想:内部类其他知识点
public class Test { public static void main(String[] args) { // InheritInner.test(); // EggTest.test ...
- DAX 第二篇:计算上下文
计算上下文是计算公式的环境,任何DAX表达式都是在上下文中求值的.行上下文和筛选上下文是DAX中仅有的上下文类型,把这两种上下文称为计算上下文.计算上下文用于限定公式计算的环境,当上下文变化时,相同的 ...
- ASP.NET MVC ActionFilterAttribute 方法解释(区别)
1.OnActionExecuting 在Action方法调用前使用,使用场景:如何验证登录等. 2.OnActionExecuted 在Action方法调用后,result方 ...
- Excel催化剂开源第37波-音视频文件元数据提取(分辨率,时长,采样率等)
上一篇提到图片元信息Exif的提取,当然还有一类音视频文件,也同样存储着许多宝贵的元数据,那就开源到底呗,虽然自己找寻过程也是蛮艰辛坎坷的,大家看后有收获,只求多多传播下,让前人的工作可以更有价值. ...
- Linux中的update和upgrade的作用
update 是同步 /etc/apt/sources.list 和 /etc/apt/sources.list.d 中列出的源的索引,这样才能获取到最新的软件包.update是下载源里面的metad ...
- win8上安装sql server (2008 and 2008 R2)存在兼容性问题怎么解决
安装sql2008R2之前,需要先下载"AccessDatabaseEngine"组件并安装(百度上搜索下载就可以了),打补丁重启,再安装sql2008,安装时候提示兼容性问 ...
- 微信小程序踩坑日记2——实时访问数据库并渲染UI
0. 引言 主要讲讲对于实时访问数据库并渲染UI我的解决方法. 一开始查到了随让小程序是单线程的,但是有一个基本上是封装的worker线程,相当于可以自己自定义(类似于Android开发里的handl ...
- Golang高效实践之泛谈篇
前言 我博客之前的Golang高效实践系列博客中已经系统的介绍了Golang的一些高效实践建议,例如: <Golang高效实践之interface.reflection.json实践>&l ...
- C语言编程入门之--第三章编写第一个C语言程序
第三章 编写第一个C语言程序 导读:一般学一门计算机语言的第一堂上机课(“上机”顾名思义,上了计算机),就是往屏幕输出“hello world”,本章也不例外. 1.1 Hello,World! 这一 ...
- el-upload自定义上传文件,并携带其余参数,且action不报错
用el-upload组件自定义上传按钮,并携带其余参数,且必传参数action 不报错 <template> <el-col :span="6" :mode=&q ...