5、程序循环
一个Object-C项目,你能够不断重复执行一段代码用相同的方式。本章讲循环的功能。
for循环、while循环、do循环。
下面我们将要开始一个简单的例子:来计算数字。
#import <Foundation/Foundation.h>
int main(int argc,char *argv[])
{
@autoreleasepool{
int triangularNumber;
triangularNumber = 1+2+3+4+5+6+7+8;
NSLog(@"The eighth triangular number is %i",triangularNumber);
}
return 0;
}
这个数字的和是36,现在这仅仅有几个数字。如果你需要一个200th的数字,那该怎么办呢,他将是枯燥乏味的从1加到200.幸运的是这里有种简单的方式。
这个for状态
让我们来用for转台。这个程序将要计算200th的数字。
#import <Foundation/Foundation.h>
int main(int argc,char* argv[])
{
@autoreleasepool{
int n,triangularNumber;
triangularNumber = 0;
for(n = 1;n<=200;n++)
triangularNumber += n;
NSLog(@“The 200th triangular number is %i”,triangularNumber);
}
return 0;
}
for(inin_expression;loop_condition;loop_expression)
program statement;
*键盘输入
计算这个200th数字,可有去计算一个设定的值。你能够处理这个问题用scanf。这个scanf程序相似于这个NSLog的概念。因此这个NSLog周期可以展示一个值,当然你可以用OC程序写一个图形接口,例如Cocoa或者是IOS应用,你可能不会用到NSLog或者scanf在你的程序中。
#import <Foundation/Foundation.h>
int main(int argc,char* argv[])
{
@autoreleasepool{
int n,number,triangularNumber;
NSLog(@"what triangular number do you want?");
scanf("%i",&number);
triangularNumber = 0;
for(n = 1;n<=number;++n)
triangularNumber += n;
NSLog(@"Triangular number %i is %i\n",number,triangularNumber);
}
return 0;
}
*对于loops程序
使用一个灵活的程序来计算这个数字。
#import <Foundation/Foundation.h>
int main(int agrc,char *argc[])
{
@autoreleasepool{
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)
triangularNumber += n;
NSLog(@"Triangular number %i is %i\n",number,triangularNumber);
}
}
return 0;
}
*这个while状态
这个while状态将要扩展一个Object-C语言。请看下面的例子:
#import <Foundation/Foundation.h>
int main(int argc,char* argv[])
{
@autoreleasepool{
int count = 1;
while(count<=5)
{
NSLog(@"%i",count);
++count;
}
}
return 0;
}
我们再看一个程序
#import <Foundation/Foundation.h>
int main(int argc,char* argv[])
{
@autoreleasepool{
unsigned int u,v,temp;
NSLog(@"please type in two nonnegative integers.");
scanf("%u%u",&u,&v);
while(v != 0)
{
temp = u%v;
u = v;
v = temp;
}
NSLog(@"their greatest common divisor is %u",u);
}
return 0;
}
*另一种do状态
这两个循环结构在本章中测试这个循环的执行。如果这个判断是不对的,那么循环本体不将要执行。OC语言将要提供一种体别的语言来处理这种情景,了解这个do状态。请看下下面的程序:
#import <Foundation/Foundation.h>
int main(int argc,char*argv[])
{
@autoreleasepool{
int number,right_digit;
NSLog(@"Enter your number.");
scanf("%i",&number);
do{
right_digit = number%10;
NSLog(@"%i",right_digit);
number/= 10;
}
while(number != 0);
}
return 0;
}
一个Object-C项目,你能够不断重复执行一段代码用相同的方式。本章讲循环的功能。
for循环、while循环、do循环。
下面我们将要开始一个简单的例子:来计算数字。
#import <Foundation/Foundation.h>
int main(int argc,char *argv[])
{
@autoreleasepool{
int triangularNumber;
triangularNumber = 1+2+3+4+5+6+7+8;
NSLog(@"The eighth triangular number is %i",triangularNumber);
}
return 0;
}
这个数字的和是36,现在这仅仅有几个数字。如果你需要一个200th的数字,那该怎么办呢,他将是枯燥乏味的从1加到200.幸运的是这里有种简单的方式。
这个for状态
让我们来用for转台。这个程序将要计算200th的数字。
#import <Foundation/Foundation.h>
int main(int argc,char* argv[])
{
@autoreleasepool{
int n,triangularNumber;
triangularNumber = 0;
for(n = 1;n<=200;n++)
triangularNumber += n;
NSLog(@“The 200th triangular number is %i”,triangularNumber);
}
return 0;
}
for(inin_expression;loop_condition;loop_expression)
program statement;
*键盘输入
计算这个200th数字,可有去计算一个设定的值。你能够处理这个问题用scanf。这个scanf程序相似于这个NSLog的概念。因此这个NSLog周期可以展示一个值,当然你可以用OC程序写一个图形接口,例如Cocoa或者是IOS应用,你可能不会用到NSLog或者scanf在你的程序中。
#import <Foundation/Foundation.h>
int main(int argc,char* argv[])
{
@autoreleasepool{
int n,number,triangularNumber;
NSLog(@"what triangular number do you want?");
scanf("%i",&number);
triangularNumber = 0;
for(n = 1;n<=number;++n)
triangularNumber += n;
NSLog(@"Triangular number %i is %i\n",number,triangularNumber);
}
return 0;
}
*对于loops程序
使用一个灵活的程序来计算这个数字。
#import <Foundation/Foundation.h>
int main(int agrc,char *argc[])
{
@autoreleasepool{
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)
triangularNumber += n;
NSLog(@"Triangular number %i is %i\n",number,triangularNumber);
}
}
return 0;
}
*这个while状态
这个while状态将要扩展一个Object-C语言。请看下面的例子:
#import <Foundation/Foundation.h>
int main(int argc,char* argv[])
{
@autoreleasepool{
int count = 1;
while(count<=5)
{
NSLog(@"%i",count);
++count;
}
}
return 0;
}
我们再看一个程序
#import <Foundation/Foundation.h>
int main(int argc,char* argv[])
{
@autoreleasepool{
unsigned int u,v,temp;
NSLog(@"please type in two nonnegative integers.");
scanf("%u%u",&u,&v);
while(v != 0)
{
temp = u%v;
u = v;
v = temp;
}
NSLog(@"their greatest common divisor is %u",u);
}
return 0;
}
*另一种do状态
这两个循环结构在本章中测试这个循环的执行。如果这个判断是不对的,那么循环本体不将要执行。OC语言将要提供一种体别的语言来处理这种情景,了解这个do状态。请看下下面的程序:
#import <Foundation/Foundation.h>
int main(int argc,char*argv[])
{
@autoreleasepool{
int number,right_digit;
NSLog(@"Enter your number.");
scanf("%i",&number);
do{
right_digit = number%10;
NSLog(@"%i",right_digit);
number/= 10;
}
while(number != 0);
}
return 0;
}