用C语言编写程序

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

复合语句
21
3.(续)增加数据的合理性判断

不合理数据输入的输 出示例

数据合法性检查示例
22
3.(续)增加数据的合理性判断

输入m、n值后,判断 m、n是否小于0,小 于0则输出出错提示后 结束,否则表示输入 合法,则输出矩形。

if语句的基本格式为:

if(条件表达式) 语句1 else 语句2
关键词—— 常量、变量

常量
整型常量 字符常量

变量的操作
赋值? 改变?
1,5 „\n‟ „*‟ int char
i=1 i++

变量的定义
数据类型 变量名 变量定义的含义
关键词—— 运算符

算术运算符 关系运算符 逻辑运算符 赋值运算符

++ < || =
第2讲 C语言要素概述
程序语言的功能 程序语言的语法
1
学习路线图
2
1.程序语言的功能 2.程序语言的语法
准备知识
1.程序设计语言的功能
• 数据类型 • 常量 • 变量 • • • • 结构化程序设计方法 顺序结构 选择结构 循环结构
数据表达
流程控制
数据表达-数据类型

数据类型:对某些具有 共同特点的数据集合 的总称
putchar(ch);
putchar('\n'); } return 0; }
输出字符
ch=getchar();
printf("input n:"); scanf("%d",&n); printf("input m:"); scanf("%d",&m);
字符变量
字符常量
输入字符


比较: putchar(„\n‟);和 printf("\n"); putchar(ch) 等价于 printf(“%c”,ch);
19
3. 画一个n行m列的矩形
循环i从1到n ,step 1: 1. 输出一行星号 1.1循环j从1到m,step 1: 1.1.1输出一个星号 1.2 输入出回车换行符
20
3. 画一个n行m列的矩形(实现)
【源程序sample02_04.cpp】 #include<stdio.h> int main(void) { int m,n; int i,j; printf("input n:\n"); scanf("%d",&n); printf("input m:\n"); scanf("%d",&m); printf("print rectangle with %d lines:\n",n); for(i=1;i<=n;i++) {for(j=1;j<=m;j++) printf("*"); printf("\n"); } return 0; }

复合语句:用一对“{ }”,将若干语句顺序组合在一起就形 成了一个程序段。
程序设计语言的语法
其中,(4)函数定义与调用
函数是完成特定任务的独立模块,函数的使用最主要涉 及到函数的定义与调用。
函数的定义: int max(int a,int b) { int x; if (a>b) x=a; else x=b; return x; }
main函数的实现【源程序sample02_08.cpp】
#include<stdio.h> 1.输入n,m。 void draw_line(int m); 函数声明的基本格式 2.输出一行 m列实心行。 void draw_pointline(int m); <函数类型 > <函数名>([ 函数参数变量列表 ]); int main(void) 3.输出 n-2行空心行。 { int m,n; int i; 函数声明 循环i从2到n-1: …… 无返回值的函数调用的基本格式为: 输出一行 m列空心行。 draw_line(m); for(i=2;i<n;i++) <函数名 >([ 参数值列表]); 4.输出一行 m 列实心行。 draw_pointline(m); draw_line(m); 函数调用 return 0; }
赋值表达式
关系表达式
18
2. 画一个n行的矩形
【源程序sample02_03.cpp】 #include<stdio.h> int main(void) { int i,n; printf("input n:\n"); scanf("%d",&n); printf("print rectangle with %d lines:\n",n); for(i=1;i<=n;i++) printf("********************\n"); return 0; }
函数调用 result=max(2,3);

