c++学习5、循环和关系表达式

#include<iostream>
#include<string>
#include<ctime>//ctime头文件提供了时间函数,CLOCKS_PER_SEC表示的是系统时间单位数,用系统时间除以这个数得到秒数
//ctime将clock_t作为clock()返回类型的别名
using namespace std;
typedef char byte;//利用typedef声明创建别名,define也行,但最好用typedef
#define byte_potin char*;
typedef char* byte_potine;//typedef不会创建新类型,而是创建一个新名称
int main()
{
	//for循环
	int i;
	for (i = 0; i < 5; i++)//(变量初始化;循环判断式;后变量预处理;)
		cout << "ok,yes666!";//++为递增运算符;c++将结果强制转化为bool类型
	int x;
	cout << (x = 100) << endl;//这里要十分注意 << 输出运算符的优先级比关系运算符和赋值运算符高!
	cout << (x < 3);
	//使用for循环访问字符数组
	string word;
	cin >> word;
	for (int j = word.size() - 1; j >= 0; j--)//使用了类函数.size()
		cout << word[j];
	int* pn = new int;
	int pq = *++pn;//这两个递增运算符的使用表达的含义不同
	pq = ++ * pn;//第一个是改变指针位置;第二个是先解引用在递增
	//逗号运算符
	int k;
	i++, k++;//逗号运算符允许将两个表达式放在一个表达式的地方,顺序执行
	//注意逗号表达式的值是第二部分的值,逗号运算符的优先级最低
	//关系运算符的优先级比算术运算符低
	string word = "?ate";
	for (char ch = 'a'; word != "mate"; ch++)//这里用到了string类的重载运算符!=
	{//使得能在至少有一个操作数为string类对象,另一个可以是string类对象,也可以是普通字符串
		cout << word << endl;
		word[0] = ch;//修改整个字符串
	}

	//while循环————没有初始化和更新部分,只有测试条件和循环体
	while (i != 0)//c++中for和while循环本质是一样的
	{
		i--;
	}//注意string对象不使用空字符标记字符串末尾
	//不知道要循环多少次时用while()

	//do while循环————出口循环————至少循环一次
	int n;
	do
	{
		cin >> n;//请求输入一般会用do while
		if (n == 4)
			break;//break语句终止循环
	} while (n != 7);

	//基于范围的for循环——c++11
	double prices[5] = { 1.01,2.32,6.23,4.52,2.04 };
	for (double x : prices)//简化对数组、容器类的循环
		cout << x << endl;
	for (double& x : prices)//要修改数组的元素,x是一个引用变量
		x = x * 0.5;
	for (int x : {3, 5, 2, 8, 6})//还可以结合初始化列表一起使用
		cout << x << endl;

	//循环和文本输入
	char ch;
	int count = 0;
	cin >> ch;//原始的cin输入
	while (ch != '#')//#字符称为哨兵字符,作为停止标记
	{
		cout << ch;
		++count;
		cin >> ch;//cin将忽略空格和换行符,这体现输入就像一条流一样
		//发送给cin的输入被缓存,这表明只有按下回车键,内容才会发送给cin
	}
	//使用cin.get(char)进行补救
	while (ch != '#')
	{
		cout << ch;
		++count;
		cin.get(ch);//能读取空格、换行符等不同字符————注意输入仍被缓冲
	}
	//函数的重载——允许创建多个同名函数,条件是它们参数列表不同
	int ch1;
	char a[10];
	cin.get(a, 10);//两个参数
	cin.get(ch);//一个参数
	ch1=cin.get();//没有参数——返回输入的下一个字符,将字符编码作int值返回
	cout.put(ch1);//显示字符对象——传递的是整型,而不是字符型

	//嵌套循环和二维数组————数据行和数据列
	int maxtemps[4][5] = {//初始化格式————双花括号
		{63,20,14,85,63},//4行5列
		{54,65,98,87,32},
		{14,25,36,47,58},
		{74,85,96,41,52}
	};
	const char* citise[5] =  //c++常用做法:将一个指针数组初始化为一组字符串常量
	{
		"cihojlj",//字符串相当与地址
		"saladjf",
		"slfjioe",//注意这里可以替换为string对象数组
		"e9nflaa",
		"weoufhf"
	};
	//在输出中使用制表符‘\t’比使用空格可是数据排列更有规律!!!

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值