第一部分:熟悉C语言程序开发环境及表达式
知识点概述
1.结构化程序有三大基本结构:顺序、分支和循环。
2.算法可以理解为有基本运算及规定的运算顺序所构成的完整的解题步骤。或者看成按照要求设计好的有限的确切的计算序列,并且这样的步骤和序列可以解决一类问题。
·有穷性:一个算法应包含有限的操作步骤而不能是无限的。
·确定性:算法中每一个步骤应当是确定的,而不能应当是含糊的,有零个或多个输入输出,有一个或多个输出。
·有效性:算法中每一个步骤应当能有效地执行,并得到确定的结果。
(对于程序设计人员,必须会设计算法,并根据算法写出程序。可以用自然语言、流程图、伪代码和计算机语言表示算法。)
3.C语言的主要特点有:语言简洁、紧凑,使用方便、灵活。
ANSIC一共只有32个关键字;控制语句丰富,程序书写自由,主要用小写字母表示,压缩了一切不必要的成分;运算符丰富,共有34种;数据结构类型丰富;具有结构化的控制语句;语法限制不太严格,程序设计自由度大;C语言允许直接访问物理地址,能进行位(bit)操作,能实现汇编语言的大部分功能,可以直接对硬件进行操作。因此有人把它称为中级语言;生成目标代码质量高,程序执行效率高;与汇编语言相比,用C语言写的程序可移植性好。
4.用传统流程图表达如下:
![315594e995925f617f5b08369080b47e.png](https://i-blog.csdnimg.cn/blog_migrate/9d4bd9d8571a17566abf26486fde16e2.jpeg)
实验案例
(参考书籍:安徽工程大学C语言程序设计配套实验教材)
一、实验目的
1.熟悉C语言程序在所用计算机系统上调试与运行的一般步骤和过程。
2.掌握C语言的数据类型,熟悉如何定义一个整型、字符型和实型变量,以及对其赋值的方法。
3.学会使用C语言基本运算符,为后续的学习打下基础。
4.通过运行简单的C语言程序,初步了解C语言程序的结构特点。
二、实验内容
1.先写出P37页第一个程序的预期结果。输入以下程序并保存,进行编译、连接和运行,查看运行结果。熟悉所用的系统使用什么命令进行编译、连接和运行。编译和连接后查看所得到的目标程序的后缀。
2.已知P37页第二个程序,要求分析程序的功能;若运行该程序时,输入30,50,计算出预期的结果;输入-30,-50,预期的结果又是多少;在VC++6.0下运行该程序,将结果与上述两运行结果进行比较;与第一题比较,体会两者的不同。
3.修改P38页第一个程序,使之实现以下功能:已知a和b的初始值为25,求a和b之和,并存储在c中。分析程序出错的原因,并上机调试该程序。
4.先写出P38页第二个程序的预期结果,上机输入并运行,验证结果并分析。
5.先写出P38页第三个程序的预期结果,上机输入并运行,验证预期结果并分析。要求运行程序,记下并分析结果;将第4行“int m,n”改为 char m,n; 运行程序并观察结果,与原先运行结果进行对比;将第5行“m=101;”和第6行“n=69;”语句改为m='e';n='E'; 再运行程序,并观察结果,与上一结果进行对比;再将第5行和第6行改为m=e; n=E; 再运行程序,并观察结果。如果产生错误,请分析原因;再将第5行和第6行改为m=305;n=322;再运行程序,并观察分析运行结果。
6.编写一个C程序,输入a,b,c3个整数,求这3个数之和。具体要求是在VC环境或其他编译环境下编辑该程序,然后进行编译和连接;运行该程序,检查自己编写的程序是否正确。
三、算法流程图或实验步骤(可根据需要增删、修改)
1.(1)算法流程图:
#includevoid main( ){ int a,b,c; a=30; b=50; c=a+b; printf("c=%d",c);}
(2)实验步骤:
双击打开VC++6.0→Files→New→Files→C++source File→文件名:program1011.c→位置:E:\123\→确定→输入代码→Buid→是→确认0error(s) 0warning(s)后→BuidExecute→查看运行结果
2.(1)算法流程图:
#includevoid main( ){ int a,b,c; scanf("%d,%d",&a,&b); c=a+b; printf("c=%d",c);}
(2) 实验步骤:
①Files→Close Workspace→Files→New→Files→C++source File→文件名:program1012.c→位置:E:\123\→确定→输入代码→Buid→是→确认0error(s) 0warning(s)后→BuidExecute→查看运行结果
②在运行结果页面输入 30,50→回车
③在运行结果页面输入 -30,-50→回车
3.(1)算法流程图:
#includevoid main( ){ int a=25,b=25,c; c=a+b; printf("a+b=%d",c);}
(2)实验步骤:
Files→Close Workspace→Files→New→Files→C++source File→文件名:program1013.c→位置:E:\123\→确定→输入代码→Buid→是→有错误→将a=b=25更换成a=25,b=25→a+b=c;更换成c=a+b;→将printf("a+b=c",a,b,c);改成printf("a+b=%d",c);→确认0error(s) 0warning(s)后→BuidExecute→查看运行结果
4.(1)算法流程图:
#includevoid main( ){ int i,j,m,n,u=0,v=0; i=20;j=22; m=++i;n=j++; u+=i%2;v-=j/3; printf("i=%d,j=%d,m=%d,n=%d,u=%d,v=%d\n",i,j,m,n,u,v);}
(2)实验步骤:
Files→Close Workspace→Files→New→Files→C++source File→文件名:program1014.c→位置:E:\123\→确定→输入代码→Buid→是→确认0error(s) 0warning(s)后→BuidExecute→查看运行结果
5. (1)算法流程图:
#includevoid main( ){ int m,n; m=101; n=69; printf("%d\t%d\n",m,n); printf("%c\t%c\n",m,n);}
(2)实验步骤:
Files→Close Workspace→Files→New→Files→C++source File→文件名:program1015.c→位置:E:\123\→确定→输入或改动代码→Buid→是→确认0error(s) 0warning(s)后→BuidExecute→查看运行结果
6.(1)算法流程图:
#includevoid main( ){ int a,b,c,sum; scanf("%d,%d,%d",&a,&b,&c); sum=a+b+c; printf("a+b+c=%d",sum);}
(2)实验步骤:
Files→Close Workspace→Files→New→Files→C++source File→文件名:program1016.c→位置:E:\123\→确定→输入代码→Buid→是→确认0error(s) 0warning(s)后→BuidExecute→查看运行结果
四、 实验结果及分析
1.预期结果是80;
2.(1)该程序的功能是计算出输入任意整数a与b的和;
(2)预期结果是80;
(3)预期结果是-80;
(4)一致;
(5)第一题计算的是两定值的和,本题利用scanf函数计算的是输入的任意两个整数的和
3.出错原因:
(1)b未定义;
(2)等号左边应该是被赋值者c,右边是赋值量;
(3)输出部分应赋予c的值,a+b=c仅仅输入字符串a+b=c
4.预期结果:i=21 j=23 m=21 n=22 u=1 v=-7
编程结果:i=21;j=23;m=21;n=22;u=1;v=-7
结果一致
5.(1)101 e 69 E
(2)101 e 69 E
(3)101 e 69 E
(4)未定义变量e和E
(5)101 e 69 E
6.可运行,经试验该程序正确。
五、实验体会、问题讨论
1.所有变量一定要在使用前先定义;
2.输出时注意结果是字符串还是算出的值;
3.关闭程序时不可直接关闭,必须点 “关闭工作空间”。
注:机器人工程专业(jqrgczy)公众号将定期整理推送《C语言程序设计》学习指导资料与资源,方便广大学生更轻松掌握该门课程!同时,《Python程序设计》也在策划中!
![c665dd630c39b92eeb241680d153007e.png](https://i-blog.csdnimg.cn/blog_migrate/1cec291669468a5ebebaeec096b99a79.png)
文字 | 李杨
编辑 | 袁梦雨
校审 | 潘颢
![6dd8744384bbf0bdae52ca505a012e3b.png](https://i-blog.csdnimg.cn/blog_migrate/b178de0ffe9b2043041e3acc2a9d5be6.png)
提问