您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 质量控制/管理 > C语言程序设计教程(第1章 C语言概述)
信息科学与工程学院C语言程序设计信息科学与工程学院第1章C语言概述1.1程序与程序设计语言1.2C语言发展概述和主要特点1.3C语言的基本结构1.4程序的调试信息科学与工程学院本章需要掌握的知识点程序概念的基本理解设计语言概念的基本理解计算机语言与程序的关系高级计算机语言和低级计算机语言的区别C程序的基本构成如何在VisualC++6.0环境下调试程序printf函数的使用信息科学与工程学院1.1程序与程序设计语言•有三个同样大小的瓶子,一瓶是醋,一瓶是黄酒,剩下一个是空瓶,请用语言描述如何将装醋的瓶子装酒,而将装酒的瓶子装醋。信息科学与工程学院首先将醋、酒、空瓶分别编号为A、B、C•第1步将A中液体装入C瓶•第2步将B中液体装入A瓶•第3步将C中液体装入B瓶。每个操作步骤均无二义物理与电子工程学院计算机系统基本组成C:A:CPU0键盘显示器内存信息科学与工程学院二进制计算机程序1.10001011……2.00000101……3.00000000……4.01111001……5.10001111……信息科学与工程学院机器指令直接编程机器指令采用二进制代码形式,它们符合具体计算机的指令系统,可以由计算机直接执行。每一条机器指令包括两个主要方面:操作(指出计算机应做什么)和被操作的对象(指出处理的数据或它的地址)。Intel80386指令:100010110000010100000000011110011000111110101101从某个内存单元取出数据,装入EAX寄存器中信息科学与工程学院汇编语言编程用有帮助记忆作用的符号来书写程序。例如用ADD表示加法操作,用JMP表示控制性转移等。操作的对象(数据或数据的地址)也用符号形式表示,例如用X、Y代表两个存储数据的容器。这就是“汇编程序设计语言”的基本想法。物理与电子工程学院汇编语言提供一组具有帮助记忆作用的“汇编指令”,每条汇编指令都和一条机器指令相对应,只是指令码和操作数都采用符号形式。……PUSHECXMOVERROR,0MOVECX,EAXCMPECX,0JMPFAILCALLFACT……汇编语言程序段物理与电子工程学院运行问题?•计算机的“大脑”CPU不懂汇编语言,所以用汇编语言编写的程序,计算机无法执行,怎么办?•写一个翻译器,将汇编语言翻译成机器语言。信息科学与工程学院高级语言编程高级语言在对计算过程的描述方面,完全脱离了简单的指令方式,采用类似于数学公式的书写方式描述由一些数据计算出结果的过程,用一些更高级程序流程描述结构取代简单的跳转指令方式,以更好地满足书写程序的需要。高级语言编程片断示例:a=5;b=3;c=a*b;信息科学与工程学院问题思考•计算机“大脑”认识高级语言吗?我们能够直接让计算机CPU运行高级语言吗?信息科学与工程学院计算机程序和编程语言•程序是可以反复执行的操作序列。•计算机程序必须使用编程语言进行描述•CPU可以直接执行机器语言描述的程序•非机器语言描述的程序首先要翻译成机器语言描述的程序才能执行信息科学与工程学院1.2C语言发展概述和主要特点•C语言与UNIX操作系统有关。发明者:DennisRitchie,1971年,贝尔实验室。•C语言同时具备高级语言和低级语言的特征。备注:低级语言直接依赖计算机硬件,不同的机型所使用的低级语言是完全不一样的。高级语言是一种比较接近自然语言和数学语言的程序设计语言。不依赖于计算机硬件。物理与电子工程学院1971年,DennisRitchie(见图1.1)开始协助Thompson开发UNIX。他对B语言做了进一步的充实和完善,加入数据类型和新的句法,于1972年推出了一种新型程序设计语言——C语言(取BCPL的第2个字母)。图1.1Thompson(左)和Ritchie(中)于1999年接受当时美国总统克林顿授予的国家技术勋章物理与电子工程学院1.3C语言的基本结构•第一个程序例1.1/*-----------------------------------------------------------*//*Aprogramtoprintwelcome-----------------------*/#include“stdio.h”/*包含标准输入输出头文件,编译预处理命令*/voidmain()/*主函数定义*/{printf(“welcome”);/*调用库函数printf显示*/}运行结果:welcome物理与电子工程学院•第二个程序例1.2/*------------sumofaaddb-----------------------------------*/#includestdio.hvoidmain(){inta,b,sum;/*定义三个整型变量a,b和sum*/a=1;/*将1赋值给变量a*/b=2;sum=a+b;/*将变量a和b的值相加,然后赋值给变量sum*/printf(aaddbis%d\n,sum);}运行结果:aaddbis3信息科学与工程学院printf使用初步printf是一个预定义好的标准输出函数。它执行格式化输出,调用格式是:printf(格式信息,数据参数1,数据参数2,…);数据参数可有可无。格式信息用于控制数据参数的输出格式。格式信息中字符除了冠以斜杠“\”和“%”的字符,其它字符原封不动按照原样输出到屏幕上。格式信息中的%和其后面的字符d分别是转换说明符和转换字符,它们共同指定了显示数据参数时的格式。转换说明符的个数应与数据参数的个数相等。格式信息中的\n是字符转义序列。\n表示换行。物理与电子工程学院•第三个程序例1.3/*------------sumofaaddb(usingFunction)-------*/#includestdio.hvoidshow(intx,inty);/*(自定义)函数说明*/voidmain()/*main函数定义*/{inta,b,sum;a=1;b=2;show(a,b);}voidshow(intx,inty)/*(自定义)函数定义*/{intsum;sum=x+y;printf(“aaddbis%d\n”,sum);}信息科学与工程学院1.4程序的调试物理与电子工程学院编辑键盘输入结果执行Filec.exe可执行文件链接Filec.obj目标文件编译Filec.c源程序文件程序的编辑、编译、链接以及运行都可以在一种集成环境下工作源程序目标程序可执行程序内容程序设计语言机器语言机器语言可执行不可以不可以可以文件名后缀.c.obj.exe信息科学与工程学院VC++环境的使用(见演示)•项目(Project)一组相互关联的文件,是一个应用程序中需要的所有源文件的组合。•项目工作区管理项目和项目配置的工作区间信息科学与工程学院上机步骤1.创建一个项目工作区(Workspace)2.在项目工作区中新建一个项目(Project)(也可以将上面两步合并)3.在项目中创建源程序文件等(或将这些文件添加到项目中)4.编辑项目中的源程序5.编译和连接6.调试应用程序信息科学与工程学院如何备份和重新开始•备份时需将整个工作区文件夹一起备份。但debug目录中的内容可以删除。•重新开始时,只需打开以.dsw结尾的工作区文件。•每个项目代表一个程序,在一个项目的所有文件中只能有一个主函数。信息科学与工程学院小结•如何理解计算机程序和编程语言?•一个C程序是由什么构成的?•函数的描述形式是怎样的?•函数体是由什么构成的?•注释起何作用?•计算机的“大脑”能够直接运行C语言吗?•用C语言编写的程序产生可执行程序应该经过哪些步骤?•printf函数的简单使用?信息科学与工程学院自学安排•VisualC++6.0环境熟悉信息科学与工程学院课堂作业•编写程序输出下列图案***$***$$****$$$信息科学与工程学院课外练习P.121-71-8
本文标题:C语言程序设计教程(第1章 C语言概述)
链接地址:https://www.777doc.com/doc-3262442 .html