您的位置:首页 > 编程语言 > C语言/C++

C语言第二节-关系运算符,switch,if

2015-09-22 16:01 375 查看
1.BOOL布尔类型

是一种非真即假的数据类型,布尔类型的变量只有YES和NO两个值
在C语言中,非0即为真

//标准:C89没有布尔类型,C99有

//C工程支持C89,OC工程支持C99



//BOOL包含两个值:真(YES)、假(NO)



BOOL
r1 = YES;

BOOL
r2 = NO;



//布尔类型使用%d输出,YSE:1
NO:0

//#define YES 1 #define NO 0

//计算机已经定义

printf("r1 = %d, r2 = %d\n",
r1, r2);



//bool包含两个值:真(true)、假(false)

2.关系运算符

#pragma mark-----关系运算符>
>= < <= == !=


/*
1、用于两个数的比较

2、关系运算符的结果只有两种:真、假。使用BOOL类型变量接收。

3、由常量、变量、关系运算符组成的表达式,称为关系表达式

*/



//大于、小于



BOOL
r3 = 5
> 3;

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



BOOL
r4 = 5
> 4
> 3;
//5>4结果为真,1<3结果为假

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



//>= <=



BOOL
r5 = 5
>= 5;

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



//==等于
!=不等于

//=
赋值运算符

//浮点数不能使用
==
比较是否相等,小数在存储时存在精度问题。整型和字符型可以使用。



BOOL
r6 = 7
== 8;

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



BOOL
r7 = 7
!= 8;

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



//计算机在存储字符时,本质上存储的是对应的整型数

//字符和整型数的对应关系,依据ASCII编码规范


char
a = 'A';

printf("%c\n",
a);

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

3.逻辑运算符

#pragma mark-----逻辑运算符


/*



逻辑与 &&



公式:
表达式1 &&
表达式2

运算规则:只有表达式1和表达式2同时为真,逻辑与表达式的结果才为真。
一假全假。







*/



int
a = 10;

int
b = 20;



//表达式1 a<b,结果为真;表达式2
本,结果为假

//(a < b) && (b == 3)
的结果为假

BOOL
r1 = (a < b) && (b == 3);

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



BOOL
r2 = (a == 3) && (b > a);

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



BOOL
r3 = (a > 5) && a++;

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



//短路现象

//当表达式1结果为假时,逻辑与表达式的结果已经确定为假,所以表达式2不再执行

BOOL
r4 = (b < 5) && b++;

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

/*



逻辑或
||



公式:表达式1 ||
表达式2

运算规则:表达式1和表达式2,只要有一个结果为真,逻辑或表达式结果为真。
一真即真。







*/



int
a = 10;

int
b = 20;



BOOL
r1 = (a < b) || (b == 3);

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



BOOL
r2 = (a == 3) || (b < a);

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





//短路现象

BOOL
r3 = (b > 5) || b++;

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





//逻辑非

取反



BOOL
r4 = !(a > b);

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

/*

(大概)

运算符的优先级



() > ! > 算术运算符
>
关系运算符 >
逻辑运算符 >
赋值运算符

*/

if语句

1.if
(<#condition#>) {
<#statements#>

} else
{

<#statements#>
}
//输入一个年份,判断该年份是否是闰年?如果是闰年,则输出该年是闰年,否则输出该年不是闰年

//提示:闰年:能被400整除或者(能被4整除,但是不能被100整除)。


int year =
0;


printf("输入一个年份:");

scanf("%d", &year);





//a % b == 0 a能被b整除

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

printf("该年份是闰年\n");

} else
{

printf("该年份不是闰年\n");
}

2.if
(<#condition#>) {

<#statements#>

} else if {

<#statements#>

} else {
<#statements#>
}

//练习:从键盘输入一个字符,如果是
数字
打印 this is digital,如果是大写字母,打印this is capital letter,如果是小写字母,打印
this is letter,如果是其他字符,打印
other。



char
character = 0;



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

scanf("%c", &character);



//当条件控制在某个范围,使用&& ||
这种结构,绝对不可以使用a<b<c这种连续结构

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



printf("this is digital数字\n");



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



printf("this is capital letter大写字母\n");



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



printf("this is letter小写字母\n");



} else
{



printf("other\n");
}

switch语句

条件运算符
/*


?:



公式:条件表达式
?表达式1
:表达式2

运算规则:
条件表达式为真,执行表达式1;条件表达式为假,执行表达式2


*/
switch
/*

switch (整型或者字符型表达式) {

case 值1: {



//case后面的值是整型或字符型常量

语句1

break;

}

case 值2:
{



//case后面的值是整型或字符型常量

语句2

break;

}

default:

break;

}



1、如果表达式的值没有和任何一个case后面的值匹配成功,执行default分支。



2、break语句的作用:结束当前case分支,并且结束switch语句。

*/



//定义一个字符变量,设置初始值。如果字符变量是m,输出男性;如果字符变量是f,输出女性;其他输出未知。



char
character = 'm';



switch
(character) {

case
'm': {

printf("男性\n");

break;

}



case
'f': {

printf("女性\n");

break;

}



default:{

printf("未知\n");

break;

}

}





//从控制台输入一个整数,输出对应的水果名称

//1-苹果 2-
梨子
3-桔子
4-香蕉



int
number = 0;

printf("请输入一个整数1、2、3、4:");

scanf("%d", &number);



switch
(number) {

case
1: {

printf("苹果\n");

break;

}

case
2: {

printf("梨\n");

break;

}

case
3: {

printf("桔子\n");

break;

}

case
4: {

printf("香蕉\n");

break;

}



default:

break;

}



//多个case可以运行同一个代码段



//练习:按照考试成绩(ABCD)的等级,输出百分制分数段

//ABC:属于>60 D:属于<60



char level =
'A';



switch
(level) {

case
'A':

case
'B':

case
'C': {

printf("输出60分以上\n");

break;

}

case
'D': {

printf("输出60分以下\n");

break;

}

default:

break;

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