C语言---语句

分类标准

按照复杂度分类

选择语句

if语句

if else

else if

switch语句

循环语句

while循环

do while循环

for循环

转移语句

break

continue

goto

语句嵌套


分类标准

按照复杂度分类

注c里面是以;作语句的结尾

空语句

; // 空语句 

简单语句

int a; 
a = 10;

复杂语句

{
    int b; 
    b = 0; 
    b++; 
}      // 语块 

按功能分类

  • 选择语句

  • 循环语句

  • 转移语句

选择语句

if语句

/* if语句 */ 

1 语法: 
if(表达式) 
{ 
    语句1; 
    语句2; 
    .....; 
}

2 翻译: 
如果(条件) 
{ 
    要做的事情; 
}
如果条件是真的,就会执行大括号里面的代码. 
如果条件是假的,就会执行大括号后面的代码. 

3 简单的例子 
如果(期末考试考的好) 
{ 
    你爸爸给你买新手机; 
}
if(n<=3) 
{ 
    ...; 
}

4 注意: 
A 一个if后面一定要跟条件 
B 一个if只管后面的一个语句 
C 表达式能够计算出bool值 

if (0) 
{ 
    printf("3 > 2"); 
}

if else

if (true) 
{
}
else 
{
}
/*
else:否则 
如果(条件) 
{
}
否则
{
}
*/
int a = 1, b = 2; 
if (a > b) 
{ 
    printf("a > b\n");
}
else 
{ 
    printf("a <= b\n"); 
}

else if

int a = 1, b = 1; 
if (a > b) 
{ 
    printf("a > b\n"); 
}
else if (a < b) 
{ 
    printf("a < b\n"); 
}
else 
{ 
    printf("a == b\n"); 
} 

switch语句

switch (switch_on) 
{
    case 1: 
        break; 
    default: 
        break; 
}

1 语法: 
switch (表达式) 
{
    case 值1: 
        语句1; 
        语句2; 
        .....; 
        break; 
    case 值2: 
        语句1; 
        语句2; 
        .....; 
        break; 
    // ......; 
    default: 
        语句1; 
        语句2; 
        .....; 
        break; 
}
程序运行过程中,遇到switch,就会进入语句中. 然后根据表达式的值,寻找对应的case; 
如果找到了对应的情况,就会开始执行case里面的语句,同时所有的case和default全部失效! 
程序开始从上往下执行

2 翻译: 
开关 (表达式的值) 
{
    情况下 值: 
        要做的事情; 
        打破; 
    // .......; 
    默认的情况下: 
        要做的事情; 
        打破; 
}

3 例子: 
开关 (你期末考试的名次) 
{
    情况下 1: 
        买新手机; 
        打破; 
    情况下 2: 
        买新衣服; 
        打破; 
    默认的情况下: 
        什么奖励都没有; 
        打破; 
}

4 注意: 
A 表达式要求能够求出确定的整型的值 
B case后面的值,相互之间不能相等 
int num = 1; 
switch (num) 
{
    case 1: 
        printf("买新手机"); 
        break; 
    case 2: 
        printf("买新衣服"); 
        break; 
    default: 
        printf("什么奖励都没有"); 
        break; 
}

循环语句

将某一件事情 不断地重复

注意: 控制循环

while循环

/* while循环 */
// while: 当...时 
// 当满足循环条件时就循环 
// 当循环条件为真时就循环 

1 语法 
while (表达式) 
{ 
    循环体; 
}

2 控制循环 
变量:循环控制变量 
int num; // 循环控制变量 
num = 0; // 循环控制变量的初始值 
while (num < 10) // num < 10 循环条件 
{ 
    printf("num = %d\n", num); 
    num = num + 2; // 改变循环控制变量的值 
    // 每次+1 循环控制变量的改变量 
}

do while循环

/* do while循环 */ 
// do: 执行 while: 当...时 

1 语法: 
do
{
} while (表达式); 

2 翻译: 
执行
{ 
    循环体; 
} 当 (条件) 
A 不论循环条件是否为真 都会先do一次(执行一次循环体) 
B 如果条件为真 继续循环 
C 为假 结束循环 

3 举个例子

int num = 100; // 定义循环控制变量 并且给初始值 
do
{ 
    printf("num = %d\n", num); 
    num++; // 改变循环控制变量
} while (num < 10); // 循环条件 

for循环

/* for循环 */ 

1 语法 
for (表达式1;表达式2;表达式3) 
{ 
    // 循环体; 
}

2 翻译 
为 (循环控制变量的初始值;循环条件;循环控制变量的改变量) 
{ 
    要重复的事情; 
}
A 三个表达式都可以省略,但是;不能省略 
B 省略的表达式 可以写在其他地方 

3 举个例子
for (int i = 0; i < 10;i++) 
{ 
    printf("i = %d\n", i); 
}
int num = 0; 
for (; num < 10;) 
{ 
    printf("num = %d\n", num); 
    num++; 
}

转移语句

break

作用:

  • 跳出一层循环

  • 跳出一层switch

用法:

用在循环和switch中

continue

作用:

结束当前一次循环,继续下一次循环

用法:

用在循环中

for (int i = 0; i < 10; i++) 
{ 
    if (5 == i) // (i == 5) 
    { 
        continue; 
    }
    printf("i = %d\n", i); 
}

goto

作用:

无条件转移

用法:

一般不用

printf("111\n"); 
printf("222\n"); 

HERE:printf("333\n"); 

printf("444\n"); 
printf("555\n"); 

goto HERE; 

int a = 0; 
printf("111\n"); 
printf("222\n"); 

HERE:printf("333\n"); 

printf("444\n"); 
printf("555\n"); 
a++; 

if (a < 10) 
{ 
    goto HERE;
}

while (true) 
{ 
    while (true) 
    { 
        while (true) 
        { 
            while (true) 
            { 
                goto HERE; 
            } 
        } 
    } 
} 

HERE:;

语句嵌套

一个语句中有其他语句

int n, m; 
n = m = 0; 

if (true) 
{ 
    if (true) 
    { 
        switch (n) 
        {
            case 1: 
            switch (m) 
            {
            case 0: 
                while (true) 
                { 
                    do
                    { 
                        for (int i = 0; i < 10; i++) 
                        {
                        } 
                    } while (true); 
                }
                break; 
            default: 
                break; 
        }
            break; 
        case 2: 
            break; 
        default: 
            break; 
        } 
    }
}

如:99乘法表

通过外层循环 控制内层循环

// 使用循环语句 在控制台 打印九九乘法表 
for (int i = 1; i < 10; i++) 
{ 
    for (int j = 1; j <= i; j++) 
    { 
        printf("%d*%d=%2d ", j, i, i*j); 
    }
    printf("\n"); 
}

 

福利部分:电子时钟

#include <stdio.h> 
#include <Windows.h> 
​
int main() 
{ 
    // 21:08:06 
    int h, m, s; // 时分秒 
    scanf("%d %d %d", &h, &m, &s); 
    int num = h * 60 * 60 + m * 60 + s; 
    while (true) 
    { 
        h = num / 3600; 
        m = (num / 60) % 60; 
        s = num % 60; 
        printf("%d:%02d:%02d\n", h, m, s); 
        /*if (h<10||m<10||s<10) 
        { 
            printf("0%d:0%d:0%d\n", h, m, s); 
        }
        else 
        { 
            printf("%d:%d:%d\n", h, m, s); 
        }*/ 
        num++; 
        Sleep(1000); 
        if (h==23&&m==59&&s==59) 
        { 
            num = 0; 
        }
        system("cls"); 
    }
    return 0; 
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值