您的位置:首页 > 其它

C02 分⽀结构的总结(含个人思维导图梳理)

2015-10-22 22:55 337 查看
//

// main.m

// CLesson02

//

// Created by 康
亮亮 on 15/10/8.

// Copyright (c) 2015年 Darling.com. All rights reserved.

// 关系运算符、逻辑运算符、if
、条件运算符、switch..case..

//import和C语言中的include含义一样,都是用来导入外部文件的。

#import <Foundation/Foundation.h>

// 枚举是构造类型

//enum Week {

// monday = 1, // 枚举值默认从0开始编号,后一个枚举值比前一个大一。我们可以修改枚举值所代表的数字。

// tuesday,

// wednesday,

// thursday,

// friday

//};

int main(int argc,
const char * argv[]) {

#pragma mark 1.布尔类型

/*

1、在C89中,没有布尔的概念,在C99中,使用ture表示“真”(非0的数);使用false表示“假”(0)。

2、C99中的布尔值是小布尔:bool。

3、在Xcode中创建的C工程,只支持C89版本,OC工程支持C99版本。

4、在OC中,使用YES表示真,使用NO表示假;YES定义为1,NO定义为0。

*/

//定义一个小布尔变量,值为真

// bool a = true;

// printf("a = %d\n", a); //打印布尔变量使用的占位符是%d

//定义一个OC中的布尔变量,值为假,并打印验证。

// BOOL b = NO;

// printf("b = %d", b);

#pragma mark 2.关系运算符

/*

1、用于比较两个数字之间的大小关系

2、关系表达式的结果只有两种情况:真、假。使用布尔类型的变量盛放

3、关系表达式:由常量、变量、关系运算符组合而成的表达式

*/

//大于 >、小于<、大于等于>=、小于等于<=、等于==、不等于!=

// BOOL result = 5 > 3;

// printf("result = %d\n", result);

//定义两个变量,分别存放C和OC的考试成绩,在定义一个变量来存放两个成绩的比较结果,并打印。

// int C_Score = 90, OC_Score = 99;

// BOOL result1 = C_Score > OC_Score;

// printf("result1 = %d\n",result1);

// printf("result1 = %d\n", C_Score != OC_Score);

//判断C成绩是否在80-100范围内,并打印判断结果

// BOOL result2 = ( C_Score >= 80 && C_Score <= 100 );

// printf("result2 = %d\n",result2);

#pragma mark 3.逻辑运算符

/*

1、逻辑运算符的结果和条件表达式的结果一样,真或假,用BOOL类型的变量接收

2、逻辑表达式:由常量、变量、逻辑运算符组合而成的表达式

*/

//
逻辑与:&&

//
逻辑与表达式的语法:表达式1 && 表达式2

//
逻辑与的运算规则:先执行表达式1、再执行表达式2、最后再用&&判断整个表达式返回什么样的结果。

// int a = 10, b = 20;

// BOOL result3 = a < b && b == 2; //只有在逻辑与两边的条件同时为真得情况下,才会返回真,否则,返回假。

// printf("result3 = %d\n", result3);

//

//

// BOOL result4 = a > b && b++;

// printf("result4 = %d\n", result4); //
逻辑与的短路现象:如果第一个表达式的值为假,则不再计算第二个表达式。直接返回假。(b++这个表达是不会得到执行)

// printf("b = %d\n", b);

//

//
逻辑或:||

// /* 1、逻辑或表达式的语法:表达式1 ||
表达式2

// 2、逻辑或的运算规则:

//
(1)、先执行表达式1,再执行表达式2,只有表达式1和表达式2同时为假,整个逻辑表达式返回假,只要有一个为真,则返回真。即:一真则真。

//
(2)、逻辑或的短路现象:如果有一个表达式的值为真,则不再计算第二个表达式。直接返回真。

// */

//

// int a = 10, b = 20;

// BOOL result = a > b || a < b;

// printf("result = %d\n", result);

//

// int c = 5;

// BOOL result1 = c++ || c++; //
注意:逻辑或的短路现象

// printf("result1 = %d\n", result1);

// printf("c = %d\n",c);

//

//
逻辑非:!

// /*

//
逻辑非是取反操作,如果表达式为真,则取反后,就返回“假”,原表达式为假,取反后,返回“真”。注意:逻辑非运算,并不会改变原表达式的值。

//
逻辑非的语法:!表达式;

//

// */

//

// int a = 12, b = 24;

// BOOL result = !(a < b);

// printf("result = %d\n", result);

//
运算符的优先级:! > 算术运算符 >
关系运算符 > 逻辑运算符(仅限&&和||)>
赋值运算符(=)

#pragma mark 4.if语句

/*

1、程序设计的三种结构:

顺序结构、分支结构、循环结构

2、分支结构:分支结构是一种选择结构,可以使用if语句来控制,也可以使用switch语句来控制。

3、if控制语句的作用:通过判断,选择执行某个分支语句(只能执行if中的一个分支,不能同时执行多个)

*/

// if语句的第一种形式:单分支结构

// if (条件表达式) {

//
语句;(分支一)
}

