☰
程序逻辑控制——说有逻辑的话
2026/11/5 1:56:18 网站建设 项目流程

顺序+选择+循环

运算符是有优先级的,=的优先级最低

一.顺序结构

程序按照代码的书写顺序一行一行执行

二.选择结构

1.if语句

语法形式1:

if(表达式)

{

语句;

}

如果表达式为真,则执行花括号里面的语句

0为假,非0为真

e.g.输入一个整数,判断是否为奇数

int main() { int a; printf("请输入一个整数:"); scanf("%d", &a); if (a%2!=0) { printf("%d是奇数\n",a); } return 0; }

语法形式2:

if(条件表达式1)

{

语句1;

}

else

{

语句2;

}

如果条件表达式为真,则执行语句1,否则执行语句2

e.g.输入一个整数,判断奇偶

int main() { int a; printf("请输入一个整数:"); scanf("%d", &a); if (a % 2 != 0) { printf("%d是奇数\n", a); } else { printf("%d是偶数\n", a); } }

语法形式3:

if(表达式1)

{

语句1;

}

else if(表达式2)

{

语句2;

}

else

{

语句3;

}

e.g.输入一个数据n,如果大于等于10则输出:"n>=10";

如果大于等于5小于10则输出:"n>=5&&n<10"; 否则输出:"n<5"

int main() { int n; printf("请输入一个数据n:"); scanf("%d", &n); if (n >= 10) { printf("n>=10\n"); } else if (n >= 5 && n < 10) //&&逻辑与——>同时,并且的意思 { printf("n >= 5 && n < 10\n"); } else { printf("n<5\n"); } return 0; }

逻辑运算符

1.&&逻辑与

表达式1&&表达式2:整个表达式的结果是由表达式1和表达式2共同决定的

a,b为两个表达式

只有两个表达式同时为真,整个表达式的结果才为真

2. !逻辑取反

!表达式把真变为假,把假变为真

3.短路与

表达式1&&表达式2

如果表达式1已经是假的了,那么表达式2是真是假都不重要,因为程序不会再向着表达式2执行了

4.||逻辑或

表达式1||表达式2

只要表达式中有一个为真,结果就为真

5.短路或

如果表达式1已经是真的了,则不会执行表达式2了

2.switch语句

switch(expression)

{

casevalue1:statement

casevalue2:statement

...

default:statement

}

! switch后的expression必须是整型表达式

case后的值,必须是整形常量表达式

e.g.输入一个1-7的数字,打印对应的信息
1.输入1-5,输出的是"工作日";
2.输入6-7,输出"休息日"

int main() { int a; scanf("%d", &a); switch(a) { case 1: printf("工作日\n"); case 2: printf("工作日\n"); case 3: printf("工作日\n"); case 4: printf("工作日\n"); case 5: printf("工作日\n"); break; case 6: printf("休息日\n"); case 7: printf("休息日\n"); break; default: printf("输入有误\n"); break; } return 0; }

! 每个case后面的break是不能省略的,若省略了,则会一直执行遇到xiayigbreak结束

case和后边的数字之间必须有空格

default语句的作用是在没有合适的case进行匹配的时候执行

三.循环结构

1.while循环

条件为真时重复执行代码

语法结构:

while(循环条件)

{

//循环条件为真则循环体

}

e.g.在屏幕上打印1-10的值

int main() { int a=1; //条件变量的初始化 while (a <= 10) //判断 { printf("%d ", a); a++; //条件变量的变化 } return 0; }

2.for循环

for(表达式1;表达式2;表达式3)

{

语句;
}

第一次循环执行“表达式1——>表达式2——>语句——>表达式3”的顺序

之后循环执行“表达式2——>语句——>表达式3”的顺序,

直至表达式2为假停止执行

表达式1:用来初始化条件变量

表达式2:用来写判断条件,表示真和假

如果表达式2不写默认为真

两个;不可以省略

表达式3:用于循环变量的调整

e.g.在屏幕上打印1-10的值

int main() { for (int i = 1;i <= 10;i++) { printf("%d ", i); } return 0; }

3.do while循环

语法形式:

do

{

语句;

}

while(表达式);

e.g.在屏幕上打印1-10的值

int main() { int i = 1; do { printf("%d ", i); i++; } while (i <= 10); return 0; }

特殊之处,先do再判断,即使while为假,也至少执行一次

while和for循环都是先判断,条件满足才进入循环,不满足则退出循环

4.循环嵌套

e.g.打印九九乘法表

//打印九九乘法表 int main() { for (int x = 1;x <= 9;x++) { for (int y = 1;y <= x;y++) { printf("%d*%d=%-3d", y, x, x * y);//前面加-,改为左对齐 } printf("\n"); } return 0; }

5.break

打断、中断

break表示当前循环执行i==3之后循环结束

6.continue

继续

代码最终进入死循环:i=1时 i!=3 打印出1,i++;i=2,i!=3打印出2,i++;

i=3,continue回到while,i一直重复等于3,进输入死循环,打印不出结果

修改:

法二:改用for循环

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询