选择结构

if语句

格式:

if ( expression)
    program statement

如果expression为真,就执行program statement;如果expression为假,就忽略program statement。


if-else结构

格式:

if (expression)
    program statement1
else
    program statement2

如果expression为真,将执行program statement1,否则将执行program statement2.在任何情况下,都将会执行program statement1或者program statement2中的任意一个,而不是两个执执行。


符合条件测试

符合条件测试就是用逻辑与或者逻辑或运算符连接起来的一个或多个简单条件测试,这两个运算符分别使用字符对&&和||来表示。

在符合条件表达式中,使用圆括号可以增强表达式的可读性,避免由于错误假设表达式中的运算符优先级而陷入麻烦(与任何算术运算符或关系运算符相比,&&运算符有更低的优先级,但它的优先级比||运算符要高);在表达式中还应该使用空格,以加强可读性。

判断一年是否为闰年的代码:

if ( (year % 4 ==0 && year % 100 !=0)|| year % 400 ==0)


嵌套的if语句

例如:

if ([chessGame isOver]==NO)
     if ([chessGame isOver]==YOU)
        [chessGame yourMove];
     else
         [chessGame myMove];
else
        [chessGame finish];

从上述例子中删除第一个else子句:

<span style="font-size:14px;">if ([chessGame isOver]==NO)
     if ([chessGame isOver]==YOU)
            [chessGame yourMove];
else
      [chessGame finish];</span>

系统并不会以这种格式解释这条语句,而是使用以下形式解释这条语句:

if ([chessGame isOver]==NO)
      if ([chessGame isOver]==YOU)
             [chessGame yourMove];
      else
              [chessGame finish];

这是因为,else子句通常与最近的不包含else子句的if语句对应。可以用花括号强制表示不同关联,花括号具有隔离if语句的作用。

因此可以改为:

if ([chessGame isOver]==NO){
      if ([chessGame isOver]==YOU)
             [chessGame yourMove];
     }
else
     [chessGame finish];


else if语句

格式:

if (expression1)
      program statement1
else if(expression2)
     program statement2
else
     program statement3

这种形式有效的扩展了if语句,使其从双值逻辑判定转换成3个值的逻辑判定。可以用刚才展示的方式继续向else语句添加if语句,以便有效的将这种选择扩展成n个值的逻辑判定。

例子:

scanf(“  %c”,&c);

在scanf的格式化字符%c前插入一个空格(如“   %c”),这会引起scanf“跳过”输入的空白字符(例如:换行,回车,制表符,换行符),省略空格会导致scanf读取的并不是你期望读取的字符。读入单个字符时都需要牢记这个用法。


switch语句
格式:

switch (expression)
{
     case value1:
             program statement
             program statement
             ....
             break;
    case value2:
            program statement
            program statement
            ...
            break;
    case value3:
           program statement
           program statement
           ....
           break;
    default:
           program statement
           program statement
           ...
    break;
}

括在圆括号中的expression与value1,value2.......valuen连续进行比较,后者必须是常量或常量表达式。

注意:每种情况的结尾都要包含break语句,如果忘记为特定的情况执行这项操作,只要执行这种情况,程序就会继续执行下一种情况。有时需要刻意这么做,如果选择这种方式,请插入注释,告知他人。

编写switch语句时,应该记住任何两种情况的值都不能相同。但是,可以将多个情况的与一组程序语句关联起来。简单地在要执行地普通语句之前列出多个情况的值(每个情况中值的前面都要使用case关键字,而且后面要有一个冒号)就能实现该任务。

例子:

switch (operator)
{
         ...
        case '*':
        case 'x':
                [deskCalc multiply:value2];
        break;
}



Boolean变量

通常,一个标记只接受两个不同值中的一个。

逻辑非(!)运算符,这种运算符的优先级和一元运算符相同,所有二元算术运算符和关系运算符的优先级都它高。

OC中有两个内置特性,可以使Bollean变量的使用更容易。一种是特殊类型BOOL,它可以声明值非真非假的变量。另一种是预定义的YES和NO。


条件运算符

格式:

condition ?expression 1:expression2

如果condition为true,将执行expression 1;如果condition为false,将执行expression2;

条件运算符的优先级非常低,它低于其他所有运算符的优先级,但赋值运算符和逗号运算符除外。条件运算符从右到左结合,这意味着单个表达式中可以使用多个运算符。例如:

e1 ?  e2 : e3 ? e4 : e5 中条件运算符从左到右结合,因此,用以下形式求值:

e1 ?  e2 :( e3 ? e4 : e5)

条件表达式并非在赋值运算符的右边,它可以在能使用表达式的任何位置。

1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看REaDME.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 、资源1项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值