C语言学习笔记(五)顺序程序设计

1语句概述

1.1普通表达式语句:表达式后加分号就是一个表达式语句,语句与表达式不同,是无值的,而表达式是有值的。

1.2流程控制语句:流程控制语句主要用来控制程序执行走向,以实现程序的各种结构方式,它有特定的关键字等,主要分为分支和循环两种。

分支流程控制语句:ifswitch

循环流程控制语句:forwhiledo while

1.3跳转语句:跳转语句的作用主要是让程序从正常执行的走向中跳转到其它部分,常见跳转语句如下

间断语句:breakcontinue

转向语句:goto

Return语句:return

1.4复合语句:由一些语句组成,放在一个大括号中形成一个整体,句型如下:

{

语句1

语句2

......

语句n

}

C语言语法规定,复合语句作为一条语句来处理。

例子代码:

#include "stdio.h"
main(){
  int a=11,b=21,c=31;
  printf("a=%d\tb=%d\tc=%d\n",a,b,c);
  { int b=22;                 /*复合语句开始*/
    float c=3.3;
    printf("a=%d\tb=%d\tc=%f\n",a,b,c);
    a=b;
  }                         /*复合语句结束*/
  printf("a=%d\tb=%d\tc=%d\n",a,b,c);
}

输出结果如下:

a=11 b=21 c=31

a=11 b=22 c=3.300000

a=22 b=21 c=31

上面的代码可以和下面的代码对比运行:

#include "stdio.h"
main(){
  int a=11,b=21,c=31;
  printf("a=%d\tb=%d\tc=%d\n",a,b,c);
  { int a=1;
int b=22;                 /*复合语句开始*/
    float c=3.3;
    printf("a=%d\tb=%d\tc=%f\n",a,b,c);
    a=b;
  }                         /*复合语句结束*/
  printf("a=%d\tb=%d\tc=%d\n",a,b,c);
}

程序运行结果:

a=11 b=21 c=31

a=1 b=22 c=3.300000

a=11 b=21 c=31

可以看到,在复合语句中声明的变量只在复合语句中起作用。

1.5空语句:空语句一般指只有一个分号占位,一般用在程序设计初期,表示待编写的函数或代码。

1.6各种语句整体介绍:

#include "stdio.h"
main(){
  int a=10,b=20,c;                 /* 声明语句 */
  if(b>a)                         /*控制语句  */
  {;                              /* 复合语句  */
   c=a+b; ;                       /* 表达式语句  */
   printf("%d",c);                  /*函数调用语句  */
    }
  else
  ;                               /* 空语句 */
}

2库函数的调用与输入输出的关系

2.1标准的库函数是存放在函数库中的,因此使用时必须要告知计算机,说明函数库属于哪个库,此过程为函数的声明,例如:

#include "math.h"  /*标准数学函数的声明*/

Main(){

...

y=sin(x); /*库函数的调用*/

...

}

IncludeC语言中的特定字,是包含的意思,包含的文件一般为.h,称头文件。

2.2C语言中提供了一些输入输出的标准库函数,例如printfscanf,使用时必须将函数库的头文件stdio.h包含进程序中。

3格式化输出

3.1printf函数:它的作用是向终端输出数据。

函数格式:printf("格式控制语句",输出项1,输出项2,......);

例如:printf("%f",j); 输出浮点类型的变量j%f为控制符。

常见的格式控制符:

%d--十进制整型,%o---八进制无符号整型,%f输出实数,%s--字符串,%c--输出单个字符等。

4字符输出

4.1字符输出可以利用putchar函数,在stdio.h中已经定义。

例子代码:

#include "stdio.h"
main(){
  char a,b,c;
  a='C';
  b='A';
  c='T';
  putchar(a);
  putchar(b);
  putchar(c);
  putchar('\n');
  putchar('\101');
  putchar('B');
  putchar('c');
}

注:该函数不能输出两个或两个以上的字符数据。

5格式化输入

5.1scanf函数:作用是从键盘获取数据,格式化后再赋值给变量。

调用形式:scanf(格式控制语句,输入项);

6字符输入

6.1getch()getche()函数:功能都是读入一个字符。

两者的区别是:getch()函数不将读入的字符回显到屏幕上,getche()却显示。

例子代码:

#include<stdio.h>
main()
{
  char c,ch;
  c=getch();                 /*从键盘上读入一个字符不回显送给字符变量c*/
  ch=getche();               /*从键盘上带回显的读入一个字符送给字符变量ch*/
  putchar(c);                /*输出该字符*/
  putchar(ch);
}

6.2getchar()函数:作用是从终端输入一个字符。getchar函数将空格符、制表符、和换行符都作为有效字符录入。

例子代码:

#include "stdio.h"
main()
{ char c1,c2;
  c1=getchar();
  c2=getchar();
  putchar(c1);
  putchar(c2);
}

7顺序程序设计

例一:计算一元二次方程的根。

代码:

#include "math.h"
main()
{
  double a,b,c;                   /*声明系数*/
  double x1,x2,p;
  printf("pleaseinputa,b,c:");
  scanf("%lf%lf%lf",&a,&b,&c);      /*输入系数*/
  printf("\n");
  p=b*b-4*a*c;                   /*p存放判别式的值*/
  x1=(-b+sqrt(p))/(2*a);            /*计算方程的根*/
  x2=(-b-sqrt(p))/(2*a);
  printf("x1=%f,x2=%f\n",x1,x2);    /*输出结果*/
}

例二:两位整数倒序。

代码:

#include <stdio.h>
main()
{
  int m,n;
  printf("inputm(10-99):");
  scanf("%d",&m);
  printf("\n");
  n=m%10;
  m=n*10+m/10;
  printf("m=%d\n",m);
}


原文地址:https://www.cnblogs.com/SunnyYue/p/3970282.html