您的位置:首页 > 移动开发 > IOS开发

iOS开发学习第二课——BOOL类型/if语句/switch语句

2015-05-23 14:32 483 查看
在昨天学习过C语言最为基础的部分之后,今天在明哥的带领下,我又依次学习了BOOL类型、关系运算符、逻辑运算符、if语句及switch语句。尽管这些东西同样属于C语言之中的基础,不过相比较昨天的内容,却要更加深入一些,学习起来也困难了许多。

在今天所讲的内容之中,if语句和switch语句相对更为重要一些,尤其是if语句。它们两个是实际开发之中非常常用的语句。

//BOOL布尔类型,是一种表示非真即假的数据类型,布尔类型的变量只有 YES 和 NO 两个类型,YES 即为真,NO 即为假。YES---1
NO---0

//在C语言中,认为非0即为真

//定义一个BOOL值类型

BOOL a
= YES;

printf("a
= %d\n",a);

BOOL b
= NO;

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

//关系运算符 >大于 >=大于等于 <</span>小于 <=小于等于 ==等于 !=非等

//值用BOOL值类型来存储

BOOL isTure
= YES;

int c
= 5,d = 6;

isTure
= c > d;

printf("1
isTure = %d\n",isTure);

isTure
= c >= d;

printf("2
isTure = %d\n",isTure);

isTure
= c < d;

printf("3
isTure = %d\n",isTure);

isTure
= c == d;

printf("4
isTure = %d\n",isTure);

isTure
= c != d;

printf("5
isTure = %d\n",isTure);

//逻辑运算符 &&逻辑与 ||逻辑或 !逻辑非

//&& 逻辑与---只有两边运算符的表达式同时为真才为真,一真一假则为假,同时为假也为假

BOOL result
= YES;

int x
= 10,y = 20,z = 30;

result
= x > y && x < z;

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

result
= x < y && x < z;

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

//逻辑与的短路现象,一旦运算符左边的表达式结果为假的时候,那么整个逻辑表达式的结果就为假,后面的表达式的结果不影响整个逻辑表达式的结果,而且不执行即不再判断右边表达式的结果

result
= x > y && ( z = 6);

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

//|| 逻辑或---只有两边运算符的表达式同时为假才为假,一真一假则为真,同时为真也为真

result
= x < y || y > z;

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

result
= x > y || y > z;

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

//逻辑或的短路现象原理同上

result
= x < y || ( z = 6);

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

//! 逻辑非---对结果取反 1---!
= 0 0---!
= 1

//逻辑或的短路现象原理同上

result
= ! ( x < y ) || ( z = 6);

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

//if语句的第一种表达形式:if(条件){ 语句 };如果此时条件成立,则执行语句,否则直接跳出语句

char sex
= '0';

printf("请告诉我小龙的性别:");

scanf("%c",&sex);

if (sex
== 'm') {

printf("小龙是个非女性!\n");

}

//if语句的第二种表达形式:if
( 条件 ){ 语句1
} else { 语句2
} ;如果此时条件成立,则执行语句1,如果条件不成立,则执行语句2.且两个语句不可以同时执行

int a1
= 0,b1 = 0;

int max
= 0;//max 用来存储最大值

int min
= 0;//min 用来存储最小值

printf("亲,请分别输入a1,b1的值:");

scanf("%d%d",&a1,&b1);

if (
a1 > b1 ) {

//如果a1
> b1,则把a1的值赋给max

//如果a1
< b1,则把b1的值赋给min

max
= a1;

min
= b1;

} else {

//否则,则把b1赋给max

//否则,则把a1赋给min

max
= b1;

min
= a1;

}

printf("max
= %d,min = %d",max,min);

//判断年份是否为闰年,条件是年份能被400整除或者能被4整除,但不能被100整除

int year
= 0;

printf("亲,请输入年份:");

scanf("%d",&year);

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

printf("%d是闰年\n",year);

}else{

printf("%d是平年\n",year);

}

//if语句的第三种表现形式:

//输入一个字符,如果是数字则输出数字;如果是大写字母则输出大写字母;如果是小写字母则输出小写字母;否则是其他

//数字 '0'---'9' == 48---57

//大写字母 'A'---'Z' == 65---90

//小写字母 'a'---'z' == 97---122

char m
= 0;

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

scanf("%c",&m);

if (m
>='0' && m <= '9') {

printf("输入的是数字\n");

}else if (
m >='A' && m <= 'Z'){

printf("输入的是大写字母\n");

}else if (m
>= 'a' && m <= 'z'){

printf("输入的是小写字母\n");

}else{

printf("输入的是其他字符\n");

}

//条件表达式的形式:条件表达式 ? 表达式1
: 表达式2

//在条件表达式当中,如果条件表达式为真,则值为表达式1的值;如果条件表达式为假,则值为表达式2的值

int j
= 2,k = 3,f = 0;

f
= j < k ? j : k;

printf("f
= %d\n",f);

int j
= 2,k = 3,f = 0;

f
= j < k ? j > k : j < k;

printf("f
= %d\n",f);

//求三个整型数中的最大值

//第一种方法

int x
= 0,y = 0,z = 0,max = 0;

printf("亲,请分别输入x,y,z的值:");

scanf("%d%d%d",&x,&y,&z);

if (x
> y) {

max
= x;

}else{

max
= y;

}

//接着比较max和z的大小

if (max
> z) {

max
= max;

}else{

max
= z;

}

printf("最大值为:%d\n",max);

//第二种方法

int x
= 0,y = 0,z = 0,max = 0;

printf("亲,请分别输入x,y,z的值:");

scanf("%d%d%d",&x,&y,&z);

max
= x > y ? x : y;

max
= max > z ? max : z;

printf("最大值为:%d\n",max);

//switch
case 开关 switch 与 case 的结合使用

//输出春夏秋冬 1---春天 2---夏天 3---秋天 4---冬天

int season
= 0;

printf("请输入一个季节数字:");

scanf("%d",&season);

switch (season)
{

case 1://case 后面的值必须是常量或常量表达式

printf("春天");

break;

case 2:

printf("夏天");

break;

case 3://如果在 case 语句里面进行定义变量的话,那么必须要使用一对 {}
,表明这是 case 语句里面的内容

printf("秋天");

break;

case 4:

printf("冬天");

break;

default://只有当其余的 case 的值都不满足条件的时候才会执行 default 里的语句,与 default 所放的位置无关

printf("输入有误\n");

break;//作用,结束 switch
case 分支,跳出 switch
case 分支

}

//定义座机号 phoneNumber
教学部---801
行政部---802
咨询部---803

int phoneNumber
= 0;

printf("请输入座机号码:");

scanf("%d",&phoneNumber);

switch (phoneNumber)
{

case 801:

printf("教学部");

break;

case 802:

printf("行政部");

break;

case 803:

printf("咨询部");

break;

default:

printf("输入有误");

break;

}

return 0;
}

作业:

#import

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

//3.(***)输入生日,输出年龄(周岁)和星座。

//提示:白羊座 3.21-4.19

//金牛座 4.20-5.20

//双子座 5.21-6.21

//巨蟹座 6.22-7.22

//狮子座 7.23-8.22

//处女座 8.23-9.22

//天平座 9.23-10.23

//天蝎座 10.24-11.22

//射手座 11.23-12.21

//摩羯座 12.22-1.19

//水瓶座 1.20-2.18

//双鱼座 2.19-3.20

int year
= 0,month = 0,date = 0;

printf("请输入生日年月日:");

scanf("%d%d%d",&year,&month,&date);

switch (month)
{

case 1:

if (
date >= 20 ) {

printf("%d周岁\n星座:水瓶座\n",2015
- year);

}else{

printf("%d周岁\n星座:摩羯座\n",2015
- year);

}

break;

case 2:

if (
date >= 19 ) {

printf("%d周岁\n星座:双鱼座\n",2015
- year);

}else{

printf("%d周岁\n星座:水瓶座\n",2015
- year);

}

break;

case 3:

if (
date >= 21 ) {

printf("%d周岁\n星座:白羊座\n",2015
- year);

}else{

printf("%d周岁\n星座:双鱼座\n",2015
- year);

}

break;

case 4:

if (
date >= 20 ) {

printf("%d周岁\n星座:金牛座\n",2015
- year);

}else{

printf("%d周岁\n星座:白羊座\n",2015
- year);

}

break;

case 5:

if (
date >= 21 ) {

printf("%d周岁\n星座:双子座\n",2015
- year);

}else{

printf("%d周岁\n星座:金牛座\n",2015
- year);

}

break;

case 6:

if (
date >= 22 ) {

printf("%d周岁\n星座:巨蟹座\n",2015
- year);

}else{

printf("%d周岁\n星座:双子座\n",2015
- year);

}

break;

case 7:

if (
date >= 23 ) {

printf("%d周岁\n星座:狮子座\n",2015
- year);

}else{

printf("%d周岁\n星座:巨蟹座\n",2015
- year);

}

break;

case 8:

if (
date >= 23 ) {

printf("%d周岁\n星座:处女座\n",2015
- year);

}else{

printf("%d周岁\n星座:狮子座\n",2015
- year);

}

break;

case 9:

if (
date >= 23 ) {

printf("%d周岁\n星座:天平座\n",2015
- year);

}else{

printf("%d周岁\n星座:处女座\n",2015
- year);

}

break;

case 10:

if (
date >= 24 ) {

printf("%d周岁\n星座:天蝎座\n",2015
- year);

}else{

printf("%d周岁\n星座:天平座\n",2015
- year);

}

break;

case 11:

if (
date >= 23 ) {

printf("%d周岁\n星座:射手座\n",2015
- year);

}else{

printf("%d周岁\n星座:天蝎座\n",2015
- year);

}

break;

case 12:

if (
date >= 22 ) {

printf("%d周岁\n星座:摩羯座\n",2015
- year);

}else{

printf("%d周岁\n星座:射手座\n",2015
- year);

}

break;

default:

printf("输入有误");

break;

}

//6.(**)有一个函数:x<1的时候,y
= x;1<=x<10的时候,y=2x-1;x>=10的时候,y=3x-11。写一段程序,输入x,输出y值

float x
= 0;

printf("请输入x的值:");

scanf("%f",&x);

if (x
< 1) {

printf("y的值为%f",x);

}else if (x
>= 1 && x <= 10){

printf("y的值为%f",x
* 2 - 1);

}else if (x
>= 10){

printf("y的值为%f",x
* 3 - 11);

}

//7.(**)编制一个完成两个数四则运算程序。如:用户输入34+56则输出结果为90.00,要求运算结果保留2位有效小数,用户输入时将2个运算数以及运算符都输入,根据运算符求结果

float aa
= 0,bb = 0;

char cc
= 0;

printf("亲,请输入一个完整的运算式(后一个数不可为零):");

scanf("%f%c%f",&aa,&cc,&bb);

switch (cc)
{

case '+':

printf("运算的结果是:%.2f",aa
+ bb);

break;

case '-':

printf("运算的结果是:%.2f",aa
- bb);

break;

case '*':

printf("运算的结果是:%.2f",aa
* bb);

break;

case '/':

printf("运算的结果是:%.2f",aa
/ bb);

break;

default:

printf("您的输入有误");

break;

}

return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  c c语言 学习 编程 switch
相关文章推荐