目录

  • 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 章节知识点小结
if语句



  1. if语句的一般形式


其中的语句可以是简单语句,复合语句也可以是另一个if语句等。

  • 最常用的3种if语句形式:


(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语句)

如下程序:

if(number > 500)  cost = 0.15;

  else if (number > 300)  cost = 0.10;

    else if (number > 100)  cost = 0.075;

       else if (number > 50)   cost = 0.05;

          else    cost=0;

等价于:

if (number > 500)  cost = 0.15;

else 

   if (number > 300)   cost = 0.10;

   else 

      if (number > 100)  cost = 0.075;

      else 

          if (number > 50)  cost = 0.05;

          else   cost = 0;

例题1:输入两个实数,按由小到大的顺序输出。

解题思路:

通过键盘输入两个数a和b,在输出数据之前,使a中存放小的数,b中存放大的数。当输入的数据为a>b时,需要将a和b的值进行交换。

将两个变量进行交换时,要借助于第三个变量,将其中一个变量的值先保存起来再交换。



---》---》

#include <stdio.h>

int main()

{ float a,b,c;

   scanf("%f,%f",&a,&b);

   if(a>b)

    {  c=a;

        a=b;

        b=c;

     }

   printf("%5.2f,%5.2f\n",a,b);

   return 0;

}

例题2:输入3个数a,b,c,要求按由小到大的顺序输出。

解题思路:保证a最小,c最大

if a>b,a和b对换    (a是a、b中的小者)

if a>c,a和c对换     (a是三者中最小者)

if b>c,b和c对换     (b是三者中次小者)

顺序输出a,b,c

#include <stdio.h>

int main()

{ float a,b,c,t;

   scanf("%f,%f,%f",&a,&b,&c);

   if(a>b)

   {   t=a;  a=b;  b=t;   } 

   if(a>c)

   {   t=a;  a=c;  c=t;   }        

   if(b>c) 

   {   t=b;  b=c;  c=t;   }                        

   printf("%5.2f,%5.2f,%5.2f\n",a,b,c);  

return 0;

}

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

解题思路:

    通过键盘输入一个整数,用变量guess存放,如果输入的数据与程序中给定的数据magic相等,则输出“**正确**”,否则输出“**错误**”。对于两种不同的情况,可用if语句的双分支形式进行判断处理。

#include <stdio.h>

int main( )

{

 int magic=123,guess;

 printf("请输入数据:\n");

 scanf("%d",&guess);

  if (guess= =magic)  

             printf("**正确**\n");

 else 

            printf("**错误**\n");

    return 0;

}

2.if语句的嵌套

在if语句中又包含一个或多个if语句称为if语句的嵌套

一般形式:


例题1:

有一函数:编程序,输入x值,要求输出相应的y值。


解题思路:方法1

(1) 先后用3个独立的if语句处理:

输入x

若 x < 0, 则y =-1

若 x = 0, 则y = 0

若 x > 0, 则y = 1

输出x和y


scanf("%d",&x);

if(x<0)    y = -1;

if(x==0)  y = 0;

if(x>0)    y = 1;

printf("x=%d,y=%d\n",x,y);



解题方法2:用if的嵌套

  程序1:                                      程序2:

           if(x<0)                                      if(x>=0)

                 y =-1;                                        if(x>0)  y=1;

           else                                                else      y=0;

                if(x==0)  y=0;                      else   y=-1;

                else  y=1;

    程序3:                                          程序4:

             y=-1;                                         y=0;

             if(x!=0)          错                          if(x>=0)  

                    if(x>0)  y=1;                             if(x>0)  y=1;

             else  y=0;                                   else  y=-1;

IF语句在EASYX图形程序中的应用

配合if语句,实现红色、蓝色交替画线:
#include <graphics.h>
#include <conio.h>
void main()
{
   initgraph(640, 480);
   for(int y=100; y<200; y+=10)
   {
         if ( y/10 % 2 ==1)    //
判断奇数行偶数行
            setcolor(RGB(255,0,0));
         else
            setcolor(RGB(0,0,255));

        line(100, y, 300, y);
   }
   getch();
    closegraph();
}