1.8 c++_关系表达式

1,for循环
2,while循环
3,文本输入
4,二维数组

1,for循环

同java的循环一样:
for (int i = 0; i < 10; i++)
cout << “for循环中标识i的值:” << i << endl;

1,设置初始值。 int i= 0;
2,逻辑判断,是否符合继续往下执行的条件。 i < 10;
3,执行循环操作。具体逻辑
4,更新逻辑只。i++

另一种写法
int ints[5] = {1,2,3,4,5};
for (int i : ints){
cout << “数组的值:” << i;
}

cout.setf();//设置输出格式状态,括号中应给出格式状态。
ios_base::boolalpha;//将bool类型的值以true或flase表示,而不是1或0
cout.setf(ios_base::boolalpha);//老式c++代码可能需要使用ios:boolalpha;而不是ios_base::boolalpha

指针中递增和递减的应用
指针中使用++或者--与指针本身的关键字*的优先级问题:
double *pt =20.2;
double x = *++pt;//++、--、*他们的优先级相同,所以以从右往左的顺序执行。所以是,先取得pt指针指向的值,然后再加1
++*pt;//这种情况pt指向的仍然是20.2;然后自加1
(*pt)++;//首先对指针解除引用,得到20.2,然后再自加1
x = *pt++;//因为程序从右往左执行则是pt的指针自加1然后再指向具体的值

int *pa = new int[10];
pa[4] = 12;
pa[4] += 6;//第四个元素自加6
*(pa + 4) += 7;//第四个元素自加7
pa += 2;//因为数组名默认指向第一个元素的地址,所以是第一个元素的指针自加2

int a = 20, b = 21;//逗号可以让相同的变量省略关键字的定义
int c = 17,240;//这种写法被翻译成 (c = 17) , 240;也就是说240是没有作用的
int d =(17,240);//这种写法,因为括号的优先级最高,所以里面的数组被从右往左执行,d = 240;

字符串比较关键字:strcmp()
char word[5] = "test1";
strcmp(word,"test1");//strcmp()用来比较两个字符串是否相同

string word = "test1";
word != "test2";//string类重载了运算符!= 。所以string可以直接这样判断

2,while循环

同java的while循环一样:
int i = 20;//初始化
while(i == 50){//指定终止训话的条件
cout << “如果i不等于50,则就会一直循环下去”;
i++;//在逻辑判断之前修改被判断的变量
}

关键字 clock()

//C/C++中的计时函数是clock(),而与其相关的数据类型是clock_t
#inlcude <ctime> 

//该函数的返回类型在某些系统上可能是long,在另一些系统上可能是unsigned long或其他类型
//系统定义一个符号常量----CLOCKS_PER_SEC,该常量等于每秒钟包含的系统时间单位数。因此,将系统时间除以这个值,就可以得到秒数。或者将秒数乘以CLOCKS_PER_SEC,就可以得到以系统时间单位为单位的时间
clock_t time1 = 60 * CLOCK_PER_SEC;
clock_t time2 = clock();//获取系统时间
while(clock() - time2 < time1);//这里来判断系统时间做一个延时60s的操作

类型别名
c++为类建立别名有两种方式:
1,预处理器: #define BYTE char;
这样,预处理器在编译程序的时候会将所有的BYTE都替换成char

2,关键字:typedef char BYTE;
也可以将指针声明称别名:typedef char* BYTES;

需要注意的是,#define不能使用,来省略类型关键字而typedef可以,例如:

#define BYTE char*;
BYTE pa,pb;

这样做是不行的,会让预处理器将 把char* 转换成pa,pb;

do-while 循环
int i = 0;
do{
i++;
}while(i == 7);

do-while循环与while不同的是,它会先执行do后面的逻辑代码在判断条件是否进行下一次循环,而while则先判断条件再执行逻辑代码

3,文本输入

cin.get();//读取输入中的下一个字符
例如:用户输入了一段话:my name is c++
char ch=”my name is c++”;
int i;
cin.get(ch);
while(ch !=”c”){
i++;
cin.get(ch);//这样能够便利到字符c的时候跳出循环
}

//另一种写法,
while((ch = cin.get()) != “c”){
i++;
cin.get(ch);//这样能够便利到字符c的时候跳出循环
}

4,二维数组

//初始化二维数组
int maxtemps [4][4] = {
    {1,2,3,4},
    {1,2,3,4},
    {1,2,3,4},
    {1,2,3,4}
};

for(int i =0; i <5; i++){
    for(int j =0; j <5; j++)
        cout << "maxtemps:" << maxtemp[i][j];
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值