程序设计语言的语法
输入输出:
C语言没有输入输出语句,用库函数printf、 scanf等实现
15
1. 画一个矩形 2. 画一个n行的矩形 3. 画一个n行m列的矩形 4. 画一个任意字符构成的矩形 5. 构造一个画矩形的工具
引导实验:认识C语言要素
代表的数据(数据类型

示例:整数类型
包含的数据:{…,-2
的定义域) 编码表示(如何存储在 内存空间中) 在这些数据上做些什么 (即操作或称运算)
,-1,0,1,2,…} 二进制存储,2或4个字 节存储 作用在整数上的运算: + 、 - 、 * 、 /等
数据表达-C语言提供的数据类型
循环i从1到5,每次增1: 输出一行星号
17
引入循环结构
【源程序sample02_02.cpp】 #include<stdio.h> int main(void) 变量定义 { int i; for(i=1;i<=5;i++) 循环语句 printf("********************\n"); return 0; } 循环体语句算术表达式
23
3.(续)增加数据的合理性判断实现
【源程序sample02_05.cpp】
。。。。。。
if(m<0 ||n<0) {printf("输入的数据不能为负值!\n");} else { printf("print rectangle with %d lines:\n",n); for(i=1;i<=n;i++) {for(j=1;j<=m;j++) printf("*"); printf("\n"); }
<=
关键词——输入输出


scanf printf %d %c &n putchar getchar

scanf(“%d”,&n); printf(“\n”); printf(“%c”,ch); ch=getchar(); putchar(„\n‟); putchar(ch);
一个函数(子程序)等 单入口、单出口
流程控制三种基本结构

顺序结构
语句之间为顺序执行关系的结构
选择结构
根据条件作判断,再决定执行哪一种操作的结


循环结构
从某处开始按照一定条件反复执行某一处理过
程,可细分为两类:当型和直到型循环结构
三种基本结构的图示
顺序结构
选择结构
循环结构
9
16
1. 画一个矩形
【源程序sample02_01.cpp】 #include<stdio.h> int main(void) { printf("********************\n"); printf("********************\n"); printf("********************\n"); printf("********************\n"); printf("********************\n"); return 0;}
程序设计语言的语法

C语言的主要语法单位
(1)表达式: 运算符与运算对象组合就形成了表 达试。如,2 + 3 * 4 (2)变量: 变量也有数据类型,所以在定义变量 时要说明相应变量的类型。如: int i; (3)语句: 语句是程序最基本的执行单位,程序 的功能就是通过对一系列语句的执行来实现 (4)函数定义与调用 (5)输入输出:C语言没有输入输出语句,用库 函数printf、scanf等实现。

ห้องสมุดไป่ตู้
C语言的主要“单词”
(1)标识符: C语言的标识符规定由字母、数字以及下划 线组成,且第一个字符必须是字母或下划线。 (2)保留字(关键字): 它们是C语言规定的、赋予它们以特 定含义、有专门用途的标识符。 (3)自定义标识符: 包括在程序中定义的变量名、数据类 型名、函数名以及符号常量名。有意义的英文单词 (4)常量: 常量是有数据类型的,如,123、12.34 (5)运算符。代表对各种数据类型实际数据对象的运算 。如,+(加)、-(减)、*(乘)、/(除)、%(求余 )、>(大于)
29
关键词——控制结构

顺序 选择 循环

If … else语句 for语句 for语句中嵌套for语句
*5. 构造一个画矩形的工具(拓展学习)

绘制一个空心的矩形
画一根实心线 画n-2根空心线 画一根实心线
31
算法细化-自顶向下逐步细化
1.输出一行实心线 1.1循环i从1到m,step 1: 输出一个星号 1.2 换行
2. 输出n-2行空心行 2.1 循环i从2到n-1,step 1: 2.1.1 输出一个星号 2.1.2 输出m-2个空格 循环j从2到m-1: 输出一个空格 2.1.3 输出一个星号 2.1.4 换行
32
实现
【源程序sample02_07.cpp】
输出一行实心线 for(j=1;j<=m;j++) printf("*"); printf("\n");
基本数据类型:程序设计语言事先定义好,供
程序员直接使用。

整型、实型(浮点型)、字符型等。 数组、结构、文件、指针等。
构造类型:由程序员构造。


各种数据类型的常量与变量形式
常量(常数) 变量
流程控制

结构化程序设计方法
将复杂程序划分为若干个相互独立的模块 模块:一条语句(Statement)、一段程序或
。。。。。。
24
4. 画一个任意字符构成的矩形
存放字符的变量的数 据类型为char。 字符的输入语句可以 使用getchar函数。 字符的输出语句可使 用putchar函数。

字符的输入语句可以使用 getchar函数,字符的输出 语句可使用putchar函数。
画一个任意字符构成的矩形实现
输出n-2行空心线 for(i=2;i<n;i++) {printf("*"); for(j=2;j<m;j++) printf(" "); printf("*"); printf("\n"); }
33
工具函数的定义
//输出一行m列实心线 //输出一行m列空心线 函数定义的基本格式: void draw_line(int m) void draw_pointline(int m) <函数类型> <函数名>([函数参数定义表]) {int i; {int i; { for(i=1;i<=m;i++) printf("*"); 函数体 printf("*"); for(i=2;i<m;i++) } printf("\n"); printf(" "); } printf("*"); printf("\n"); } 34
2. 程序设计语言的语法

用程序设计语言所写的程序必须符合相应 语言的语法
源程序(源代码)是一个字符序列,这些字符
序列按顺序组成了一系列“单词”,“单词” 的组合就形成了语言有意义的语法单位,一些 简单语法单位的组合又形成了更复杂的语法单 位,最后一系列语法单位组合成程序。
程序设计语言的语法
【源程序sample02_06.cpp】 #include<stdio.h> int main(void) { int m,n; int i,j; char ch; printf("input char:"); printf("print rectangle with %d lines:\n",n); for(i=1;i<=n;i++) {for(j=1;j<=m;j++)
程序设计语言的语法
其中,(3)语句:
表达式语句:表达式加分号“;” 分支语句:实现分支控制过程

if (a > b) x = a; else x = b;

循环语句:实现循环控制的过程
sum = 0; i = 1; while (i <= 100) { sum = sum + i; i = i + 1; } /* 初始化sum和i */ /* while循环语句 */
相关文档
最新文档