本人运用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的情况:
intnum;for(inti=0;i<num;i++){if(判断条件0){//语句0break;//必须要有}elseif(i==num-1)//判断条件1{//语句1;}}
以上格式可以根据判断条件1(i==num-1)来判断所有数据都不满足判断条件0的情况,该如何操作;以上有三个要点(1)必须用if...elseif...格式,否则会发生最后一个循环出错(2)、if里面必须要用break,不能用continue;(3)判断条件1必须是等于num-1
4)表达式3形式:
若是单独的i++或者++i,运行结果相同,如下图:
因为单独的一句++i和i++所产生的都是i=i+1这个结果;
2、while和dowhile语句
while(判断条件)//先进行判断条件的{//循环体}do//先进行一次循环体的运行{//循环体}while(判断条件)