文章目录
前言
主要为C语言控制语句
个人学习笔记,如有错误,请指正。
一、选择控制语句
1.1 if语句
if(条件表达式)
{
//若干条语句;
//语句1;
//语句2;
}
if(条件表达式)
{
//若干条语句;
}else
{
//若干条语句;
}
if(条件表达式1)
{
//若干语句;
}else if(条件表达式2)
{
//若干语句;
}else if(条件表达式3)
{
//若干语句;
}else
{
//若干语句;
}
#include <stdio.h>
int main(int argc, char *argv[])
{
int n = 40;
//形式1:只有if
//首先 判断if后面括号里面的表达式是否为真,
//如果为真,则执行大括号里面的语句
//如果为假,则不执行
// if(n >= 50)
// {
// printf("%d >= 50\n", n);
// }
//形式2:有if和else
//先判断if后面的表达式,如果为真,则执行if后大括号里面的语句
//如果为假,则执行else后面大括号里面的语句
//注意:如果if和else后面只有一条语句,则可以不加大括号
//但是如果有多条语句,必须加大括号,否则else找不到与之最近的if,编译会报错
// if(n >= 50)
// {
// printf("%d >= 50\n", n);
// }
// else
// {
// printf("%d < 50\n", n);
// }
//形式3:if...else if...else
if(n > 50)
{
printf("%d > 50\n", n);
}
else if(n == 50)
{
printf("%d = 50\n", n);
}
else
{
printf("%d < 50\n", n);
}
return 0;
}
执行结果:
1.2switch语句
switch(表达式)//表达式只能是字符型或整型的(short int int long int)
{
case 常量表达式1:
语句1;
break;
case 常量表达式2:
语句2;
break;
...
default:
语句3;
break;
}
运行顺序:将常量表达式的值语句switch后面的表达式的值对比,如果表达式的值刚好等于case后面的某一个值,就会立即去执行case后的语句,如果都不是,则会执行default后面的语句
注意:
(1)switch后面的语句表达式不能是浮点型,只能是整形
(2)如果case后面的常量表达式的值都不同,则会执行default后面的语句
(3)每一个case执行结束后需要跟上一个break;作用是跳出swich语句,如果没有break;则程序会执行下一个case语句直到遇到break;
(4)case后面语句很多时,不需要加上大括号 { }
#include <stdio.h>
int main(int argc, char *argv[])
{
int num = 2;
switch(num)
{
case 1:
printf("111111111111\n");
//如果不加break,当要执行当前case语句时,执行完毕后悔接着下一个
//case后的语句执行,直到遇到break为止,否则会一直执行
break;
case 2:
printf("222222222222\n");
break;
case 3:
printf("333333333333\n");
break;
default:
printf("hahahahahaha\n");
break;
}
return 0;
}
执行结果:
二、循环控制语句
2.1 for
for(表达式1;表达式2;表达式3)
{
//复合语句,循环体
语句块;
}
执行顺序:
先执行表达式1,然后执行表达式2,如果表达式2成立,则执行语句块当语句块执行完毕之后,接着执行表达式3,然后再执行表达式2,如果表达式2成立,则继续执行语句块,以此类推,直到表达式2不成立,循环结束
#include <stdio.h>
int main(int argc, char *argv[])
{
int i = 1;
int sum = 0;
for(i = 1; i <= 100; i++)
{
sum += i;
}
printf("1 + 2 + 3 + ... + 100 = %d\n", sum);
return 0;
}
执行结果:
2.2 while
2.2.1 while
while(条件表达式)
{
//循环体,复合语句
语句块;
}
执行顺序:
首先判断while后面的条件表达式,如果表达式成立(为真),执行语句块,执行完语句块,接着再次执行条件表达式,如果表达式为真,则继续执行语句块,
直到条件表达式为假,循环结束
#include <stdio.h>
int main(int argc, char *argv[])
{
int i = 1;
int sum = 0;
while(i <= 100)
{
sum += i;
i++;
}
printf("1 + 2 + 3 + ... + 100 = %d\n", sum);
return 0;
}
2.2.2 do…while
do{
//循环体
语句块;
}while(条件表达式);
执行顺序:
先执行do后面的语句块,然后判断while后面的条件表达式是否成立,
如果成立,则继续执行do后面的语句块,执行完毕后接着执行while后面的条件表达式,当条件表达式不成立时,循环结束。
注意:
不管条件是否成立,do后面的语句块都会执行一次,所以尽量少用do…while在while后面必须加一个分号
2.3 goto
goto主要用于在一个函数里面实现代码的跳转
#include <stdio.h>
int main(int argc, char *argv[])
{
//使用goto实现跳转
printf("11111111111111\n");
goto NEXT;
printf("22222222222222\n");
printf("33333333333333\n");
NEXT:
printf("44444444444444\n");
printf("hello world\n");
printf("************************\n");
//使用goto实现1到100的累加和
int i = 1;
int sum = 0;
JOOP:
sum += i;
i++;
if(i <= 100)
{
goto JOOP;
}
printf("1 + 2 + 3 + ... + 100 = %d\n", sum);
return 0;
}
执行结果:
总结
本篇主要展示了C语言控制语句的内容,如有错误,请指正。
码字不易,还望各位点赞收藏,感谢您的阅读。