循环
前置代码

程序的执行顺序
分为三种,
顺序执行,重复执行,选择执行.
我们之前的, 都是顺序执行, 也就是按顺序进行执行.
而我们的循环, 就是重复执行.
循环语句
// 我们的循环分为 while, for, do while 循环.
while循环, 是我们的入口条件循环.他会根据我们的条件进行判断决定是否进入我们的循环体.
我们的关系表达式为真的时候, 循环体才会执行.永远不会停止执行的循环叫做死循环.
while循环的条件称之为关系表达式, 它只会返回真或者假.
在C语言中, 我们使用0来代表假, 使用!0(非0)来代表真.
在C99标准中, 专门增加了一个_Bool类型来代表我们的true 和 false._Bool会进行一个转换, 只存储0和1.for循环, 使我们的计数循环, 他会执行规定的循环次数.
for循环的条件表达式中, 由3个表达式组成.
第一个表达式为初始化表达式, 它的作用是给条件计数种子赋值一个初值.它可以使用
,运算符进行扩充, 比如for (int i = 0, j = 10; i < j; i++) { ... }
它是可以被省略的, 我们如果在for循环之外进行了初始化, 我们可以省略该语句, 但是;一定要有.
比如int i = 0; for (; i < 10; i++) { ... }
第二个表达式为条件表达式, 它的作用是跳出循环的条件, 它只会返回真或者假.第三个表达式为
计算表达式, 它的作用是修改计数种子, 促使循环条件的达成.
do while循环, 是我们的出口条件循环.它也有一个
关系表达式.
和while不同的是,它可以保证我们的循环体至少能够被执行1次.
作业
完成如下程序题#include <windows.h>
#define WINMAXIMUM 100
HWND g_hwnds[WINMAXIMUM] = { 0 };
int g_winnum = 0;
BOOL CALLBACK EnumWindowsProc(
_In_ HWND hwnd,
_In_ LPARAM lParam)
{
char classname[MAXBYTE] = { 0 };
GetClassNameA(hwnd, classname, MAXBYTE);
if (strcmp("TXGuiFoundation", classname) == 0)
{
g_hwnds[g_winnum] = hwnd;
g_winnum++;
}
return TRUE;
}
int main()
{
EnumWindows(EnumWindowsProc, NULL);
//每排3个窗口分4列排列
//让所有窗口依次从左向右飞过
//让所有窗口依次挨个从左向右飞过
//让窗口排列成
//*
//**
//***
//**
//*
//让窗口排列成
// *
// **
// ***
// **
// *
//让窗口分3行,每次每行飞入一个
//模拟窗口反弹
//将数组中奇数下标的窗口从下往上飞,偶数下标的窗口从上往下飞。每次都需要反弹效果
return 0;
}如有错误,请提出指正!谢谢.
本文由 花心胡萝卜 创作,采用 知识共享署名4.0 国际许可协议进行许可
本站文章除注明转载/出处外,均为本站原创或翻译,转载前请务必署名
最后编辑时间为: 2016-10-06 at 03:16 pm