《C语言程序设计d》课件-第一讲 程序设计与C语言_第1页
《C语言程序设计d》课件-第一讲 程序设计与C语言_第2页
《C语言程序设计d》课件-第一讲 程序设计与C语言_第3页
《C语言程序设计d》课件-第一讲 程序设计与C语言_第4页
《C语言程序设计d》课件-第一讲 程序设计与C语言_第5页
已阅读5页,还剩30页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

主要内容1.1程序设计课程目标1.2程序设计概述1.3C语言概述西安电子科技大学计算机学院11.1程序设计课程目标课程要求课程目标西安电子科技大学计算机学院2课程要求学会从计算机角度思考问题培养学生逻辑思维能力和面向过程的程序设计方法能够针对非数值计算的具体问题选择合理的存储结构及构造较有效率的算法运用C语言编制结构清晰、可读性好的程序会设计测试用例,完成程序的测试,能撰写该程序的技术报告具备面向过程程序的独立设计及实现能力西安电子科技大学计算机学院3西安电子科技大学计算机学院4用计算机解决问题示例某地刑侦大队对涉及6个嫌疑人的一桩疑案进行分析得到以下结论,试编一程序,将作案人找出来。A、B至少有1人作案;A、E、F3人中至少有2人参与作案;AD不可能是同案犯;B、C或同时作案,或都与本案无关:C、D中有且仅有1人作案;如果D没有参与作案,则E也不可能参与作案。课程目标西安电子科技大学计算机学院51.培养逻辑思维和程序设计思想,重点培养分析问题和使用C语言进行程序设计以解决实际问题的能力。2.熟练掌握C语言基础知识、C语言程序结构、语法及函数库、简单算法和数据结构的设计方法。3.了解并初步掌握当前软件行业公认的程序设计风格和规范,增强程序可读性和易扩展性;能够熟练使用一种常用的编程工具和集成开发环境进行程序设计、编译、测试及调试。1.2程序设计概述程序设计语言发展语言实现及开发环境西安电子科技大学计算机学院6西安电子科技大学计算机学院7程序无处不在计算机移动设备外设智能设备…西安电子科技大学计算机学院8什么是程序一系列遵循一定规则并能正确完成特定功能的代码或指令序列通常包括数据结构与算法两部分#include<stdio.h>intmain(){inta=3,b=2,c=5;intd=a*b+c; printf("a×b+c=%d\n",d);return0;}源程序a.c可执行程序编译链接011001…111001………西安电子科技大学计算机学院9程序设计语言及其发展程序设计语言一套规范的集合,主要包括该语言使用的字符集,直接和间接支持的数据类型集合、运算符集合、关键字集合、指令集合、语法规则、以及对特定构造的支持。西安电子科技大学计算机学院10程序设计语言及其发展1834-第一台机械式计算机(最早的程序员Ada)1896-最早的程序载体-穿孔卡片1937-“图灵机”数学模型1952-MIT创建了汇编语言1953-IBM研制Fortran语言1965-BASIC语言出现1972-贝尔实验室发明C语言20世纪80年代-贝尔实验室发明C++语言1983-Borland公司研制TurboPascal1991-Python1995-Java语言诞生2002-Microsoft发布.NET西安电子科技大学计算机学院11程序设计语言及其发展机器语言汇编语言高级语言(C,Java,C++,C#…)12高级语言编译问题:计算d=a×b+c00000001000000001000——将单元1000的数据(a)装入寄存器000000001000100001010——将单元1010的数据(b)装入寄存器100000101000000000001——将寄存器1的数据乘到寄存器0上(axb)00000001000100001100——将单元1100的数据(c)装入寄存器100000100000000000001——将寄存器1的数据累加到寄存器0上(axb+c)00000010000000001110——将寄存器0的数据写入内存单元1110(d=axb+c)机器语言load0a——将单元1000的数据(a)

