写在前面的话
学习C的第三天,加油!冲鸭!!!可能有些不太对的地方。欢迎指出错误之处,欢迎观看。给个传送门 牛客网——第三天笔记.
C判断
C 语言把任何非零和非空的值假定为 true,把零或 null 假定为 false。
判断语句:每个语句的说明。
语句 | 描述 |
---|
if 语句 | 一个 if 语句 由一个布尔表达式后跟一个或多个语句组成。 | if…else 语句 | 一个 if 语句 后可跟一个可选的 else 语句,else 语句在布尔表达式为假时执行。 | 嵌套 if 语句 | 可以在一个 if 或 else if 语句内使用另一个 if 或 else if 语句。 | switch 语句 | 一个 switch 语句允许测试一个变量等于多个值时的情况。 | 嵌套 switch 语句 | 可以在一个 switch 语句内使用另一个 switch 语句。 |
if 的实例
#include <stdio.h>
int main (){
int a = 10;
if( a < 20 ){
printf("a 小于 20\n" );
}
printf("a 的值是 %d\n", a);
return 0;
}
结果:
a 小于 20
a 的值是 10
if else 实例
#include <stdio.h>
int main (){
int a = 100;
if( a < 20 ){
printf("a 小于 20\n" );
}
else {
printf("a 大于 20\n" );
}
printf("a 的值是 %d\n", a);
return 0;
}
结果:
a 大于 20
a 的值是 100
if…else if…else 实例
#include <stdio.h>
int main (){
int a = 100;
if( a == 10 ){
printf("a 的值是 10\n" );
}
else if( a == 20 ){
printf("a 的值是 20\n" );
}
else if( a == 30 ){
printf("a 的值是 30\n" );
}
else{
printf("没有匹配的值\n" );
}
printf("a 的准确值是 %d\n", a );
return 0;
}
}
结果:
没有匹配的值
a 的准确值是 100
嵌套 if 语句实例
#include <stdio.h>
int main (){
int a = 100;
int b = 200;
if( a == 100 ){
if( b == 200 ){
printf("a 的值是 100,且 b 的值是 200\n" );
}
}
printf("a 的准确值是 %d\n", a );
printf("b 的准确值是 %d\n", b );
return 0;
}
结果:
a 的值是 100,且 b 的值是 200
a 的准确值是 100
b 的准确值是 200
switch 语句实例
#include <stdio.h>
int main (){
char grade = 'B';
switch(grade) {
case 'A' :
printf("很棒!\n" );
break;
case 'B' :
case 'C' :
printf("做得好\n" );
break;
case 'D' :
printf("您通过了\n" );
break;
case 'F' :
printf("最好再试一下\n" );
break;
default :
printf("无效的成绩\n" );
}
printf("您的成绩是 %c\n", grade );
return 0;
}
结果:
做得好
您的成绩是 B
嵌套 switch 语句实例
#include <stdio.h>
int main (){
int a = 100;
int b = 200;
switch(a) {
case 100:
printf("这是外部 switch 的一部分\n");
switch(b) {
case 200:
printf("这是内部 switch 的一部分\n");
}
}
printf("a 的准确值是 %d\n", a );
printf("b 的准确值是 %d\n", b );
return 0;
}
结果:
这是外部 switch 的一部分
这是内部 switch 的一部分
a 的准确值是 100
b 的准确值是 200
? : 运算符(三元运算符)
条件运算符 ? : ,可以用来替代 if…else 语句。
Exp1 ? Exp2 : Exp3;
实例
#include<stdio.h>
int main(){
int num;
printf("输入一个数字 : ");
scanf("%d",&num);
(num%2==0)?printf("偶数"):printf("奇数");
}
循环类型
循环类型 | 描述 |
---|
while 循环 | 当给定条件为真时,重复语句或语句组。它会在执行循环主体之前测试条件。 | for 循环 | 多次执行一个语句序列,简化管理循环变量的代码。 | do…while 循环 | 除了它是在循环主体结尾测试条件外,其他与 while 语句类似。 | 嵌套循环 | 可以在 while、for 或 do…while 循环内使用一个或多个循环。 |
while 循环实例
#include <stdio.h>
int main (){
int a = 10;
while( a < 20 ){
printf("a 的值: %d\n", a);
a++;
}
return 0;
}
产生下列结果:
a 的值: 10
a 的值: 11
a 的值: 12
a 的值: 13
a 的值: 14
a 的值: 15
a 的值: 16
a 的值: 17
a 的值: 18
a 的值: 19
for 循环实例
#include <stdio.h>
int main ()
{
for( int a = 10; a < 20; a = a + 1 )
{
printf("a 的值: %d\n", a);
}
return 0;
}
结果:
a 的值: 10
a 的值: 11
a 的值: 12
a 的值: 13
a 的值: 14
a 的值: 15
a 的值: 16
a 的值: 17
a 的值: 18
a 的值: 19
do…while 循环实例
#include <stdio.h>
int main (){
int a = 10;
do{
printf("a 的值: %d\n", a);
a = a + 1;
}while( a < 20 );
return 0;
}
结果
a 的值: 10
a 的值: 11
a 的值: 12
a 的值: 13
a 的值: 14
a 的值: 15
a 的值: 16
a 的值: 17
a 的值: 18
a 的值: 19
嵌套循环
1-for 嵌套实例
#include <stdio.h>
int main (){
int i, j;
for(i=2; i<100; i++) {
for(j=2; j <= (i/j); j++)
if(!(i%j)) break;
if(j > (i/j)) printf("%d 是质数\n", i);
}
return 0;
}
结果:
2 是质数
3 是质数
5 是质数
7 是质数
11 是质数
13 是质数
17 是质数
19 是质数
23 是质数
29 是质数
31 是质数
37 是质数
41 是质数
43 是质数
47 是质数
53 是质数
59 是质数
61 是质数
67 是质数
71 是质数
73 是质数
79 是质数
83 是质数
89 是质数
97 是质数
2-while 嵌套实例
#include <stdio.h>
int main(){
int i=1,j;
while (i <= 5){
j=1;
while (j <= i ) {
printf("%d ",j);
j++;
}
printf("\n");
i++;
}
return 0;
}
结果:
1
1 2
1 2 3
1 2 3 4
1 2 3 4 5
3-do-while 嵌套实例
#include <stdio.h>
int main(){
int i=1,j;
do {
j=1;
do {
printf("*");
j++;
}while(j <= i);
i++;
printf("\n");
}while(i <= 5);
return 0;
}
结果:
*
**
***
****
*****
循环控制语句
循环控制语句改变你代码的执行顺序。通过它你可以实现代码的跳转。
控制语句 | 描述 |
---|
break 语句 | 终止循环或 switch 语句,程序流将继续执行紧接着循环或 switch 的下一条语句。 | continue 语句 | 告诉一个循环体立刻停止本次循环迭代,重新开始下次循环迭代。 | goto 语句 | 将控制转移到被标记的语句。但是不建议在程序中使用 goto 语句。 |
无限循环
如果条件永远不为假,则循环将变成无限循环。for 循环在传统意义上可用于实现无限循环。由于构成循环的三个表达式中任何一个都不是必需的,可以将某些条件表达式留空来构成一个无限循环。
#include <stdio.h>
int main (){
for( ; ; ) {
printf("该循环会永远执行下去!\n");
}
return 0;
}
注意: 可以按 Ctrl + C 键终止一个无限循环。
|