OC语言基础(数据类型跟表达式、循环结构和选择结构)
OC语言基础(数据类型和表达式、循环结构和选择结构)
int a = 100;
int b = 2;
int c = 25;
int d = 4;
float e = 25.0;
float f = 2.0;
int result;
//优先级较高的运算符首先求值
result = a - b;//减法
NSLog(@"a - b = %i",result);
result = b + c;//加法
NSLog(@"b + c = %i",result);
result = c / d;//除法
NSLog(@"b / d = %i",result);
result = a - d/b*c;//优先级
NSLog(@"a - d / b*c= %i",result);
//整数运算和一元负号运算符
NSLog(@"6+a/5*b=%i",6+a/5*b);//除法的优先级高于加法,乘法的优先级高于加法
NSLog(@"a/b*b=%i",a/b*b);//从左往右计算,整形中“/”取整所以是12*2
NSLog(@"c/d*d=%f",e/f*f);//从左往右计算,浮点型中保留小数点所以是12.5*2
NSLog(@"-a=%i",-a);//一元运算符有更高的优先级
NSLog(@"-c=%f",-e);//一元运算符有更高的优先级
//模运算符,值取余
NSLog(@"a %% b =%i",a % b);
NSLog(@"a %% c =%i",a % c);
NSLog(@"a %% d =%i",a % d);
NSLog(@"a / d * d + a %% d = %i",a / d * d + a % d);
整型值与浮点值得相互转换
float f1 = 123.125, f2;
int i1,i2 = -150;
i1 = f1;//浮点数到整数的转换
NSLog(@"%f~%i",f1,i1);
f1 = i2;//整数到浮点数得转换
NSLog(@"%i~%f",i2,f1);
f1 = i2 / 100;//整数除以整数
NSLog(@"%i~%f",i2,f1);
f2 = i2 / 100.0;//整数除以浮点数
NSLog(@"%i~%f",i2,f2);
f2 =(float)i2 / 100;//类型强制转换运算符
NSLog(@"(float)%i~%f",i2,f2);
int triangualrNumber;
triangualrNumber = 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8;
NSLog(@"The eighth triangular number is %i",triangualrNumber);
int n,triangularNumber;//计算第二百个三角数的程序
triangularNumber = 0;
for(n = 1;n <= 200;n ++){
triangularNumber +=n;
}
NSLog(@"The 200th triangular number is %i",triangularNumber);
生成三角数表的程序
int n,triangularNumber;
NSLog(@"TABLE OF TRAIGULAR NUMBERS");
NSLog(@"n Sum from 1 to n");
NSLog(@"------------------");
triangularNumber = 0;
for (n = 1;n <= 10; n ++) {
triangularNumber += n;
NSLog(@"%i %i",n,triangularNumber);
}
//键盘输入
int n,number,triangularNumber;
NSLog(@"what triangular number do you want ?");
scanf("%i",&number);
for (n = 1; n <= number; ++ n) {
triangularNumber += n;
NSLog(@"Triangular number %i is %i\n",number,triangularNumber);
}
嵌套的for循环
int n,number,triangularNUmber;
for (int counter = 1; counter <= 3; ++ counter) {
NSLog(@"what number do you want ?");
scanf("%i",&number);
triangularNUmber = 0;
for (n = 1; n <= number; n ++) {
triangularNUmber += n;
}
NSLog(@"Triangular numner %i is %i",number,triangularNUmber);
}
while 语句
int count = 1;
while (count <= 5) {
NSLog(@"%i",count);
++ count;
}
找到两个非负数的最大公约数
unsigned int u,v,temp;
NSLog(@"Please type in two nonnegative integers");
scanf("%u%u",&u,&v);
while (v != 0) {
temp = u % v;//temp = 50%20=10 u=20 v=10 /temp =0 u=10 v = 0
u = v;
v = temp;
}
NSLog(@"Their greatest common divisor is %u",u);
颠倒显示数字的位数(while)
int number,right_dight;
NSLog(@"Enter your number.");
scanf("%i",&number);
while (number != 0) {
right_dight = number % 10;
NSLog(@"%i",right_dight);
number /= 10;
}
颠倒显示数字的位数(do)
int number,right_dight;
NSLog(@"Enter your number.");
scanf("%i",&number);
do{
right_dight = number % 10;
NSLog(@"%i",right_dight);
number /= 10;
}
while (number != 0);
计算一个整数的绝对值(if 语句)
int number;
NSLog(@"Type in your number:");
scanf("%i",&number);
if(number < 0){
number = - number;
}
NSLog(@"The absolute value is %i",number);
确定数字是偶数还是奇数的程序
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.");
//确定一年是否为闰年的程序
int year,rem_4,rem_100,rem_400;
NSLog(@"Enter the year to be tested: ");
scanf("%i",&year);
rem_4 = year % 4;
rem_100 = year % 100;
rem_400 = year % 400;
if ((rem_4 == 0 && rem_100 != 0) || rem_400 == 0)
NSLog(@"Tt's a leap year.");
else
NSLog(@"Nope,it's not a leap year.");
//对单个字符进行分类,从键盘输入
char c;
NSLog(@"Enter the character do you want!");
scanf("%c",&c);
if ((c >='a' && c <= 'z') || (c >= 'A' && c <= 'Z'))
NSLog(@"It's an alphabetic character.");
else if(c >= '0' && c <= '9')
NSLog(@"It's a digit.");
else
NSLog(@"It's a special character.");
评估简单表达式的值(if,else语句)
double value1, value2;
char operator;
Calculator *deskCalc = [[Calculator alloc] init];
NSLog(@"Enter your expression.");
scanf("%lf %c %lf", &value1, &operator, &value2);
[deskCalc setAccumulator:value1];
if (operator == '+')
[deskCalc add:value2];
else if(operator =='-')
[deskCalc subtract:value2];
else if(operator == '*')
[deskCalc multiply:value2];
else if(operator == '/')
if(value2 == 0)
NSLog(@"Division by Zero");
else
[deskCalc divide:value2];
else
NSLog(@"Unkown operator.");
NSLog(@"%.2f",[deskCalc accumulator]);
//评估简单表达式的值(switch语句)
double value1,value2;
char operator;
NSLog(@"Enter your expression.");
scanf("%lf %c %lf",&value1,&operator,&value2);
Calculator *deskCalc = [[Calculator alloc] init];
[deskCalc setAccumulator:value1];
switch (operator) {
case '+':
[deskCalc add:value2];
break;
case '-':
[deskCalc subtract:value2];
break;
case '*':
[deskCalc multiply:value2];
break;
case '/':
[deskCalc divide:value2];
break;
default:
NSLog(@"Unknown operator.");
break;
}
NSLog(@"%.2f",[deskCalc accumulator]);
//生成素数表的程序
int p, d, isPrime;
for (p = 2; p <=50; ++p) {
isPrime = 1;
for (d = 2 ; d < p; ++d) {
if (p % d == 0)
{
isPrime = 0;
break;
}
}
if(isPrime != 0)
NSLog(@"%i ", p);
}
//生成素数表的程序(使用BOOL类型和预定义的值)
int p, d;
BOOL isPrime;
for (p = 2; p <= 50; ++p) {
isPrime = YES;
for (d =2; d < p; ++d) {
if (p % d == 0) {
isPrime = NO;
break;
}
}
if (isPrime == YES)
NSLog(@"%i",p);
}
}
int a = 100;
int b = 2;
int c = 25;
int d = 4;
float e = 25.0;
float f = 2.0;
int result;
//优先级较高的运算符首先求值
result = a - b;//减法
NSLog(@"a - b = %i",result);
result = b + c;//加法
NSLog(@"b + c = %i",result);
result = c / d;//除法
NSLog(@"b / d = %i",result);
result = a - d/b*c;//优先级
NSLog(@"a - d / b*c= %i",result);
//整数运算和一元负号运算符
NSLog(@"6+a/5*b=%i",6+a/5*b);//除法的优先级高于加法,乘法的优先级高于加法
NSLog(@"a/b*b=%i",a/b*b);//从左往右计算,整形中“/”取整所以是12*2
NSLog(@"c/d*d=%f",e/f*f);//从左往右计算,浮点型中保留小数点所以是12.5*2
NSLog(@"-a=%i",-a);//一元运算符有更高的优先级
NSLog(@"-c=%f",-e);//一元运算符有更高的优先级
//模运算符,值取余
NSLog(@"a %% b =%i",a % b);
NSLog(@"a %% c =%i",a % c);
NSLog(@"a %% d =%i",a % d);
NSLog(@"a / d * d + a %% d = %i",a / d * d + a % d);
整型值与浮点值得相互转换
float f1 = 123.125, f2;
int i1,i2 = -150;
i1 = f1;//浮点数到整数的转换
NSLog(@"%f~%i",f1,i1);
f1 = i2;//整数到浮点数得转换
NSLog(@"%i~%f",i2,f1);
f1 = i2 / 100;//整数除以整数
NSLog(@"%i~%f",i2,f1);
f2 = i2 / 100.0;//整数除以浮点数
NSLog(@"%i~%f",i2,f2);
f2 =(float)i2 / 100;//类型强制转换运算符
NSLog(@"(float)%i~%f",i2,f2);
int triangualrNumber;
triangualrNumber = 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8;
NSLog(@"The eighth triangular number is %i",triangualrNumber);
int n,triangularNumber;//计算第二百个三角数的程序
triangularNumber = 0;
for(n = 1;n <= 200;n ++){
triangularNumber +=n;
}
NSLog(@"The 200th triangular number is %i",triangularNumber);
生成三角数表的程序
int n,triangularNumber;
NSLog(@"TABLE OF TRAIGULAR NUMBERS");
NSLog(@"n Sum from 1 to n");
NSLog(@"------------------");
triangularNumber = 0;
for (n = 1;n <= 10; n ++) {
triangularNumber += n;
NSLog(@"%i %i",n,triangularNumber);
}
//键盘输入
int n,number,triangularNumber;
NSLog(@"what triangular number do you want ?");
scanf("%i",&number);
for (n = 1; n <= number; ++ n) {
triangularNumber += n;
NSLog(@"Triangular number %i is %i\n",number,triangularNumber);
}
嵌套的for循环
int n,number,triangularNUmber;
for (int counter = 1; counter <= 3; ++ counter) {
NSLog(@"what number do you want ?");
scanf("%i",&number);
triangularNUmber = 0;
for (n = 1; n <= number; n ++) {
triangularNUmber += n;
}
NSLog(@"Triangular numner %i is %i",number,triangularNUmber);
}
while 语句
int count = 1;
while (count <= 5) {
NSLog(@"%i",count);
++ count;
}
找到两个非负数的最大公约数
unsigned int u,v,temp;
NSLog(@"Please type in two nonnegative integers");
scanf("%u%u",&u,&v);
while (v != 0) {
temp = u % v;//temp = 50%20=10 u=20 v=10 /temp =0 u=10 v = 0
u = v;
v = temp;
}
NSLog(@"Their greatest common divisor is %u",u);
颠倒显示数字的位数(while)
int number,right_dight;
NSLog(@"Enter your number.");
scanf("%i",&number);
while (number != 0) {
right_dight = number % 10;
NSLog(@"%i",right_dight);
number /= 10;
}
颠倒显示数字的位数(do)
int number,right_dight;
NSLog(@"Enter your number.");
scanf("%i",&number);
do{
right_dight = number % 10;
NSLog(@"%i",right_dight);
number /= 10;
}
while (number != 0);
计算一个整数的绝对值(if 语句)
int number;
NSLog(@"Type in your number:");
scanf("%i",&number);
if(number < 0){
number = - number;
}
NSLog(@"The absolute value is %i",number);
确定数字是偶数还是奇数的程序
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.");
//确定一年是否为闰年的程序
int year,rem_4,rem_100,rem_400;
NSLog(@"Enter the year to be tested: ");
scanf("%i",&year);
rem_4 = year % 4;
rem_100 = year % 100;
rem_400 = year % 400;
if ((rem_4 == 0 && rem_100 != 0) || rem_400 == 0)
NSLog(@"Tt's a leap year.");
else
NSLog(@"Nope,it's not a leap year.");
//对单个字符进行分类,从键盘输入
char c;
NSLog(@"Enter the character do you want!");
scanf("%c",&c);
if ((c >='a' && c <= 'z') || (c >= 'A' && c <= 'Z'))
NSLog(@"It's an alphabetic character.");
else if(c >= '0' && c <= '9')
NSLog(@"It's a digit.");
else
NSLog(@"It's a special character.");
评估简单表达式的值(if,else语句)
double value1, value2;
char operator;
Calculator *deskCalc = [[Calculator alloc] init];
NSLog(@"Enter your expression.");
scanf("%lf %c %lf", &value1, &operator, &value2);
[deskCalc setAccumulator:value1];
if (operator == '+')
[deskCalc add:value2];
else if(operator =='-')
[deskCalc subtract:value2];
else if(operator == '*')
[deskCalc multiply:value2];
else if(operator == '/')
if(value2 == 0)
NSLog(@"Division by Zero");
else
[deskCalc divide:value2];
else
NSLog(@"Unkown operator.");
NSLog(@"%.2f",[deskCalc accumulator]);
//评估简单表达式的值(switch语句)
double value1,value2;
char operator;
NSLog(@"Enter your expression.");
scanf("%lf %c %lf",&value1,&operator,&value2);
Calculator *deskCalc = [[Calculator alloc] init];
[deskCalc setAccumulator:value1];
switch (operator) {
case '+':
[deskCalc add:value2];
break;
case '-':
[deskCalc subtract:value2];
break;
case '*':
[deskCalc multiply:value2];
break;
case '/':
[deskCalc divide:value2];
break;
default:
NSLog(@"Unknown operator.");
break;
}
NSLog(@"%.2f",[deskCalc accumulator]);
//生成素数表的程序
int p, d, isPrime;
for (p = 2; p <=50; ++p) {
isPrime = 1;
for (d = 2 ; d < p; ++d) {
if (p % d == 0)
{
isPrime = 0;
break;
}
}
if(isPrime != 0)
NSLog(@"%i ", p);
}
//生成素数表的程序(使用BOOL类型和预定义的值)
int p, d;
BOOL isPrime;
for (p = 2; p <= 50; ++p) {
isPrime = YES;
for (d =2; d < p; ++d) {
if (p % d == 0) {
isPrime = NO;
break;
}
}
if (isPrime == YES)
NSLog(@"%i",p);
}
}