C语言学习笔记(5)—— 语句(1)

  c程序常见结构大概有选择结构,循环结构,顺序结构。c程序由一个一个的函数构成,而构成函数的则是语句,语句包含赋值语句,循环语句,条件语句,分支语句。赋值语句对与我们来说是很熟悉的。条件语句,分支语句与循环语句则会在后面一一介绍到。

  顺序结构对于我们来说是很熟悉的,它可以是这个样子。

int main(){
  double a = 0,b = 0;
  scanf("%lf%lf",&a,&b);
  printf("a + b = %lf",a+b);
  printf("a - b = %lf",a-b);
  printf("a * b = %lf",a*b);       
  return 0;               
}    

  在这段程序里,我们定义了两个双精度浮点型变量,然后调用scanf()函数从键盘读取了a,b的值。又调用了printf()函数打印出a+b,a-b,a*b,为什么没有计算a/b呢?因为我们不能判断b的值是否为零,从而计算出a/b的值或者报错。这段代码就是典型的顺序结构。它的框图可以是这样(经过抽象)。

  条件结构,在上面的代码里,我们的程序似乎很"傻",因为它不能对a和b进行判断,导致我们不能直接计算出a和b的商,我们该怎么做,才能让程序变的,聪明点呢??实际上,我们只需要对b的值进行判断,当b为0时,输出错误信息。当b不为零时,我们就可以求出a和b的商。用算法框图可以这样表示。

  我们可以,改进上面的程序

#include <stdio.h>

int main(){
  double a = 0,b = 0;
  scanf("%lf%lf",&a,&b);
  printf("a + b = %lf",a+b);
  printf("a - b = %lf",a-b);
  printf("a * b = %lf",a*b);   
  if (0 == b) {
    printf("Error,b=0");    
  } else {
    printf("a / b = %lf",a/b);
  }      
  return 0;               
}   

  我们可以看见,多出来的是这一段。

         

    这段代码就是典型的if-else语句,当b为0时,程序输出错误信息。当b不为0时,程序计算出a与b的商。if-else语句一般是这样的形式。 

if (表达式) {
   ....
   .... 
   ....
} else {
   ....
   ....
   .... 
} 

    当括号内表达式的布尔值为true时,执行if下方代码块的语句,当括号内表达式的布尔值为false时,执行else下方代码块的语句。

 现在,我们用if-else语句来求一个分段函数的值。

  

#include <stdio.h>

int main(){
    double x;
    scanf("%lf",&x);

    if ( 0 == x) {
        printf("f(%.0lf) = 1",x);
    } else if (0 > x) {
        printf("f(%lf) = 0",x);
    } else {
        printf("f(%lf) = %lf",x,x*x);
    }
    return 0;
}

  我们使用了if-else if语句来帮助我们进行了多重选择,所以,当可选情况比较多的时候,我们可以考虑使用if-else if语句。这篇文章介绍了顺序结构和选择结构,在后面的文章里,会介绍到循环结构和分支结构。在了解了这些强大的语句之后,就可以使用C语言来完成一些算法题或者写出一些好玩儿的程序。

 

  

原文地址:https://www.cnblogs.com/zhuxingtian/p/9898983.html