C语言程序设计2完整版教学课件全书电子讲义(最新).ppt
《C语言程序设计2完整版教学课件全书电子讲义(最新).ppt》由会员分享,可在线阅读,更多相关《C语言程序设计2完整版教学课件全书电子讲义(最新).ppt(475页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、C语言程序设计第一讲 程序设计与C语言(2学时)计算机学院主要内容1.1 程序设计课程目标1.2 程序设计概述1.3 C语言概述21.1 程序设计课程目标课程要求课程目标3课程要求1.学会从计算机角度思考问题2.培养学生逻辑思维能力和面向过程的程序设计方法3.能够针对非数值计算的具体问题选择合理的存储结构及构造较有效率的算法4.运用C语言编制结构清晰、可读性好的程序5.会设计测试用例,完成程序的测试,能撰写该程序的技术报告6.具备面向过程程序的独立设计及实现能力45用计算机解决问题示例某地刑侦大队对涉及6个嫌疑人的一桩疑案进行分析得到以下结论,试编一程序,将作案人找出来。1.A、B至少有1人作
2、案;2.A、E、F 3人中至少有2人参与作案;3.A D不可能是同案犯;4.B、C或同时作案,或都与本案无关:5.C、D中有且仅有1人作案;6.如果D没有参与作案,则E也不可能参与作案。课程目标61.培养逻辑思维和程序设计思想,重点培养分析问题和使用C语言进行程序设计以解决实际问题的能力。2.熟练掌握C语言基础知识、C语言程序结构、语法及函数库、简单算法和数据结构的设计方法。3.了解并初步掌握当前软件行业公认的程序设计风格和规范,增强程序可读性和易扩展性;能够熟练使用一种常用的编程工具和集成开发环境进行程序设计、编译、测试及调试。1.2 程序设计概述程序设计语言发展语言实现及开发环境78程序无
3、处不在计算机移动设备外设智能设备9什么是程序一系列遵循一定规则并能正确完成特定功能的代码或指令序列通常包括数据结构与算法两部分#includeintmain()inta=3,b=2,c=5;intd=a*b+c;printf(ab+c=%dn,d);return0;源程序源程序a.ca.c可执行程序可执行程序编译编译链接链接01100111100110程序设计语言及其发展程序设计语言一套规范的集合,主要包括该语言使用的字符集,直接和间接支持的数据类型集合、运算符集合、关键字集合、指令集合、语法规则、以及对特定构造的支持。11程序设计语言及其发展1834第一台机械式计算机(最早的程序员Ada)1
4、896最早的程序载体穿孔卡片1937“图灵机”数学模型1952MIT创建了汇编语言1953IBM研制Fortran语言1965BASIC语言出现1972贝尔实验室发明C语言20世纪80年代贝尔实验室发明C+语言1983Borland公司研制Turbo Pascal1991-Python1995Java语言诞生2002Microsoft发布.NET12程序设计语言及其发展机器语言汇编语言高级语言(C,Java,C+,C#)13高高级级语语言言编编译译问题:计算d=ab+c00000001000000001000 将单元将单元1000的数据的数据(a)装入寄存器装入寄存器0000000010001
5、00001010 将单元将单元1010的数据的数据(b)装入寄存器装入寄存器100000101000000000001 将寄存器将寄存器1的数据乘到寄存器的数据乘到寄存器0上上(axb)00000001000100001100 将单元将单元1100的数据的数据(c)装入寄存器装入寄存器100000100000000000001 将寄存器将寄存器1的数据累加到寄存器的数据累加到寄存器0上上(axb+c)00000010000000001110 将寄存器将寄存器0的数据写入内存单元的数据写入内存单元1110(d=axb+c)机器语言load 0 a 将单元将单元1000的数据的数据(a)装入寄存器
6、装入寄存器0load 1 b 将单元将单元1010的数据的数据(b)装入寄存器装入寄存器1mult 0 1 将寄存器将寄存器1的数据乘到寄存器的数据乘到寄存器0上上(axb)load 1 c 将单元将单元1100的数据的数据(c)装入寄存器装入寄存器1add 0 1 将寄存器将寄存器1的数据累加到寄存器的数据累加到寄存器0上上(axb+c)save 0 d 将寄存器将寄存器0的数据写入内存单元的数据写入内存单元1110(d=axb+c)汇编语言d=a*b+c高级语言程序设计语言热度(TIOBE Index)程序设计语言热度(TIOBE Index)16语言实现具体地实现一种语言的各种特征并支持
7、特定的编程模式的技术和工具。表现形式:编译器(Compiler)和连接器(Linker)。语言是标准的但语言实现是因厂家而异的常见C语言实现:Borland C、Microsoft C、GCC 17开发环境泛指支持软件开发的一切工具操作系统代码编辑器编译器链接器调试器18开发环境集成开发环境(IDE)将编辑器、编译器、连接器和调试器集成在一起的开发工具C/C+集成开发环境:Dev C+Code BlocksVisual C+Eclipse19命令行下需要记住编译命令不方便调试集成开发环境下操作方便,但后台仍然是以命令行方式运作V.S.1.3 C语言概述C语言简介(特点,发展等)C程序框架(主函
8、数,语句,注释等)2021C语言能做什么纯粹的C语言只能做计算和文字处理扩充了函数库的C语言几乎可以完成任何和程序控制有关的任务C语言和第三方函数库,可以完成应用程序设计,嵌入式程序设计,驱动程序设计,游戏,.22C语言简介C 语言简史演变:ALGOL 60CPL BCPL B C 1973 Dennis Ritchie&Brian Kernighan(Bell Labs.)为开发 UNIX 而设计 C 语言的标准化ANSI C 标准化委员会:1983C89和C90C99C1123C语言特点中级语言:介于高级语言与低级语言之间高级语言的结构化与模块化(高级语言基本特性)低级语言的控制性与灵活性
9、(指针,位操作)结构化顺序结构、分支结构、循环结构模块化函数、函数库可移植性虽然可在多种系统下使用,但可移植性不是非常好24第一个C程序/*hello.c:The first program author:wanbo date:2017/10/9*/#include int main()/single line comment printf(*Hello,world*n);return 0;25C源程序构成头文件包含条件编译语句宏定义说明部分全局变量函数声明其它函数主函数(main)执行部分常量/*hello.c:The first program author:wanbo date:2010
10、/10/9*/#include int main()/single line comment printf(*hello,world*n);return 0;预处理部分26一个最简单的C程序框架#include int main()return 0;在这里可以添加完成特定任务的代码这个头文件是绝大多数C程序必须包含的程序结束27main函数main函数的两种常见形式int main()return 0;int main(int argc,char*argv)return 0;命令行参数28main函数C程序中可以有多个函数但必须有且只能有一个main函数所有C程序都从main函数开始执行mai
11、n函数的名字不能改变(包括大小写)main函数由系统调用Main和main是不同的29语句和注释语句包含一个或多个表达式数值运算、函数调用等语句以英文分号(;)结束一条语句可以分成多行书写C语言使用自由格式的语法自由格式与代码风格注释多行注释用/*/来分界单行注释用/开头/*多行注释多行注释 hello.c:The first program author:wanbo date:2017/10/9*/#include int main()/单行注释单行注释 printf(*hello,world*n);return 0;30自由格式与代码风格#include int main()printf(
12、hello world);return 0;#include int main()printf(hello worldn);return 0;#include int main()printf(hello world);return 0;良好的代码风格适当的注释适当的换行适当的缩进适当的空行V.S.31建立一个可执行程序编辑(Edit)编译(Compile)链接(Link)f1.hf2.hf3.hs1.cs2.cprog.exe链接链接s1.objs2.obj编译编译编辑编辑32命令行程序和GUI程序Windows下的文件复制命令行程序和GUI程序命令行下的文件复制33命令行程序和GUI程序一
13、个C语言完成的文件复制程序(fcopy.c)34命令行才是本质逻辑,GUI只是建立在本质逻辑上的用户接口。#include#include#defineBUF_SIZE1024intmain(intargc,char*argv)FILE*fp1,*fp2;unsignedcharbufBUF_SIZE;intn;fp1=fopen(argv1,rb);fp2=fopen(argv2,wb);don=fread(buf,1,BUF_SIZE,fp1);fwrite(buf,1,n,fp2);while(n=BUF_SIZE);fclose(fp1);fclose(fp2);return0;35小
14、结重点1:了解程序设计相关概念重点2:熟悉C语言源程序框架重点3:熟悉集成开发环境的使用重点4:熟悉计算机基本操作及命令行重点5:熟悉机试系统使用36作业作业完成平台上的学习在你的开发环境中编译、运行本节中的两个程序试着修改第一个程序(hello.c)让它输出别的内容熟悉C语言源程序结构熟悉命令行用法C语言程序设计第二讲 数据对象与计算(4学时)计算机学院一个温度转换的问题一个温度转换的问题已知华氏温度已知华氏温度(用用f表示)到摄氏温度(用表示)到摄氏温度(用c表示)的转换公式为:表示)的转换公式为:c=5/9 (f-32),写一个程序将输入的华氏温度转换为摄氏写一个程序将输入的华氏温度转换
15、为摄氏温度,输出结果保留两位小数温度,输出结果保留两位小数381.已知(输入):华氏温度f2.计算过程:c=5/9 (f-32)3.结果(输出):输出摄氏温度c问题转换为程序问题转换为程序需要解决的问题需要解决的问题1.c1.c和和f f在程序中用什么在程序中用什么名字名字表示(标识符问表示(标识符问题)?题)?2.c2.c和和f f在程序中用什么在程序中用什么数据类型数据类型表示?表示?3.c3.c和和f f的值如何给定?(的值如何给定?(输入输入和和赋值赋值问题)问题)4.4.数学表达式数学表达式c=5/9 (f-32)在在C程序中程序中如如何表示及计算(何表示及计算(C C语言语言表达式
16、、运算符表达式、运算符、优先优先级级)?)?5.5.如何如何输出输出c c的值?(的值?(输出、精度控制输出、精度控制)39目标目标用用C C语言程序解决简单计算问题语言程序解决简单计算问题掌握数据对象的表示方法掌握数据对象的表示方法掌握掌握C C语言表达式的写法语言表达式的写法掌握掌握C C语言输入语言输入/输出方法输出方法40主要内容主要内容数据对象表示数据对象表示2.1 2.1 基本字符、标识符、关键字基本字符、标识符、关键字2.2 2.2 数据、类型、变量数据、类型、变量计算过程计算过程2.3 2.3 运算符、表达式与计算运算符、表达式与计算用户交互用户交互2.4 2.4 结果输出与数
17、据输入结果输出与数据输入小结小结412.1 2.1 基本字符、标识符、关键字基本字符、标识符、关键字解决数据对象命名问题解决数据对象命名问题在在C C语言中可以使用哪些字符?语言中可以使用哪些字符?在在C C语言中给对象命名要遵循哪些规则?语言中给对象命名要遵循哪些规则?是否符合命名规则的名字都可以使用?是否符合命名规则的名字都可以使用?42基本字符基本字符数字字符:数字字符:0 09 9大小写拉丁字母:大小写拉丁字母:a az z,A AZ Z;其他一些可打印(可以显示)的字符,包括:其他一些可打印(可以显示)的字符,包括:!%&*()_-+=:;,.?/|!%&*()_-+=:;,.?/|
18、特殊字符,如空格符、换行符、制表符等特殊字符,如空格符、换行符、制表符等431.在注释中可以使用在注释中可以使用2.在双引号内可以使用在双引号内可以使用中文字符能中文字符能否使用?否使用?对象命名规则对象命名规则程序中一个程序中一个程序对象的名字称为的名字称为标识符标识符,该名字必须满足以下规则该名字必须满足以下规则由由字母、数字和下划线(_)构成的一个构成的一个连续序列,不能有空白字符(键盘上的空格键、序列,不能有空白字符(键盘上的空格键、TABTAB键)键)第一个字符必须是字母或下划线第一个字符必须是字母或下划线_(注意下划线_与横线-的区别)区别大小写:区别大小写:NAMENAME和和n
19、amename是不同的标识符是不同的标识符44标识符示例标识符示例45标识符标识符合法性合法性abcdA_great_machineBeijingkey map3set_f2048:ab4C_Programming合法合法合法合法合法不合法不合法不合法标识符命名惯例标识符命名惯例尽量使用有意义的单词尽量使用有意义的单词第一个字符尽量不使用下划线第一个字符尽量不使用下划线标识符由多个单词构成时可以每个单词首标识符由多个单词构成时可以每个单词首字母大写字母大写标识符不宜太长,可以适当使用简写标识符不宜太长,可以适当使用简写保持命名风格的一致性保持命名风格的一致性46几种常见命名规则几种常见命名规则
20、驼峰命名法(Camel)混合使用大小写字母来构成变量和函数的名字例如:MyData匈牙利命名法(Hungarian)在变量名前面加上相应的小写字母的符号标识作为前缀,标识出变量的作用域,类型等例如:iMyData帕斯卡(Pascal)命名法:与骆驼命名法类似只不过骆驼命名法是首字母大写,而帕斯卡命名法是首字母小写例如:myData47关键字关键字C C语言合法标识符中的一个特殊的小集合语言合法标识符中的一个特殊的小集合作为关键字的标识符在程序里具有语言预作为关键字的标识符在程序里具有语言预先定义好的特殊意义,不能用于其他目的先定义好的特殊意义,不能用于其他目的不能作为普通的名字(标识符)使用不
21、能作为普通的名字(标识符)使用48C C语言的语言的3232个关键字个关键字49auto break case charconst continue default dodouble else enum externfloat for goto ifint long register returnshort signed sizeof staticstruct switch typedef unionunsigned void volatile while问题转换为程序问题转换为程序需要解决的问题需要解决的问题1.1.摄氏温度摄氏温度c c和华氏温度和华氏温度f f在程序中用什么在程序中用什么
22、名字表示(表示(标识符问题)?)?50可以就用可以就用c c表示摄氏度,表示摄氏度,f f表示华氏度表示华氏度问题转换为程序(版本问题转换为程序(版本0 0)下面的程序正确吗?下面的程序正确吗?51intmain()f=20;c=5/9*(f-32);return0;如何才能让C语言编译器识别c和f?Error f undeclaredError c undeclared 2.2 2.2 数据、类型、变量数据、类型、变量解决数据对象的存储和表示问题解决数据对象的存储和表示问题计算机对不同的数据类型有不同的存储和表计算机对不同的数据类型有不同的存储和表示方法示方法计算机能够表示的数值范围总是有限
23、的计算机能够表示的数值范围总是有限的52 5.0和5在数学上是相同的,但在计算机内部表示上是不同的 2356.4359是一个有限小数,但在计算机上表示时可能不够准确数据与类型数据与类型C C语言的基本数据类型包括语言的基本数据类型包括整数类型整数类型实数类型实数类型字符类型字符类型程序中的每一个数据都必定属于某一种类型(程序中的每一个数据都必定属于某一种类型(基本类型或自定义类型)每一种数据类型都有每一种数据类型都有表示方式(编码)和(编码)和表示范围数据类型确定了数据类型确定了数据对象支持的运算53整数类型和整数的表示整数类型和整数的表示longintshort字节数字节数442表示范围表示
24、范围-231231-1-231231-1-215215-154三种整数类型三种整数类型长整数长整数 long int 可以简写为可以简写为 long普通整数普通整数 int短整数短整数 short int 可以简写为可以简写为 short三种整数类型表示范围三种整数类型表示范围long int short,具体范围取决于不同的实现具体范围取决于不同的实现整数类型和整数的表示整数类型和整数的表示unsigned longunsigned intunsigned short字节数字节数442表示范围表示范围0232-10232-10216-155三种无符号整数类型三种无符号整数类型长整数长整数un
25、signed long int 可以简写为可以简写为 unsigned long普通整数普通整数 unsigned int短整数短整数 unsigned short int 可以简写为可以简写为 unsigned short三种整数类型表示范围三种整数类型表示范围unsigned long unsigned int unsigned short整数常数的书写形式(整数常数的书写形式(int.c)十进制形式十进制形式例如:例如:123456123456,123123,100100八进制形式八进制形式以以0 0开头开头例如:例如:01234560123456,01230123,01000100十六
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言程序设计 完整版 教学 课件 全书 电子 讲义 最新
限制150内