C常量与控制语句

在C语言中定义常量的两种方式

在C语言编程中定义常量有两种方法。

  • const关键字
  • #define预处理器

1. const关键字

const关键字用于定义C语言编程中的常量。

const float PI=3.14;
C

现在,PI变量的值不能改变。

1. if语句

if语句的语法如下 -

if(expression){  
    //code to be executed  
}

我们来看一个简单的c语言if语句的示例代码,创建一个源文件:if-statement.c,代码如下所示 -

#include<stdio.h>  
#include<conio.h>  
void main() {
    int number = 0;

    printf("enter a number:");
    scanf("%d", &number);

    if (number % 2 == 0) {
        printf("%d is even number
", number);
    }

}
C

执行上面示例代码,得到以下结果 -

enter a number:100
100 is even number

2.if-else语句

如果conditiontruefalse都要执行对应代码块,则可使用C语言中的if-else语句来实现。if-else语句的语法如下:

if(expression){  
//code to be executed if condition is true  
}else{  
//code to be executed if condition is false  
}

if else-if语句

if else-if语句用于从多个条件执行一个代码。 if else-if语句的语法如下:

if(condition1){  
//code to be executed if condition1 is true  
}else if(condition2){  
//code to be executed if condition2 is true  
}else if(condition3){  
//code to be executed if condition3 is true  
}  
...  
else{  
//code to be executed if all the conditions are false  
}

4.嵌套if

嵌套if语句就是在一个if语句中嵌套一个或多个if语句,创建一个源文件:nested_if.c,参考如下示例代码:

#include<stdio.h>  

void main() {
    int score = 0;
    printf("enter a score:");
    scanf("%d", &score);

    if (score >= 60) { // 下面是嵌套if-else语句
        if (score <= 80) {
            printf("分数大于60小于80,中等水平
");
        }else if (score > 80 && score < 90) {
            printf("分数大于60小于80,成绩良好
");
        }else{// 大于 90 以上
            printf("分数大于90,成绩优秀
");
        }
    }else {
        printf("分数小于 60 分,不及格~!
");
    }
}

C语言中的switch语句用于从多个条件执行代码。 就像if else-if语句一样。

C语言中switch语句的语法如下:

switch(expression){    
case value1:    
 //code to be executed;    
 break;  //optional  
case value2:    
 //code to be executed;    
 break;  //optional  
......    

default:     
 code to be executed if all cases are not matched;    
}
C

C语言中switch语句的规则如下 -

  1. switch表达式必须是整数或字符类型。
  2. case值必须是整数或字符常量。
  3. case值只能在switch语句中使用。
  4. switch case中的break语句不是必须的。这是一个可选项。 如果在switch case中没有使用break语句,则匹配case值后将执行所有后的语句。它被称为通过C语言switch语句的状态。
有效的Switch无效的Switch有效的Case无效的Case
switch(x) switch(f) case 3; case 2.5;
switch(x>y) switch(x+2.5) case ‘a’; case x;
switch(a+b-2)   case 1+2; case x+2;
switch(func(x,y))   case ‘x’>’y’; case 1,2,3;

switch语句直通到尾

在C语言中,switch语句是通过的,这意味着如果在switch case中不使用break语句,则匹配某个case之后的所有的case都将被执行。

我们来试试通过下面的例子来了解switch语句的状态。创建一个源文件:switch-fall-through.c,其代码如下所示 -

#include<stdio.h>  
#include<conio.h>  
void main() {
    int number = 0;

    printf("enter a number:");
    scanf("%d", &number);

    switch (number) {
    case 10:
        printf("number is equals to 10
");
    case 50:
        printf("number is equal to 50
");
    case 100:
        printf("number is equal to 100
");
    default:
        printf("number is not equal to 10, 50 or 100
");
    }
}
C

执行上面示例代码,得到以下结果 -

enter a number:10
number is equals to 10
number is equal to 50
number is equal to 100
number is not equal to 10, 50 or 100
请按任意键继续. . .

C语言中的循环用于执行代码块或程序的一部分多次。换句话说,它多次迭代代码或代码组。

为什么使用C语言中的循环?

假设你必须打印一个二维的表格,那么你可需要编写10行代码。

但是,如果通过使用循环语句,您只能通过23行代码来实现。

C语言循环的优点

  1. 它节省(减少)代码量。
  2. 它有助于遍历数组的元素(这在下一页中介绍)。

C语言的循环类型

C语言中有三种类型的循环,如下所示:

  1. do while
  2. while
  3. for

1. do-while循环

它迭代代码,直到条件(condition)为false。 这里,条件(condition)是在代码之后给出的。所以循环体至少一次,而不管条件(condition)求值是真还是假。

如果你希望代码必须至少执行一次,那使用do-while循环是一个不错的选择。

C语言中do-while循环的语法如下:

do{  
    //code to be executed  
}while(condition);
C

有关do-while循环的流程图和示例,请参考阅读:http://www.yiibai.com/cprogramming/do-while-loop-in-c.html

2. while循环

do while循环一样,它迭代代码,直到条件为假。 这里,条件(condition)是在代码之前给出的。所以代码可能一次都不执行。

如果用户不知道迭代次数,则使用while循环更好一些。

C语言中while循环的语法如下:

while(condition){  
    //code to be executed  
}
C

有关while循环的流程图和示例,请参考阅读:http://www.yiibai.com/cprogramming/while-loop-in-c.html

3. for循环

while循环一样,它迭代代码,直到条件(condition)为false。 这里,在代码之前给出初始化,条件和增量/减量。所以代码可能一次都不执行。

如果用户知道迭代次数,使用for循环是一种比较好选择。

C语言中for循环的语法如下:

for(initialization;condition;incr/decr){  
    //code to be executed  
}

要执行程序或代码的一部分几次或多次,我们可以使用C语言的do-while循环。 在dowhile之间给出的代码将被执行,直到条件(condition)成为true

do-while循环中,语句在条件之前给出,所以语句或代码将至少有一次执行。换句话说,我们可以说do-while循环执行语句一次或多次。

如果你希望至少执行一次代码,使用do-while循环是最好不过的选择。

do-while循环语法

C语言do-while循环的语法如下:

do{  
    //code to be executed  
}while(condition);

do-while循环的例子

下面给出了C语言的简单程序,while循环来打印连续的数据。创建一个源文件:do-while-example.c,其代码如下所示 -

#include <stdio.h>    
#include <conio.h>    
void main() {
    int i = 1, number = 0;
    printf("Enter a number: ");
    scanf("%d", &number);
    do {
        printf("%d 
", (i));
        i++;
    } while (i <= number);
}
C

执行上面代码,得到以下结果 -

Enter a number: 12
1
2
3
4
5
6
7
8
9
10
11
12
请按任意键继续. . .

无限do-while循环

如果在do while循环中使用条件表达式的值1,则它将运行无限次数。

do{  
   // 要执行的语句
}while(1);

C语言中的while循环用于多次迭代程序或语句的一部分。

while循环中,条件在语句之前给出。 所以它与do while循环有点不同,while循环可能一次不会执行语句,而do while循环至少循环一次。

当C语言中使用while循环时

如果迭代次数不确定或未知,则应优先考虑使用C语言while循环。

C语言中while循环的语法

c语言中while循环的语法如下:

while(condition){  
    //code to be executed  
}
C

C语言中的while循环的流程图,如下所示 -

C语言中while循环的例子

下面来看看看打印表的一个while循环程序。创建一个源文件:while-example.c,其源代码如下所示 -

#include <stdio.h>      
#include <conio.h>      
void main() {
    int i = 1;

    while (i <= 10) {
        printf("%d 
", i);
        i++;
    }

}
C

执行上面示例代码,得到以下结果 -

1
2
3
4
5
6
7
8
9
10

C语言中的无限循环

如果在while循环中传递1作为条件,则程序将运行无限次数。

while(1){  
    //statement  
}

goto语句被称为C语言中的跳转语句。用于无条件跳转到其他标签。它将控制权转移到程序的其他部分。

goto语句一般很少使用,因为它使程序的可读性和复杂性变得更差。

语法

goto label;
C

goto语句示例

让我们来看一个简单的例子,演示如何使用C语言中的goto语句。

打开Visual Studio创建一个名称为:goto的工程,并在这个工程中创建一个源文件:goto-statment.c,其代码如下所示 -

#include <stdio.h>  
void main() {
    int age;

    gotolabel:
    printf("You are not eligible to vote!
");

    printf("Enter you age:
");
    scanf("%d", &age);
    if (age < 18) {
        goto gotolabel;
    }else {
        printf("You are eligible to vote!
");
    }

}


You are not eligible to vote!
Enter you age:
12
You are not eligible to vote!
Enter you age:
18
You are eligible to vote!








原文地址:https://www.cnblogs.com/pythonclass/p/7768292.html