简单的C语言程序设计.ppt
主讲教师主讲教师:王娟勤王娟勤信息工程学院信息工程学院 信息系统系信息系统系2023/2/202王娟勤联系方式:王娟勤联系方式:电话:87091337(office)办公室:信息工程学院 信息系统系205室2023/2/203自自主主学学习习及及听听讲讲掌握程序设计语言的基本知识掌握程序设计语言的基本知识。掌握常用算法掌握常用算法掌握结构化程序设计的思掌握结构化程序设计的思想方法,具有初步程序设计的想方法,具有初步程序设计的基本能力。基本能力。教学要求及学习方法语语 法法算算 法法方方 法法实实践践2023/2/204怎样学好编程?u 课前请做好预习课前请做好预习课前请做好预习课前请做好预习u 保持课堂安静,头脑清醒,思维活跃保持课堂安静,头脑清醒,思维活跃保持课堂安静,头脑清醒,思维活跃保持课堂安静,头脑清醒,思维活跃u 做好课堂笔记做好课堂笔记做好课堂笔记做好课堂笔记u 多阅读、多编写程序多阅读、多编写程序多阅读、多编写程序多阅读、多编写程序u 认真、独立、按时完成并提交作业认真、独立、按时完成并提交作业认真、独立、按时完成并提交作业认真、独立、按时完成并提交作业u 重视上机实践,有效利用宝贵的上机时间重视上机实践,有效利用宝贵的上机时间重视上机实践,有效利用宝贵的上机时间重视上机实践,有效利用宝贵的上机时间2023/2/205禁止做与课程实习无关的事情(如上网、聊天)禁止做与课程实习无关的事情(如上网、聊天)1编程题在上机前须事先在纸上写好,再上机调试编程题在上机前须事先在纸上写好,再上机调试2看懂编译信息,逐步学会各种调试方法看懂编译信息,逐步学会各种调试方法3上机要求上机要求第1章 简单的C程序设计2023/2/2071.1 程序和程序设计的概念 程序程序是用计算机语言描述的、为解决某一问题、满足一定是用计算机语言描述的、为解决某一问题、满足一定语法规则的语句序列。语法规则的语句序列。程序设计程序设计是把要求解的任务或设计好的算法转换为计算机是把要求解的任务或设计好的算法转换为计算机程序的全过程程序的全过程。计算机计算机是可以按照人们事先编写的是可以按照人们事先编写的程序程序高速、精确地进高速、精确地进行数据加工、处理的行数据加工、处理的电子装置电子装置。2023/2/208 计算机的语言在发展的过程中经历了三个阶段:计算机的语言在发展的过程中经历了三个阶段:如:表示如:表示2+301110000110101000010MOV AC,3ADD AC,22+3面向机器的二进制语言、面向机器的二进制语言、CPU直接运行。直接运行。面向机器符号化语言,翻译后运行。面向机器符号化语言,翻译后运行。面向问题的类自然语言,翻译后运行。面向问题的类自然语言,翻译后运行。编译或解释系统编译或解释系统SourceObject机器语言机器语言汇编语言汇编语言高级语言高级语言计算机的语言计算机的语言2023/2/2091.2 C语言出现的历史背景(自学)产生背景产生背景产生背景产生背景 产生过程产生过程产生过程产生过程 时间时间时间时间:19721973:19721973 地点地点地点地点:美国贝尔实验室美国贝尔实验室美国贝尔实验室美国贝尔实验室 目的目的目的目的:UNIX:UNIX操作系统操作系统操作系统操作系统 设计人设计人设计人设计人:Ken.Thompson:Ken.Thompson和和和和 C C标准标准标准标准 标准标准标准标准C:K&RC:K&R合著合著合著合著TheCProgrammingLanguageTheCProgrammingLanguage ANSIC:1983ANSIC:1983年年年年 87ANSIC:198787ANSIC:1987年年年年 19901990年国际标准的年国际标准的年国际标准的年国际标准的ANSICANSIC2023/2/201052 54 56 58 60 62 64 66 68 70 72 74 76 78 80 82 84 86 88 90 92 94 96AdaALGOL60ALGOL68PascalModula-2CPLBCPL BCC+JavaLISPPROLOGCOBOLFORTRAN77FORTRANPL/1Simula 67Smalltalk 80BASICANSI-BASICQBASIC VBFORTRAN902023/2/20111.3C语言语言的的特点特点允许直接访问物理地址、直接对硬件进行操作允许直接访问物理地址、直接对硬件进行操作允许直接访问物理地址、直接对硬件进行操作允许直接访问物理地址、直接对硬件进行操作用于解决大多数应用领域中的问题。用于解决大多数应用领域中的问题。用于解决大多数应用领域中的问题。用于解决大多数应用领域中的问题。语法限制不太严格、程序设计自由度大语法限制不太严格、程序设计自由度大语法限制不太严格、程序设计自由度大语法限制不太严格、程序设计自由度大C C语言中大小写字母代表不同含义。语言中大小写字母代表不同含义。语言中大小写字母代表不同含义。语言中大小写字母代表不同含义。2023/2/20121.4简单的简单的C语言程序语言程序例例1.1 第一个程序第一个程序 Hello,World!/*example1.1ThefirstCProgram*/#includemain()printf(Hello,World!n);注释编译预处理主函数语句输出:输出:Hello,World!语句结束符2023/2/2013 案例案例案例案例1.21.2#include#includemain()main()printf(printf(Hello,World!nHello,World!n);printf(printf(Iamastudent,mynameiswjqnIamastudent,mynameiswjqn););输出:输出:Hello,World!Iamastudent,mynameiswjq1.4简单的简单的C语言程序语言程序2023/2/2014#include#include#include#include main()main()main()main()int a,b,sum;int a,b,sum;int a,b,sum;int a,b,sum;a=123;a=123;a=123;a=123;b=456;b=456;b=456;b=456;sum=a+b;sum=a+b;sum=a+b;sum=a+b;printf(sum is%dn,sum);printf(sum is%dn,sum);printf(sum is%dn,sum);printf(sum is%dn,sum);案例案例1.31.3:计算并显示两个数字的和:计算并显示两个数字的和变量定义变量使用变量输出2023/2/2015#include#include#include#include main()main()main()main()int a,b,sum;int a,b,sum;int a,b,sum;int a,b,sum;a=123;a=123;a=123;a=123;b=456;b=456;b=456;b=456;sum=a+b;sum=a+b;sum=a+b;sum=a+b;printf(%d+%d=%dn,a,b,sum);printf(%d+%d=%dn,a,b,sum);printf(%d+%d=%dn,a,b,sum);printf(%d+%d=%dn,a,b,sum);案例案例1.41.4:计算并显示两个数字的和:计算并显示两个数字的和2023/2/2016#include#include#include#include main()main()main()main()int a,b,sum;int a,b,sum;int a,b,sum;int a,b,sum;printf(Please input two numbers:n);printf(Please input two numbers:n);printf(Please input two numbers:n);printf(Please input two numbers:n);scanf(%d%d,&a,&b);scanf(%d%d,&a,&b);scanf(%d%d,&a,&b);scanf(%d%d,&a,&b);sum=a+b;sum=a+b;sum=a+b;sum=a+b;printf(%d+%d=%dn,a,b,sum);printf(%d+%d=%dn,a,b,sum);printf(%d+%d=%dn,a,b,sum);printf(%d+%d=%dn,a,b,sum);案例案例1.51.5:计算并显示两个数字的和:计算并显示两个数字的和输入提示读入两个数2023/2/2017/*example1.2calculatethesumofaandb*/#include/*Thisisthemainprogram*/main()intadd(intx,inty);inta,b,sum;a=10;b=24;sum=add(a,b);printf(sum=%dn,sum);/*Thisfunctioncalculatesthesumofxandy*/intadd(intx,inty)intz;z=x+y;return(z);例例例例1.6 1.6 1.6 1.6 计算两个数之和。计算两个数之和。计算两个数之和。计算两个数之和。运行结果:运行结果:sum=34函数函数语句语句预处理命令预处理命令注释注释 主函数主函数 被调用函数被调用函数2023/2/2018格式特点格式特点 习惯用习惯用习惯用习惯用小写小写小写小写字母,大小写敏感字母,大小写敏感字母,大小写敏感字母,大小写敏感 不使用行号,不使用行号,不使用行号,不使用行号,无程序行无程序行无程序行无程序行概念概念概念概念 可使用空行和空格可使用空行和空格可使用空行和空格可使用空行和空格 常用常用常用常用锯齿形锯齿形锯齿形锯齿形书写格式书写格式书写格式书写格式main().main()inti,j,sum;sum=0;for(i=1;i10;i+)for(j=1;j10;j+)sum+=i*j;printf(“%dn”,sum);优秀程序员的素质之一:使用TAB缩进对齐有足够的注释有合适的空行2023/2/2019结构特点结构特点结构特点结构特点 函数与主函数函数与主函数函数与主函数函数与主函数 程序由一个或多个函数组成程序由一个或多个函数组成程序由一个或多个函数组成程序由一个或多个函数组成 必须有且只能有一个主函数必须有且只能有一个主函数必须有且只能有一个主函数必须有且只能有一个主函数mainmain()()程序执行从程序执行从程序执行从程序执行从mainmain开始,在开始,在开始,在开始,在mainmain中结束,其它函数通过嵌中结束,其它函数通过嵌中结束,其它函数通过嵌中结束,其它函数通过嵌套调用得以执行。套调用得以执行。套调用得以执行。套调用得以执行。每一个函数由函数首部和函数体组成。每一个函数由函数首部和函数体组成。每一个函数由函数首部和函数体组成。每一个函数由函数首部和函数体组成。程序语句程序语句程序语句程序语句 C C程序由语句组成程序由语句组成程序由语句组成程序由语句组成 用用用用“;”作为语句终止符作为语句终止符作为语句终止符作为语句终止符 注释注释注释注释/*/*/为注释为注释为注释为注释,不能嵌套不能嵌套不能嵌套不能嵌套 不产生编译代码不产生编译代码不产生编译代码不产生编译代码例:/*This is the main /*of example1.1*/*/非法 编译预处理命令编译预处理命令编译预处理命令编译预处理命令2023/2/2020/*example1.2calculatethesumofaandb*/#include/*Thisisthemainprogram*/main()函数首部函数首部inta,b,sum;a=10;b=24;函数体函数体sum=add(a,b);printf(”sum=%dn,sum);/*Thisfunctioncalculatesthesumofxandy*/intadd(intx,inty)函数首部函数首部intz;z=x+y;函数体函数体return(z);2023/2/2021编辑编辑链接链接编译编译执行执行1.5 运行C程序的步骤与方法C程序开发步骤file.exe程序代码的录入,生成源程序*.c语法分析查错,翻译生成目标程序*.obj与其它目标程序或库链接装配,生成可执行程序*.exe2023/2/20221.5运行运行C程序的步骤与方法程序的步骤与方法上机运行上机运行C程序的方法程序的方法Visualc+6.0环境介绍环境介绍VC+6.0集编辑、编译、连接及运行功能于一身,集编辑、编译、连接及运行功能于一身,称之为集成开发环境(称之为集成开发环境(IDE)。)。2023/2/20231.启动启动VC+6.0集成开发环境集成开发环境项目工作区项目工作区文件编辑窗口文件编辑窗口输出窗口输出窗口“开始开始”“程序程序”“MicrosoftVisualStudio6.0”“MicrosoftVisualC+6.0”2023/2/2024项目名项目名项目类型项目类型项目保存位置项目保存位置同时创建工作区同时创建工作区Win32 Console Application“工程工程”标签标签2.创建项目工作区和项目创建项目工作区和项目“文件文件”“新建新建”,弹出,弹出“新建新建”对话对话框。框。2023/2/2025“文件文件”“新建新建”,弹出,弹出“新建新建”对对话框。话框。“文件文件”标签标签文件类型文件类型C+Source File确保选中确保选中文件名文件名项目工作区项目工作区源程序源程序3.创建源程序文件创建源程序文件2023/2/2026“编译编译编译编译”“构件构件构件构件”输输出出窗窗口口4.源程序的编译和连接源程序的编译和连接2023/2/2027“编译编译编译编译”“执行执行执行执行”输输出出窗窗口口5.运行运行2023/2/2028练习练习1.打印图案:打印图案:o _ 2.已知三角形的已知三角形的3条边长,利用海伦公式计算三角形的面积条边长,利用海伦公式计算三角形的面积 2023/2/2029Wang juanqinWang juanqin