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

来源:互联网 发布:球球大作战骂人软件 编辑:程序博客网 时间:2024/04/29 12:37

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);}


原创粉丝点击