C语言C++编程学习之控制语句详解

C语言部落 2018-05-06 14:46:07

今天小编和大家分享一下C语言C++编程学习中分支和跳转的相关知识点,需要的小伙伴可以参考一下

关键字:if , else , switch , continue , break , case , default , goto

运算符:&&、||、?:

函数:getcher( ) , putcher( ) , ctype.h系列

如何使用if和if else语句,如何嵌套它们

在更复杂的测试表达式中用逻辑运算符组合关系表达式

C的条件运算符

switch语句

break、continue和goto语句

使用C的字符I/O函数:getcher( ) 和 putcher( )

ctype.h头文件提供的字符分析函数系列

if语句

在最开始,书上的引入程序是一个通过输入一些天数的温度,来计算在这些天中,0度以下的寒冷天气战的百分比

[cpp]view plaincopy

/*colddays.c -- 找出0度以下的天数占总天数的百分比*/  

#include   

int main(void)  

{  

const int FOREEEZING = 0;  

float temperature;  

int cold_days = 0;  

int all_days = 0;  

printf("Enter the list of daily low temperatures.\n");  

printf("Use Celsius, and enter q to quit.\n");  

while(scanf("%f", &temperature) == 1){  

all_days++;

if (temperature < FOREEEZING){  

cold_days++;

}

}

if (all_days != 0){  

printf("%d days total: %.lf%% were below freezing.\n",  

all_days, 100.0 * (float) cold_days / all_days);  

}

if (all_days == 0){  

printf("No date entered!\n");  

}

return 0;  

}

Enter the list of daily low temperatures.

Use Celsius, and enter q to quit.

12 5 -2.5 0 6 8 -3 -10 5 10 q

10 days total: 30% were below freezing.

程序分析:

程序中while循环的测试条件利用scanf()的返回值来结束循环,因为scanf()在读取到非数字是会返回0 。temperature的类型是float类型而不是int类型,这样扩大了temperature的取值范围,不仅仅局限于整数。

关于怎么快速学C/C++游戏编程,有什么方法,这个问题,想必大家都已经心中有数了,打算深入了解这个行业的朋友,可以加下小编上面的C/C++编程学习企鹅裙,不管你是小白还是大牛,小编我都欢迎,不定期分享干货,包括小编自己整理的一份2018最新的C/C++资料和0基础入门教程,欢迎初学和进阶中的小伙伴。

while循环中首次出现了if语句:

[cpp]view plaincopy

if (temperature < FOREEEZING){  

cold_days++;

}  

if语句只是计算机,如果刚刚读取的temperature值小于0,就执行cold_days++,即寒冷天数加一天;如果不,就跳过cold_days++,让while循环继续读取下一个数。

while循环之后,又通过两个if语句来控制程序的输出。如果上面输入了数据,就打印前一个if语句中的结果;反之告诉执行者没有输入数据(当然这里其实并不需要使用两个if语句,后面会有介绍)。在printf()语句中,把百分比强制转换为float类型,其实并没有必要加上强制转换,因为100.0*cold_days求值时已经被转换成了float类型,这么做是为了让程序能适应各种编译器。

if语句被称为分支语句,或者选择语句,因为它相当于一个交叉点,程序又在两个分支中选择一条执行,if语句的通用形式如下:

if(expression){

statement

}

如果对表达式(expression)求值为真,就执行语句(statement)否则就不执行。这似乎与while语句很相似,但是while语句可以执行多次,而if语句只会执行一次。

if else 语句

上面的if语句,可让程序选择执行一条语句或者跳过,还有一种语句,即if else语句,可以让程序在两条语句中进行选择。

[cpp]view plaincopy

if (all_days != 0){  

printf("%d days total: %.lf%% were below freezing.\n",  

all_days, 100.0 * (float) cold_days / all_days);  

}  

if (all_days == 0){  

printf("No date entered!\n");  

}  

现在可以将这段用if else语句来写

[cpp]view plaincopy

if (all_days != 0){  

printf("%d days total: %.lf%% were below freezing.\n",  

all_days, 100.0 * (float) cold_days / all_days);  

}  

else{  

printf("No date entered!\n");  

}   

这里的else相当于原来的if (all_days == 0)。

if else语句的通用格式如下:

if(expression){

statement1

}

else{

statement2

}

如果对表达式(expression)求值为真,就执行statement1,否则就执行statement2 。这里的语句不一定只是一条语句,也可以是很多条,需要用大括号{}将其包括起来,形成一个块,当然这也算是一条语句。如果有多条语句而没有大括号,就会出错。

1 阅读:6
C语言部落

C语言部落

C语言C++技术分享,项目实战,学习方法,技术答疑