收藏 分销(赏)

第1讲--C语言概述.ppt

上传人:二*** 文档编号:5455581 上传时间:2024-11-05 格式:PPT 页数:46 大小:410.50KB
下载 相关 举报
第1讲--C语言概述.ppt_第1页
第1页 / 共46页
亲,该文档总共46页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

1、第1讲C语言概述计算机工作原理计算机工作原理程序和程序语言程序和程序语言C程序开发的循环流程程序开发的循环流程C程序集成开发环境程序集成开发环境1.学习路线图2.准备知识准备知识1.计算机工作原理2.程序和程序设计语言3.C程序开发的循环流程4.C程序集成开发环境.1.计算机及工作原理n计算机的基本操作n计算机工作原理n程序执行示例4.计算机的基本操作(1)数据输入计算机(input)(2)计算机操作数据(process)(3)计算机输出数据(output)inputoutput5.计算机工作原理存储程序、程序控制6.程序执行示例-计算所得税7.2.程序和程序设计语言n程序和指令n程序设计语言

2、n翻译程序n程序设计方法8.程序和指令n程序等于指令吗?n编译器编译器.程序设计语言n程序:程序是计算机能够接受的、指示计算机完成程序:程序是计算机能够接受的、指示计算机完成特定功能的一组指令的有序集合。特定功能的一组指令的有序集合。n编程编程(programming):设计一组控制计算机的指令:设计一组控制计算机的指令集的过程集的过程n程序设计语言:用于描述程序中操作过程的命令、程序设计语言:用于描述程序中操作过程的命令、规则的符号集合,是进行程序设计的工具规则的符号集合,是进行程序设计的工具n程序设计过程:分析、设计、编码、测试、排错等程序设计过程:分析、设计、编码、测试、排错等阶段。阶段

3、。10.程序设计语言的发展机器语言机器语言汇编语言汇编语言高级语言高级语言例:例:要使两个存储单元中的数的相加,最后结果存放在要使两个存储单元中的数的相加,最后结果存放在其中一个其中一个单元中单元中10011100000000000000000110001010000001000100011000010000000001001000100000000100MOVSI,0110MOVAL,SIINCADDSI,ALMOVSI,ALintx=6,y=7;x=x+y;11.翻译程序n高级语言不能被计算机直接执行,必须先由一种翻译程序将这些程序翻译成能被计算机识别和执行的机器语言n翻译程序的种类编译程

4、序解释程序12.编译程序-编译器n一个现代编译器的主要工作流程如下:n源代码(sourcecode)预处理器(preprocessor)编译器编译器(compiler)目标代码(objectcode)连接器(Linker)可执行文件(executables).程序设计方法n面向过程程序设计以函数为基本程序结构单位,程序的设计以过程为核心。先用函数实现解决问题所需要的每个步骤,再根据既定的功能依次调用函数。程序=算法+数据结构+程序设计语言+语言环境如:C、Pascal等.程序设计方法n面向对象程序设计以对象为基本程序结构单位,程序的设计以对象为核心,对象的数据及操作封装在类中。程序=对象+对象

5、+对象对象=数据结构+算法+程序设计语言+语言环境如:C+、JAVA、Python等.163.C程序开发的循环流程n编辑(EDIT)dtn编译(COMPILE)kmpaln连接(连接(Link)lkn执行(EXECUTE)ks,kjut.17编辑(EDIT)n源文件用高级语言编写的程序文件n编辑器生成源文件的软件nC语言程序文件,例:范例hello.cpp文本文件,可用记事本编辑后缀名:c/cppn语法一种编程语言的规则.18编译(COMPILE)n编译器将高级语言翻译成机器语言的软件n编译的任务(词法分析-语法分析-机器指令)编译器翻译源文件时会检查是否符合高级语言的语法规则生成机器语言指令

6、构成的目标文件如源程序包含语法错误,列出错误,不产生目标文件nc目标文件,例:hello.obj二进制文件后缀名:obj.19连接连接Linkn连接的任务将预先开发好的程序模块(例如系统函数或其他程序员开发的共同模块)连接到当前程序代码中去生成可执行文件:exe,例:hello.exen连接器完成连接的软件.执行(EXECUTE)nC语言生成的可执行文件(exe文件)是一个DOS程序控制台程序;n可以通过开始菜单“运行”“cmd”命令打开命令窗口,直接执行文件名。20.C语言程序的编辑、调试、运行步骤开始开始结果结果语法语法错误错误源程序源程序.c/.cpp目标程序目标程序.obj可执行程序可

7、执行程序.exe编辑编辑编译编译运行运行连接连接错误错误运行运行错误错误运行运行文字文字编辑器编辑器编译器编译器连接器连接器结果.224.C程序集成开发环境n集编辑(EDIT)、编译(COMPILE)、连接(Link)、)、执行(EXECUTE)与一体,并提供调试(debug)手段和帮助(help)的开发软件。.几种常用的C语言集成开发工具:开 发 工 具运 行 环 境各工具的差异基 本 特 点Turbo CDOS不能开发C+语言程序(1)符合标准C(2)各系统具有一些扩充内容(3)能开发C语言程序(集程序编辑、编译、链接、调试、运行于一体)Borland CDOSMicrsoft CDOSV

8、isual C+Windows能开发C+语言程序(集程序编辑、编译、链接、调试、运行于一体)Dev C+WindowsBorland C+DOS、WindowsC+BuilderWindowsCodeBlocksWindows、Mac.24VC+6.0创天中文版.实践实践1:C程序开发环境练习程序开发环境练习任务一创建第一个创建第一个C程序程序任务二任务二解读第一个解读第一个C程序程序任务三认识程序错误.nVC+操作新建编译执行语法错误关闭工作空间26任务一创建程序sample01_01.cpp/*print“HelloWorld!”*/#includeintmain(void)printf(

9、HelloWorld!n);return0;可省去可省去!.27任务二解读第一个C程序程序语法(1)C程序必须由一个程序必须由一个main函数构成,系统自函数构成,系统自动执行动执行main函数。函数。(2)程序的执行从)程序的执行从main函数的函数的左左括号开始括号开始,顺序执行每一条语句,直到顺序执行每一条语句,直到main函数的函数的右右括括号结束号结束。函数体函数体(3)printf是标准输出函数,输出的字符串在是标准输出函数,输出的字符串在一对半角双引号之间,例如一对半角双引号之间,例如HelloCWorldn。(4)C语句以分号结束。语句以分号结束。.解读第一个C程序程序语法(5

10、)控制台输出时,系统会紧跟着自动输出)控制台输出时,系统会紧跟着自动输出“pressanykeytocontinue”,等待按任意键关闭控制台窗,等待按任意键关闭控制台窗口。口。(6)n是一个转义字符换行。转义字符是一些键是一个转义字符换行。转义字符是一些键盘不能输入的控制字符,具有特殊功能。盘不能输入的控制字符,具有特殊功能。(7)#include是一个预编译命令,表示要加是一个预编译命令,表示要加入入stdio.h文件(标准输入输出函数头文件),若要在文件(标准输入输出函数头文件),若要在程序中使用程序中使用printf函数必须使用该命令。函数必须使用该命令。(8)main函数执行到函数执

11、行到“”或或“return0;”结束。结束。return0;向系统返回整数向系统返回整数0,表示程序运行正常。,表示程序运行正常。28nIncludenklud包含nstandardstndd标准nheadhd头部.解读第一个C程序相关文件29后缀名后缀名解释解释cpp源程序文件dsw项目工作区dsp项目文件ncb无编译浏览文件plg编译信息文件opt关于开发环境的参数文件,如工具条位置等信息ndebug文件夹中存放着生成的obj文件,exe文件及其它一些中间文件。.讨论n输出两行问候语句nHelloCWorld!nHelloCWorld!30.可能出现的答案nprintf(“HelloCWo

12、rld”);nprintf(“HelloCWorld”);nprintf(“HelloCWorldn”);nprintf(“HelloCWorld”);nprintf(“HelloCWorldnHelloCWorld”);31.任务三认识程序错误n语法错误语法错误n连接错误连接错误n逻辑错误逻辑错误n运行错误运行错误.语法错误n指不符合高级语言定义的语法书写规则。n编译或解释程序能自动检查出语法错误,只需根据错误提示进行修改。33.改错示例:(error1-1.cpp)#includeintmain(void)printf(HelloCWorld!n);return0;#includeintm

