• 第三章基本语句与顺序结构程序设计


    一.语言程序的基本语句

          表达式语句、函数调用语句、控制语句、复合语句、空语句。

          复合语句:一般的认为是将多条语句复合成一条语句去逐语句执行

        1. 增强可读性
        2. 控制语句想控制多行语句时 就得加{}
        3. 在以后 我们认为{} 代表作用域({}中的内容作用于哪一个区域)

    二.数据的输入输出

        C语言中数据的输入、输出是由函数来实现的。

          格式输入输出函数 printf( )scanf( ) 

          字符输入输出函数 putchar( )getchar( )

      1.缓冲区

          缓冲区:用于临时存储数据的区域  由系统控制(键盘缓冲区)

           当我们执行一个复杂的程序时, 可能会有多个输入 且不是同时输入的,程序在编译时,就会了解一共需要输入多少个数据  当程序段执行到输入时  就会从键盘缓冲区拿数据  且是一一对应的去拿  而不是边输入边执行  所有的输入内容都会记录在缓冲区中   运行前分配  程序运行结果或者全部读取后释放(只要缓冲区内有数据,缓冲区就不会被释放) 程序会先从缓冲区去读取内容  如果缓冲区数据不够用  就会使控制台停下来 等待用户继续输入  如果够用 就会一直执行下去 控制台不会阻塞  回车代表给缓冲区送入数据程序开始读取缓冲区内记录的内容。

          所有从控制台读取到的数据 都是字符串。

      2.格式输出函数: printf( )函数    

          头文件:stdio.h

          功能:将字符串中的内容打印到控制台中

          格式: printf(“格式控制字符串”[ , 输出表列] );

          格式控制: 由双引号括起来的字符串, 用于指定输出格式。   

            普通字符: 按原样输出的字符

            格式说明: 用来指定需输出数据的输出格式 形式: %[ 修饰符 ]格式字符

            输出表列: 需要输出的数据列表,彼此间用逗号分隔, 可以是任意合法的表达式。

        2.1.用于输出的修饰符

                          

         2.2.用于输出的格式字符

                          

           

            注意:输出表列可以是任何可以计算出结果数据

                  但是格式符与类型必须一致 %d %c0-127)

                  当格式说明个数<输出项时,多余的输出项不予输出。

                  当格式说明个数>输出项时,输出不定值

          d格式符

            作用: 输出一个带符号的十进制整数(正数不输出符号)

             格式: ① %d ② %md ③ %ld 其中:

                %d—按整型数据的实际长度输出;

                m—字段宽度;(大于字符长度时:正数有对齐补空格,负数左对齐补空格。小于字符长度时,按字符本身输出)

                %ld—输出长整型数据

                %hd—输出短整型数据

          c 格式符

            作用: 用来输出一个字符

            一个整数,如果在0~127之间,也可用字符形式输出,系统会将该整数转换成对应的ASCII码字符

          s 格式符

            作用: 用来输出一个字符串

            格式: ① %s ② %ms ③ %m.ns 其中:

                 m—输出的字符串占m列;

                  n—输出字符串中左端n个字符

          f 格式符

            作用: 以小数形式输出单、双精度实数。

             格式: ① %f ② %m.nf 其中:

              %f—整数部分全部输出, 隐含输出6位小数。

              m—字段宽度(整数、小数位数、数符、小数点)

              n —小数位数的个数, 如: %12.4f

          s 格式符

            作用: 以标准化的指数形式输出实数(小数点前必须有而且只能有一位为非0数字)。

            格式: ① %e ② %m.ne

              %e —默认输出6位小数

              m—字段宽度(指数部分占5列)

              n —小数部分的位数

          我们往变量中赋值的方式:

        1. 程序内直接赋值    a=7;
        2. 从控制台读取  scanf
        3. 从文件读取  fscanf
        4. 从已有的变量中读取 sscanf

        八进制 十六进制数字没有负数 %o %x 来输出整型数  默认输出的是无符号数

        除 X, E, G 格式符外, 其他格式符必须用小写字母。

       3.格式输出函数: printf( )函数 

            功能:按格式控制所规定的格式, 从指定的输入设备(一般为键盘)上把数据输入到指定的变量中。

            格式: scanf(“格式控制”,地址表列 );

              格式控制: 普通字符: 需原样输入的字符, 通常不使用。

                         格式说明: 用于指定需输入数据的输入格式

                         形式: %[ 修饰符 ] 格式字符

                  地址表列: 给出各变量的地址 “

                             地址是由“&”运算得到的

                                 “&”是取地址运算符, 得到变量在内存中的地址。单目运算符,右结合性。

              

          当格式符的个数少于参数列表个数时,多余的将忽略。
           当格式符的个数多于参数列表的个数时候,将输出不确定的值。

         3.1修饰符

     

                                   

        3.2格式符

                                   

         3.3格式输出使用与注意

          (1)输入数据时采用的分隔符应与格式控制中的分隔符一致。格式控制中无普通字符时,   输入数值型数据可用空格、Tab键、回车键作分隔符。

            (2) 输入数据时不可规定精度,  但可指定宽度。

             (3)输入格式符带有*,表示该数据不赋值。

             (4)用C格式符输入字符时,任意字符均为有效字符

            (5)无符号数可用 %d、%o、%x 格式输入

            (6)在下列情况下可认为数据输入结束: (1)遇空格、回车、 Tab键;

                              (2)遇宽度结束;

                              (3)非法输入。

     

    遇到空格、回车键、TAB键读取结束

    遇到异常字符结束

    指定宽度结束

    %s

    yes

    no

    yes

    %d%o%x%u%f

    yes

    yes

    yes

    %c

    no

    no

    yes

      4 字符输入、输出函数

        字符输入函数

          格式: putchar( c );

          功能: 向终端输出一个字符

          说明: C为参数, 可以是字符型变量、整型变量、字符型常量、表达式或转义字符, 但只能是单个字符而不能是字符串。

          例如:

            #include <stdio .h>

            void main( )

            {

              char a =’O’ ;

              int b=75;

              putchar( a );

              putchar( b );

            }

        字符输入函数  

          格式: getchar( );

          功能: 从键盘读入一个字符 char ch = getchar( );

          说明: 只能读取一个字符 该字符可赋给字符变量、整型变量或作为表达式的一部分。

          例如:

            #include <stdio .h>

            void main( )

            {

               char c ;

              c=getchar( );

              putchar(c);

            }

     三.数组

      1.基本概念

        是一组  数目固定 类型相同 连续存放的 有序集合!

          数目固定: 定义时 决定分配多少个元素

          类型相同: 数组中的元素类型相同

          连续存放: 在内存中 连续存储

        格式:  类型说明符  数组名 [常量表达式];

          数组名 代表数组的整个空间   sizeof(数组名)==整个数组分配的字节数

               数组名即数组的首地址,是一个常量  数组中的每一个元素都是变量

           使用下标运算符 [ ] 来获取数组的元素  优先级:1级

           数组n个元素  a[0]表示第一个元素  a[n-1]代表最后一个元素 否则超范围 逻辑错误

          初始化   int a[10] = {0};

          赋初值  1.全赋值为0  {0}

              2.部分初值 {1,2,3,4} 其余默认为0

              3 .赋全部初值 {1,2,3,4,5,6,7,8,9,10}

            初始化时  [ ] 必须是一个常量 代表开辟了这么多个元素的数组

          初始化后  [ i]内的常量、变量、表达式 代表是的下标获取第i个元素

          因为定义数组时  数目是固定的 一般的我们会多开一些空间

          整型数组没有办法计算其中有多少个有效的元素  0也是有效数据

          字符数组可用 strlen(数组名)来计算    代表字符串的结束

      数组的常用操作   

    1. 逆序   将元素逆序    5 4 3 2 1      1 2 3 4 5

        2.两数交换  可以定义一个中间变量

        

     

    遇到空格、回车键、TAB键读取结束

    遇到异常字符结束

    指定宽度结束

    %s

    yes

    no

    yes

    %d%o%x%u%f

    yes

    yes

    yes

    %c

    no

    no

    yes

  • 相关阅读:
    闭包概念集合
    对象的基本方法
    webpack始出来
    elasticsearch性能调优
    elasticsearch 倒排索引学习
    elasticearch 归并策略
    更加详细的Log4net的配置
    第一篇博客关于Log4net的配置记录
    js数组小结
    javascript在不同的浏览器处理事件
  • 原文地址:https://www.cnblogs.com/hyt19911004/p/12318930.html
Copyright © 2020-2023  润新知