// if:如果

// 条件表达式:逻辑表达式、关系表达式、算术表达式。。。表达式的结果:真或假

// if语句的运行逻辑:如果条件表达式为真,执行{}里边的分支,如果为假,则跳过分支,程序继续向后执行。

// int a = 10, b = 20;

// if (a < b) {

// printf("条件表达式为真\n");

// }

// printf("我在if语句的后边");

//从控制台输入一个数,判断用户输入的整形数是否大于100,如果大于,则输出“数字大于100”,否则,什么都不做。

// //1.定义一个整形变量,用来保存用户输入的数字

// int num = 0;

// //2.输出一句话:提醒用户输入

// printf("亲,请从控制台输入一个整数:");

// //3.使用输入函数,让用户输入数字保存在变量num中

// scanf("%d" , &num);

// //4.判断用户输入的数字是否大于100

// if (num > 100) {

// printf("数字大于100\n");

// }

// // if控制语句的第二种形式:双分支结构

// // 如果。。。否则。。。 if。。。else。。。

// if (条件表达式) {

// 分支一;

// } else {

// 分支二;

// }

//

// 从控制台输入一个字符,如果是m,则输出“洛洛”,如果是f,则输出“贤成”

// // 1.定义一个字符型变量

// char charr;

// // 2.输出一句话,提示用户输入字符

// printf("亲,请任意输入一个字符:");

// // 3.使用输出函数,将用户输入的字符保存到变量中

// scanf("%c", &charr);

// // 4.使用if语句判断

// if (charr == 'm') {

// printf("洛洛\n");

// } else if(charr == 'f') {

// printf("贤成\n");

// } else{

// printf("亲,不要乱来呦\n");

// }

// 输入一个字符,判断是否是m,如果是m,则输出:杨煜黎,你在干嘛?,否则,输出:我在画画呀~

// char charr;

//

// printf("亲,请输入一个字符:");

// scanf("%c", &charr);

//

// if (charr == 'm') {

// printf("杨煜黎,你在干嘛?\n");

// }else{

// printf("杨煜黎,你在干嘛?\n我在画画呀~\n");

// }

// 输入一个字符,判断是否是m,如果是m,则布尔型变量为真,否则,布尔型变量为假,最后打印布尔变量的值

// char a;

// BOOL b;

//

// scanf("%c", &a);

//

//// if (charr == 'm') {

//// b = YES;

//// }else{

//// b = NO;

//// }

//

// b = (a == 'm') ? YES : NO;

// // 条件运算符

// // 语法形式
条件表达式 ?
表达式1 : 表达式2;

// // 运算规则
如果条件表达式成立,则返回表达式1的值,否则,返回表达式2的值

// printf("b = %d", b);

#pragma mark 5.switch语句

/*

多分支语句:

作用:提供多个分支(代码量远小于if级联形式),功能和if级联形式特别相似,但是从代码量和可读性两方面远远胜过if级联。

语法:

switch (<#expression#>) {

case <#constant#>:

<#statements#>

break;

default:

break;

}

(1)、switch后边跟的是整形或字符型表达式

(2)、case后
跟 整形,或字符型常量

(3)、case后边要添加{}

(4)、break。case和default关键字后边都需要跟一个break关键字,用来跳出当前分支

运行逻辑:

(1)如果小括号中的表达式和某个case常量相等,执行这个case后边的语句

(2)如果没有和表达式相等的case常量,执行default后边的语句。

*/

// char a;

// scanf("%c", &a);

// switch (a) {

// case 'm':{

// printf("洛洛\n");

// break; // braek跳出switch

// }

//

// case 'f':{

// printf("贤成\n");

// break;

// }

//

// default:{

// printf("亲,请自重!\n");

// break;

// }

// }

// /*

// 第一天:睡觉

// 第二天:吃饭

// 第三天:写代码

// 第四天:看片儿

// 第五天:实践

// */

// // 1.定义整形变量

// int a = 0;

// // 2.保存用户输入的整形数

// scanf("%d", &a);

// // 3.使用switch语句判断用户输入的数字,然后执行不同的分支

// switch (a) {

// case monday:{

// printf("睡觉\n");

// break;

// }

//

// case tuesday:{

// printf("吃饭\n");

// break;

// }

//

// case wednesday:{

// printf("写代码\n");

// break;

// }

//

// case thursday:{

// printf("看片儿\n");

// break;

// }

//

// case friday:{

// printf("实践\n");

// break;

// }

//

// default:{

// printf("实践太累,休息休息\n");

// break;

// }

// }

//

//

// return 0;

//}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: