目录

  • 1 第一章 C语言简介
    • 1.1 C语言前世今生
    • 1.2 主流开发环境介绍
    • 1.3 第一个小程序解析
    • 1.4 常见编译错误
    • 1.5 章节知识点小结
  • 2 算法基础
    • 2.1 算法-程序的灵魂
    • 2.2 算法的描述-流程图
  • 3 数据类型与运算符
    • 3.1 数据描述
    • 3.2 运算符和表达式1
    • 3.3 运算符和表达式2
    • 3.4 章节知识点小结
  • 4 顺序结构程序设计
    • 4.1 输入和输出
    • 4.2 顺序结构程序设计
    • 4.3 章节知识点小结
  • 5 选择结构程序设计
    • 5.1 关系运算符和关系表达式
    • 5.2 逻辑运算符和逻辑表达式
    • 5.3 if语句
    • 5.4 条件运算符
    • 5.5 switch语句
    • 5.6 章节知识点小结
  • 6 循环结构程序设计
    • 6.1 while循环结构
    • 6.2 do_while循环结构
    • 6.3 for循环结构
    • 6.4 循环的嵌套
    • 6.5 break语句和continue语句
    • 6.6 章节知识点小结
  • 7 数组
    • 7.1 一维数组
    • 7.2 二维数组
    • 7.3 字符数组
    • 7.4 章节知识点小结
  • 8 函数
    • 8.1 子程序设计
    • 8.2 函数定义
    • 8.3 函数的调用
    • 8.4 局部变量和全局变量
    • 8.5 参数传递
    • 8.6 函数递归调用
    • 8.7 章节知识点小结
  • 9 指针
    • 9.1 指针的基本概念
    • 9.2 指针变量的定义及引用
    • 9.3 通过指针引用数组元素
    • 9.4 指向多维数组的指针和指针变量
    • 9.5 用指向数组的指针作函数参数
    • 9.6 指针与字符串
    • 9.7 函数指针和指针函数
    • 9.8 章节知识点小结
  • 10 用户自己建立数据类型
    • 10.1 定义和使用结构体变量
    • 10.2 使用结构体数组
    • 10.3 结构体指针
    • 10.4 章节知识点小结
  • 11 编译预处理
    • 11.1 宏定义预处理
    • 11.2 文件包含预处理
    • 11.3 条件编译预处理
    • 11.4 章节知识点小结
  • 12 文件
    • 12.1 文件的基本知识
    • 12.2 文件的基本操作
    • 12.3 章节知识点小结
章节知识点小结


知识点

精讲文档

第五章

选择结构

5.1 关系运算符和关系表达式

关系运算符

共6个关系运算符:

① <  (小于)     ②  <=     (小于或等于)  

③ >  (大于)     ④ >=     (大于或等于)

⑤ ==   (等于)    ⑥ !=   (不等于)

其中⑤⑥的优先级低于①②③④

各种运算符的优先级

由高到低分别为:

算术运算符、关系运算符、赋值运算符     

关系表达式

关系表达式:用关系运算符将两个数值或数值表达式连接起来的式子。

C的逻辑运算中,以代表,以代表

5.2逻辑运算符和逻辑表达式

逻辑运算符

&&(逻辑与)  ||(逻辑或)  !(逻辑非)

逻辑运算符的优先次序

逻辑运算符优先次序由高到低分别为:! (逻辑非)、&&(逻辑与)、 || (逻辑或)

逻辑表达式

用逻辑运算符将关系表达式或其他逻辑量连接起来的式子。

注意:将一个非零的数值认作为

5.3 if语句

 

if语句的一般形式

if (表达式) 语句1

 [ else   语句2  ]

其中:方括号内的部分为可选的。

复合语句

{}把一些语句和声明括起来成为复合语句。

3种常用的if语句形式

最常用的3if语句形式:

1. if (表达式) 语句1    (没有else子句)

2. if (表达式) 语句1        

    else   语句2           (else子句)

3. if(表达式1)    语句1

    else if(表达式2)语句2

    else if(表达式3)语句3

                 

    else if(表达式m)语句m

    else    语句m+1

         (else部分又嵌套了多层的if语句)

 

两数交换的算法

借助第三个变量t:

t=a;  a=b;  b=t;

猜数游戏

题目:猜数游戏:如果猜对,显示“**正确**”否则显示“**错误**”。

解题思路:

     通过键盘输入一个整数,用变量guess存放,如果输入的数据与程序中给定的数据magic相等,则输出“**正确**”,否则输出“**错误**”

rand()函数

在程序中使用rand( )函数,应该在本文件开头写上下面一行:#include <stdlib.h>

rand函数产生随机数的取值范围为032767 间的一个正整数,如果想缩小取值范围,如09之间,可使用以下语句:    magic=rand()%10;

③产生a~b之间的一个随机正整数,公式为:

        rand()%(b-a+1)+a

④要使每次运行时产生的随机数都不一样:

        #include<time.h>

        srand(time(0))

 

if语句嵌套

if语句中又包含一个或多个if语句。

一般形式:

if( )

     if( ) 语句1            

     else   语句2              

else

     if( ) 语句3            

     else   语句4           

5.4 条件运算符

条件运算符

条件运算符  ?:,是三目运算符,即有三个操作数。

条件表达式

条件表达式的一般形式为:

表达式1?表达式2: 表达式3

执行顺序:

①求解表达式1

②若表达式1值为真,则求解表达式2,此时表达式2的值就作为整个条件表达式的值。

③若表达式1的值为假,则求解表达式3,表达式3的值为整个条件表达式的值。

5.5 switch语句

 

switch语句

switch语句的一般形式:

switch(表达式)

{   case  常量1 :语句1

   case  常量2 :语句2

                  

   case  常量n :语句n

   default     :   语句n+1

}

Switch语句的执行过程:

先计算表达式的值,然后依次与常量表达式ii=1,2,……n)的值比较,若表达式的值与某个case语句后的表达式i的值相等,则先执行语句i,再依次执行语句i+1,i+2,……语句n+1。若所有case后的常量表达式的值均不与switch后的表达式的值相等,则执行default后语句。

break语句

作用:跳出switch语句