结构化编程思想、运算符

1、结构化编程思想

顺序结构
分支结构:有条件地执行语句
循环结构:反复执行某段代码

2、分支结构

单if语句:一件事做与不做的选择
源码示例:
        int y = 0;
        if (y) {
            NSLog(@"%d",y);
        }
        NSLog(@"+-----------------+");

        double money = 3.0;
        double price = 2.9;
        if(money - price - 0.1)
        {
            NSLog(@"还有钱!");
        }
        if(fabs(money - price - 0.1) < 0.01)
        {
            NSLog(@"没钱了!");
        }

        int age;
        NSLog(@"请输入一个年龄:");
        scanf("%d",&age);
        if (age >= 18)
        {
            NSLog(@"成年人");
        }
        else
            NSLog(@"未成年人");
if~else语句:两件事做哪一件的选择
else~if语句:多件是做哪一件的选择
源码示例:
    //从键盘输出百分制成绩输出对应的等级成绩,100-90优 89-60一般 59-0不及格
        int score;
        NSLog(@"输入一个成绩");
        scanf("%d",&score);
        if (score<=100&&score>=90) {
            NSLog(@"优秀");
        }
        else if (score<90&&score>=60){
            NSLog(@"一般");
        }
        else if (score<60&&score>=0){
            NSLog(@"不及格");
        }
        else
            NSLog(@"成绩输入格式错误");

3、语句的三种形式

普通语句:之前编的每一句都是普通语句,普通语句构成程序的主题
复合语句:将两条或两条以上的语句用大括号括起来构成的语句
空语句:一般在比较大型的程序中使用

4、逻辑运算符

&&:与,全真为真,有假即假
||:或,全假为假,有真即真
!:非,颠倒真假
短路运算:是编译器对源程序的一种优化,即将不必要的代码删除的操作
    int a=3,b=4,c=5,result;result = (a>b) && (b<(++c))//a>b会将&&后面的代码短路,后面的代码不会运行,c不会自增

5、三目运算符

int x=10,y=20,z=30,result;result = x<y?x:(++y<z)?y:z;//x<y会将第一个冒号后面的代码短路,虽然三目运算符是从右往左结合但是编译器扫描是从左往右

6、赋值运算符

左值:赋值号左边的值,常量不允许做左值,表达式也不允许做左值,只能是变量
赋值号=与逻辑等==的区别
复合赋值运算符,一定要注意其优先级极低,只比逗号优先级高

每日一练
1、从键盘输入一个年月日,输出其昨天的年月日。
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
解析:

#import <Foundation/Foundation.h>

int main()
{
    @autoreleasepool {
        int year;
        NSLog(@"请输入一个年份值:");
        scanf("%d", &year);
        int month;
        NSLog(@"请输入一个月份值:");
        scanf("%d", &month);
        ;//判断输入的合法性
        int day;
        NSLog(@"请输入一个日值:");
        scanf("%d", &day);
        ;//判断合法性

        day--;
        if (day < 1)
        {
            day = 31;
            if (month == 5 || month == 7 || month == 10 || month == 12)
            {
                day = 30;
            }
            else if (month == 3)
            {
                day = 28 + (year % 400 == 0 || (year % 4 == 0 && year % 100 != 0));
            }
            if (month == 1)
            {
                year--;
                month = 12;
            }
            else
            {
                month--;
            }
        }
        NSLog(@"%d年%d月%d日",year, month, day);
    }
    return 0;
}
发布了52 篇原创文章 · 获赞 5 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/shuan9999/article/details/52325141
今日推荐