《c语言教学之c语言概述》由会员分享,可在线阅读,更多相关《c语言教学之c语言概述(19页珍藏版)》请在金锄头文库上搜索。
1、第一章 C语言概述C语言程序设计南京理工大学 张 微1前一页 下一页休息本章主要内容lC语言的历史lC语言的特点lC程序结构lC程序上机过程自学2前一页 下一页休息1.2 C语言的特点l结构化的高级语言语言简洁高效,模块化功能好数据结构与运算符丰富语法限制不严格,使用方便灵活l接近汇编语言的中级语言生成代码质量好,运行效率高直接访问内存地址,具有汇编语言大 部分功能C语言的特点3前一页 下一页休息1.3 C语言程序结构/* 文件名:TC1-1.C */#include main ( )printf (“同学们,你们好!n“ ); /* 在屏幕上输出这行字 */注释部分预处理,文件包含函数头函数
2、体简单的C程序执行4前一页 下一页休息运行结果:同学们,你们好!简单的C程序1.3 C程序结构5前一页 下一页休息C程序的组成1.3 C程序结构l注释解释性文字,可提高程序可读性作用范围:“/* ”后直到 “*/ ”l预处理命令编译前执行的处理命令,为程序服务以“”开头,通常写在程序开头include 预处理命令的一种E含义:文件包含E目的:指明头文件名称E头文件:系统库函数的说明,扩展名为 .h 6前一页 下一页休息C程序的组成1.3 C程序结构l函数 函数是C程序的基本组成单位(模块)函数由函数头(函数说明)和函数体 组成l函数说明(函数头)函数说明是函数的首句,用于说明函 数的性质、名称
3、和使用的参数E格式:类型说明 函数名(参数表)例: double sin( double x ) l函数体函数体是函数的主要组成部分,写在 一对 中,函数体由语句组成 7前一页 下一页休息C程序的组成1.3 C程序结构l函数与程序的关系C程序由一个或几个函数组成编写C程序就是逐个编写C函数每个C程序中都有一个身分特殊的函数main 函数,又称主函数lmain函数main 函数是C中最特殊的函数C程序必须有且只能有一个main函数C程序必须从 main 函数执行起main 函数不能被其它函数使用l所有函数均由一个或多个语句组成8前一页 下一页休息1.3 C程序结构/* 文件名:TC1-2.C *
4、/ #include main( ) int i , j; /* 定义变量 */printf ( “请输入 i 值:“ ); /* 显 示提示 */scanf ( “%d“, /* 键盘输入i 的 值 */j = i + 5; printf ( “i=%d, j=%d n“, i, j ); 说明语句赋值与计算语句简单的C程序输出语句输入语句执行9前一页 下一页休息运行结果:请输入i值:2i = 2, j = 7简单的C程序1.3 C程序结构10前一页 下一页休息1.4 C程序结构l语句C函数的基本组成单元书写规则E每个基本语句结尾必须有分号E严格区分字母大小写E下级语句应比上级语句缩进二个字
5、符 书写E一句可写多行,不需加续行标记E一行可写多句,以分号作分隔符语句中的元素E变量与常量:与数学定义基本相同E输入与输出:输入函数:scanf;输出 函数:printf E赋值:将等号右边的计算结果值送给 左边变量11前一页 下一页休息1.4 C程序结构基本语句类别E说明语句:定义函数中的数据结构E输入输出语句:负责用户与计算机间数据 交换E可执行语句:计算机产生具体操作的语句E控制语句:控制程序走向E调用语句:命令执行main以外的其它函数E返回语句:将函数计算结果返回调用函数 的地方复合语句E是由若干基本语句组合在一对 中的语句 例: g = g + t;t = -t*x*x / (2
6、*n)/(2*n+1);n+;12前一页 下一页休息/文件名:TC1-3.C#include #includevoid main( ) double k, x;double sin(double x);cout x; x = x *3.1415926/180.;k = sin( x ) / 2;cout =1E-6 ); return g; 多模块C程序举例主函数main 求值函数sin将结果送回调用处调用语句控制语句复合语句13前一页 下一页休息运行结果: x = 30 k = 0.25简单的C程序1.4 C程序结构14前一页 下一页休息1.4 C程序结构l预处理命令l说明语句lmain (
7、 ) 说明语句 ;输入语句;计算语句;调用函数;计算语句;输出语句; l函数1 语句1;语句2;l函数2 语句1;语句2;C程序的一般结构15前一页 下一页休息l机器语言直接用指令编写l汇编语言用助记符表示操作码由汇编程序翻译成机器语言l高级语言用接近数学和自然语言编写解释方式由解释程序对源程序逐句解释并 执行。E代表语言:BASIC编译方式分两部分进行E编译过程由编译程序将源程序翻译成目标程序E连接过程目标程序和库文件连成可执行程序后 再执行E代表语言:C程序语言的调试方式1.4 C上机过程16前一页 下一页休息复习:程序设计语言1.4 C上机过程l程序设计语言分类低级语言E机器语言-直接用
8、指令编写E汇编语言-用助记符表示指令操作码高级语言- 用接近数学和自然语言 编写17前一页 下一页休息l特点:直接用指令形式编程序,是唯一能够被计算机直接执行的程序例:求 1055 ( 383 + 545 ) 的程序(16进制 ):B8 7F 01 传送指令 将操作数383送寄存器BB 21 02 传送指令 将操作数545送寄存 器03 D8 计算指令 相加B8 1F 04 传送指令 将操作数1055送寄存 器2B C3 计算指令 相减l优点:效率高l缺点:难读难编,不易维护,兼容性差复习:机器语言1.4 C上机过程18前一页 下一页休息l特点:使用容易理解和记忆的英文符号助记符来 表示指令的
9、性质和功能。必须由汇编程序翻译成机器语言才能执行 上例:求 1055 ( 383 + 545 ) MOV AX 383MOV BX 545ADD BX AXMOV AX 1055SUB AX BXl优点:程序相对容易理解,效率较高l缺点:通用性较差,大型程序难以开发1.5 C上机过程助记符复习:汇编语言19前一页 下一页休息1.5 C上机过程l特点:与人类的自然语言及数学公式较 为接近如:+、-、*、/表示加减乘除,PRINT表示 打印等上例:求 1055 ( 383 + 545 ) s = 1055 ( 383 + 545 ) l优点:不依赖于具体的机器,通用性较 强。l缺点:不能被计算机直
10、接识别,需要翻 译成机器指令。l意义:使程序设计的难度降低,导致了 计算机的发展进入新的阶段复习:高级语言20前一页 下一页休息翻译程序l翻译程序:把甲语言编写的程序翻译为等价的乙 语言编写的程序其中甲语言程序称为源程序,乙语言 程序称为目标程序语言处理程序翻译程序源程序目标程序汇编程序 (汇编器)汇编语言 源程序机器语言 目标程序21前一页 下一页休息翻译程序l翻译程序分类:汇编程序用于转换汇编语言程序 。以下两种均用于高级语言程序:解释方式由解释程序对源程序逐 句解释并执行。E代表语言:BASIC编译方式先由编译程序将源程序 转换成目标程序,再由连接程序生成可 执行程序后再执行E代表语言:
11、C语言处理程序22前一页 下一页休息1.4 C上机过程编译连接装配高级语言 源程序*.C目标程 序模块*.OBJ可执行的 目标程序*.EXE高级语言调试过程23前一页 下一页休息源程序的编辑TC版1.4 C上机过程l启动我的电脑中双击TC.EXE或DOS方式下键入 TCl新建源程序文件选择菜单:File New输入源程序,编辑方法同记事本 M 注意:TC不能使用鼠标,但可对字块进行操 作 M定义字块:光标移至字块头,按键 Ctrl + KB光标移至字块尾,按键Ctrl + KK M复制字块:光标移至目的处,按键Ctrl + KC M移动字块:光标移至目的处,按键Ctrl + KV M删除字块:
12、按键 Ctrl + KY M取消字块:按键 Ctrl + KH24前一页 下一页休息源程序的编辑1.4 C上机过程l保存源程序文件选择菜单:File Save ,保存源文件选择菜单:File Wirte to ,相当于“另存为 ”注意:保存时不必输入文件扩展名,另存为 则必须输入扩展名。l修改旧程序选择菜单:File Load选择菜单: File Pick,选择最近曾编辑程序 M注意:WINDOWS下使用TC时,按键Alt + Enter 进入全屏方式可消除菜单乱码25前一页 下一页休息C的编译过程源程序(.c)编译出错是否目标程序(.obj)1.4 C上机过程 操作步骤E 选择 Compil
13、e 菜单中的 Compile to OBJ 选 项E 在 Message 窗口中用光标移动查看错误信 息E 按 F6 键回到错误处修改错误后重新编译26前一页 下一页休息C连接过程目标程序(.obj) 库文件连接出错是否 可执行程序(.exe)1.4 C上机过程操作步骤E菜单:“Compile ”“Link EXE file” E message 窗口中查看错误信息,按F6键光标定位当前错误 处E修改错误后重新需重新编译才能再次连接菜单:“Compile” “Make EXE file”或按键 F9,编译连接 一次完成修改源程序编译27前一页 下一页休息C执行过程可执行程序 (.exe)执行出
14、错是否结果修改源程序编译连接1.4 C上机过程操作步骤E菜单:“ Run ” “Run ”或按键Ctrl + F9E查看结果:按键 Alt + F5 弹出输出界面E退出:按任意键返回编辑窗口 M注意:出错修改后需从重新编译开始调试程序28前一页 下一页休息源程序的编辑VC版1.4 C上机过程l启动VC+;l新建源程序文件 选择菜单:文件 新建,弹出“新建”对话框单击选项卡:文件 选择文件类型: C+ Source File 选择目录,输入文件名,然后“确定”;l 编辑与保存源程序在编辑窗口中输入程序代码;选择菜单:文件 保存 ,保存源文件M注意:由于借用VC环境,保存时必须输入扩展 名.C29
15、前一页 下一页休息C的编译过程源程序(.c)编译出错是否目标程序(.obj)1.4 C上机过程 操作步骤E 选择“编译”(Build)菜单中的Compile(编译)选 项E 在编译(Build)窗口中查看错误信息;E 双击错误信息行光标自动回到出错处修改后重 新编译30前一页 下一页休息C连接过程目标程序(.obj) 库文件连接出错是否 可执行程序(.exe)1.4 C上机过程操作步骤E菜单:“编译”“Build” 或 按键: Ctrl + F7E“编译”窗口中查看错误信息,双击某错误光标自动定 位出错处E修改错误后重新选择“ 构建 XXX ”菜单“编译” “重建全部”或按键 F7 ,编译连接一次 完成修改源程序编译31前一页 下一页休息C执行过程可执行程序 (.exe)执行出错是否结果修改源程序编译连接1.4 C上机过程操作步骤E选择“组建”菜单中的“执行 XXX ”选项或按键 Ctrl + F5E在弹出的输出窗口中查看结果和错误信息E修改错误后重新编译然后再次连接,重新执行E选择“文件”菜单中的“关闭工作空间”32编译开始编辑源程序存盘通过连接通过结束file.cfile.objfile.exe否否通过执行否输出结果是是是C调试流程文件名3334