前言:
帮大家总结一波C语言中的基本语句与基本框架,帮大家对于整个框架更为清晰。码字不易,求多支持,听说喜欢点赞的大佬们未来都年薪百万呢~
1.C语言的基本语句
1.1表达式语句
表达式语句一般由分号结尾,表达式语句中最常用表达式语句是由表达式后跟分号(;
)组成的。其中变量名本身就是一个表达式。
x = y + z; // 这是一个赋值表达式语句
1.2函数调用语句
函数调用语句一般由函数名和实参组成,用于调用函数。函数调用本身就是一个表达式,但当我们只想要函数的执行效果而不关心其返回值时,我们将其用作语句。
printf("we are handsome!\n"); // 这是一个函数调用语句
1.3控制语句
控制语句用于改变程序的控制流程。它们包括条件语句(如if
, if-else
, switch
)和循环语句(如for
, while
, do-while
)。
1.3.1分支语句
(1)if else
指编程语言中用来判定所给定的条件是否满足,根据判定的结果(真或假)决定执行给出的两种操作之一。
使用方法:
if(表达式)
语句1
if(表达式)
语句1
else
语句2
if(表达式)
语句1
else if(表达式)
语句2
else
语句3
(else if数量无限制)
for example:
int a = 0;
if (a==0)//表达式
{
printf("handsome\n");//语句1
}
else if(a>0)//表达式
{
printf("pretty\n");//语句2
}
else
{
printf("rich\n");//语句3
}
(2)switch
switch (variable) {
case value1:
// 如果variable的值等于value1,执行这里的代码
break;
case value2:
// 如果variable的值等于value2,执行这里的代码
break;
default:
// 如果variable的值与任何case都不匹配,执行这里的代码
}
switch是一种分支语句,常用于多分支的情况
使用方法:
(1)switch
switch(整形表达式)
{
语句项;
}
(2)case
语句项的内容:
case 整形常量表达式:
语句:
(3)break
switch中的break,能帮助我们实现真正的分支。switch语句执行时会从上到下根据括号中表达式的值作比较,当某个case语句中的表达式与此值相同时,就执行这个case语句或语句序列,直到遇到break为止。 break语句是必须有的,它用来结束switch语句的执行。
(4)default
当所有case语句后面的表达式都不等于switch语句项中case后面整型常量表达式的值,就执行default后面的默认语句序列。不过,default部分是可选的。如果没有这一部分,并遇到所有case语句都不匹配,那么,就不作任何处理而进入后续程序段的执行。
1.3.2 循环语句
(1)for
在已知循环次数的情况下使用。它首先初始化一个变量,然后检查一个条件,如果条件为真,就执行一段代码,然后更新变量。这个过程会一直重复,直到条件为假。
for (initialization; condition; update) {
// 如果condition为真,执行这里的代码
}
使用方法:for(表达式1; 表达式2; 表达式3)
循环语句;
表达式1:
表达式1为初始化部分,用于初始化循环变量的。
表达式2:
表达式2为条件判断部分,用于判断循环时候终止。
表达式3:
表达式3为调整部分,用于循环条件的调整。
(2)while
在不知道循环次数,但知道循环终止条件的情况下使用。它首先检查一个条件,如果条件为真,就执行一段代码,然后再次检查条件。这个过程会一直重复,直到条件为假。
while (condition) {
// 如果condition为真,执行这里的代码
}
(3) do while
与while
循环类似,但会至少执行一次代码块,然后再检查条件。如果条件为真,代码块会再次执行。
do {
// 执行这里的代码
} while (condition);
1.3.3 转向语句
(1)continue
continue
语句用于跳过当前循环迭代中的剩余语句,并立即开始下一次迭代。它通常用于在循环中跳过某些不满足条件的迭代。
int main() {
int i;
for (i = 0; i < 10; i++) {
if (i % 2 == 0) { // 如果i是偶数
continue; // 跳过当前迭代,不执行后面的printf
}
printf("%d ", i);
}
return 0;
}
(2) break
break
语句用于立即终止当前循环或switch
语句的执行,并跳出到循环或switch
语句之后的代码。
int main() {
int i;
for (i = 0; i < 10; i++) {
if (i == 5) { // 如果i等于5
break; // 跳出循环
}
printf("%d ", i);
}
return 0;
}
(3) go to
goto
语句用于无条件地跳转到程序中标记的位置。尽管goto
在某些情况下可能有用,但过度使用它会导致代码难以理解。
int main() {
int i = 0;
if (i == 0) {
goto skip; // 跳转到标记为skip的位置
}
printf("This will not be printed.\n");
skip:
printf("This will be printed.\n");
return 0;
}
这里的输出是:This will be printed.
(4) return
return
语句用于从当前函数中返回,并可选地返回一个值给调用者。当return
语句执行时,函数会立即终止,并返回到调用该函数的地方。
int add(int a, int b) {
return a + b; // 返回a和b的和
}
int main() {
int sum = add(3, 4); // 调用add函数,并将返回值存储在sum中
printf("Sum: %d\n", sum); // 输出:Sum: 7
return 0;
}
1.4 复合语句
复合语句(也称为块)是由一对花括号{}
包围的一系列语句。复合语句可以包含任意数量的语句,包括其他复合语句。例如:
{
int a = 5;
printf("%d\n", a);
if (a > 0) {
printf("we are handsome!\n");
}
} // 这是一个复合语句
1.5 空语句
空语句是一个只包含分号的语句,它不执行任何操作。空语句通常用作占位符,在语法上需要语句但逻辑上不需要任何操作的地方使用。
; // 这是一个空语句
总的来说,C语言的基本语句提供了程序执行所需的各种结构和控制机制,使我们能够写出复杂而有效的程序。
2.三大结构
控制语句用于控制程序的执行流程,而三大结构则是程序流程的基本框架。
2.1顺序结构
这是最基本的程序结构,它按照代码的书写顺序逐行执行。在顺序结构中,控制语句主要用于控制变量的赋值、函数调用等操作的执行顺序。
2.2选择结构
选择结构也称为分支结构,它允许程序根据某个条件的选择来执行不同的代码块。在C语言中,常见的控制语句如if、else、switch等用于实现选择结构。例如,if语句用于根据条件判断的结果来决定是否执行某个代码块。
2.3循环结构
循环结构允许程序重复执行某段代码,直到满足某个条件为止。在C语言中,常见的控制语句如for、while、do-while等用于实现循环结构。例如,for循环用于在指定的范围内重复执行某段代码。