for 语句
while 语句
do 语句
5.1 for 语句
int main ( int argc, char *iargv[])
{
@autoreleasepool{
int n,triangulaNumber;
trianguarNumber = 0;
for ( n = 1; n < 200; n+=1 )
triangularNumber += n;
NSLog (@ "The 200th triangular number is %i ", triangularNumber );
}
return 0
}
在执行for 语句之前 变量triangularNumber 被设置为0,一般来说,在程序使用变量之前,需要将所有变量初始化为某个值。
for 语句的执行步骤:
(1)先求表达式的值。这个表达式通常设置一个将在循环中使用的变量,对于某些初始值来说(0或者1),通常称为索引变量。
(2)求循环条件的值,如果条件不满足循环就立刻停止,然后执行之后的语句。
(3)执行循环体程序语句。
(4)求循环表达式的值,这个表达式通常用于改变索引变量的值,最常见的情况是,将索引变量的值加1或者减1。
(5)返回到步骤2。
不能在循环末尾处放置分号 ,这将导致循环立刻终止。
如果要执行一组语句,将这些程序语句放入一对花括号中就可以了。
for ( n = 1 ; n <= 10; ++n )
{
triangularNumber += n;
NSLog (@ " %i %i", n , troangularNumber);
}
++n 是一个合法的Objective-C 表达式。 自增运算符。双加号叫作自增运算符。
NSLog(@"%2i %i ", n , triangularNumber );
%2i 字符宽度说明。调整向右对齐。
5.1.1 键盘输入
int main (int argc, char * argv [ ] )
{
@autoreasepool {
int n , number, triangularNumber;
NSLog (@“What triangular number do you want?");
scanf ("%i",&number);
triangularNumber = 0;
for (n = 1; n <= number; n++ )
triangulaNumber += n;
NSLog(@"Triangular number %i is %i \ n ",number ,triangularNumber);
}
retrun 0
}
5.1.2 嵌套的for循环
如果我们要计算5个三角函数,该怎么办呢。
int main (int argc, char * argv [ ] )
{
@autoreasepool {
int n , number, triangularNumber,counter;
for ( counter = 1; counter <= 5; ++counter) {
NSLog (@“What triangular number do you want?");
scanf ("%i",&number);
triangularNumber = 0;
for (n = 1; n <= number; n++ )
triangulaNumber += n;
NSLog(@"Triangular number %i is %i \ n ",number ,triangularNumber);
}
}
retrun 0
}
编写for循环时,你可能发现在开始循环之前需要初始化多个变量。或者可能每次循环都要计算多个表达式。for 循环的任何位置都可包含多个表达式。只要用逗号分开这些表达式就可以了。
例如 : for (i= 0, j = 100; i < 10; ++i, j -= 10)
在for 循环中还可定义一个变量作为初始化表达式的一部分,使用以前定义变量的传统方式可实现
例如 : for ( int counter = 1; counter <= 5; ++counter )
变量counter 在for 循环语句执行中是已知的 是局部变量 不能外部访问。
5.2 while 语句
int main (int argc, char *argv[ ] )
{
@autoreleasepool {
int count = 1 ;
while (count <= 5 ) {
NSLog (@"%i", count );
++count;
}
}
retrun 0;
}
获取两个非负整数的最大公约数。
int main (int argc, char *argv[ ] )
{
@autoreleasepool {
int main (int argc, char *argv[ ] )
{
@autoreleasepool {
int number ,right_digit;
NSLog(@" Enter you number");
scanf ("%i",&number);
while (number != 0) {
right_digit = number % 10;
NSLog(@"%i",right_digit);
number /= 10;
}
}
return 0
}
5.3 do 语句
do 语句的执行过程是先执行程序语句,其次求圆括号里面的值,如果求值结果为true,循环继续,反之执行下一条语句。do 语句只是while 语句的简单转置,把循环条件放在循环结尾。
int main (int argc, char *argv[ ] )
{
@autoreleasepool {
int number ,right_digit;
NSLog(@" Enter you number");
scanf ("%i",&number);
do {
right_digit = number % 10;
NSLog(@"%i",right_digit);
number /= 10;
}
while (number != 0);
}
return 0
}
5.4 break , continue 语句
只要执行break 语句 程序将立即退出正在执行的循环。
形式如下
break;
continue 语句和break 语句类似,但他不会使循环结束。而是使循环跳过该语句之后直接到循环结尾处之间的所有语句。