下载

2下载券

加入VIP
  • 专属下载特权
  • 现金文档折扣购买
  • VIP免费专区
  • 千万文档免费下载

上传资料

关闭

关闭

关闭

封号提示

内容

首页 第一章 面向过程的程序设计方法

第一章 面向过程的程序设计方法.doc

第一章 面向过程的程序设计方法

浩哥
2018-09-09 0人阅读 举报 0 0 暂无简介

简介:本文档为《第一章 面向过程的程序设计方法doc》,可适用于IT/计算机领域

第一章:面向过程的程序设计第一章:面向过程的程序设计第一章:面向过程的程序设计学习目标·理解程序概念·理解类型和变量·了解面向过程的程序设计方法·C语言简介·用C语言进行程序设计初步知识什么是程序:从世界上第一台计算机发明以来就存在了程序的概念。计算机程序给我们提供了一种全新的表达思想的媒体和传统的媒体杂志、报纸一样我们可以通过它表达对客观世界的认识也可以有于人与人之间的交流。所不同的是这种媒体的这些功能仅仅不过是其附加的功能实际上其核心的功能主要用于和计算机之间进行交流是人们控制计算机的主要手段。程序是由一系列代码组成的什么是代码呢?就像报纸是通过文字组成自己的一样代码可以组成程序。代码是人们约定的一系列符号通过这些符号的排列组合就形成程序。代码是程序员容易理解的计算指令表现形式提供这些代码约定的工具程序就是计算机语言。本章将要详细介绍C语言的来历并进一步讲解使用C语言表达程序或开发程序的一些初步知识。代码的组织单元是函数一系列指令通过平面的方式组织是不理想的。比如:遇到重复代码该如何处理?要进行次加法计算是不是要重复加法的代码呢?所以C语言提出了函数的概念。我们只要写一块加法代码并将其以函数的形式来组织执行次加法只要进行操作来调用相同的加法代码这就是函数调用告诉计算机去执行某一个函数中的代码。因此程序中的代码是以一系列函数来组织的。程序是可以通过计算机执行的实体我们已经知道程序是人和计算机之间交流的工具是控制计算机的主要手段。具体讲程序利用了计算机的CPU和内存即计算机可以执行一个程序。代码对于计算机来讲即是一系统列指令。代码本身只是程序的初步的静态表现形式严格来讲计算机并不能执行代码本身因为代码是人便理解便于开发的一种计算指令的表现形式计算机只认识组成的数据所以通过一些额外的处理手段将代码转为计算机能够认为的数据。才能让计算解释并执行。一般来讲这种处理有两种:·代码可以被编译链接产生计算机可以认识的可执行的程序程序执行时将加载到计算的内存空间将自己的第一条代码指令的地址交给CPU执行。严格讲计算机可以识别的机器代码组成的程序才是程序。·另一种处理代码的手段是解释执行。源代码可以不必一次性编译生成可执行程序它可以通过另一个程序一边解释一边执行。即解释执行。每一次解释仅将一条或多条源代码编译成计算机所能识别的机器指令并执行。程序在执行所需内存空间CPU执行每一条指令必须事先将指令装入内存空间。以便于CPU能即时读到指令。这种内存空间我们称为代码内存空间。CPU执行程序时还需要临时内存空间比如执行两个数据的加法这种数据需求事先存放在内存空间。程序是如何管理自己的临时内存空间呢?是通过类型来管理的。每一种数据都有自己的类型来规定自己占多大的内存空间等内容。当定义一个数据时我们称定义某一类型的变量。即按给定类型在内存中申请类型所规定的空间。比如int是C语言中的一个整型数据类型它占四个字节的内存空间我们可以用代码inta来定义一个整型变量即我们在内存中分配了一个专用于存整型数据的内存空间。程序是通过进程来执行的我们将上述程序执行时所需要的内存空间等其它资源统称为该程序的进程进程是程序执行时的动态表现形式。是程序执行时所必须具备的资源集合。内存空间操作系统为每个程序进程赋予G的内存空间程序的代码、常量、变量、程序引用的其他模块都在这G的内存空间进行分配。(xxFFFF),K空间用于指针分配(xxFFEFFFF),(约G)空间,属于进程私有(xFFFxFFFFFFF),K空间用于指针分配(不可访问)(xxFFFFFFFF),G空间用于操作系统不可访问结合如下代码实例理解进程的内存空间#include"stdioh"#defineMAXCOUNTconstintCONSTVALUE=doublegfValueintmain(intargc,char*argv){constintMAXVALUE=intiValueiValue=MAXVALUEreturn}上面例子是我们的第一个用C语言写出的一个小程序该程序不做事情仅仅在内存中分配了一些空间就退出了。上述代码不能直接给计算执行计算不会认识这些代码它们只不过是为了程序员设计或书写程序方便而设计的一种代码约定也就是C语言。必须通过C语言所提供的编译器将其转换为计算机所能理解的指令形式才能执行。这一过程是由编译器程序自动完成的所以我们也称上述代码是计算机指令(高级指令)。我们现在来详细讲解一下上述程序的工作情况:第一条指令#include,是一条宏指令专门供编译器的预处理程序来处理的指令称宏指令。该指令引入了一个C语言所定义的一个头文件stdioh该文件定义了C语言用于标准输入输出所需要的函数。第二条指令#defineMAXCOUNT是一条宏指令让编译知道MAXCOUNT的含义表示以后在代码中出现标识标MAXCOUNT时编译器就知道是并将其替换。这样做方便了程序员代码的编写。因为程序员更容易识别MAXCOUNT。第三条指令constintCONSTVALUE=是定义了一个整型变量的内存空间该变量名称是CONSTVALUE而且其值为该内存空间不能修改只能是。这是一条由代码指令在程序加载时会执行该指令。程序中每非宏的指令要加分号表示该指令的结束。第四条指令定义了一个浮点型的变量其值示定可以些内存空间放任何浮点数。第五、六、十一条指令定义一个入口点函数intmain(intargc,char*argv)表示函数原型需要一整型参数和一字符串指针参数函数代码执行完后返回一个整型数。{表示函数代码体的开始}表示函数代码体的结束每一个程序都必须有一个入口点函数其名称固定为main程序执行时调用该函数导致程序的运行。第七、八条指令定义了常整型变量MAXVALUE定义了整型变量iValue。第九指令是一个赋值指令将MAXVALUE的值赋给变量iValue也就是说将iValue变量所对应的内存空间设为MAXVALUE的值。上述程序进行了三次内存空间分配。程序执行时会在程序所在的进程的私有空间中分配这些内存的。类型和变量我们已经对程序有了初步的了解。构成一个程序的元素是什么呢?有人说是代码代码是程序员容易理解的编程元素。但这还不够精确。由于程序最终的目的是要在计算中执行的所以我们要站在执行的角度进一步研究构成一个程序的基本单元。我们发现几乎每一条可执行的指令都要内存打交道。只要我们清楚我们的内存分配情况就容易理解一个程序是如何运行的。程序的内存组成单元是由类型和变量这一机制决定。我们可以说一个程序是由一系列类型所决定的变量构成的。程序中的代码指令运行只不过是对这种内存单元操作而已。·类型的定义在所有的程序设计语言中类型是一个关键的概念因为它规定了一个变量所对应的一块内存的信息这些信息包括娈量所占用的空间大小变量应如何使用变量可以执行何种操作等信息。这些信息在不同的编程语言中是所有不同的比如我们关心的C语言也不例外只不过其类型所表示的信息较少这一点符合C语言简洁的特点在C语言中每一个类型仅仅表示其对应的变量的内存空间的大小和该内存所表示的含义。·变量的定义在类型的要求下我们就可以定义该类型的变量了。只有变量才能对应一个具体的内存空间。其空间受到相应类型的制约只能存放符合类型的数据程序的数据。·变量、变量关系的复杂性仅从二者的定义来说似乎较简单但在实际使用中有很多种变化。比如C语言最复杂最容易令人头破血流的指针就是类型变量关系的一种表现形式。指针实际上是一个内存中的地址用它可以引用到一块变量内存。但C语言为了精确定义每一块内存中的信息给指针规定类型称指针类型。存放指针类型这种值的内存称为指针变量。如此一来问题就复杂了。很多人就搞不清指针本身的内存了和指针所指向的内存间的关系。多数指针的使用错误是由此引起的。还有一个例子是函数指针实际上函数指针也是一个类型。我们可以定义函数一个函数指针并且可以定义一个函数指针的一个变量。甚至还可以通过一个函数指针变量来调用一个指针所指向的一个函数。面向过程的程序设计方法设计一个程序的通用方法是什么一直是人们所关心的一个问题。这一点是由人的思维方式决定的因为人们总想从根本上找到解决问题的办法。面向过程的程序设计方法就是这种努力的结果。面向过程程序设计方法论将问题域抽象为一系列过程这种方法认为只要通过编程语言实现这些过程就能够使用问题得到解决。该方法也确实取得了巨大成功因此它在软件发展史是有自己的地位的。从某种角度就C语言就是面向过程方法论指导下的产品。我们注意到C语言是通过函数来表示过程的。所谓函数并不是我们在数学中所接触到的函数而是表示一种映射关系:如果你给我一系列参数值我就可以运行我的过程来给你计算出结果值。所以有些资料也将函数称为过程。C语言可以说就是由一系列函数组成的一个平面结构构成的当然除了C语言预定义的函数以外程序员自己写一个程序还需要定义大量的函数才能完成所需要的功能。我们知道从类型变量这一关系来说函数从本质上来说是一个函数指针变量的值。所以我们可以这样认为:C语言所开发程序实际上是由一系统类型和变量组合而成的。而且其类型和变量组织在一个平面结构中。但面向过程的程序设计方法也有其弱点当开发复杂的大规模的应用程序时其内部过程相当复杂不仅仅需求有大量的过程即函数需要设计而且函数之间的关系也很复杂还有需要大量的全局变量。这样一来我们可以设想一下程序的维护是很复杂的由于程序是由一系列变量并列组织的函数可以理解成变量的一种特殊情况任何一个变量都可能在任何一个地方引用。当可以变一个变量的定义时必须改变该变量相应的引用才不会出错但改变该变量的引用则随着程序规模的扩大而变得极为困难。而且维护各变量精确定义也变得困难。所以面向过程程序设计方法适用于小规模的程序设计。这一占是由于历史原因决定的因为二十世纪七十年代以前的软件相对较小且简单所使用的编程语言也相对简单其代码组织成了一个平面结构面条式的。主要是靠个人的技能来完成的崇尚个人的英雄主义。随着软件越来越复杂这种随心所欲的方式必然使软件变得很难维护。虽然高层次的语言引入了一些与解决复杂性有关的特点但不是充分的仍不能从根本上解决复杂性问题仍然是面向过程的方法论。我们以后要讲到面向对象的编程方法才能从根本上解决复杂性问题。面向过程的程序分析和设计方法论一般包括下面几种设计方法:结构化程序分析和设计方法如数据流法等这种方法的核心是功能分解法以软件系统需求的功能为中心来组织系统首先定义各种需要的功能随后将其分解为子功能并定义子功能间的接口对较大的子功能进一步的分解直到可以给出明确的定义根据功能和子功能的定义来设计数据结构并实现软件系统。优点:当时的软件应用还不是很普及只是某一用户从自己的角度出来对系统作了简单的功能描述有据可寻。在相当大的程序上解决了以前趣在的编程问题而且与模块化编程结合使用效率更高删除了GOTO语句使软件能得到更有效的维护。适用于功能较稳定的软件职科学计算。直接反映了用户的功能需求所以编程工作很容易开始。弱点:开始容易结束难。这种结构化程序设计和分析方法仅处理功能对系统的数据处理没有任何帮肋对大多数软件应用来说其需求是易变的如企业管理和商业应用其适应变化有能力是很弱的软件不能直接映射到问题域很难检验分析结果的正确性。对于大型的软件系统来说由于其内部的高耦合低内聚特性特别是团体开发的开发管理方法之不足导致了七十年代的软件危机的出现。FredBrook的格言:一个程序员写了三年的程序却不能由三个程序在一年内完成。人们先后改进了结构化程序方法、使用了GL语言、CASE工具、原型技术、代码生成功能来解决这些问题但没有成功。基于数据的方法如实体关系法该方法以数据实体作为构造块以数据结构为中心。当时软件设计人员认为数据是系统设计中的最稳定的部分而且基于数据的关系型数据管理系统有极好的数据模型在二十世纪八十年代取得了极大的成功现有都还在使用。所以当时的软件开发者大都以基于数据建模的方法来开发软件系统。但数据建模方法虽然能搞清数据间的关系但不能搞清与某数据相关的功能是如何活动的。这种信息建模方法由实体、属性、关系、父类型子类型、实体关系组成。由实体关系方法(ER)发展而来。与数据有很深的渊源关系。其核心概念是实体与关系。实体描述问题域的事物包括属性关系描述事物间在数据方面的联系也可以包括关系属性发展之后的方法将实体称为实体对象并使用的类型和子类型来描述抽象的实体。这种方法跟踪实体的数据流动从而发展数据流并对其进行加工处理。这种方法的特点是强调对数据实体建模而没有考虑实体还有功能和行为因此其实体对象只有数据而没有功能和行为父类型和子类型也只是简单的属性继承关系而没有功能行为的继承关系。数据之间不能进行通信这一点是孤立的。有限状态机方法这种方法基于现实的行为视图将系统当作一系列状态来处理系统的功能是由这一系列状态的相互间变换来实现的。这一方法没有提到系统运行中的数据应如何处理。基于规则的方法该方法认为计算机程序是一系列执行规则的推理机(ifthen条件语句)它引用人工智能的一些方法但没有帮肋我们去理解其中的数据关系和处理数据。总之上述都是从一个角度即过程去理解一个复杂的系统对系统的整体理解整体建模理解很弱。C语言简介C程序设计语言最先由DennisRitchie在设计并实现当时主要用于开发Unix操作系统此后C语言就从贝尔实验室的发源地传播到的全世界各地。它已成为全世界的公共语言并由此产生了三种主流语言:JAVAC与C#它们都建立在C语言的语法和基本结构基础上。现在全世界各地的软件绝大部分都是由C语言及在其基础上产生的各种语言开发的。年美国国家标准委员会(ANSI)为C语言指定了一个精确的标准以便于人们在使用和交流时能对C语言进行精确的描述并能在使用过程中可以进行一些合理的变化。该标准保持了C语言的表达能力效率小规模以及对机器的最终控制等特点同时还保证了符合标准的程序能从一种计算机和操作系统移植到另一种机器和操作系统中而不需做任何改变。该标准同时还被国际标准化组织(ISO)接收为国际标准。C语言是典型的面向过程的编程语言只有很少的几个预定义的关键字标识符。其结构简练效率高功能强大能完成对低层硬件的最终操作。用C进行程序设计初步我们已经知道了C语言中的一个核心概念是类型和变量机制。数据类型用于规定其变量的存储信息一个数据类型可以有多个变量每一个变量必须对应一块内存。但在C语言如何通过代码来引用娈量的内存以便对其操作呢?实际上这量面有很多种变化我们最为困惑的指针就是引用变量内存的最重要的手段。但万变不离其宗最基本的引用内存的方法是通过变量的名称来引用变量内存。·数据类型与常量、变量·数据类型C和C语言数据类型可以分为基本数据类型和复合数据类型。基本数据类型是语言预定义的数据类型以位计算机为例有:charbytesboolbytesshortbytesintbyteslong(longint)bytesfloatbytesdoublebytes其中还有一些类型修饰符:unsigned无符号类型signed有符号类型long长类型如:signedchar,unsignedchar,longdouble复合类型是在基本类型的基础上组合来成的类型有:指针类型如:int*引用类型如:int结构类型联合类型枚举类型自定义数据类型通过关键字typedef定义的类型·常量常量指在程序运行期间其值恒定不变的量。常量包含两大类即数值型常量(即常数)和字符型常量。·数值常量参见上述代码的第二条指令在代码中直接指定的值或通过宏定义指令指定的值称为数值常量·字符常量普通的字符常量,如cout<<’a’转义字符常量转义字符只代表一个字符在内存中只占用一个字节常用的转义字符有r回车符号n换行符号反斜杠符号”双引号tTAB符号空字符在一定条件下字符型数据与整型数据是可以通用的#include<iostream>usingnamespacestdintmain(){charc,cc=’a’c=’b’c=cc=ccout<<c<<’’<<c<<endlreturn}字符串常量,用双引号括起来的部分就是字符串常量如”abc”,”Hello!”,字符串常量在内存中占用的字节数为字符个数加,intiSize=sizeof(“abc”)cout<<iSize<<endl符号常量。用#define预处理命令定义的常量就是符号常量如#definePRICE=,符号常量在程序编译后编译系统将用符号常量的值替换掉符号常量。·变量变量指在程序运行期间其值可以改变的量。变量必须具有两个特征一是变量有一个名字而是变量在内存中占据一定的存储单元。变量不赋初值的话它的值将是一个不可测的数。intaintb=a=int*piValpiVal=·常变量在定义变量时如果加上关键字const,则该变量称为常变量常变量的值在运行期间不允许改变。常变量通常也称为常量。constinta=constintbb=(错误)constchar*pszVal·运算符与表达式运算符是语言预定义的对变量的操作符表达式是运算符和变量常量组合成的可以计算结果的复合标识符。运算符有:·逻辑运算符逻辑与||逻辑或!逻辑非·位运算符号<<按位左移>>按位右移按位与|按位或~按位取反^按位异或:条件运算符号引用和地址运算符sizeof变量占用的内存大小运算符自增运算符自减运算符强制类型转换运算符,可以用强制类型转换符将一个表达式转换成所需的类型,传统的强制类型转换的一般形式为(类型名)(表达式)C的强制类型转换形式为类型名(表达式)如intiVal=charchVal,chValchVal=(char)iValchVal=char(iVal)·程序设计初步·变量作用域变量的作用域从声明变量的语句开始到函数或者语句块结束而结束。分析下面程序理解变量的作用域#include<iostream>usingnamespacestdintiMul=intGetMul(intiVal){returniVal*iMul}intmain(intargc,char*argv){intiVal=intiMul=cout<<"Local:"<<iVal*iMul<<endlcout<<"Function:"<<GetMul()<<endlreturn}·空语句只有一个分号的语句为空语句常可用于循环体表示循环体什么也不做。#include"stdafxh"#include<iostream>usingnamespacestdintmain(intargc,char*argv){charszText="abcde"char*pszTemp=for(pszTemp=szText*pszTemppszTemp)cout<<pszTempszText<<endlreturn}·复合语句(语句块)用{}把一组语言括起来称为复合语句。在条件语句、循环语句、分支语句中复合语句将整体执行在复合语句内部不会发生流程的控制转移。{z=xyif(z>)z=zcout<<z}·条件语句if条件语句有三种形式:if(表达式)语句if(x>y)cout<<x<<endlif(表达式)语句else语句if(x>y)cout<<x<<endlelsecout<<y<<endlif(表达式)语句elseif(表达式)语句elseif(表达式)语句…elseif(表达式n)语句nelse语句mif(number>)cost=elseif(number>)cost=elseif(number>)cost=elsecost=嵌套if语言,嵌套if语句采用最近匹配原则,为了避免产生歧义尽量用{}组织语句块。如规范化下列语句:intx=,y=,z=intm=,n=if(x>y)if(y>z)cout<<z<<endlelsecout<<y<<endlelseif(m>n)cout<<m<<endlelsecout<<n<<endl·switch分支语句switch语句一般形式如下:switch(表达式){case常量表达式:语句case常量表达式:语句case常量表达式:语句…case常量表达式n:语句ndefault:语句m}如:switch(chScore){case‘A’:case‘B’:cout<<”good!”<<endlbreakcase‘C’:cout<<”normal”<<endlbreakcase‘D’:cout<<”bad”<<endlbreakdefault:cout<<”error!”<<endlbreak}·while循环语句while循环语句的特点是先判断再执行。一般形式如下:while(表达式)语句如求…intiSum=,iLoop=while(iLoop<)iSum=iLoopcout<<iSum<<endl·dowhile循环语句dowhile循环语句的特点是先进入循环体再判断条件表达式。一般形式如下:do{}while(条件表达式)如求intiSum=,iLoop=do{iSum=iLoop}while(iLoop<)cout<<iSum<<endl·for循环语句for循环语句使用最为广泛和灵活不仅可以用于循环次数确定的情况而且可以用于循环次数不确定而只给出结束循环条件的情况它完全可以替代while语句。for循环语句的一般形式为:for(表达式表达式表达式)语句如求intiSum=for(inti=i<i)iSum=icout<<iSum<<endl·break和continue语句break语句用于退出当前循环体。continue语句用于结束当前循环的执行立即跳转到下一次的循环条件判断。从开始求个素数voidFun(){inti,iTemp,iSqrt,iCountiTemp=iCount=while(iCount<){求平方根iSqrt=int(sqrt(iTemp))依次查找是否能被整除for(i=i<=iSqrti){if(iTempi==){break}}如果没有能被整除的则为素数if(i>iSqrt){iCountcout<<setw()<<iTempif(iCount==){cout<<endl}}iTemp}}一个典型的HelloWorld程序#include<stdioh>voidSetOne()voidSetTwo()charcOnecharcTwointmain(intargc,char*argv){SetOne()SetTwo()printf("这是一个典型的程序:ss",cOne,cTwo)return}voidSetOne(){strcpy(cOne,"Hello")}voidSetTwo(){strcpy(cTwo,"World!")}实例分析:·该软件的组成元素三个函数:SetOne、SetTwo、Main二个数据:charcOnecharcTwo我们可以发现这五个元素是并列的组织成了一个平面结构。·程序解析第一条句通过宏指令#include引入了标准的头文件<stdioh>第二、三句语定义了两个函数原型在C语言为了让编译器在编译时认识一个函数必须定义其函数原型才能编译通过。之后才能进行编译生成块(二进制指令)的链接工作在链接时链接器在找到该函数原型的函数体才能链接成功。同样在引用一个全局变量也是这一过程只不过引用数据的方法有所不同通过externinta来引用全局变量在链接时编译器同样要寻找变量a的定义才能链接成功。第四、五句语定义了两个全局变量即两个字节长度的字符数组下面的代码定义了三个函数。其中SetOne、SetTwo两函数将固定字串COPY到了全局变量中。入口点函数main定义了程序的入口该函数首先调用前两个函数将固定字串COPY到全局变量中之后调用C语言预定义函数库的中函数printf将全局变量中的数据显示在屏幕上。·程序执行建立一个文本文件键入上述代码将文件名称后缀改为cpp用VC开发工具打开VC会提示你是否生成一个工程回答是。点VC工具的Build菜单点RebuildAll菜单VC工具会自动编译并链接程序最后生成可执行的EXE文件。点VC工具的执行菜单可以执行之。从上述例子中我们可以得到下列经验我们学习编程要善于总结。由于C语言中的函数和全局变量组成了一个平面结构编译器是接代码的顺序来编译的所以很难避免在函数定义之前去调该函数这种情况会导致编译器出错。解决问题的方法是在每一个模块之前都入函数的原型。这也是C语言头文件存在的理由在C语言的预定义函数库中定义了大量头文件其主要的目的是函数原型的定义。一个函数原型由函数参数列表函数返回类型函数名称组成。函数原型必须有一个函数体并且要加上语句结束符该函数才能调用。函数体由函数头和函数块组成。代码charcOne在C语言定义一个字符串是通过字符数据来表示。当然也可以通过一个字符的指针来引用一个字符串的内存空间。在C语言中字符串实际上就是一个字符的顺序集合只不过有一个特殊的转义字符无反顾来表示字符串的结束。在C语言不能通过变量的赋值来完成字符串的赋值。只能通过字符串内存空间的COPY来实现C语言定义了一个strcpy函数来完成字符串的COPY。printf函数是C语言提供的标准函数其原型在stdioh头文件中定义该函数的特点是参数个数是可变至于参数可变长函数我们以后还要讲。该函数的功能是将可变长数据组织成一个给定格式的字符串并在标准输出(屏幕)上打印其第一个是字符串类型定义了待输出字符串的格式其中表示要输出一个变量后面s表示要输出的变量的类型。函数的可变长参数要与格式串的参数数目一致。内容总结本章详细讲解程序概念程序从外表来讲是由一系列代码组成的。这些代码是以函数为单元组织的。从程序运行的角度来讲程序只有在编译链接生成可执行的代码后才能运行。程序运行时需要内存空间的程序运行所需要资源集合构成了进程。一个程序的运行一般有两种情况:编译执行和解释执行。程序在运行时操作系统(WINDOWS)会给该程序分配G的逻辑内存空间。其中有进程的私有空间和堆空间。类型和变量机制是编程语言中的一个核心机制。可以将程序理解为是由一系列变量组成的函数可以理解为函数指针变量的一个值。这个机制有肋于理解指针的概念C语言是典型的面向过程的编程语言适用于小规模的程序设计其方法论是面赂过程的程序设计方法。我们还讲了C语言的一些初步知识。独立实践·实践使用C语言写一个程序显示你的名字。·实践使用C语言写一个程序计算两个数的加法并在屏幕上显示计算结果。·实践编写一函数判断一个整数是否素数。·实践在第三题的基础上计算之间所有素数的和。·实践遍下一程序统计出从键盘输入的一个字符串中数字字符的个数并输出这些数字字符。

用户评价(0)

关闭

新课改视野下建构高中语文教学实验成果报告(32KB)

抱歉,积分不足下载失败,请稍后再试!

提示

试读已结束,如需要继续阅读或者下载,敬请购买!

文档小程序码

使用微信“扫一扫”扫码寻找文档

1

打开微信

2

扫描小程序码

3

发布寻找信息

4

等待寻找结果

我知道了
评分:

/26

第一章 面向过程的程序设计方法

VIP

在线
客服

免费
邮箱

爱问共享资料服务号

扫描关注领取更多福利