IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> C++知识库 -> 进阶c语言1:1.if语句、2.switch语句、3.while语句、5.for语句 -> 正文阅读

[C++知识库]进阶c语言1:1.if语句、2.switch语句、3.while语句、5.for语句

1.分支语句:

(1)语法结构:

1.    if(表达式)    //类型1
      {
          语句1;
          .....
      }

2.    if(表达式)    //类型2
      {
          语句1;
          .....
      }
      else
      {
          语句2;
          .....
      }

3.    if(表达式1)    //类型3
      {
          语句1;
          .....
      }
      else if(表达式2)
      {
          语句2;
          .....
      }
      else
      {
          语句3;
          .....
      }

(2)若表达式1为真则执行语句1,跳过else if语句与else语句

若表达式1为假则执行下一条else if语句,若表达式2为真,则执行语句2语句跳过else语句

若表达式1、表达式2都为假、则执行语句3

0表示假,非0表示真

(3)else与最近的if相匹配

1.Eg:

#include <stdio.h>
int main ()
{
    int r=0;
    int w=1;
    if(1==r)        //条件不成立,跳过此语句
    {
        if(1==w)
        {
            printf("a");
        }
        else
        {
            printf("b");
        }
    }
    printf("c");    //最终结果打印c
}

2.Eg:判断一个数是否为奇数

#include <stdio.h>
int main()
{
    int r=0;
    scanf("%d",&r);
    if(1==r%2)
    {
        printf("YES");
    }
    else
    {
        printf("NO");
    }
}

2.switch语句

(1)语法结构:

swicth(整型表达式)
{
    case 整数常量:
         .....    break;    //break的作用为跳出语句,break可有可无
    case 整型常量:
         .....    break;    //break的实际效果是把语句列表划分为不同的分支部分
    case 整数常量:
         .....    break;
    case 整型常量:
         .....    break;

     ..........    //default可有可无,即使所有情况都不匹配,不加default,程序也不会报错,
                   //结构就是所有语句被跳过而已,程序不会终止
    default:    //若所有情况不匹配,则执行default语句
         .....    break;
}

1.Eg:

#include <stdio.h>
int main()
{
    int r=0;
    int w=1;
    switch(r) 
    {
        case 0:
                w++;        //w=2
        case 1:
                r++;        //r=1
        case 2:
                switch(r)
                {
                    case 0:
                        r++;
                    case 1:    
                        r++;    //r=2
                        w++;    //w=3
                        break;
                }
        case 3:
                w++;    //w=4
                break;
        dafualt:
                break;
    }
    printf("r=%d w=%d",r,w);    //打印 r=2 w=4
    return 0;
}
            

3.while语句

(1)语句结构

while(表达式)
{
    .....
    .....
    .....
}

(2)1.Eg:打印1-100的数字

#include <stdio.h>
int main()
{
    int r=1;
    while(r<=100)
    {
        printf("%d",r);
        i++;
    }
    return 0;
}

(2)遇到break则跳出语句

2.Eg:

#include <stdio.h>
int main()
{
    int r=1;
    while(r<=10)
    {
        if(5==r)
        {
            break;
        }
        printf("%d ",r);    //打印1 2 3 4
        r++;
    }
    return 0;
}

(3)遇到continue则跳出本次循环

3.Eg:

#include <stdio.h>
int main()
{
    int r=1;
    while(r<=10)
    {
        if(5==r)
        {
            continue;
        }
        printf("%d ",r);    打印1 2 3 4 6 7 8 9 10
        r++;
    }
    return 0;
}

(4)scanf读到空格后便不会读取,当读取失败时会返回一个EOF

4.Eg:

#include <stdio.h>
imt main()
{
    int r=0;    //当我输入1234 5678
    while(scanf("%d",&r)!=EOF)    //输入ctrl+z代码可以停下来
    {
        printf("%d",r);//因为scanf只读取空格前面的数,所以打印1234
    }
}
        
    

(5)getchar(读取一个字符)putchar(输出一个字符)

5.Eg:

#include <stdio.h>
int main()
{
    char arr[30]={0};
    scanf("%s",arr);scanf与getchar都是在缓冲区中读取数据
    getchar();     //当使用scanf输入字符串后,缓冲区还留下了一个\n
    int ch=getchar();//在缓冲区若有数据便会读取,若没有数据便会等待输入数据后读取数据
    printf("%c",ch)

5.for语句

(1)语句结构

for(表达式1;表达式2;表达式3)
{
    .....
    .....
    .....
}

(2)若想for置为空语句,必须遵循语法规则

for( ; ; )    //for循环判断部分若省略,就表示判断恒为真

1.Eg:

#include <stdio.h>
int main()
{
    int r=0;
    for( ;r<10;i++)
    {
        for( ;j<10;j++)    //10次循环后,i=1,条件成立,但由于j未进行初始化,j=10,条件不满足
        {
            int sum+=r;
        }
    }
    printf("%d",sum);所以打印45
    return 0;
}

(3)变种for()

2.Eg:请问下面代码要循环多少次

#include <stdio.h>
int main()
{
    int i=0;
    int k=0;
    for(i=0,k=o;k=0;i++,k++)    //中间的判断条件把k赋值为0,0为假,不进入循环,所以循环0次
    {
        k++;
    }
    return 0;
}

  C++知识库 最新文章
【C++】友元、嵌套类、异常、RTTI、类型转换
通讯录的思路与实现(C语言)
C++PrimerPlus 第七章 函数-C++的编程模块(
Problem C: 算法9-9~9-12:平衡二叉树的基本
MSVC C++ UTF-8编程
C++进阶 多态原理
简单string类c++实现
我的年度总结
【C语言】以深厚地基筑伟岸高楼-基础篇(六
c语言常见错误合集
上一篇文章      下一篇文章      查看所有文章
加:2022-01-17 11:19:46  更:2022-01-17 11:21:11 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 10:42:36-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码