iOS学习02C语言分支结构
1、 BOOL类型
unsigned long size = sizeof(BOOL(其他类型...));
printf("size = %lu\n",size);
unsigned long intSize = sizeof(int);
printf("intSize = %lu\n", intSize);
2、 关系运算符
用来进行两个数比较
关系运算符的结果有两种,真或假,用BOOL类型变量来接收
1> > <
int a = , b = , c = ;
BOOL r3 = a < b < c; // 先运算 a < b,再和c比较
printf("r3 = %d\n", r3);
2> >= <=
符合>或者=任何一个,结果为真
BOOL r4 = >= ;
printf("r4 = %d\n", r4);
3> ==, !=
= 用来赋值,== 用来判断两个数是否相等
BOOL r6 = == ;
printf("r6 = %d\n", r6); BOOL r7 = != ;
printf("r7 = %d\n", r7);
3、逻辑运算符
逻辑与:&& 逻辑或:|| 逻辑非 !
逻辑表达式的结果只有两种,真或假,用BOOL类型的变量来接收
逻辑与, 并且,同时
表达式: 表达式1 && 表达式2
运算规则:表达式1和表达式2同时为真,整个逻辑表达式的结果为真,否则为假(一假即假)
int a = ;
int b = ;
BOOL r1 = (a < b) && (b == );
printf("r1 = %d\n", r1);
短路现象:表达式1的结果为假,整个逻辑表达式的结果为假,表达式2将不再执行
BOOL r3 = (a > b) && (a++);
printf("r3 = %d\n", r3);
printf("a = %d\n", a);
逻辑或 或者,不强调同时
表达式: 表达式1 || 表达式2
运算规则:表达式1或者表达式2任何一个为真,整个逻辑表达式的结果为真,只有当表达式1和表达式2同时为假,整个逻辑表达式结果为假(一真即真,全假则假)
int a = ;
int b = ;
BOOL r1 = (a > b) || (b == );
printf("r1 = %d\n", r1); BOOL r2 = (b < a) || (a != );
printf("r2 = %d\n", r2);
短路现象:当表达式1的结果为真,整个逻辑表达式的结果为真,表达式2将不再执行
BOOL r3 = (a < b) || (a++);
printf("r3 = %d\n", r3);
printf("a = %d\n", a);
逻辑非 取反
BOOL r4 = NO;
BOOL r5 = !r4;
printf("r5 = %d\n", r5);
4、if语句
第一种形式
if (条件表达式) {
分支语句;
}
条件表达式为真,执行分支语句,如果为假,执行分支语句下面的内容
练习:定义一个变量age,从键盘输入值,如果age大于等于18,输出”你已经成年了“。
int age = ;
printf("请入年龄:");
scanf("%d", &age);
if (age >= ) {
printf("你已经成年了");
}
第二种形式
if (条件表达式) {
语句1;
} else {
语句2;
}
如果条件表达式为真,执行语句1,否则执行语句2
练习:输入一个年份,判断该年份是否是闰年?如果是闰年,则输出该年是闰年,否则输出该年不是闰年。
(能被400整除) || ((能被4整除) && (不能被100整除))
int year = ;
printf("请输入一个年份\n");
scanf("%d", &year); BOOL r1 = year % == ;
BOOL r2 = year % == ;
BOOL r3 = year % != ; if (r1 || (r2 && r3)) {
printf("是闰年\n");
} else {
printf("不是闰年\n");
}
第三种形式
if (条件表达式1) {
语句1;
} else if (条件表达式2) {
语句2;
} else {
语句4;
}
练习: 从键盘输入一个字符,如果是数字打印 this is digital,如果是大写字母,打印 this is capital letter,如果是小写字母,打印 this is letter,如果是其他字符,打印 other。
char ch = ;
printf("请输入一个字符\n");
scanf("%c", &ch); if (ch >= '' && ch <= '') {
printf("this is digital\n");
} else if (ch >= 'A' && ch <= 'Z') {
printf("this is capital letter\n");
} else if (ch >= 'a' && ch <= 'z') {
printf("this is letter\n");
} else {
printf("other\n");
}
条件运算符 ? :
条件表达式? 表达式1 : 表达式2;
如果条件表达式为真,执行表达式1,否则执行表达式2
5、switch...case分支
switch (整型或者字符型的表达式) {
case 值1(整型或者字符型的常量): {
语句1;
break;
}
case 值2: {
语句2;
break;
}
......
default: {
语句3;
break;
}
先执行switch后的表达式,根据表达式的值查找想要的case分支,并执行分支语句
default:默认分支,如果没有找到对应的分支,执行default分支
break:结束当前的case分支
练习:从控制台输入1~4,对应打出春夏秋冬的英文词。
int value = ;
printf("请输入1~4的整数\n");
scanf("%d", &value); switch (value) {
case :
printf("Spring\n");
break;
case :
printf("Summer\n");
break;
case :
printf("Autumn\n");
break;
case :
printf("Winter\n");
break;
default:
break;
}
iOS学习02C语言分支结构的更多相关文章
- iOS学习03C语言循环结构
1.while循环 while (循环条件) { 循环体: } // 1.定义循环变量 ; // 2.循环条件 ) { // 3.循环体 printf("%d\n", ...
- 【C语言学习】-02 分支结构
本文目录: 一.BOOL布尔类型 二.关系运算符 三.逻辑运算符 四.if语句 五.枚举类型 六.switch语句 一.BOOL布尔类型 BOOL数据类型,是一种表示非真即假的数据类型,布尔类型的变量 ...
- C语言基础总结 分类: iOS学习 c语言基础 2015-06-11 10:08 23人阅读 评论(0) 收藏
//欲练此功必先自宫!!! //第一天:C语言的基础 //进制 //2进制, 10进制, 8进制, 16进制 //注:8进制数前加0, 16进制数前加0x ...
- C语言分支结构之if else语句
前面我们看到的代码都是顺序执行的,也就是先执行第一条语句,然后是第二条.第三条……一直到最后一条语句,这称为顺序结构. 但是对于很多情况,顺序结构的代码是远远不够的,比如一个程序限制了只能成年人使用, ...
- iOS学习之C语言分支结构
一.BOOL类型 返回值:真:YES 假:NO 定义一个布尔类型的变量 YES == 1, NO == 0 计算机在识别时,YES就替换成1,NO就替换成0 BOOL isGirl = YES; ...
- iOS学习06C语言结构体
1.结构体的概述 在C语言中,结构体(struct)指的是一种数据结构,是C语言中构造类型的其中之一. 在实际应用中,我们通常需要由不同类型的数据来构成一个整体,比如学生这个整体可以由姓名.年龄.身高 ...
- C语言基础:结构体 分类: iOS学习 c语言基础 2015-06-10 21:47 28人阅读 评论(0) 收藏
结构体:是一种用户自定义的数据类型 结构体定义 struct 结构体名 { 成员类型1 成员变量名1; 成员类型2 成员变量名2; -. }; typedef 原类型 ...
- C语言基础:分支语句和常见运算符 分类: iOS学习 c语言基础 2015-06-10 21:44 13人阅读 评论(0) 收藏
if(判断条件){ 执行语句; }else if(判断条件){ 执行语句; } switch (整型表达式){ case 值1: 执行语句; break; case 值2: 执行语句; break; ...
- iOS学习05C语言函数
本次主要是学习和理解函数,函数树状图如下: 1.函数的声明和定义 函数定义的四要素分别为: 返回值类型 :函数的结果值类型,函数不能返回数组. 指定返回类型是void类型说明函数没有返回值. 函数名 ...
随机推荐
- 比较 http连接 vs socket连接
http连接 :短连接,客户端,服务器三次握手建立连接,服务器响应返回信息,连接关闭,一次性的socket连接:长连接,客户端,服务器三次握手建立连接不中断(通过ip地址端口号定位进程)及时通讯,客户 ...
- Thinkphp3.2中的模板继承
1:模板继承: 是3.1.2版本添加的一项更加灵活的模板布局方式,模板继承不同于模板布局,甚至来说,应该在模板布局的上层.模板继承其实并不难理解,就好比 类的继承一样,模板也可以定义一个基础模板( ...
- 加载gif动画的三种方式
GifView.h/** * 调用结束就开始播放动画,如果需要用户指定何时播放的话,只需要把timer的开始放到合适的位置.通过对CFDictonaryRaf 也就是gifProperties的改变, ...
- 18.中介者模式(Mediator Pattern)
using System; namespace Test { class Program { /// <summary> /// 中介者模式,定义了一个中介对象来封装一系列对象之间的交互关 ...
- NuGet安装和使用
1. NuGet是什么? NuGet is a Visual Studio 2010 extension that makes it easy to add, remove, and update l ...
- oracle限制ip訪問
我這oracle版本為11.2.0.4,裝的GRID,所以在grid用戶下編輯sqlnet.ora 1.cd /grid/product/11.2.0/network/admin 2.編輯sqlne ...
- Oracle 11g新特性 -- 延迟段
11gR2之前的版本中,当创建一张表时,会自动分配段空间,这样做有几个弊端: 1. 初始创建表时就需要分配空间,自然会占用一些时间,如果初始化多张表,这种影响就被放大. 2. 如果很多表开始的一段时间 ...
- android 入门-库的生成jar 和引用jar
开发环境 1.eclipse 2.android studio 步骤 1.在eclipse 生成 jar包 2.在android studio 引用 jar包 实现步骤 1.在eclipse 创建一个 ...
- W-数据库基础
数据库系统由三部分组成:数据库(DB).数据库管理系统(DBMS)和数据库应用系统 数据加是用来存储数据的,里面存储两大类数据:用户数据及系统数据/数据字典,具体为系统中的用户以及用户孤权限,各种统计 ...
- SSH Key连接github提示Permission denied (publickey).错误
root@debian64:/home/xiaoliuzi/.ssh/key_backup# ssh -T git@github.com The authenticity of host 'githu ...