c语言程序设计谭浩强 ch1_用C语言编写程序

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

2020/1/211C程序设计2020/1/212教材、参考书与课时安排教材:C语言大学教程王浩鸣郭晔主编人民邮电出版社参考书:C语言程序设计教程谭浩强高等教育出版社……………课时安排:授课:54学时上机:18学时2020/1/213课程及作业要求课程要求:课前请做好预习保持课堂安静,头脑清醒认真、独立、按时完成并提交作业重视上机实践,有效利用宝贵的上机时间作业要求:•所有作业必须独立完成•作业必须经上机调试通过•上机考勤3次缺席,按不及格处理•发现上机时间干与课程无关的事情,按缺席一次处理2020/1/214通过本课程的学习,应掌握C语言基本语句、语法、数据类型、运算符和表达式,顺序、选择、循环结构程序设计,数组、函数、指针、文件、结构体类型变量、结构体数组等的使用。学习重点放在最基本、最常用的内容上。程序设计的基本思想、基本概念和基本方法,常用编译系统的使用。看懂程序编写简单程序逐步深入。能运用所学的知识和技能对一般问题进行分析和程序设计,编制出高效的C语言应用程序。计算机等级考试(C语言)学习程序设计课程的目标2020/1/215(1)回顾:计算机基本工作过程整个过程的执行者是硬件,但硬件是受软件控制的编程,就是编写软件,使硬件按照人的意图工作2020/1/216计算机基本工作过程输入/输出设备存储器运算器控制器源程序和输入数据输出结果取出数据存入数据操作命令存取命令取出程序指令输入输出命令计算结果CPU“冯·诺依曼机”结构大脑记忆装置眼睛和耳朵程序和数据执行结果2020/1/217软件的形成软件(Software)的形成程序员(Programmer)编写程序源代码(SourceCode)编译器(Compiler)把源代码转换为可被计算机理解的机器代码(MachineCode)并把机器代码以可执行文件(ExecutableFile)的形式保存在磁盘上2020/1/218软件运行过程的简单描述软件的运行计算机把机器代码读入到内存(Memory)由CPU运行这些代码读取输入(Input)产生输出(Output)完成程序员预定的功能2020/1/219机器语言汇编语言高级语言面向过程面向对象CPU指令系统,由0、1序列构成的指令码组成如:10000000加10010000减用助记符号描述的指令系统如ADDA,B面向机器的语言程序设计是数据被加工的过程客观世界可以分类,对象是类的实例对象是数据和方法的封装对象间通过发送和接受消息发生联系程序设计关键是定义类,并由类派生对象冯.诺依曼结构:计算机运算器控制器存储器主机:I/O设备:键盘、显示器等中央处理器CPU(2)了解:程序设计语言的发展2020/1/2110程序设计语言(ProgrammingLanguage)是人与计算机进行交流的语言计算机直接能读懂的语言机器语言(MachineCode),也叫机器代码一种纯粹的二进制语言(2)了解:程序设计语言的发展2020/1/2111程序设计语言的发展计算机为什么用二进制呢?为什么不用我们日常熟悉的十进制呢?二进制在在电器元件中容易实现计算机进行二进制运算比进行十进制运算要简单得多2020/1/2112程序设计语言(ProgrammingLanguage)是一组用来定义计算机程序的语法规则。它是一种被标准化的交流技巧,用来向计算机发出指令。采用某种程序设计语言设计的程序需要被翻译成计算机语言后才能被计算机所识别并执行,这个过程称为编译(Compiled)。所谓编译是指将所要翻译的高级语言编写的程序代码作为一个整体进行翻译,生成可以被计算机所识别的二进制代码。(3)了解:程序设计语言2020/1/2113程序设计语言一种程序设计语言对应一种编译器程序员按照该语言的语法编写程序源代码,把自己的意图融入到代码中编译器读入源代码,把程序员的意图转换成可执行程序,供他人使用C语言可执行程序编译器2020/1/2114程序设计语言的分类按照语言级别可以分为低级语言(Low-LevelProgrammingLanguage)和高级语言(High-LevelProgrammingLanguage)。按照应用范围,有通用语言与专用语言之分。按照使用方式,有交互式语言和非交互式语言之分。按用户的要求,有过程式语言和非过程式语言之分。2020/1/2115第一章2020/1/2116主要内容1.1C语言出现的历史背景1.2C程序的特点1.3简单的C语言程序介绍1.4运行C程序的步骤和方法2020/1/21171.1C语言出现的历史背景C语言发展过程产生背景产生过程•时间:1972~1973•地点:美国贝尔实验室•目的:UNIX操作系统•设计人:Ken.Thompson和Dennis.M.RitchieC标准•标准C:K&R合著《TheCProgrammingLanguage》•ANSIC:1983年•87ANSIC:1987年•1990年国际标准的ANSIC2020/1/2118C程序设计语言的定位C语言被分类为高级语言,但实际上它是一种介于高级语言和低级语言之间的语言--中间语言。很多流行语言、新生语言都借鉴了它的思想、语法从C++,到Java,再到C#正确地学好C语言,是学习这些流行语言的基础。2020/1/21191.2C语言特点语言简洁、紧凑、灵活运算符和数据类型丰富程序设计结构化、模块化生成目标代码质量高可移植性好中级语言2020/1/212032个关键字:(由系统定义,不能重作其它定义)autobreakcasecharconstcontinuedefaultdodoubleelseenumexternfloatforgotoifintlongregisterreturnshortsignedsizeofstaticstructswitchtypedefunsignedunionvoidvolatilewhile2020/1/21219种控制语句:if()~else~for()~while()~do~while()continuebreakswitchgotoreturn2020/1/2122例C语言与Pascal语言比较C语言Pascal语言含义{}BEGIN….END复合语句if(e)s;IF(e)THENs条件语句inti;VARi:INTEGER定义i为整型变量inta[10];VARa:ARRAY[1..10]OFINTEGER定义整型数组aintf();FUNCTIONf():INTEGER定义f为返值整型的函数int*p;VARp:INTEGER定义p为指向整型变量的指针i+=2;i=i+2赋值i+2ii++,++i;i=i+1i自增值结论:C比Pascal简练,源程序短。2020/1/212334种运算符:算术运算符:+-*/%++--关系运算符:====!=逻辑运算符:!&&||位运算符:~|^&赋值运算符:=及其扩展条件运算符:?:逗号运算符:,指针运算符:*&求字节数:sizeof强制类型转换:(类型)分量运算符:.-下标运算符:[]其它:()-2020/1/2124C数据类型基本类型构造类型指针类型空类型void定义类型typedef数值类型字符类型char枚举类型enum整型浮点型单精度型float双精度型double短整型short长整型long整型int数组结构体struct共用体union2020/1/21252020/1/21261.3C语言程序结构#includestdio.hvoidmain(){printf(ThisisaCprogram.\n);}/*文件包含*//*主函数*//*函数体开始*//*输出语句*//*函数体结束*/说明:本程序的作用是输出一行信息:ThisisaCprogram.例1.12020/1/2127例1.2求两数之和#includestdio.hvoidmain()/*求两数之和*/{inta,b,sum;/*声明,定义变量为整型*//*以下3行为C语句*/a=123;b=456;sum=a+b;printf(″sumis%d\n″,sum);}说明:输出一行信息:sumis5792020/1/2128例1.3求2个数中较大者。#includestdio.hvoidmain()/*主函数*/{intmax(intx,inty);/*对被调用函数max的声明*/inta,b,c;/*定义变量a、b、c*/scanf(″%d,%d″,&a,&b);/*输入变量a和b的值*/c=max(a,b);/*调用max函数,将得到的值赋给c*/printf(″max=%d\\n″,c);/*输出c的值*/}程序运行情况如下:8,5↙(输入8和5赋给a和b)max=8(输出c的值)intmax(intx,inty){intz;if(xy)z=x;elsez=y;return(z);}max(intx,inty);max(a,b);2020/1/21291.3C语言程序结构C程序:格式特点习惯用小写字母,大小写敏感不使用行号,无程序行概念可使用空行和空格常用锯齿形书写格式优秀程序员的素质之一:使用TAB缩进{}对齐有足够的注释有合适的空行2020/1/21301.3C语言程序结构结构特点函数与主函数•程序由一个或多个函数组成•必须有且只能有一个主函数main()•程序执行从main开始,在main中结束,其它函数通过嵌套调用得以执行。程序语句•C程序由语句组成•用“;”作为语句终止符注释•/**/为注释,不能嵌套•不产生编译代码例:/*Thisisthemain/*ofexample1.1*/*/非法编译预处理命令2020/1/21311.4运行C程序的步骤和方法编辑链接编译执行程序代码的录入,生成源程序*.c语法分析查错,翻译生成目标程序*.obj与其它目标程序或库链接装配,生成可执行程序*.exe源程序目标程序可执行程序内容程序设计语言机器语言机器语言可执行不可以不可以可以文件名后缀.c.obj.exe2020/1/2132常用的C编译系统TurboC2.0TurboC++3.0VisualC++6.0………..

1 / 32
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功