走入C语言的世界3(选择语句和循环语句)
一,选择语句
1.if语句
if语句就是根据给定的条件成立与否选择要执行的语句。
例如:输出一个数,输出其绝对值
if (x <= 0) printf("%d", x); else printf("%d", -x);
例1:求一元二次方程的根
#include<stdio.h> #include<math.h> #include<stdlib.h> int main() { double a, b, c, d, x1, x2, p, q; scanf_s("%lf%lf%lf", &a, &b, &c); d = b*b - 4 * a*c; if (d < 0) printf("此方程无解"); else { p = -b / (2.0*a); q = sqrt(d) / (2.0*a); x1 = p + q; x2 = p - q; printf("输出两个根:x1=%7.2f\nx2=%7.2f\n", x1, x2); } system("pause"); return 0; }
调试结果:
2,关系运算符与逻辑运算符
-
在C语言中有以下关系运算符:
关系运算符都是双目运算符,其结合性均为左结合。关系运算符的优先级低于算术运算符,高于赋值运算符。 在C语言中,有的运算符有两个操作数,例如
10+20,10和20都是操作数,+
是运算符。我们将这样的运算符称为双目运算符。同理,将有一个操作数的运算符称为单目运算符,将有三个操作数的运算符称为三目运算符。
常见的双目运算符有 +、-、*、/ 等,单目运算符有 ++、-- 等; -
逻辑运算符
&&,||,!
以上三种逻辑运算符中,逻辑非 ! 的优先级最高,逻辑与 && 次之,逻辑或 || 优先级最低。即算术、逻辑、赋值运算符的优先级顺序为:
逻辑非 ! >算术 > 逻辑与 &&、逻辑或 || > 赋值=逻辑与 && 运算符的运算规则:只有两个操作数均为逻辑真时,结果才为真。其余情况,结果均为假。
逻辑或 || 运算符的运算规则:只有两个操作数均为逻辑假时,结果才为假。其余情况,结果均为真。
例2:判断是否为闰年
(year%4==0&&year%100!=0)||year%400==0
判断非闰年
!(year%4==0&&year%100!=0||year%400==0)
(year%4!=0)||(year%100==0&&year%400!=0)
2.switch语句
switch语句是多分支选择语句,括号中的"表达式",其值的类型应为整数类型(包括字符型)。
例3:输入某年某月某日,判断这一天是这一年的第几天?
#include<stdio.h> #include<stdlib.h> int main() { int day, month, year, sum, leap; printf("please input year,month,day\n"); scanf_s("%d %d %d", &year, &month, &day); switch (month)/*先计算某月以前月份的总天数*/ { case 1:sum = 0; break; case 2:sum = 31; break; case 3:sum = 59; break; case 4:sum = 90; break; case 5:sum = 120; break; case 6:sum = 151; break; case 7:sum = 181; break; case 8:sum = 212; break; case 9:sum = 243; break; case 10:sum = 273; break; case 11:sum = 304; break; case 12:sum = 334; break; default:printf("data error"); break; } sum = sum + day; //再加上某天的天数 if (year % 400 == 0 || (year % 4 == 0 && year % 100 != 0))//判断是不是闰年 leap = 1; else leap = 0; if (leap == 1 && month>2)//如果是闰年且月份大于2,总天数应该加一天 sum++; printf("It is the %dth day.", sum); system("pause"); return 0; }
调试结果:
二.循环语句
1,for语句
若条件表达式的值为真,则执行for语句中的循环体,直到条件为假,跳出循环。
例4:九九乘法表:
#include<stdio.h> #include<math.h> #include<stdlib.h> int main() { int i, j; for (i = 1; i < 10; i++) { for (j = 1; j <= i; j++) printf("%d*%d=%-5d", i, j, i*j); printf("\n"); } system("pause"); return 0; }
调试结果:
2,while与do…while
两者的区别是while要先判断后执行,do…while先执行一次再进行判断
例5:两者进行比较
while
#include<stdio.h> #include<stdlib.h> int main() { int i, s=0; scanf_s("%d", &i); while (i <= 10) { s = s + i; i++; } printf("s=%d", s); system("pause"); return 0; }
调试结果:
do…while
#include<stdio.h> #include<stdlib.h> int main() { int i, s=0; scanf_s("%d", &i); do { s = s + i; i++; } while (i <= 10); printf("s=%d", s); system("pause"); return 0; }
调试结果:
while循环,do…while循环和for循环都可以用break语句跳出循环,用continue语句结束本次循环
- 走入C语言的世界4(条件语句和循环语句的应用)
- 【C语言连载二】--------选择结构、循环结构、跳转语句(附几个例子)
- C语言选择语句和循环语句总结
- C语言中的选择语句和循环语句
- 初步认识C语言中的选择和循环语句
- C语言的分支语句和循环结构知识点
- 黑马程序员———C语言 分支语句和循环语句
- linux shell 流程控制(条件if,循环【for,while】,选择【case】语句实例
- C语言_循环语句
- Java学习笔记6——Java控制语句(选择结构、循环结构、break语句和continue语句、带标签的break和continue、语句块)
- C语言的循环语句(4.24)
- LotusScript基本语法知识……选择和循环语句
- JAVA选择结构语句和witchi和for循环判断语句jj基础介绍
- Python中的条件选择和循环语句
- c语言第六章总结 循环语句
- 剑指Offer——不使用循环,判断,选择语句实现1+2+3....+n
- C语言——分支语言和循环语句
- 4.5 C语言while循环语句
- c++自学笔记003-用选择,循环语句编写的模拟关羽和吕布战斗的控制台程序
- 【下载分】C语言for循环语句PK自我活动