2022年用C语言编写简单程序 .pdf





《2022年用C语言编写简单程序 .pdf》由会员分享,可在线阅读,更多相关《2022年用C语言编写简单程序 .pdf(11页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、1/11 实验二用 C 语言编写简单程序实验目的(1)认识 C 程序基本语法中的变量、常量、语句、控制结构和函数等概念(2)理解结构化程序设计的三种基本结构;知道程序设计的过程,并运用到程序设计中(3)理解 C 语言函数的作用,并运用主函数、输入/输出函数解决简单问题。实验范例1.画一个矩形要绘制一个如图2-1 所示的矩形,可以使用printf 语句输出5 行星号。图 2-1 一个简单的矩形【源程序 sample02_01.cpp】#include int main(void)printf(*n);printf(*n);printf(*n);printf(*n);printf(*n);retu
2、rn 0;程序中相同的printf 语句重复出现了5 次。试想,如果要输出20 行甚至更多行的矩形,不断重复地书写printf 语句是很不方便的。程序语言对重复操作提供了循环结构加以描述,引入一个计数的循环结构,程序可改写为:【源程序 sample02_02.cpp】#include int main(void)int i;for(i=1;i=5;i+)printf(*n);名师资料总结-精品资料欢迎下载-名师精心整理-第 1 页,共 11 页 -2/11 return 0;for 语句描述了一个计数的过程,计数器从开始计数(1),如果小于等于5,执行 printf 语句输出一行,然后计数器i
3、 增 1(i+)。这样计数器i 从 1 数到 5,printf 语句执行 5 次,输出5 行星号。算法可以描述为:循环 i 从 1 到 5,每次增1:输出一行星号for 语句的基本格式为:for(e1;e2;e3)循环语句计数器 i 是一个记录整数的变量,变量对应一个内存的存储空间,可以存放程序中需要的数据。在C 程序中使用变量,要先向系统申请内存空间,表示数据存放的数据是区分不同的数据类型的,在申请时要说明变量的数据类型,申请变量的语句称为变量定义,基本格式为:变量名序列;可以一次定义一个变量,也可以同时定义多个相同数据类型的变量。语句int i;定义了一个整型变量i 作为循环结构的计数控制
4、变量。i=1;是变量的赋值语句,将整数1 赋给变量i。赋值语句的功能是将右边的值赋值给左边的变量,赋值语句的基本格式为:=表达式;整数 1 在程序中称为 常量,常量是各种数据类型数据的字面形式。例如9.27 是 double类型数据常量。i=5 和 i+是两个表达式,i=5 是关系表达式,执行关系运算=;i+是算术表达式,执行+运算,变量i 自增 1。for 语句的一对圆括号内三个表达式e1、e2 和 e3 分别表示计数变量的初值、终值条件和变化,执行顺序为:先执行e1 获取计数变量初值1,执行 e2,判断计数变量是否符合循环条件 i=5,条件符合则执行循环体语句,接着执行 e3改变计数变量的
5、值,然后又回到e2,构成一个循环,循环条件不符合则循环结束。本例中 i 从 1 开始执行 printf 语句,执行一次,i 增 1,执行 5 次 printf 语句后,i 的值增 1 达到 6,不符合循环控制条件,循环结束,输出5 行星号。2.画一个任意大小的矩形编写一个程序通常是要解决一类问题,而不是特定问题,如何突破矩形的固定样式,绘制任意大小的矩形呢?矩形的样式是由行数和每行的字符个数确定的,这两个值的变化,会改变矩形的形状,如图2-2 所示。名师资料总结-精品资料欢迎下载-名师精心整理-第 2 页,共 11 页 -3/11 图 2-2 任意矩形的输出这两个变化的值在程序中需要存放在变量
6、中,例如行数储存在变量n 中,每行的字符个数储存在变量m 中。每执行一次程序,由用户设定不同的行数和每行的字符个数的过程是一个数据的输入过程。C 语言提供了输入函数scanf 接受用户从键盘输入的数据存储到变量中。【源程序 sample02_03.cpp】#include int main(void)int n;printf(input n:n);scanf(%d,&n);printf(print rectangle with%d lines:n,n);for(int i=1;i=n;i+)printf(*n);return 0;运行示例:图 2-3 n 行矩形的输出程序中的 scanf 语句
7、实现将用户输入数据8 存储到整型变量n 中。scanf 语句的基本格式:scanf(格式控制串,地址序列);格式控制串中的%d 是一个格式控制符,表示接受一个整型的数据,&是地址操作符,&n 表示变量n 的地址,这样scanf 函数就可以将用户输入的8 按整数编码,寻址变量n 的地址,将数据存储到变量n 的存储空间中。本例中的printf 语句不但要输出一个字符串,还要输出变量n 的值,printf 语句的基本格式与 scanf 有些类似:printf(格式控制串,值序列);格式控制串由普通字符和格式控制符构成。print rectangle with%d lines:n中%d表示一个整数,用
8、值序列中n 变量的值8 替换,其它字符是普通字符直接输出。读入了行数到变量n 之后,只需修改for 语句,将原来1-5 行输出,修改为1-n 行输出,判断终值的表达式改为:i=5。从此例我们看到了使用变量可以增强程序的通用性。继续思考实现绘制不同长度的一行星号,每行由m 个星号和一个回车键构成。实现n行 n 列矩形的算法描述如下:循环 i 从 1 到 n,step 1:1.输出一行星号1.1 循环 j 从 1 到 m,step 1:1.1.1 输出一个星号名师资料总结-精品资料欢迎下载-名师精心整理-第 3 页,共 11 页 -4/11 1.2 输入回车【源程序 sample02_04.cpp
9、】#include 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;注意 sample02_04.cpp 的 for 语句中出现了一对花括号。一条循环语句只能控制一条循环体语句,此例中外层循环的循环体语句包括1.1 和 1.2 两条语句,就需要将这两条语句包含在一
10、对花括号中,成为复合语句,语法上视作一条语句。如果程序运行时输入了不符合要求数据,程序会有不正常的反应,如图所示,没有符合要求的图形可以输出。有时程序的不合理输入会引起运行错误,所以可以增加数据的合理性判断,处理可控制的不合理输入。图 2-4 不合理数据输入的输出示例图 2-5 数据合法性检查示例修改 sample02_04.cpp,输入 m、n 值后,判断m、n 是否小于0,小于 0 则输出出错提示后结束,否则表示输入合法,则输出矩形。C 语言提供了if 语句用于分支处理。【源程序 sample02_05.cpp】#include int main(void)int m,n;int i,j;
11、printf(input n:n);scanf(%d,&n);printf(input m:n);scanf(%d,&m);if(m0|n0)名师资料总结-精品资料欢迎下载-名师精心整理-第 4 页,共 11 页 -5/11 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);return 0;if 语句的基本格式为:if(条件表达式)语句 1 else 语句 2 本例中条件表达式m0|n0 表示 m 小于 0 或
12、者 n 小于 0,|是逻辑或运算。如果条件表达式成立执行语句1,否则执行语句2。语句 1 和语句 2 称为分支语句,是一条语句,如果分支的处理语句多于一条,要使用复合语句,增加一对花括号。如果程序只有条件表达式成立时做处理,不成立时不做处理,else分支可以省略,例如本例的 if 分支还可以改写为:if(m0|n0)printf(输入的数据不能为负值!n);return-1;当条件表达式成立,进入if 分支,执行return 语句,main 函数结束,退出程序。3.画一个任意字符构成的矩形绘制的矩形还有一个可定制的因素是绘制矩形的符号,程序运行时由用户输入一个符号绘制矩形,如图所示。图 2-6
13、 任意字符构成的矩形设置一个变量存放输出的字符,存放字符的变量的数据类型为char。处理一个字符的输名师资料总结-精品资料欢迎下载-名师精心整理-第 5 页,共 11 页 -6/11 入输出也可以用scanf 和 printf 语句,字符类型数据对应的格式控制符为%c,但更方便的方法是使用字符函数,字符的输入语句可以使用getchar 函数,字符的输出语句可使用putchar 函数。【源程序 sample02_06.cpp】#include int main(void)int m,n;int i,j;char ch;printf(input char:);ch=getchar();printf
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年用C语言编写简单程序 2022 年用 语言 编写 简单 程序

限制150内