本人运用QT也有一段时间,其中遇到很多问题,也通过网上查阅找到很多解决办法,但是感觉因为版本问题导致解决方案很多,但是能解决实际问题的不容易,所以就把我工作中遇到的问题和对应版本进行统计,与大家共勉;希望各位大神多给意见;

QT版本号:qt-opensource-windows-x86-mingw492-5.5.1

for语句的执行过程(for与while语句的执行过程)(1)

在工作中刚好需要用到详细的循环流程,想到好记性不如烂笔头,本着颗粒归仓的原则,就有了这篇内容:

1、for语句的表达式一般为如下形式:

for(表达式1;表达式2;表达式3)
{
 表达式4;
}

执行的顺序为:

1)第一次循环,即初始化循环。

首先执行表达式1(一般为初始化语句),再执行表达式2(一般为条件判断语句),判断表达式1是否符合表达式2的条件,如果符合,则执行表达式4,否则,停止执行,最后执行表达式3; 1->2->4->3

2)下次的循环:

首先执行表达式2,判断上次循环表达式3结果是否符合表达式2的条件;如果符合,继续执行表达式4,否则停止执行,最后执行表达式3.如果往复,直到表达式3不再满足表达式2的条件。

2->4->3;

3)所以根据上面语句执行顺序就可以有下面这个操作,处理循环语句都不满足判断语句0的情况:

int num;
for(int i = 0;i<num;i++)
{
 if(判断条件0)
	{
		//语句0
		break; //必须要有
	}
	else if(i == num-1) //判断条件1
	{
		//语句1;
	}
}

以上格式可以根据判断条件1(i == num-1)来判断所有数据都不满足判断条件0的情况,该如何操作;以上有三个要点(1)必须用if...else if...格式,否则会发生最后一个循环出错(2)、if里面必须要用break,不能用continue;(3)判断条件1必须是等于num-1

4)表达式3形式:

若是单独的i++或者++i,运行结果相同,如下图:

for语句的执行过程(for与while语句的执行过程)(2)

for语句的执行过程(for与while语句的执行过程)(3)

因为单独的一句++i和i++所产生的都是i=i+1这个结果;

2、while和do while语句

while(判断条件) //先进行判断条件的
{
 //循环体
}
do //先进行一次循环体的运行
{
 //循环体
}while(判断条件)