C02第1章C语言与计算机.ppt

上传人:牧羊曲112 文档编号:6502442 上传时间:2023-11-07 格式:PPT 页数:55 大小:4.91MB
返回 下载 相关 举报
C02第1章C语言与计算机.ppt_第1页
第1页 / 共55页
C02第1章C语言与计算机.ppt_第2页
第2页 / 共55页
C02第1章C语言与计算机.ppt_第3页
第3页 / 共55页
C02第1章C语言与计算机.ppt_第4页
第4页 / 共55页
C02第1章C语言与计算机.ppt_第5页
第5页 / 共55页
点击查看更多>>
资源描述

《C02第1章C语言与计算机.ppt》由会员分享,可在线阅读,更多相关《C02第1章C语言与计算机.ppt(55页珍藏版)》请在三一办公上搜索。

1、新编C语言程序设计教程 清华大学出版社,周二强 软件学院 计算机科学与工程系配套视频:博客:,第1章 C语言与计算机,1.1计算机工作原理及C语言1.2C语言中的函数 1.3“懂”C语言的计算机1.3.1 虚拟的C计算机 1.3.2 Visual C+6.0(简称VC6.0)1.3.3 在VC6.0中编译程序1.4与虚拟C语言计算机深入交流1.4.1 C语言的一些语法规则1.4.2 printf函数的使用一个C程序的执行顺序,计算机的基本原理,1.采用二进制形式表示数据和指令。二进制只有2种状态,很容易在物理上表示,如开关的接通和断开表示1和0。现实世界中的数据必须编码成由01组成的数字串,与

2、此同时计算机中要有成千上万根导线用于存储数据,每根导线用有无电流来表示01串相应的位上是1还是0。2.采用存储程序方式。存储程序意味着事先将编制好的程序(包含指令和数据)存入计算机存储器中,计算机就能够自动地、连续地运行程序,从而也就能够自动地、快速地完成许多的任务。,计算机的基本原理,3.计算机由运算器、存储器、控制器、输入设备和输出设备5大部件组成。,计算机求两个整数的和,计算机求两个整数的和,C语言中的输出,在显示器上提示用户输入两个整数;C语言中用printf函数控制输出设备,使用该函数可以在输出设备上显示信息。如用语句printf(请输入两个整数:);就可以在显示器上该程序的运行窗口

3、中显示上面的信息。,C语言中用变量来表示内存中的存储单元,如变量x就可以表示内存中的一个存储单元。如果x所表示的存储单元中存储的数据为3,则变量x的值就是3;如果想把数据存储到该存储单元,则只需用该数据对变量x赋值(x=3)即可。,C语言中的输入和内存,2.获得用户输入,并把用户的输入存储到内存中;C语言中用scanf函数控制输入设备,使用该函数可以获得输入设备的输入,但是把输入数据存储到内存中的哪个存储单元呢?用C语言语句scanf(%,&,&);就可以获得用户的输入数据,并把数据存储到变量a、b所标示的存储单元。,C语言中的输入和内存,2.获得用户输入,并把用户的输入存储到内存中;C语言中

4、用scanf函数控制输入设备,使用该函数可以获得输入设备的输入,但是把输入数据存储到内存中的哪个存储单元呢?用C语言语句scanf(%,&,&);就可以获得用户的输入数据,并把数据存储到变量a、b所标示的存储单元。变量和的值分别为23和32。,C语言中运算器的运算,3.运算器计算和,并把结果存储在内存中;运算器对用户输入数据的处理,在C语言中就是对变量的处理。运算器对数据的各种运算,C语言中用代数式表示。C语言中a+b就是命令运算器求变量a,b所标示存储单元中的数据之和。第三步的操作在C语言中的相应语句为c=a+b;,该语句理解为先让运算器求变量a,b所标示存储单元中的数据之和,再把和存储到变

5、量c标示的存储单元中。,C语言中的输出,4.在显示器上显示计算结果。C语言中的相应的语句为:printf(和为%,);。把变量的值输出到显示器上该程序运行窗口中。,C语言和计算机,scanf函数,变量,printf函数,代数式,语句的执行顺序,计算机与C语言,计算机中求和的步骤如下:在显示器上提示用户输入两个整数;获得用户输入,并把用户的输入存储到内存中;运算器计算和,并把结果存储在内存中;在显示器上显示计算结果。,C语言中对应的语句如下:printf(请输入两个整数:);scanf(%,,return,1.2 C语言中的函数,printf,scanf是C语言中的函数。提起函数,可能会想到y=

6、f(x)。在数学意义上,函数是每个(组)输入值到唯一输出值的映射。输入值叫自变量;和自变量对应的输出值叫做函数值。语言中的函数亦然。现有函数(,)=x+y。C语言中此函数可定义如下:1)int sum(int x,int y)2)3)int z;4)z=x+y;5)return z;6),函数的首部和函数体,1)int sum(int x,int y)2)3)int z;4)z=x+y;5)return z;6)函数(,)=x+y,C语言关键字,return z;中的return称为C语言关键字。C语言关键字是由语言规定的具有特定意义的字符串,通常也称为C语言保留字。如int就是C语言的一个关

7、键字,它的含义为与之相关变量的取值必须为整数。关键字return用于返回函数值。C语言中函数可以没有返回值,此时需用关键字void标识函数返回值的类型。如果函数没有返回值,则函数体内也就无需return语句了。C语言中函数也可以没有输入值,但此时不能没有一对圆括号。,最简单的C语言函数空函数,void nothing()没有输入值也没有返回值,什么也不做。,函数调用,通过函数调用而使用printf函数和scanf函数的例子:printf(请输入两个整数:);scanf(%d%d,调用函数时使用函数名和一对圆括号,括号中应包含与函数自变量相对应的实际输入值。函数被调用时,函数体会执行并根据实际的

8、输入值返回相应的输出值。使用sum函数求3和2的和时可以用函数调用“sum(3,2)”。函数调用“sum(3,2)”的返回值为5,可以简单地认为“sum(3,2)”等同于“5”,两者的区别在于它有执行函数体中语句的计算过程。,1)int sum(int x,int y)2)3)int z;4)z=x+y;5)return z;6),问题:由n个函数构成的C语言程序如何运行呢?,函数是组成C语言程序的基本单位。C语言程序由n(n1)个函数构成。函数是C语言中的一个重要概念,后面会详细讲解。语言规定,程序中必须有且仅有一个名称为main的函数。程序运行时,main函数会被自动调用执行。C语言程序仅

9、有一个函数时只能是main函数。函数与程序的区别与联系?,变量在使用前必须定义,在计算机中数据是分类处理的,常见的整数(如2、1等)、小数(如1.1、2.3等)、字符(如a、B、c等)在内存中有不同的存储格式。变量定义的作用是事先告知计算机,变量所标示的存储单元在程序中要存储什么类型的数据(是整数,小数还是字符)。变量定义的一般形式是:变量类型 变量列表;其中,“变量类型”是C语言中的数据类型,如关键字int表示整数类型,另外还有float表示小数类型,char表示字符类型。“变量列表”由一个变量名称(标识符)或由逗号分开的多个变量名称构成,如变量名1,变量名2,变量名n。如:int x,y,

10、z;定义了三个整型变量;float fm,fn;定义了二个用于存储小数的变量。,第一个C语言程序,程序1-1 求两个整数的和1)void main()2)3)int a,b,c;4)printf(请输入两个整数,n);5)scanf(%d%d,8),return,机器语言是大多数计算机硬件能够“理解”的惟一语言;机器语言编写的程序是由二进制代码组成的序列,难于阅读和编写。,用高级语言编写的程序称为源程序,计算机不能理解和执行,需要编译程序将源程序翻译成计算机能理解并执行的目标程序。,1.3“懂”各种语言的虚拟计算机,return,VC6.0是微软公司提供的在Windows环境下进行应用程序开发

11、的C/C+编译器系统。VC6.0是一个集成开发环境(IDE),包含了许多独立的组件,如编辑器、编译器、调试器以及各种各样为开发Windows下的C/C+程序而设计的工具。VC6.0把所有的工具结合在一起,构成一个整体,通过一个由窗口、对话框、菜单、工具栏组成的系统,支持用户开发,方便用户观察和控制整个开发过程。,Visual C+6.0(简称VC6.0),return,使用VC6.0与计算机沟通,1.3.3 在VC6.0中编译程序,在VC6.0中,程序须作为工程的一部分来管理,因此在编程前要先建立一个工程。工程类型Win32 Console Application即Win32控制台应用程序。控

12、制台应用程序的外观像一个增强版的MS-DOS界面(字符用户接口),它特点之一是用命令行方式与用户交互。在命令行方式下,用户通常用键盘输入命令或数据与程序交互。,选择 控制台程序的类型 查看 新建工程信息汇总,建立一个类型为空的控制台程序名为1_1的工程后VC6.0的界面,新建(New)对话框中的文件(Files)选项卡,VC6.0中编辑器等待输入时的界面,库函数,C语言中,函数先定义后使用,但是程序1-1中并没有printf函数和scanf函数的定义,这是因为printf函数和scanf函数是库函数。库函数是由C语言编译系统根据一般用户的需要或C语言标准编制并提供给用户使用的一组函数。使用库函

13、数时,需要知道库函数在哪个文件中定义,并利用“#include”命令把文件内容(函数的定义)包含到源文件中。“#include”命令的功能是用指定的文件内容替换该命令行,从而把指定的文件和当前的源程序文件合成一个源文件。,完整的程序1-1,printf函数和scanf函数在stdio.h(标准输入输出)头文件中说明,因此程序1-1中需用#include 命令把它们包含在源文件中(注意该行没有分号,且常被放在首行)。#include void main()int a,b,c;printf(请输入两个整数,n);scanf(%d%d,输入、编译并执行程序。,程序1-1输入完成后,选择组建(Buil

14、d)执行命令或按下快捷键(Ctrl+F5),编译执行程序。,程序1-1的运行,程序运行窗口中输入23 32(回车),再次输入、编译另一个程序,return,最需注意的问题:编码规范,#include void main()int a,b,c;printf(请输入两个整数:n);scanf(%d%d,注释,注释的功能是对程序中的内容提供解释说明,方便程序的阅读和理解。编译程序时注释会作为空白字符略过而不予处理。注释的例子:/*这是一个单行注释的示例*/*这是一个多行注释的示例*/VC6.0中这也是一个单行注释的示例 注意最后这种格式只能VC6.0中,return,1.4.1 C语言的一些规则,1

15、.C程序书写格式自由,一行内可以写几条语句,一条语句可以分写在多行上,但是在多数情况下,一行写一条语句。2.每条语句或变量定义的最后必须有一个分号“;”,分号是C语言语句的结束标志。只有一个分号的语句也是一条语句,称为空语句,不表示任何实际的操作,仅用于构造程序。3.在C程序中,变量、函数等对象用名字互相区别,这些名字常称为标识符。标识符是一个由大写或小写(英文)字母、数字或下划线组成的字符串,但不能以数字开头。如:a、B2、_cd、2b、a#s中只有前三个是合法的标识符。关键字,C语言的一些规则,4.C语言使用半角符号,不能把“;”误作全角符号“;”双撇号误作双引号“”5.用scanf函数输

16、入数据时,变量前面通常有一个“,return,1.4.2 printf函数的使用,调用printf函数可以在输出设备上输出一串字符,更具体说是类似Dos窗口的程序运行窗口中输出。使用时,须把欲显示的字符用一对双撇号()括起来作为输入值调用printf函数。如语句printf(Welcome to C!);的输出结果为:,分析程序1-2的输出,#include void main()printf(Welcome);/*注意空格字符*/printf(to C!);,printf函数的烦恼,让printf函数换行输出需用到换行符,但是无法直接通过键盘把换行符包括在用一对双撇号括起来的输入值中。与此类

17、似的字符还有一些如双引号“”等。解决问题的办法,程序1-1中已经用过,就是用两个普通字符构成一个特殊的符号组合“n”来表示换行符。反斜杠和下一个字符的组合称为“转义序列”,有着特殊的含义。printf函数在输出时如果遇到“转义序列”就会按照它的含义调整输出结果。如遇到n,printf函数就会把输出定位到下一行的开始位置;遇到转义序列,就会输出一个双引号字符;遇到转义序列,就会输出一个反斜杠字符。,如何输出双撇号,用语句printf();可以吗?如何一次输出如下的两行信息?Welcome to C!,printf函数的用法,输出结果为Welcome to C!的输出语句怎么写?printf(We

18、lcome to C);与printf函数相关的另一个特殊符号组合是百分号%及与之相邻的字符,称为“格式字符串”,或称为“占位序列”。遇到占位序列时,printf函数会用相应位置上的值代替占位序列。如语句printf(和为%d!,z);当z=10时,输出结果为:和为10!。,分析程序1-3的输出结果,#include void main()int a=3;int b=5;printf(%d+%d=%d,a,b,3+5);/注意空格字符,return,利用VC6.0分析程序1-4的执行顺序,1)#include 2)int sum(int x,int y)3)4)int z;5)z=x+y;6)

19、return z;7)8)void main()9)10)int a,b,c;11)a=23;12)b=-5;13)c=sum(a,b);14)printf(%d+%d=%dn,a,b,c);15),程序1-4的执行顺序概览,插入断点,选择组建(Build)开始调试(Debug)Go命令(快捷键F5),进入调试模式,在调试模式可以利用调试命令控制程序执行过程,如此时可单步执行程序,即只执行一条应执行的语句,执行完后程序自动停下。,单步执行命令(或按下快捷键F11),执行完第11行语句后程序再次暂停,当执行到第13条语句,进入并开始执行sum函数,执行完被调用的函数并返回到调用函数,没有必要单步

20、执行库函数,快捷键F10F10与F11的区别是,如果当前执行语句是函数调用,则不会进入被调用函数里面单步执行,即是执行而非调试执行被调用函数。,程序1-4的执行顺序,1)#include 2)int sum(int x,int y);3)4)int z;5)z=x+y;6)return z;7)8)void main()9)10)int a,b,c;11)a=23;12)b=-5;13)c=sum(a,b);14)printf(%d+%d=%dn,a,b,c);15),调试执行时注意事项,在调试执行时可以切换到程序的运行窗口,输入数据或查看当前的输出。程序中没有断点而调试执行程序时,程序执行完毕后运行窗口会自动关闭。为查看输出结果,可在程序最后加一条输入语句,如scanf(%d,定屏。上机编译C程序时,常常会遇到错误,此时应耐心查明原因改正错误。,遇到错误,如编译程序1-1时,出现了如图所示的错误,return,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号