版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、C语言内涵教程(第二版)第1页,共66页。第1章 C语言和计算机1.4 “懂”C语言的计算机1.5 与虚拟C语言计算机深入交流1.6 C语言语句简析 多上机编程是初学者学习编程的必由之路,只有实践才能出真知,但理论指导下的实践才是最有效的实践,一定要养成人工执行源程序的习惯。第2页,共66页。1.4 “懂”C语言的计算机要点:C语言不是计算机的“母语”用VC6.0编译程序第3页,共66页。编译器 机器语言是大多数计算机硬件能够“理解”的唯一语言;机器语言编写的程序是由二进制代码组成的序列,难于阅读和编写。用高级语言编写的程序称为源程序,计算机不能理解和执行,需要编译程序将源程序翻译成计算机能理
2、解并执行的目标程序。第4页,共66页。VC6.0是微软公司提供的在Windows环境下进行应用程序开发的C/C+编译器系统。VC6.0是一个集成开发环境(IDE),包含了许多独立的组件。如编辑器、编译器、调试器以及各种各样为开发Windows下的C/C+程序而设计的工具。Visual C+ 6.0 (简称VC6.0) 第5页,共66页。使用VC6.0与计算机沟通第6页,共66页。在VC6.0中编译程序 在VC6.0中,程序须作为工程的一部分来管理,因此在编程前要先建立一个工程。第7页,共66页。两种交互方式图形用户接口GUI(即Windows标准),特点是利用鼠标通过窗口、菜单、按键等方式方便
3、快捷地实现用户与计算机的交互。控制台应用程序是命令行模式的用户接口CLI (Command line User Interface ),特点是通过键盘基于字符。有时也称为字符用户接口CUI(Character User Interface)。 第8页,共66页。选择 控制台程序的类型 查看 新建工程信息汇总第9页,共66页。建立一个空的类型为控制台程序名为1_1的工程后VC6.0的界面第10页,共66页。新建(New)对话框中的文件(Files)选项卡 第11页,共66页。 VC6.0中编辑器等待输入时的界面 第12页,共66页。可以编译运行程序了吗?第13页,共66页。编译运行时出现的错误没
4、有定义的标识符!函数也需要先定义再使用!第14页,共66页。库函数scanf函数和printf函数是库函数。库函数是由C语言编译系统根据一般用户的需要或C语言标准编制并提供给用户使用的一组函数。使用库函数时,需要把库函数的定义拷贝到当前源文件中,以符合先定义再使用的原则。可以简单地认为输入输出函数在stdio.h中定义。第15页,共66页。include命令include命令的一般用法:#include “#include ”命令的功能是用指定的文件内容替换该命令行,从而把指定的文件和当前的源程序文件合成一个源文件。#include include命令是C语言语句吗?第16页,共66页。完整的
5、程序1-1#include void main( ) int a, b, c; printf(请输入两个整数:n); scanf(%d%d, &a, &b); c = a + b; printf(和为%dn, c);第17页,共66页。输入、编译并执行程序。 程序1-1输入完成后,选择组建(Build)执行命令或按下快捷键(Ctrl+F5),编译执行程序。第18页,共66页。程序1-1的运行 用户输入23 32 第19页,共66页。再次输入、编译另一个程序第20页,共66页。1.5 与虚拟C语言计算机深入交流要点:C语言的一些语法规则回车键与普通键的区别和联系转义序列与占位序列第21页,共66
6、页。最重要的规则代码风格代码风格是指源代码的书写风格。良好的代码风格能提高代码(程序)的可读性,可读性是程序的一个重要属性,毕竟源程序要先由程序员执行。对齐和缩进可以使代码整洁、层次清晰。输入代码时,VC6.0会自动判断对齐和缩进的位置,因此,通常只需在VC6.0提示的位置输入即可。第22页,共66页。哪里错了?#include void main ( )int a,b,c;printf(请输入两个整数:n);scanf (%d%d, &a, &b);c=a+b;printf(和为%dn, c);第23页,共66页。1.5.1 C语言的一些规则 1.C程序书写格式自由。但是在多数情况下,一行写
7、一条语句。2.每条语句或变量定义的最后必须有一个分号“;”,分号是C语言语句的结束标志。只有一个分号的语句也是一条语句,称为空语句,不表示任何实际的操作,仅用于构造程序。include命令不是C语言语句,不以分号结尾。 第24页,共66页。C语言的一些规则3.关键字是C语言中预先定义了的有专门用途的标识符,不能作为变量或函数的名字。4.C语言中使用英文符号(半角符号),如不能把语句结束标志的分号“;”误作中文的标点符号“;”。VC6.0中全角符号(如汉字)只可以出现一对双撇号或注释中。 第25页,共66页。C语言的一些规则5.用scanf函数让用户输入数据时,变量前面通常有一个“&”,如sca
8、nf(%d%d, &a, &b);。当用户一次输入多个数据时,数据之间常用空格或Tab键分隔。 6.注释的功能是对程序中的内容提供解释说明,方便程序的阅读和理解。编译程序时注释会作为空白字符略过而不予处理。第26页,共66页。注释单行注释/*这是一个单行注释的示例 */ VC6.0中单行注释也可如此。 多行注释/*这是一个多行注释的示例*/第27页,共66页。1.5.2 printf函数的使用 C语言中,printf函数用来控制输出设备,调用printf函数可以在输出设备上输出一串字符。使用时,只须把欲输出的字符用一对双撇号( )括起来作为输入值调用printf函数即可。如语句printf(W
9、elcome to C! );的输出结果如图所示。第28页,共66页。标识起始位置的光标程序运行窗口中闪烁的光标是输入或输出的起始位置,程序开始运行时,标识起始位置的光标位于窗口中的第一行第一列。当用户输入数据或程序中使用printf函数输出数据时,标识起始位置的光标会自动调整位置,它始终指示下一次输入或输出的起始位置。printf函数会从标识起始位置的光标指示的位置开始输出数据。 第29页,共66页。分析程序1-2的输出#include void main( ) printf (Welcome ); /*注意空格字符*/ printf(to C!);第30页,共66页。问题讨论 1.如何用一
10、条printf函数调用语句输出两行字符?如图所示。屏幕上的字符串实际上为:Hi,“回车键”Welcome to c!问题其实与回车键有关 第31页,共66页。1.如何用一条printf函数调用语句输出两行字符?怎样得到两行?按下回车键!键盘上的每个键都对应于一个“字符”,字符又可分为普通字符和控制字符。z字母键对应的字母z就是普通字符,按下该键后,显示器上通常就会出现字母z。回车键对应的字符就是控制字符,按下回车键,显示器上不会显示任何字符,但输入输出光标会移到下一行的第一列。输出控制字符时,计算机只是执行相关的操作。第32页,共66页。“回车键”假设“回车键”就是代表回车键对应的字符,pri
11、ntf(“回车键”)怎样输出?printf(z)时会显示一个字符Z,相当于按下Z字母键,可见,printf函数输出字符时,?printf函数只能输出“一行”?两行的字符能否“变成”一行?Hi, “回车键”Welcome to C!回车键什么样子呢?第33页,共66页。“回车键”用“n”表示。用两个普通字符构成一个特殊的字符组合来表示它。在VC6.0中,“回车键”用“n”表示。printf(Hi,nWelcome to C!); 第34页,共66页。2.如何用printf函数输出双撇号“”? 双撇号“”原本是一个普通字符,只需把它作为printf函数输入值包含在一对双撇号( )即可,但是,pri
12、ntf()这种形式在C语言中不允许。因为这种书写形式在C语言中将被解释为一对双撇号(其中什么也没有)和一个双撇号,printf函数中会因多一个双撇号而出现语法错误。 第35页,共66页。转义序列反斜杠和下一个字符的组合称为“转义序列”,有着特殊的含义。在输出时如遇到“转义序列”,printf函数会按照事先的约定输出而不会“原样”输出。在双撇号中字符应写成,字符应写成,回车键应写成n。请用printf函数输出如图所示的字符串。第36页,共66页。占位序列“占位序列”是printf函数中另一种特殊的符号组合,由百分号%及与之相邻的字符组成。遇到占位序列时,printf函数会用相应位置上的数据代替占
13、位序列。printf函数用“占位序列” 输出数据。printf(%dn, 3+2);printf(和为%d!, z);第37页,共66页。“占位序列”也称“格式字符串”“占位序列”也称“格式字符串”,因为,不同类型的数据需用不同的占位序列:整数用%d,浮点数用%f,字符用%c printf(%fn, 2.3);第38页,共66页。分析程序1-3的输出结果#include void main( ) int a = 3; int b = 5; printf(%d + %d = %d, a, b, 3+5);printf(a + b = %d, a + b); 变量的类型换成浮点型后改写程序。第39
14、页,共66页。1.5.3 用VC6.0观察程序运行的过程要点:程序的调试执行程序的运行过程第40页,共66页。分析下面的程序第41页,共66页。程序1-4的执行顺序一览第42页,共66页。插入断点 第43页,共66页。程序有两种执行方式在VC6.0中程序有两种执行方式:执行(快捷键Ctrl+ F5)和调试执行(快捷键F5)。两者的区别在于,当执行到含有断点的语句时,如果是“调试执行”程序,则程序就会暂停执行;如果是“执行”程序,则程序不会暂停执行。 第44页,共66页。选择【组建(Build)】【开始调试(Debug)】【Go】命令(或按下快捷键F5),进入调试执行模式 第45页,共66页。当
15、整型变量定义后没有赋值时,它的值是多少呢?可以用下面的代码段验证。int a; printf(%d, a);语句printf(%d, a);的输出结果与编译程序有关,VC6.0的输出结果是-858993460。定义后没有赋值的变量的值通常应认为是一个随机数。输出的-858993460只是VC6.0自动为程序中没有赋值的整型变量a赋的值。第46页,共66页。单步执行在调试执行模式下可以利用调试命令控制程序的执行,最常用的调试命令就是单步执行。单步执行每次只执行一条语句,执行完一条语句后程序自动暂停执行。利用单步执行可以方便地查看程序的执行过程。单步执行命令(或按下快捷键F11)第47页,共66页
16、。执行完第11行语句后程序再次暂停第48页,共66页。当执行到第13行语句时,sum函数将被调用执行。再次按下快捷键F11,程序开始执行sum函数,如图所示。 第49页,共66页。继续按下快捷键F11直到sum函数执行完成并返回到main函数。赋值语句将sum函数的返回值18赋值给了整型变量c,如图所示。 第50页,共66页。没有必要调试执行库函数第14行语句将调用执行printf函数,如果按下快捷键F11,那么程序将调试执行printf函数。没有必要调试执行库函数,因此,这里应使用快捷键F10来进行单步调试执行。第51页,共66页。快捷键F10与快捷键F11快捷键F10与快捷键F11的作用稍
17、有不同。如果当前的执行语句中有函数调用,使用快捷键F10时不会调试执行被调用函数,而是连续执行被调用函数直到返回调用函数时才暂停执行程序。如果当前的执行语句中没有函数调用,则快捷键F10与快捷键F11的作用相同。第52页,共66页。回顾程序的执行顺序第53页,共66页。结束调试执行在调试执行状态程序暂停时如想结束调试执行,则可以用快捷键Shift+F5,如图所示。(在调试执行状态,【组建】菜单会自动变为【调试】菜单。) 第54页,共66页。调试执行时注意事项在调试执行时可以切换到程序的运行窗口,输入数据或查看当前的输出。程序中没有断点而调试执行程序时,程序执行完毕后运行窗口会自动关闭。此时如何
18、查看程序的执行结果?第55页,共66页。遇到错误时遇到错误时,首先在信息输出窗口找到第一个错误提示,接着用鼠标左键双击该提示,此时编程器会自动定位出现错误的位置,最后就是结合错误提示信息细心查找出错原因了。修正一个错误后通常要再次尝试运行程序,不要急着修改下一个错误。 第56页,共66页。如编译程序1-1时,出现了如图所示的错误第57页,共66页。1.6 C语言语句简析要点:C语言语句的组成C语言语句的作用第58页,共66页。C语言语句int a = 3;c = a + b;return z;c = sum(a, b);printf(a+b=%dn, 3+5);有字符(串)如int,a,ret
19、urn等有符号如=,+等;还有数字如3,5等第59页,共66页。语句中的字符(串)可能是C语言关键字如int,return,有规定的作用可能是一个变量如a、b、c、z,用于在程序中标识计算机中的一个存储单元也可能是一个函数如sum、printf,具有特定功能。 变量与函数的区别在于?第60页,共66页。语句中的符号语句中的符号通常表示由C语言规定的需由计算机执行的某种操作,C语言是高级语言,因此,常见的操作使用了熟知的符号,如用+表示算加法,a+b中的+就表示执行时计算机需计算变量a与变量b的和。但常见的=(等号)在C语言中表示赋值,用于给变量赋初值或改变某变量的值,如a=3表示让计算机把整数3存入到变量a所标识的存储单元中。赋值号?等号?第61页,共66页。双撇号 C语言语句中的字符都有特殊的含义,或为变量、函数或为关键字,那
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 客户关系维护的总结与改进计划
- 2024秋三年级英语上册 Unit 4 We love animals Part B第一课时教学实录 人教PEP
- 药剂科药品管理优化方案计划
- 绩效提升的激励机制计划
- 2024年某科技公司与某小型创业公司关于人工智能技术研发的合同
- 2024年度资产包清收及处置合作意向书3篇
- 2025版高考数学一轮总复习2.6函数与方程及函数的综合应用习题
- 北京市西城区2024-2025学年高二历史上学期期末试题
- 2024年度国际能源工程建设的劳务合同3篇
- 全国粤教版信息技术八年级上册第一单元第六课《图像效果的处理》教学实录
- 民办学校教职工入职背景审查制度
- 二级公立医院绩效考核三级手术目录(2020版)
- 6人小品《没有学习的人不伤心》台词完整版
- 读《让儿童在问题中学数学》有感范文三篇
- 陈述句改成双重否定句(课堂PPT)
- 人教版六年级数学上册总复习教案
- 劳动合同法测试题含答案
- 自闭症儿童行为检核表学前版
- 五年级上册数学专项练习高的画法 全国通用
- 民警个人季度小结范文(3篇)
- 商场商户装修入驻工作流程
评论
0/150
提交评论