13、ain(void)printf(WelcometoYou!n);return0;34.C语言的错误信息的形式:文件名文件名行号行号错误编号错误编号错误信息错误信息c:sampleerror1-1.cpp(4):errorC2001:newlineinconstant双击上述错误信息,修改双击上述错误信息,修改35.编译错误修改提示(1)n错误信息往往只能起提示作用,不是特别精确反映错误产生的原因,更不会告诉你如何修改。n根据提示能快速反应错误产生的原因需要经验的积累。36.编译错误修改提示(2)n一条语句错误可能会产生若干条错误信息,只要修改了这条错误,其他错误会随之消失。n特别提示:一般情况

14、下,第一条错误信息最能反映错误的位置和类型,所以调试程序时务必根据第一条错误信息进行修改,修改后,立即重新编译程序,如果还有很多错误,再一个一个地修改。n即每修改一处错误要重新编译一次程序。37.连接错误n连接错误,是编译成功后,连接器连接外部程序的时候产生的错误。n例:main函数名写错了38.连接错误修改提示n连接错误不提示出错行数,但小程序的定位也比较简单,一般是函数和外部变量的函数和外部变量的名称名称出错,只需根据错误提示的字符串去寻找可能出现的位置。39.改错示例:(error1-2.cpp)#includeintmian(void)printf(HelloCWorld!n);ret

15、urn0;#includeintmain(void)printf(WelcometoYou!n);return0;40.连接错误信息显示-Configuration:test-Win32Debug-Compiling.:test.cppLinking.LIBCD.lib(crt0.obj):errorLNK2001:unresolvedexternalsymbol_main无法解析的外部符号无法解析的外部符号_mainDebug/test.exe:fatalerrorLNK1120:1unresolvedexternals执行执行link.exe时出错时出错.test.exe-1error(s

16、),0warning(s)错误错误警告警告41.常见编程错误:n字符串字符串“”不完整不完整n()不匹配()不匹配n缺少缺少;n函数名写错函数名写错n42.逻辑错误n逻辑错误则是程序设计上或逻辑上的错误逻辑错误则是程序设计上或逻辑上的错误指程序指程序已生成可执行文件,但运行出错或不能已生成可执行文件,但运行出错或不能得到正确的结果得到正确的结果,这可能是由于算法中问题说,这可能是由于算法中问题说明不足,解法不完整或不正确所造成的。明不足,解法不完整或不正确所造成的。n逻辑错误的检查需要事先设计的测试用例。逻辑错误的检查需要事先设计的测试用例。n逻辑错误出错位置需要程序员对程序代码进行逻辑错误出

17、错位置需要程序员对程序代码进行分析,一般会借助一些调试手段,如单步执行,分析,一般会借助一些调试手段,如单步执行,设断点,设断点,watch窗口观测等等窗口观测等等43.改错示例:(error1-3.cpp)#includevoidmain(void)intx;scanf(%d,&x);if(x=1)printf(true);elseprintf(false);程序的功能:如果输入一个整数1,则输出“true”,输入其它整数则输出“false”。测试用例:测试用例一:测试用例一:输入:1输出:true测试用例二:测试用例二:输入:0输出:false测试用例三:测试用例三:输入:10输出:fal

18、sex=144.运行错误n运行错误是指程序经编译连接运行错误是指程序经编译连接生成可执行生成可执行文件后,在运行的过程中系统报错,没有文件后,在运行的过程中系统报错,没有运行结果运行结果。n常见的运行错误有:除数为常见的运行错误有:除数为0;死循环;浮;死循环;浮点指针出错等等。点指针出错等等。n运行错误往往是逻辑错误引起的。运行错误往往是逻辑错误引起的。45.改错示例:(error1-4.cpp)#includevoidmain(void)intx,y,z;printf(请输入x:);scanf(%d,&x);printf(请输入y:);scanf(%d,&y);z=x/y;printf(z=%d,z);程序的功能:输入两个整数,求商。测试用例:x=8,y=0;z无效修改:if(y=0)z=0;elsez=x/y;46.

展开阅读全文
部分上传会员的收益排行 01、路***(¥15400+),02、曲****(¥15300+),
03、wei****016(¥13200+),04、大***流(¥12600+),
05、Fis****915(¥4200+),06、h****i(¥4100+),
07、Q**(¥3400+),08、自******点(¥2400+),
09、h*****x(¥1400+),10、c****e(¥1100+),
11、be*****ha(¥800+),12、13********8(¥800+)。
相似文档                                   自信AI助手自信AI助手
搜索标签

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服