装入寄存器0load1b——将单元1010的数据(b)装入寄存器1mult01——将寄存器1的数据乘到寄存器0上(axb)load1c——将单元1100的数据(c)装入寄存器1add01——将寄存器1的数据累加到寄存器0上(axb+c)save0d——将寄存器0的数据写入内存单元1110(d=axb+c)汇编语言d=a*b+c高级语言程序设计语言热度(TIOBEIndex)程序设计语言热度(TIOBEIndex)西安电子科技大学计算机学院15语言实现具体地实现一种语言的各种特征并支持特定的编程模式的技术和工具。表现形式:编译器(Compiler)和连接器(Linker)。语言是标准的但语言实现是因厂家而异的常见C语言实现:BorlandC、MicrosoftC、GCC西安电子科技大学计算机学院16开发环境泛指支持软件开发的一切工具操作系统代码编辑器编译器链接器调试器西安电子科技大学计算机学院17开发环境集成开发环境(IDE)将编辑器、编译器、连接器和调试器集成在一起的开发工具C/C++集成开发环境:DevC++CodeBlocksVisualC++Eclipse18命令行下需要记住编译命令不方便调试集成开发环境下操作方便,但后台仍然是以命令行方式运作V.S.1.3C语言概述C语言简介(特点,发展等)C程序框架(主函数,语句,注释等)西安电子科技大学计算机学院19西安电子科技大学计算机学院20C语言能做什么纯粹的C语言只能做计算和文字处理扩充了函数库的C语言几乎可以完成任何和程序控制有关的任务C语言和第三方函数库,可以完成应用程序设计,嵌入式程序设计,驱动程序设计,游戏,...西安电子科技大学计算机学院21C语言简介C语言简史演变:ALGOL60→CPL→BCPL→B→C

1973—DennisRitchie&BrianKernighan(BellLabs.)为开发UNIX而设计

C语言的标准化ANSIC标准化委员会:1983C89和C90C99C11西安电子科技大学计算机学院22C语言特点中级语言:介于高级语言与低级语言之间高级语言的结构化与模块化(高级语言基本特性)低级语言的控制性与灵活性(指针,位操作)结构化顺序结构、分支结构、循环结构模块化函数、函数库可移植性虽然可在多种系统下使用,但可移植性不是非常好西安电子科技大学计算机学院23第一个C程序/*hello.c:Thefirstprogramauthor:wanbodate:2017/10/9*/

#include<stdio.h>int

main(){

//singlelinecommentprintf("**Hello,world**\n"

);

return0;}24C源程序构成头文件包含条件编译语句宏定义说明部分全局变量函数声明其它函数主函数(main)执行部分常量/*hello.c:Thefirstprogramauthor:wanbodate:2010/10/9*/

#include<stdio.h>int

main(){

//singlelinecommentprintf("**hello,world**\n"

);

return0;}预处理部分西安电子科技大学计算机学院25一个最简单的C程序框架#include<stdio.h>int

main(){

return0;}在这里可以添加完成特定任务的代码这个头文件是绝大多数C程序必须包含的程序结束西安电子科技大学计算机学院26main函数main函数的两种常见形式intmain(){…return0;}intmain(intargc,char*argv[]){…return0;}命令行参数西安电子科技大学计算机学院27main函数C程序中可以有多个函数但必须有且只能有一个main函数所有C程序都从main函数开始执行main函数的名字不能改变(包括大小写)main函数由系统调用Main和main是不同的西安电子科技大学计算机学院28语句和注释语句包含一个或多个表达式数值运算、函数调用等语句以英文分号(;)结束一条语句可以分成多行书写C语言使用自由格式的语法自由格式与代码风格注释多行注释用/**/来分界单行注释用//开头/*

多行注释hello.c:Thefirstprogramauthor:wanbodate:2017/10/9*/

#include<stdio.h>int

main(){

//单行注释printf("**hello,world**\n"

);

return0;}西安电子科技大学计算机学院29自由格式与代码风格#include<stdio.h>intmain(){printf("helloworld");return0;}#include<stdio.h>intmain(){printf("helloworld\n");return0;}#include<stdio.h>intmain(){printf("helloworld");return0;}良好的代码风格适当的注释适当的换行适当的缩进适当的空行…V.S.√√×西安电子科技大学计算机学院30建立一个可执行程序编辑(Edit)编译(Compile)链接(Link)f1.hf2.hf3.hs1.cs2.cprog.exe链接s1.objs2.obj编译编辑西安电子科技大学计算机学院31命令行程序和GUI程序Windows下的文件复制命令行程序和GUI程序命令行下的文件复制西安电子科技大学计算机学院32命令行程序和GUI程序一个C语言完成的文件复制程序(fcopy.c)西安电子科技大学计算机学院33命令行才是本质逻辑,GUI只是建立在本质逻辑上的用户接口。#include<stdio.h>#include<stdlib.h>#defineBUF_SIZE1024intmain(intargc,char**argv){FILE*fp1,*fp2;unsignedcharbuf[BUF_SIZE];intn;fp1=fopen(argv[1],"rb");fp2=fopen(argv[2],"wb");do{n=fread(buf,1,BUF_SIZE,fp1);fwrite(buf,1,n,fp2);}wh

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论