C语言复习(一)

C语言程序设计基础
本文介绍了C语言的基础知识,包括程序结构、数据类型、运算符、控制语句等内容。通过本文,读者可以了解到如何设计算法并将其转化为C语言程序。

第一章:程序设计与C语言
1.c语言程序结构

1. 预处理指令:包括对头(.h)文件的操作以及编译预处理(#define)指令。
2. 全局变量声明(在整个程序范围内有效的变量声明)。
3. 函数定义:先定义后调用,或者先声明,再定义,后调用。

2.函数的结构:函数类型 函数名 {参数类型 参数名,……(若干个参数)}
3.程序设计流程:

1. 分析问题
2. 设计算法
3. 编写程序
4. 对程序进行编辑,编译,修改得到可执行程序。

第二章:算法

1. 算法的特性:有穷性,确定性,有零个或多个输入,有一个或多个输出,有效性。
2. 算法的表示:自然语言,流程图,伪代码
3. 流程图:


* 
    * 圆角矩形:起止框
    * 平行四边形:输入输出框
    * 菱形:判断框
    * 矩形:处理框
    * 箭头:流程线
    * 连接点,注释框



1. N—S流程图 :

 (1)顺序结构
 (2)选择结构   

 (3)循环结构



1. 伪代码:(略)

三.数据类型

1. 基本类型:


* 
    * 整型 int:

    1. 
        1. unsigned int : 范围:0~65535 所占字节数:4,后缀常用U;
        2. int: 表示范围-32768~32767 所占字节数:4
        3. long int: 表示范围: -2,147,483,648 ~ 2,147,483,647 所占字节数:8,后缀L
        4. short int:-32768~32767 所占字节数小于等于int
        5. long long int ,unsigned long long int 不表。
        6. 格式说明符:%d,%ld,%hd


    * 浮点数 
    * 
        * float
        * 
            * 范围:至少能表达6位有效数字,取值范围至少为10-37~10+37.
            * 所占字节数:4
            * 存储方式:
            * 
            * 格式说明符:%f或%e

        * double
        * 
            * 范围:1.7E+-308(精确到15位小数)
            * 所占字节数:8
            * 格式说明符:%lf或者%le

        * long double
        * 
            * 范围:1.19E+-4932(精确到18位小数)
            * 所占字节数:12

        * 复数浮点型:

    * 字符类型:char(整数类型的一种)
    * 
        * char
        * 
            * 占据字节:1
            * 可以对char类型进行算数运算,也可以当作一个字符。
            * 格式说明符:%c
            * 转义字符:
            * 
                * \n==enter
                * \t==TAB
                * \b==退格
                * \r==退到本行开头
                * \\==反斜杠
                * \ddd==一到三位八进制数字
                * \xhh==一到两位16进制数字
                * \'
                * \''
                * \a==发出警告
                * \f==换页
                * \v 换至下个垂直制表对齐点



    * bool
    * 
        * true==1;false==0;

    * 数组
    * 结构体(struct)
    * 枚举类型(enum)                                                                                                                /*该部分在未来的复习中总结*/
    * 联合类型(union)
    * 指针类型
    * 空类型(void)

* sizeof运算符用于确定某基本类型值所占的内存空间,返回一个无符号整数,用%u输出。
* 强制类型转换:

                (目标类型名)(要转换的变量,常量,表达式等)

* 隐式类型转换
* 
    * 类似大鱼吃小鱼:long double>double>float>long long int>long>int>short>signed char
    * 注:(unsigned 与带符号级别相同)

四.运算符和表达式

* 算术运算符:
* 
    * +(单目为正号,双目为加号)
    * -(单目为负号,双目为减
    * *
    * /
    * %取余

* 自增、自减运算符
* 
    * ++i,先执行i+1,再使用i的值;
    * --i,先执行i-1,再使用i的值;
    * i++,先使用i的值,后执行i+1;
    * i--,先使用i的值,后执行i-1;

* 不同类型之间的数据混合运算,按照隐式类型转换的方式取优先级,级别低的转换为级别高的。
* 关系运算符
* 逻辑运算符
* 位运算符
* 赋值运算符
* 条件运算符
* 逗号运算符
* 指针运算符
* 求字节数运算符
* 强制类型转换运算符
* 成员运算符

五.C语句
1.判断语句

* 
    * if语句
    * 
        * 基本的if语句用于两个分支的选择结构,一般为
        * 
            * if (表达式) 语句/代码块;当表达式的值为1时执行语句。特别的对于else,当其对应的if中的判断表达式值为false时,执行该语句后的语句。一个else必须要有一个if作为其对应的条件语句。

        * 逻辑运算符:
        * 
            * &&:逻辑与,二目运算符,左右表达式均为true时其值为一。
            * ||:逻辑或,二目运算符,左右表达式中有一个为true时其值便为1.
            * !:逻辑非,一元运算符,对其操作表达式做“真值取反”处理。

        * 条件运算符:==等于   !=不等于 <小于  >大于  <=小于等于  >=大于等于

    * switch语句
    * 
        * 基本格式:



           switch(switch_number)
                {
                     case:语句;break;
                     case:语句;break;
                          .
                          .
                          .
                     default:(语句);break;
                 }

* 
    * 
        * switch可以与枚举类型一同使用。



 2.goto语句

* 
    * 
        * 运用goto语句可以跳到代码标签所指的地方。



 3.循环语句

* 
    * while循环


      while(表达式)
           {
                语句;
           }//先判断,当表达式的值为true时执行。

* 
    * do-while循环


      do
      {
           语句;
      }while(表达式)//先执行语句,再判断是否继续执行。

* 
    * for循环



      for(语句1;语句2;语句3)
           { 
                执行语句;
           }
       //此处语句一为初始化语句,可不加,语句二为循环结束条件(一般为一个逻辑表达式),一般情况下循环需要一个出口,语句三为“促使循环结束的改变方法”。有点绕口,不过理解了之后很简单。

* 
    * break与continue
    * 
        * 执行到break语句跳出循环,执行后续的语句。
        * 执行到continue语句跳出当前循环,执行下一个循环。

六.输入与输出及字符串操作相关函数:

1. 输入函数:


* 格式化输入:scanf_s()
* 格式说明符:

         %*field_width 长度修饰符 conversion_character
           %表示格式说明符的开始
           *表示要忽略的输入值(书上的概念,不清楚,“但如果stdin重定向到文件上就可以使它忽略文件中不想处理的值。”)
           field_width是一个整数,指定了scanf_s要输入的字符数,可以使输入的一连串数字中没有空白,常用于读入文件。
           长度修饰符:(暂略)
           最后一个代表转换字符。

* 
    * 转换字符
    * 
        * d:十进制
        * A,a,E,e,F,f,G,g:浮点数。
        * i:有符号的整数
        * o:有符号的八进制整数
        * u:无符号整数
        * x:有符号的十六进制整数
        * c:“将字符宽度指定的字符数读入为char类型”(暂略)
        * s:从下个非空白字符开始输入一连串的空白字符
        * []:(特定读取,暂略)
        * %:不读入%
        * p:
        * n

    *   非格式化输入:getchar()     getchar()函数一次只能接收一个字符,并且可以接收控制字符。


 2.输出函数:

* printf函数
* 
    * printf(格式控制,输出表列);
    * 
        * l,用于长整形整数。
        * m,数据最小宽度;
        * .n(读作点n),对实数,表示n位小数,对字符串,表示截取的字符个数。

include

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值