您的位置:首页 > 编程语言 > C语言/C++

爬爬爬之路:C语言(三) 入门篇3

2015-10-12 14:02 435 查看
循环结构:在满足特定条件(循环条件)下, 反复执行一个语句(循环体)

while do-while for
三种格式:
while(循环条件){
循环体;(反复执行)
}
执行顺序: 先判断循环条件, 如果成立, 然后执行循环体, 再判断循环条件, 成立就执行...反复… 直到判断循环条件不满足 退出循环

do{
循环体;
}while(循环条件);
执行顺序: 先执行一遍循环体, 再判断循环条件, 如果成立, 继续执行, 然后判断... 反复… 直到判断循环条件不满足 退出循环

for( 循环变量初始值 ; 循环条件; 循环增量){
循环体;
}
用三种格式完成输出整数 1到100;
int i =1;

while (i <= 100) { //在执行之前判断条件
printf("%d\n",i);

i++;

}

int j = 0;

do { //在执行后判断条件
j++;

printf("%d\n",j);

} while (j <100);

for (int
k = 1; k <=100;
k++) { //执行前判断条件,好处在于 判断变量不需要事先定义, 节省空间

printf("%d\n",k);
}

break.
用在switch语句中
作用:跳出switch
在循环体中
作用:跳出本层循环(注意: 只跳一层)
具体伪代码示意如下:
while(条件1) { //while1
…; //语句1
while(条件2) { //while2
…; //语句2
break;
…; //语句3
}
…;语句4
}
这里break 只结束了while2 while1继续执行 按照语句执行顺序: 语句1 语句2 break 语句4 (语句3 不执行)

continue
作用:结束本次循环, 进行下一次循环;

break和continue的区别:
break: 在其所在的循环体中, 结束本次循环后, 之后的循环都不执行
continue: 在其所在的循环体中, 结束本次循环后, 之后的循环继续执行

continue 值得注意的是, 若循环增量语句在continue语句后, 可能会导致循环增量语句不执行(while do-while语句尤其) 而导致死循环

for最常⽤,通常⽤于知道循环次数的循环。
while也很常⽤,通常⽤于不知道循环次数的循环。
do…while不是特别常⽤,通常⽤于需要先执⾏⼀次的循环。
break跳出本层循环,continue结束本次循环。通常与if连⽤

循环嵌套:
基础应用: 打印九九乘法表

printf("九九乘法表:");
for (int
i = 0; i <9;
i++) {
for (int
j = 0; j <= i; j++) {
printf("%d
* %d = %-2d ", i +
1, j +1,(i
+1) * (j +1));
}
printf("\n");
}

随机数 arc4random(); //此随机数非C语言的随机数方法, 是OC中的随机数方法
arc4random()的返回值是一个u_int32_t 也就是无符号32位整型

所以arc4random()的生成值范围在 0 ~ 0xFFFFFFFF
可以通过 (float)arc4random() / 0xFFFFFFFF 获得一个随机小数

对于求取某一区间内的数(包括最大数最小数本身) (数学表达式: [小数, 大数] ) 的求取公式如下:
int number = arc4random() % (大数 - 小数 + 1) + 小数;

变量的作用域: 所处最内层的大括号里,声明之后的任意地方
1.先声明才能使用
2.出了自身存在的大括号 就失去作用

用while语句 循环n次:
写法1:

int n = 10;
while(n > 0) {
…;//循环体
n—-;

}
写法2:
int n = 10;
int i = 0;
while(i < n) {
…;//循环体
i++;

}
两种写法结果相同, 但是从变量的作用域考虑, 第二种写法定义了一个循环体外部变量i, 循环结束以后就无他用. 这样在变量i 的作用域里 就浪费了变量i的空间(除非变量i在之后还有复用).
所以建议第一种写法.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: