C语言内涵教程(第二版)_第1页
C语言内涵教程(第二版)_第2页
C语言内涵教程(第二版)_第3页
C语言内涵教程(第二版)_第4页
C语言内涵教程(第二版)_第5页
已阅读5页,还剩61页未读 继续免费阅读

下载本文档

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

文档简介

1、C语言内涵教程(第二版)第第1章章 C语言和计算机语言和计算机1.4 “懂懂”C语言的计算机语言的计算机1.5 与虚拟与虚拟C语言计算机深入交流语言计算机深入交流1.6 C语言语句简析语言语句简析 多上机编程是初学者学习编程的必由之路,多上机编程是初学者学习编程的必由之路,只有实践才能出真知,但理论指导下的实只有实践才能出真知,但理论指导下的实践才是最有效的实践,一定要养成人工执践才是最有效的实践,一定要养成人工执行源程序的习惯。行源程序的习惯。1.4 “懂懂”C语言的计算机语言的计算机要点:要点:C语言不是计算机的语言不是计算机的“母语母语”用用VC6.0编译程序编译程序编译器 机器语言是大

2、多数计算机硬件能够“理解”的唯一语言;机器语言编写的程序是由二进制代码组成的序列,难于阅读和编写。用高级语言编写的程序称为源程序,计算机不能理解和执行,需要编译程序将源程序翻译成计算机能理解并执行的目标程序。VC6.0是微软公司提供的在Windows环境下进行应用程序开发的C/C+编译器系统。VC6.0是一个集成开发环境(IDE),包含了许多独立的组件。如编辑器、编译器、调试器以及各种各样为开发Windows下的C/C+程序而设计的工具。Visual C+ 6.0 (简称VC6.0) 使用VC6.0与计算机沟通在VC6.0中编译程序 在在VC6.0中,程序须作为工程的一部分来管理,因此在编程前

3、要先建立一中,程序须作为工程的一部分来管理,因此在编程前要先建立一个工程。个工程。两种交互方式图形用户接口GUI(即Windows标准),特点是利用鼠标通过窗口、菜单、按键等方式方便快捷地实现用户与计算机的交互。控制台应用程序是命令行模式的用户接口CLI (Command line User Interface ),特点是通过键盘基于字符。有时也称为字符用户接口CUI(Character User Interface)。 选择 控制台程序的类型 查看 新建工程信息汇总建立一个空的类型为控制台程序名为1_1的工程后VC6.0的界面新建(New)对话框中的文件(Files)选项卡 VC6.0中编辑

4、器等待输入时的界面 可以编译运行程序了吗?编译运行时出现的错误没有定义的标识符!库函数scanf函数和printf函数是库函数。库函数是由C语言编译系统根据一般用户的需要或C语言标准编制并提供给用户使用的一组函数。使用库函数时,需要把库函数的定义拷贝到当前源文件中,以符合先定义再使用的原则。可以简单地认为输入输出函数在stdio.h中定义。include命令include命令的一般用法:#include “#include ”命令的功能是用指定的文件内容替换该命令行,从而把指定的文件和当前的源程序文件合成一个源文件。#include include命令是C语言语句吗?完整的程序1-1#incl

5、ude void main( ) int a, b, c; printf(请输入两个整数:n); scanf(%d%d, &a, &b); c = a + b; printf(和为%dn, c);输入、编译并执行程序。 程序程序1-1输入完成输入完成后,选择组建(后,选择组建(Build)执行命执行命令或按下快捷键(令或按下快捷键(Ctrl+F5),编译),编译执行程序。执行程序。程序1-1的运行 用户输入23 32 再次输入、编译另一个程序1.5 与虚拟与虚拟C语言计算机深入语言计算机深入交流交流要点:要点:C语言的一些语法规则语言的一些语法规则回车键与普通键的区别和联系回车

6、键与普通键的区别和联系转义序列与占位序列转义序列与占位序列最重要的规则代码风格代码风格是指源代码的书写风格。良好的代码风格能提高代码(程序)的可读性,可读性是程序的一个重要属性,毕竟源程序要先由程序员执行。对齐和缩进可以使代码整洁、层次清晰。输入代码时,VC6.0会自动判断对齐和缩进的位置,因此,通常只需在VC6.0提示的位置输入即可。哪里错了?#include void main ( )int a,b,c;printf(请输入两个整数:n);scanf (%d%d, &a, &b);c=a+b;printf(和为%dn, c);1.5.1 C语言的一些规则 1.C程序书写格式

7、自由。程序书写格式自由。但是在多数情况下,一但是在多数情况下,一行写一条语句。行写一条语句。2.每条语句或变量定义的最后必须有一个分号每条语句或变量定义的最后必须有一个分号“;”,分号是分号是C语言语句的结束标志。语言语句的结束标志。只只有一个分号的语句也是一条语句,称为空语有一个分号的语句也是一条语句,称为空语句,不表示任何实际的操作,仅用于构造程句,不表示任何实际的操作,仅用于构造程序。序。include命令不是命令不是C语言语句,不以分号语言语句,不以分号结尾。结尾。 C语言的一些规则3.关键字是C语言中预先定义了的有专门用途的标识符,不能作为变量或函数的名字。4.C语言中使用英文符号(

8、半角符号),如不能把语句结束标志的分号“;”误作中文的标点符号“;”。VC6.0中全角符号(如汉字)只可以出现一对双撇号或注释中。 C语言的一些规则5.用scanf函数让用户输入数据时,变量前面通常有一个“&”,如scanf(%d%d, &a, &b);。当用户一次输入多个数据时,数据之间常用空格或Tab键分隔。 6.注释的功能是对程序中的内容提供解释说明,方便程序的阅读和理解。编译程序时注释会作为空白字符略过而不予处理。注释单行注释/*这是一个单行注释的示例 */ VC6.0中单行注释也可如此。 多行注释/*这是一个多行注释的示例*/1.5.2 printf函数的使用

9、 C语言中,printf函数用来控制输出设备,调用printf函数可以在输出设备上输出一串字符。使用时,只须把欲输出的字符用一对双撇号( )括起来作为输入值调用printf函数即可。如语句printf(Welcome to C! );的输出结果如图所示。标识起始位置的光标程序运行窗口中闪烁的光标是输入或输出的起始位置,程序开始运行时,标识起始位置的光标位于窗口中的第一行第一列。当用户输入数据或程序中使用printf函数输出数据时,标识起始位置的光标会自动调整位置,它始终指示下一次输入或输出的起始位置。printf函数会从标识起始位置的光标指示的位置开始输出数据。 分析程序1-2的输出#incl

10、ude void main( ) printf (Welcome ); /*注意空格字符*/ printf(to C!);问题讨论 1.如何用一条printf函数调用语句输出两行字符?如图所示。屏幕上的字符串实际上为:Hi,“回车键”Welcome to c!问题其实与回车键有关 1.如何用一条printf函数调用语句输出两行字符?怎样得到两行?按下回车键!键盘上的每个键都对应于一个“字符”,字符又可分为普通字符和控制字符。z字母键对应的字母z就是普通字符,按下该键后,显示器上通常就会出现字母z。回车键对应的字符就是控制字符,按下回车键,显示器上不会显示任何字符,但输入输出光标会移到下一行的第

11、一列。输出控制字符时,计算机只是执行相关的操作。“回车键”假设“回车键”就是代表回车键对应的字符,printf(“回车键”)怎样输出?printf(z)时会显示一个字符Z,相当于按下Z字母键,可见,printf函数输出字符时,?printf函数只能输出“一行”?两行的字符能否“变成”一行?Hi, “回车键”Welcome to C!回车键什么样子呢?“回车键”用“n”表示。用两个普通字符构成一个特殊的字符组合来表示它。在VC6.0中,“回车键”用“n”表示。printf(Hi,nWelcome to C!); 2.如何用printf函数输出双撇号“”? 双撇号“”原本是一个普通字符,只需把它作

12、为printf函数输入值包含在一对双撇号( )即可,但是,printf()这种形式在C语言中不允许。因为这种书写形式在C语言中将被解释为一对双撇号(其中什么也没有)和一个双撇号,printf函数中会因多一个双撇号而出现语法错误。 转义序列反斜杠和下一个字符的组合称为“转义序列”,有着特殊的含义。在输出时如遇到“转义序列”,printf函数会按照事先的约定输出而不会“原样”输出。在双撇号中字符应写成,字符应写成,回车键应写成n。请用printf函数输出如图所示的字符串。占位序列“占位序列”是printf函数中另一种特殊的符号组合,由百分号%及与之相邻的字符组成。遇到占位序列时,printf函数会

13、用相应位置上的数据代替占位序列。printf函数用“占位序列” 输出数据。printf(%dn, 3+2);printf(和为%d!, z);“占位序列”也称“格式字符串”“占位序列”也称“格式字符串”,因为,不同类型的数据需用不同的占位序列:整数用%d,浮点数用%f,字符用%c printf(%fn, 2.3);分析程序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); 1.5.3 用用VC6.0观察程序运行观察程序运行的过

14、程的过程要点:要点:程序的调试执行程序的调试执行程序的运行过程程序的运行过程分析下面的程序程序1-4的执行顺序一览插入断点 程序有两种执行方式在VC6.0中程序有两种执行方式:执行(快捷键Ctrl+ F5)和调试执行(快捷键F5)。两者的区别在于,当执行到含有断点的语句时,如果是“调试执行”程序,则程序就会暂停执行;如果是“执行”程序,则程序不会暂停执行。 选择【组建(Build)】【开始调试(Debug)】【Go】命令(或按下快捷键F5),进入调试执行模式 当整型变量定义后没有赋值时,它的值是多少呢?可以用下面的代码段验证。int a; printf(%d, a);语句printf(%d,

15、a);的输出结果与编译程序有关,VC6.0的输出结果是-858993460。定义后没有赋值的变量的值通常应认为是一个随机数。输出的-858993460只是VC6.0自动为程序中没有赋值的整型变量a赋的值。单步执行在调试执行模式下可以利用调试命令控制程序的执行,最常用的调试命令就是单步执行。单步执行每次只执行一条语句,执行完一条语句后程序自动暂停执行。利用单步执行可以方便地查看程序的执行过程。单步执行命令(或按下快捷键F11)执行完第11行语句后程序再次暂停当执行到第13行语句时,sum函数将被调用执行。再次按下快捷键F11,程序开始执行sum函数,如图所示。 继续按下快捷键F11直到sum函数

16、执行完成并返回到main函数。赋值语句将sum函数的返回值18赋值给了整型变量c,如图所示。 没有必要调试执行库函数第14行语句将调用执行printf函数,如果按下快捷键F11,那么程序将调试执行printf函数。没有必要调试执行库函数,因此,这里应使用快捷键F10来进行单步调试执行。快捷键F10与快捷键F11快捷键F10与快捷键F11的作用稍有不同。如果当前的执行语句中有函数调用,使用快捷键F10时不会调试执行被调用函数,而是连续执行被调用函数直到返回调用函数时才暂停执行程序。如果当前的执行语句中没有函数调用,则快捷键F10与快捷键F11的作用相同。回顾程序的执行顺序结束调试执行在调试执行状

17、态程序暂停时如想结束调试执行,则可以用快捷键Shift+F5,如图所示。(在调试执行状态,【组建】菜单会自动变为【调试】菜单。) 调试执行时注意事项在调试执行时可以切换到程序的运行窗口,输入数据或查看当前的输出。程序中没有断点而调试执行程序时,程序执行完毕后运行窗口会自动关闭。此时如何查看程序的执行结果?遇到错误时遇到错误时,首先在信息输出窗口找到第一个错误提示,接着用鼠标左键双击该提示,此时编程器会自动定位出现错误的位置,最后就是结合错误提示信息细心查找出错原因了。修正一个错误后通常要再次尝试运行程序,不要急着修改下一个错误。 如编译程序1-1时,出现了如图所示的错误1.6 C语言语句简析语

18、言语句简析要点:要点:C语言语句的组成语言语句的组成C语言语句的作用语言语句的作用C语言语句int a = 3;c = a + b;return z;c = sum(a, b);printf(a+b=%dn, 3+5);有字符(串)如int,a,return等有符号如=,+等;还有数字如3,5等语句中的字符(串)可能是C语言关键字如int,return,有规定的作用可能是一个变量如a、b、c、z,用于在程序中标识计算机中的一个存储单元也可能是一个函数如sum、printf,具有特定功能。 变量与函数的区别在于?语句中的符号语句中的符号通常表示由C语言规定的需由计算机执行的某种操作,C语言是高级语言,因此,常见的操作使用了熟知的符号,如用+表示算加法,a+b中的+就表示执行时计算机需计算变量a与变量b的和。但常见的=(等号)在C语言中表示赋值,用于给变量赋初值或改变某变量的值,如a=3表示让计算机把整数3存入到变量a所标识的存储单元中。赋值号?等号?双撇号 C语言语句中

温馨提示

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

评论

0/150

提交评论