资源描述
第一章简单C语言设计,简单的C程序实例,/*一个简单的C程序实例*/*purpose:Ihaveadreamauthor:ZhangWeigangcreated:2008/06/3021:18:08*/#include#includevoidmain(void)intnNumber1;nNumber1=1;printf(“HelloClanguage!n”);printf(“IhaveadreamthatonedayIwillbeskillfulinCprogramming!n”);printf(“IhaveadreamthatonedayIwillbeafamouscomputerscientist!n”);printf(“IhaveadreamthatonedayIwillsolvetheGoldbachsconjectureproblemand”“provethat%d+%d=%dbyusingC!n”,nNumber1,nNumber1,2);printf(“Ihavaadreamtoday!n”);,注释,打开另一个文件,主函数名,变量声明语句,赋值语句,函数调用语句,C程序结构,C程序结构,简单程序扩展,计算器解决方案,(1)变量声明:声明的变量用于存放数据;(2)变量初始化:通过变量赋值或通过键盘输入给出;(3)输出结果:将结果输出到屏幕或窗口;(4)在对变量初始化时,要保证作除法运算有意义,即保证除数不为零;(5)取余运算仅对于整数有意义。,计算过程实现及分析,#include#includevoidmain(void)intlOperator,rOperator;/*定义两个整型变量,用于存放左右操作数*/intnResult1,nResult2,nResult3,nResult4,nResult5;/*定义五个整型变量,用于存放结果*/lOperator=4;rOperator=5;nResult1=lOperator+rOperator;/*一计算lOperator与rOperator相加并将和存入nResult1中*/nResult2=lOperator-rOperator;/*一计算lOperator与rOperator相减并将差存入nResult2中*/nResult3=lOperator*rOperator;/*一计算lOperator与rOperator相乘并将积存入nResult3中*/nResult4=lOperator/rOperator;/*一计算lOperator与rOperator相除并将商存入nResult4中*/nResult5=lOperator%rOperator;/*一计算lOperator与rOperator的模并将余数存入nResult5中*/printf(“%d“,nResult1);/*将和显示在屏幕上*/printf(“%d“,nResult2);/*将差显示在屏幕上*/printf(“%d“,nResult3);/*将积显示在屏幕上*/printf(“%d“,nResult4);/*将商显示在屏幕上*/printf(“%d“,nResult5);/*将余数显示在屏幕上*/,关于基本整型,变量的的命名规则,lOperator,rOperator,nResult为变量标识符,变量的名字遵循标识符的命名规则:(1)由英文字母、数字和下划线组成,其必须以英文字母或下划线开头;(2)不允许使用关键字作为标识符的名字;(3)标识符命名应做到“见名知意”;(4)标识符区分大小写。,关键字,关键字(Keyword)又称保留字,它们是C语言中预先规定的具有固定含义的一些单词,例如:int,return等。C语言提供的关键字总共有32个,详见附录C。,变量声明的一般形式,类型说明符变量名标识符1,变量名标识符2,.;,技巧:在使用变量时,必须遵循”先定义、后使用”的原则。,有关表达式与表达式语句,(1)简单赋值运算符记为“=”,它的作用是将一个表达式的值赋给一个变量。由“=”连接的式子称为赋值表达式。其一般形式为:变量=表达式(2)赋值运算符是右结合性运算符。如x=y=z,由于“=”的右结合性,应先执行y=z,再执行x=(y=z)运算。,有关表达式与表达式语句,(3)如果赋值运算符两边的数据类型不相同,系统将自动进行类型转换,即把赋值号右边的类型换成左边的类型。(4)在程序中常常需要对变量赋初值,以便使用变量。在定义时赋以初值的方法,称为初始化。为了方便,在变量说明中赋初值的一般形式为:类型说明符变量1=值1,变量2=值2,;,有关算术运算符,(1)描述数据运算的特殊符号称为运算符。(2)算术运算符的优先级:当不同优先级的运算符进行混合运算时,按照由高到低运算符的优先级进行计算。(3)算术运算符的结合性:同一优先级的算术运算符进行混合运算时,结合性是按自左至右,即先左后右。,技巧:在数值运算时,一般先考虑运算符的优先级,再考虑结合性。,有关函数printf(),printf函数调用的一般形式为:,printf(“格式控制字符串”,输出表列);,结果分析,编译运行程序compute.c,显示程序运行结果,如图1-12所示。,图1-12compute.c程序运行结果,关于实型,实型家族包括:单精度型(float)和双精度型(double)。实型的取值范围与值的精度与机器有关,一般float占4字节(32位),提供7位有效数字;double占8字节,提供15-16位有效数字。,程序清单1-3division.c,/*一个关于除法运算符的程序实例*/*purpose:验证/运算符的操作数都为整数或有个为实数的结果是不同的author:Wangweicreated:2008/07/1015:19:20*/#include#includevoidmain(void)printf(“%d,%dn“,20/7,-20/7);printf(“%f,%fn“,20.0/7,-20.0/7);,注意:,求余运算符(%)要求参与运算的量均为整型,运算的结果等于两数相除后的余数。两整数相除结果仍为整数,小数部分全部舍去,并非四舍五入。,1.2.4深入解读,1.细节的解读数据是程序处理的对象,数据可以依其本身的特点进行分类。在程序中,我们使用变量这个抽象实体来存储计算机中的数据,变量的使用要遵从先声明后使用的规则。当为不同的变量赋值的时候,就必须使用赋值运算符。,程序清单overflow.c程序1-4,/*一个关于整数溢出的程序实例*/*purpose:数据超过表示范围就会溢出author:YanJianencreated:2008/07/1015:58:22*/#include#includevoidmain(void)shortintiNum;iNum=32767;iNum=i_num+1;printf(“num=%dn“,iNum);,查看一下结果是什么,思考一下为什么会出现这种情况呢?,2.如何解决一个问题,第一步,分析问题。第二步,给出解决问题的方法和步骤。第三步,代码编写。第四步,正确性验证。,3.编程风格的问题,程序清单1-5style.c/*一个代码风格混乱的程序实例*/*purpose:代码混乱的弊端author:YanJianencreated:2008/07/1016:21:23*/#include#includelongb,c=2800,d,e,f2801,g;voidmain(void)for(;b-c;)fb+=10000/5;for(;d=0,g=c*2;c-=14,printf(“%.4d”,e+d/10000),e=d%10000)for(b=c;d+=fb*10000,fb=d%-g,d/=g-,-b;d*=b);getch();,能读懂吗?,有关编程风格,非技术性风格要求:程序代码的布局,包括注释和格式控制的使用;变量和函数的命名规则与标准;代码书写习惯等内容;技术性风格要求包括程序结构的选择、程序语句的使用以及编程技巧等方面内容,要求读者随着学习内容的不断深入,仔细研究C语言的技术特点,在实践中探索、改进。,有关编程风格,(1)选择合适的名字对函数、常量和变量的命名,要采用统一的格式或长度要求。(2)运行缩进规则。(3)多行书写。(4)适当的使用注释。,1.3VC+6.0编译环境简介,1.3.1VC+6.0的安装与启动VC+6.0的安装过程,详见附录B。安装好VC+6.0后,按照开始程序MicrosoftVisualStudio6.0MicrosoftVisualC+6.0即可启动VC+6.0。,1.3.2源程序录入,(1)建立工作目录(2)建立工程项目(3)新建C源程序,图1-15New对话框中创建项目图1-16New对话框中创建源文件,1.3.3编译、连接和运行,(1)编译组建(Build)编译(Compile),快捷键Ctrl+F7,如图1-17所示(图中1)。,编译或组建结果,1编译快捷键,1编译菜单,2组建菜单,2组建快捷键,3执行菜单,3执行快捷键,1.3.3编译、连接和运行,(2)连接:组建(Build)组建(Build),快捷键F7,如图1-17所示(图中2)。成功后,生成CompT.exe可执行文件。(3)链接建立exe:组建(Build)执行(Execute),快捷键Ctrl+F5,如图1-17所示(图中3)。运行没有问题,可弹出一命令行窗口,显示结果。(4)编译、连接和运行的含义,1.3.4调试,(1)设置断点,(2)开始调试,或单击此处,运行至断点,(3)单步运行,(4)自动查看变量,1.3.5退出编译环境,(1)关闭在菜单中选择:文件(File)关闭工作空间(CloseWorkSpace)。(2)退出在菜单中选择:文件(File)退出(Exit)。,1.4本章小结,知识的层面(1)函数是C语言的基本单位(2)注释的使用(3)预处理指令#include(4)空白符与分隔符(5)数据类型与变量的声明(6)算术运算符和赋值运算符(7)VC+6.0编译环境,方法的层面,(1)分析问题的方法通过学习简易计算器的设计与实现,初步了解了软件制作的过程:功能分析,解决方案(画出流程图),代码编写。(2)编程风格的培养计算机程序设计是一门艺术,不仅仅体现在程序本身的算法选择、结构设置以及编程技巧等方面。,
展开阅读全文