**if判断
这个Object-C程序语言提供一个功能判断,语言的结构是if。这个通用的状态格式表示为以下形式:
if(expression)
program statement
想象一下这个情况“如果不下雨,那么我将要去有用”在OC语言下。用这个if状态,写下的状态是:
if(it is no raining)
i will go swimming
这个if状态有用来规定程序的执行状态,状态基于指定的状况。如果不下雨我将要去有用。等同于下面的状态:
if(count>MAXIMUM_SONGS)
[playlist maxExceeded];
仅当这个count值大于MAXIMUM——SONGSS时,这个maxExceeded信息发送一个playlist。否则它将要无视它。
请看下面的程序:
#import <Foundation/Foundation.h>
int main(int argc,char* argv[])
{
@autoreleasepool{
int number;
NSLog(@"Type in your number");
scanf("%i",&number);
if(number<0)
number = -number;
NSLog(@"the absolute value is %i",number);
}
return 0;
}
Type in your number:
-100;
Ther absolute value is 100
在一个信息展示给用户之后,整形值将要存储一个数字,程序会测试这个值比对它是否小于0.如果是,如果这个数字不小于-那么程序将要自动跳过。
声明一个方法的形式如下:
-(double)convertToNum;
你将要写下他的定义
-(double)convertToNum
{
return numberator/denominator;
}
这并不是好的。这个方法实际有两个严肃的问题。首先你将要计算并且转变。调用这个numerator和denominator这两个整型变量。当两个整型变量相除的时候会发生什么呢?事实它是两个整型相除。如果你想要转化这个1/2。上述代码将要返回你一个0!可以用类型转换符来转变为浮点类型取代。
(double)numerator/denominator
改变后的convertToNum方式:
-(double)convertToNum
{
if(denominator != 0)
return (double)numerator/denominator;
else
return NAN;
}
我们返回特别的数值NAN如果这个代码denominator为0.这个符号将要定义在系统头文件math.h,
#import <Foundation/Foundation.h>
@interface Fraction:NSObject
-(void)print;
-(void)setNumerator:(int)n
-(void)setDenominator:(int)d;
-(int)numerator;
-(int)denominator;
-(double)convertToNum;
@end
@implementation Fraction
{
int numerator;
int denomiantor;
}
-(void)print
{
NSLog(@"%i%i",numerator,denominator);
}
-(void)setNumerator:(int)n
{
numerator = n;
}
-(void)setDenominator:(int)d
{
denomiantor = d;
}
-(int)numerator
{
return numerator;
}
-(int)denominator
{
return denomiantor;
}
-(double)convertToNum
{
if(denomiantor != 0)
return (double)numerator/denomiantor;
else
return NAN;
}
@end
int main(int argc,char* argv[])
{
@autoreleasepool{
Fraction *aFraction = [[Fraction alloc]init];
Fraction *bFraction = [[Fraction alloc]init];
[aFraction setNumerator:1];
[aFraction setDenominator:4];
[aFraction print];
NSLog(@"=");
NSLog(@"%g",[aFraction convertToNum]);
[bFraction print];
NSLog(@"=");
NSLog(%g,[bFraction convertToNum]);
}
return 0;
}
**if-else结构
如果一些人告诉你一些数字,你将要做一些判断对于这些数字。如果这些数字是0,2,4,6,8.你将要读出这些状态是偶数。否则,你将要声明这些状态为基数。可以用除以2的方式来判断是否是奇数还是偶数。现在让我们来写一个程序来判断这个整数的值到底是奇数还是偶数。看下面的程序
#import <Foundation/Foundation.h>
int main(int argc,char* argv[])
{
@autoreleasepool{
int number_to_test,remainder;
NSLog(@"Enter your number to be started:");
scanf("%i",&number_to_test);
remainder = number_to_test%2;
if(remainder == 0)
NSLog(@"the number is even.");
if(remainder!=0)
NSLog(@"the number is odd");
}
return 0;
}
请看下面的if-else结构的程序
#import<Foundation/Foundation.h>
int main(int argc,char* argv[])
{
@autoreleasepool{
int number_to_test,remainder;
NSLog(@"Enter your number to be tested:");
scanf("%i",&number_to_test);
remainder = number_to_test%2;
if(remainder == 0)
NSLog(@"The number is even");
else
NSLog(@"the number is odd");
}
return 0;
}
请看下面的代码:
if(expression 1)
program statement 1
else
if(expression 2)
program statement 2
else
program statetment 3
这是有效率的拓展这个状态从两个逻辑判断扩展为三个逻辑判断。
if(expression 1)
program statement 1
else if(expression 2)
else
program statement 3
这个下一个程序解释是用这个else if结构通过补充这个功能。
#import <Foundation/Foundation.h>
int main(int argc,char* argv[])
{
@autoreleasepool{
int number,sign;
NSLog(@"please type in a number:");
scanf("%i",number)
if(number<0)
sign = -1;
else if(number == 0)
sign = 0;
else
sign = 1;
}
}
*下一个程序将要分析这个字符,来辨识这个数字从(a-z或A-Z)。读一个单一的字符从终端,这个%c用scanf来调用。
import <Foundation/Foundation.h>
int main(int argc,char* argv[])
{
@autoreleasepool{
char c;
NSLog(@"Enter a single character");
scanf("%c",&c);
if((c>='a'&&c<='z')||(c>='A'&&c<='Z'))
NSLog(@"it is a character.");
else if(c>='0'&& c<='9')
NSLog(@"it is a digit");
else
NSLog(@"it is a special character");
}
return 0;
}
#import <Foundation/Foundation.h>
@interface Calculator:NSObject
-(void) setAccumulator:(double)value;
-(void) clear;
-(double) accumulator;
-(void)add:(double)value;
-(void)multiply:(double)value;
-(void)divide:(double)value;
@end
@implementation Calculator
{
double accumulator;
}
-(void)setAccumulator:(double)value
{
accumulator = value;
}
-(void)clear
{
accumulator = 0;
}
-(double) accumulator
{
return accumulator;
}
-(void)add:(double)value
{
accumulator += value;
}
-(void)multiply:(double)value
{
accumulator *= value;
}
-(void)divide:(double)value
{
accumulator /= value;
}
@end
int main(argc,char* argv[])
{
@autoreleasepool{
double value1,value2;
char operator;
Calculator *deskCalc = [[Calculator alloc]init];
NSLog(@"type in your expression.");
scanf("%lf%c%lf",&value1,&operator,&value2);
}
}
*这个switch状态
switch(expression)
{
case value1;
program statement
program statement
break;
case value2:
program statement
program statement
break;
case valuen:
program statement
program statement
break;
default:
program statement
break;
}
这个Object-C程序语言提供一个功能判断,语言的结构是if。这个通用的状态格式表示为以下形式:
if(expression)
program statement
想象一下这个情况“如果不下雨,那么我将要去有用”在OC语言下。用这个if状态,写下的状态是:
if(it is no raining)
i will go swimming
这个if状态有用来规定程序的执行状态,状态基于指定的状况。如果不下雨我将要去有用。等同于下面的状态:
if(count>MAXIMUM_SONGS)
[playlist maxExceeded];
仅当这个count值大于MAXIMUM——SONGSS时,这个maxExceeded信息发送一个playlist。否则它将要无视它。
请看下面的程序:
#import <Foundation/Foundation.h>
int main(int argc,char* argv[])
{
@autoreleasepool{
int number;
NSLog(@"Type in your number");
scanf("%i",&number);
if(number<0)
number = -number;
NSLog(@"the absolute value is %i",number);
}
return 0;
}
Type in your number:
-100;
Ther absolute value is 100
在一个信息展示给用户之后,整形值将要存储一个数字,程序会测试这个值比对它是否小于0.如果是,如果这个数字不小于-那么程序将要自动跳过。
声明一个方法的形式如下:
-(double)convertToNum;
你将要写下他的定义
-(double)convertToNum
{
return numberator/denominator;
}
这并不是好的。这个方法实际有两个严肃的问题。首先你将要计算并且转变。调用这个numerator和denominator这两个整型变量。当两个整型变量相除的时候会发生什么呢?事实它是两个整型相除。如果你想要转化这个1/2。上述代码将要返回你一个0!可以用类型转换符来转变为浮点类型取代。
(double)numerator/denominator
改变后的convertToNum方式:
-(double)convertToNum
{
if(denominator != 0)
return (double)numerator/denominator;
else
return NAN;
}
我们返回特别的数值NAN如果这个代码denominator为0.这个符号将要定义在系统头文件math.h,
#import <Foundation/Foundation.h>
@interface Fraction:NSObject
-(void)print;
-(void)setNumerator:(int)n
-(void)setDenominator:(int)d;
-(int)numerator;
-(int)denominator;
-(double)convertToNum;
@end
@implementation Fraction
{
int numerator;
int denomiantor;
}
-(void)print
{
NSLog(@"%i%i",numerator,denominator);
}
-(void)setNumerator:(int)n
{
numerator = n;
}
-(void)setDenominator:(int)d
{
denomiantor = d;
}
-(int)numerator
{
return numerator;
}
-(int)denominator
{
return denomiantor;
}
-(double)convertToNum
{
if(denomiantor != 0)
return (double)numerator/denomiantor;
else
return NAN;
}
@end
int main(int argc,char* argv[])
{
@autoreleasepool{
Fraction *aFraction = [[Fraction alloc]init];
Fraction *bFraction = [[Fraction alloc]init];
[aFraction setNumerator:1];
[aFraction setDenominator:4];
[aFraction print];
NSLog(@"=");
NSLog(@"%g",[aFraction convertToNum]);
[bFraction print];
NSLog(@"=");
NSLog(%g,[bFraction convertToNum]);
}
return 0;
}
**if-else结构
如果一些人告诉你一些数字,你将要做一些判断对于这些数字。如果这些数字是0,2,4,6,8.你将要读出这些状态是偶数。否则,你将要声明这些状态为基数。可以用除以2的方式来判断是否是奇数还是偶数。现在让我们来写一个程序来判断这个整数的值到底是奇数还是偶数。看下面的程序
#import <Foundation/Foundation.h>
int main(int argc,char* argv[])
{
@autoreleasepool{
int number_to_test,remainder;
NSLog(@"Enter your number to be started:");
scanf("%i",&number_to_test);
remainder = number_to_test%2;
if(remainder == 0)
NSLog(@"the number is even.");
if(remainder!=0)
NSLog(@"the number is odd");
}
return 0;
}
请看下面的if-else结构的程序
#import<Foundation/Foundation.h>
int main(int argc,char* argv[])
{
@autoreleasepool{
int number_to_test,remainder;
NSLog(@"Enter your number to be tested:");
scanf("%i",&number_to_test);
remainder = number_to_test%2;
if(remainder == 0)
NSLog(@"The number is even");
else
NSLog(@"the number is odd");
}
return 0;
}
请看下面的代码:
if(expression 1)
program statement 1
else
if(expression 2)
program statement 2
else
program statetment 3
这是有效率的拓展这个状态从两个逻辑判断扩展为三个逻辑判断。
if(expression 1)
program statement 1
else if(expression 2)
else
program statement 3
这个下一个程序解释是用这个else if结构通过补充这个功能。
#import <Foundation/Foundation.h>
int main(int argc,char* argv[])
{
@autoreleasepool{
int number,sign;
NSLog(@"please type in a number:");
scanf("%i",number)
if(number<0)
sign = -1;
else if(number == 0)
sign = 0;
else
sign = 1;
}
}
*下一个程序将要分析这个字符,来辨识这个数字从(a-z或A-Z)。读一个单一的字符从终端,这个%c用scanf来调用。
import <Foundation/Foundation.h>
int main(int argc,char* argv[])
{
@autoreleasepool{
char c;
NSLog(@"Enter a single character");
scanf("%c",&c);
if((c>='a'&&c<='z')||(c>='A'&&c<='Z'))
NSLog(@"it is a character.");
else if(c>='0'&& c<='9')
NSLog(@"it is a digit");
else
NSLog(@"it is a special character");
}
return 0;
}
#import <Foundation/Foundation.h>
@interface Calculator:NSObject
-(void) setAccumulator:(double)value;
-(void) clear;
-(double) accumulator;
-(void)add:(double)value;
-(void)multiply:(double)value;
-(void)divide:(double)value;
@end
@implementation Calculator
{
double accumulator;
}
-(void)setAccumulator:(double)value
{
accumulator = value;
}
-(void)clear
{
accumulator = 0;
}
-(double) accumulator
{
return accumulator;
}
-(void)add:(double)value
{
accumulator += value;
}
-(void)multiply:(double)value
{
accumulator *= value;
}
-(void)divide:(double)value
{
accumulator /= value;
}
@end
int main(argc,char* argv[])
{
@autoreleasepool{
double value1,value2;
char operator;
Calculator *deskCalc = [[Calculator alloc]init];
NSLog(@"type in your expression.");
scanf("%lf%c%lf",&value1,&operator,&value2);
}
}
*这个switch状态
switch(expression)
{
case value1;
program statement
program statement
break;
case value2:
program statement
program statement
break;
case valuen:
program statement
program statement
break;
default:
program statement
break;
}