本人运用QT也有一段时间,其中遇到很多问题,也通过网上查阅找到很多解决办法,但是感觉因为版本问题导致解决方案很多,但是能解决实际问题的不容易,所以就把我工作中遇到的问题和对应版本进行统计,与大家共勉;希望各位大神多给意见;
QT版本号:qt-opensource-windows-x86-mingw492-5.5.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,运行结果相同,如下图:
因为单独的一句++i和i++所产生的都是i=i+1这个结果;
2、while和do while语句
while(判断条件) //先进行判断条件的 { //循环体 } do //先进行一次循环体的运行 { //循环体 }while(判断条件)