欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    用c语言编写简单程序.docx

    • 资源ID:2407376       资源大小:78.65KB        全文页数:15页
    • 资源格式: DOCX        下载积分:3金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    用c语言编写简单程序.docx

    1、用c语言编写简单程序实验二 用C语言编写简单程序实验目的1认识C程序根本语法中的变量、常量、语句、控制构造和函数等概念2理解构造化程序设计的三种根本构造;知道程序设计的过程,并运用到程序设计中3理解C语言函数的作用,并运用主函数、输入/输出函数解决简单问题。实验范例1. 画一个矩形要绘制一个如图2-1所示的矩形,可以使用printf语句输出5行星号。图2-1 一个简单的矩形【源程序】#includeint main(void) printf(*n);printf(*n);printf(*n);printf(*n);printf(*n);return 0;程序中一样的printf语句重复出现了5

    2、次。试想,假设要输出20行甚至更多行的矩形,不断重复地书写printf语句是很不方便的。程序语言对重复操作提供了循环构造加以描绘,引入一个计数的循环构造,程序可改写为:【源程序】#includeint main(void) int i; for(i=1;i=5;i+) printf(*n);return 0; for语句描绘了一个计数的过程,计数器从开始计数1,假设小于等于5,执行printf语句输出一行,然后计数器i增1i+。这样计数器i从1数到5,printf语句执行5次,输出5行星号。算法可以描绘为:循环i从1到5,每次增1: 输出一行星号for语句的根本格式为:for(e1;e2;e3

    3、)循环语句计数器i是一个记录整数的变量,变量对应一个内存的存储空间,可以存放程序中需要的数据。在C程序中使用变量,要先向系统申请内存空间,表示数据存放的数据是区分不同的数据类型的,在申请时要说明变量的数据类型,申请变量的语句称为变量定义,根本格式为: 变量名序列;可以一次定义一个变量,也可以同时定义多个一样数据类型的变量。语句int i;定义了一个整型变量i作为循环构造的计数控制变量。i=1;是变量的赋值语句,将整数1赋给变量i。赋值语句的功能是将右边的值赋值给左边的变量,赋值语句的根本格式为:=表达式;整数1在程序中称为常量,常量是各种数据类型数据的字面形式。例如9.27是double类型数

    4、据常量。i=5和i+是两个表达式,i=5是关系表达式,执行关系运算=;i+是算术表达式,执行+运算,变量i自增1。for语句的一对圆括号内三个表达式e1、e2和e3分别表示计数变量的初值、终值条件和变化,执行顺序为:先执行e1获取计数变量初值1,执行e2,判断计数变量是否符合循环条件i=5,条件符合那么执行循环体语句,接着执行e3改变计数变量的值,然后又回到e2,构成一个循环,循环条件不符合那么循环完毕。本例中i从1开始执行printf语句,执行一次,i增1,执行5次printf语句后, i的值增1到达6,不符合循环控制条件,循环完毕,输出5行星号。2. 画一个任意大小的矩形编写一个程序通常是

    5、要解决一类问题,而不是特定问题,如何打破矩形的固定款式,绘制任意大小的矩形呢?矩形的款式是由行数和每行的字符个数确定的,这两个值的变化,会改变矩形的形状,如图2-2所示。图2-2 任意矩形的输出这两个变化的值在程序中需要存放在变量中,例如行数储存在变量n中,每行的字符个数储存在变量m中。每执行一次程序,由用户设定不同的行数和每行的字符个数的过程是一个数据的输入过程。C语言提供了输入函数scanf承受用户从键盘输入的数据存储到变量中。【源程序sample02_03.cpp】#includeint main(void) int n; printf(input n:n); scanf(%d,&n);

    6、 printf(print rectangle with %d lines:n,n); for(int i=1;i=n;i+) printf(*n);return 0;运行例如:图2-3 n行矩形的输出程序中的scanf语句实现将用户输入数据8存储到整型变量n中。scanf语句的根本格式:scanf(格式控制串,地址序列);格式控制串中的%d是一个格式控制符,表示承受一个整型的数据,&是地址操作符,&n表示变量n的地址,这样scanf函数就可以将用户输入的8按整数编码,寻址变量n的地址,将数据存储到变量n的存储空间中。本例中的printf语句不但要输出一个字符串,还要输出变量n的值,print

    7、f语句的根本格式与scanf有些类似:printf(格式控制串,值序列);格式控制串由普通字符和格式控制符构成。print rectangle with %d lines:n中%d表示一个整数,用值序列中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:

    8、 1.2 输入回车 【源程序】#includeint 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;注意假设程序运行时输入了不符合要求数据,程序会有不正常的反响,如以下图,没有符合要求的图形可以输出。有时程序的不合理输入会引起运行错误,所以可以

    9、增加数据的合理性判断,处理可控制的不合理输入。图2-4 不合理数据输入的输出例如图2-5 数据合法性检查例如修改sample02_04.cpp,输入m、n值后,判断m、n是否小于0,小于0那么输出出错提示后完毕,否那么表示输入合法,那么输出矩形。C语言提供了if语句用于分支处理。【源程序】#includeint main(void) int m,n; int i,j; printf(input n:n); scanf(%d,&n); printf(input m:n); scanf(%d,&m); if(m0 |n0) printf(输入的数据不能为负值!n); else printf(pri

    10、nt 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或者n小于0,|是逻辑或运算。假设条件表达式成立执行语句1,否那么执行语句2。语句1和语句2称为分支语句,是一条语句,假设分支的处理语句多于一条,要使用复合语句,增加一对花括号。假设程序只有条件表达式成立时做处理,不成立时不做处理,else分支可以省略,例如本例的if分支还可以改写为:if(m0 |

    11、n0) printf(输入的数据不能为负值!n); return -1;当条件表达式成立,进入if分支,执行return语句,main函数完毕,退出程序。3. 画一个任意字符构成的矩形绘制的矩形还有一个可定制的因素是绘制矩形的符号,程序运行时由用户输入一个符号绘制矩形,如以下图。图2-6 任意字符构成的矩形设置一个变量存放输出的字符,存放字符的变量的数据类型为char。处理一个字符的输入输出也可以用scanf和printf语句,字符类型数据对应的格式控制符为%c,但更方便的方法是使用字符函数,字符的输入语句可以使用getchar函数,字符的输出语句可使用putchar函数。【源程序sample

    12、02_06.cpp】#includeint main(void) int m,n; int i,j; char ch; printf(input char:); ch=getchar(); printf(input n:); scanf(%d,&n); printf(input m:); scanf(%d,&m); printf(print rectangle with %d lines:n,n); for(i=1;i=n;i+) for(j=1;j=m;j+) putchar(ch); putchar(n); return 0;ch定义为一个字符型变量,调用getchar()函数会等待用户输

    13、入一个字符,返回值赋值给变量ch,getchar()函数的常用形式为: 变量=getchar();getchar()可以承受可打印的字符,也可以承受不可打印的控制字符例如回车符,所以在安排输入字符的位置要注意。本例中假设ch的输入安排在输入n、m之后,getchar承受的是输入m数据之后的回车键,所以要做以下处理:先使用一个getchar();语句承受回车键,再输入ch的值。 printf(input m:); scanf(%d,&m); getchar(); printf(input char:); ch=getchar();输出字符时使用了putchar函数,putchar函数的作用是输出

    14、一个字符,根本格式为:putchar(字符表达式)字符表达式可以是一个变量:putchar(ch); 将字符变量ch的值输出,也可以是一个常量:putchar(n); 输出一个换行符。注意字符常量的表示方式是用一对单引号标识,区别于用一对双引号标识的字符串:printf(n);。4. 构造一个画矩形的工具绘制一个空心的矩形如图2-5所示图2-7 空心矩形空心矩形的绘制分为三步,先画一根实心线,再画n-2根空心线,最后再画一根实心线。m个星号组成的实心线的算法在前面的程序中已经实现了,空心线的是有由前后两个星号、m-2个空格和一个换行构成。【源程序sample02_07.cpp】#include

    15、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(j=1;j=m;j+) printf(*); printf(n); for(i=2;in;i+) printf(*); for(j=2;jm;j+) printf( ); printf(*); printf(n); for(j=1;j=m;j+) printf(*); printf(n);return 0;

    16、空心矩形的算法: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个空格 2.1.2.1循环j从2到m-1,step 1: 2.1.2.1.1 输出一个空格 2.1.3 输出一个星号 2.1.4 换行3.输出一行实心行3.1循环i从1到m,step 1: 3.2 换行C程序中通常将提供或创立一些工具函数,完成一类独立功能。例如putchar可以输出一个字符,用户只需告诉putchar函数需要输出的字符是什么,写在一对圆括号中的数据成为接口参数。在本例中,可以先

    17、创立两个工具函数,draw_line函数绘制n列的实心线,draw_pointline函数绘制n列的空心线。void draw_line(int n)int i; for(i=1;i=n;i+) printf(*); printf(n);void draw_pointline(int n)int i; printf(*); for(i=2;in;i+) printf( ); printf(*); printf(n);函数定义的方式与main函数的定义一样,void表示这个函数没有返回值,故没有return语句。原括号中是参数,int n表示调用函数要给出一个整数参数值,这里n的含义是构成线的星

    18、号的个数。一对花括号中是功能实现语句。函数定义的根本格式: (函数参数定义表)函数体有了这一对工具函数,可以简化main的实现算法。空心矩形的算法改写为:1.输入m,n。2.输出一行m列实心行。3.输出n-2行空心行。循环i从2到n-1,step 1: 输出一行m列空心行。4. 输出一行m列实心行。完好程序代码如下:【源程序sample02_08.cpp】#includevoid draw_line(int n);void draw_pointline(int n);int main(void) int m,n; int i; printf(input n:n); scanf(%d,&n);

    19、printf(input m:n); scanf(%d,&m); printf(print rectangle with %d lines:n,n); draw_line(m); for(i=2;in;i+) draw_pointline(m); draw_line(m);return 0;void draw_line(int n)int i; for(i=1;i=n;i+) printf(*); printf(n);void draw_pointline(int n)int i; printf(*); for(i=2;in;i+) printf( ); printf(*); printf(n

    20、);使用工具函数时,要先进展函数声明,main函数定义前两行是函数draw_line和draw_pointline的函数声明,函数声明的根本格式如下,即函数定义的首部加分号: (函数参数变量定义表);无返回值的函数的调用方法直接写函数语句,根本格式为:(参数值列表);在函数调用时,注意接口参数的传值,按接口定义参数变量的类型和个数,对参数变量赋值。draw_line和draw_pointline都需要一个整数数据,获取每行星号的个数。draw_line(m)将main函数中变量m的值传递给draw_line函数的参数变量n。实验内容任务一:改错error02_01.cpp翻开程序文件error

    21、02_01.cpp,程序功能绘制一个n行n列的直角三角形,程序中有语法错误和逻辑错误,请改正错误使程序正确运行。图2-8 n行n列的直角三角形任务二:改错error02_02.cpp翻开程序文件error02_02.cpp,程序功能绘制一个n行n的等腰三角形,程序中有语法错误和逻辑错误,请改正错误使程序正确运行。图2-9 n行等腰三角形任务三:根据给出算法写程序编写程序输出如以下图所示n行三角形。(ex02_01.cpp)图2-10 直角三角形22.循环i从1到n,step 1: 2.1循环j从1到i-1,step 1: 输出一个空格i到n,step 1: 输出一个星号任务四:改写改写samp

    22、le02_08.cpp,要求如下(ex02_02.cpp)1编写一个函数drawRectangle,作用是调用函数draw_line和draw_pointline 画一个n行m列的矩形。2改写main函数,调用drawRectangle完成矩形的绘制。任务五:改写改写sample02_08.cpp,绘制一个任意字符构成的空心矩形,如图2-7,要求:(ex02_03.cpp)1改写函数draw_line和draw_pointline,增加一个字符型参数变量表示输出字符,改写输出语句,按接口字符参数绘制线。2按修改好的draw_line和draw_pointline函数定义修改函数声明,和main

    23、函数的实现。任务六 编写程序(ex02_04.cpp)运用工具函数自行设计绘制一个图案,可以自己按需创立新的工具函数。 /画一条从start开始到end完毕的由*组成的线段 void line(int start,int end ) /*draw a line*/ int i; for(i=1;istart;i+) /画start-1个空格 printf( ); for(i=start;i=end;i+)/画*构成的线段 printf(*); printf(n); /回车 /画一条从start到end的两端星号中间空格的线段 void point(int start,int end ) int i; for(i=1;istart;i+) /画start-1个空格 printf( ); if(start=end)printf(*n); else printf(*); for(i=start+1;iend;i+)/画*构成的线段 printf( ); printf(*n) ; /回车


    注意事项

    本文(用c语言编写简单程序.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开