程序空间背景代码

空间背景代码  时间:2021-01-27  阅读:()

第1章C语言初步无论计算机硬件如何发展,人们需要计算机所做的工作,最终都必须以计算机所能识别的指令形式送入计算机的内存中.
这些由一条条的指令组成的集合就是程序.
那么简单来说,所谓程序设计就是编写一些程序,使这些程序按照需要来处理和解决问题.
学习程序设计之前,选择一门良好的程序设计语言是比较重要的,C语言是目前比较流行的高级程序设计语言.
本章介绍的实例,主要涉及C语言的特点、C语言源程序的框架以及C程序的基本书写规范.

1.
1C语言概述C语言是用于编写程序的语言,编写程序就是用程序设计语言精确、详细地描述计算机执行的所有步骤,程序员们选用C语言的主要原因是:可移植性:各种系统都提供了各种对C语言的集成化的调试编译环境,使用C语言编写的程序可以轻松地运行在各种平台上而不用做出任何修改.

广泛性:C语言是大部分程序员都使用的语言,它是一个"中级"语言,既有高级语言的功能,又有汇编语言的特点,既可以作为通用的程序开发工具,又可以作为系统程序的设计语言.

简洁性:C语言的关键字少,而且拥有丰富的运算符和数据类型,可以解决大部分"计算型"的问题或者"描述型"的问题.

实例001一个体现C语言特点的例子【实例介绍】编写程序在屏幕上输出两个整数的和.
【技术要点】由于计算机仅仅可以处理内部的数据,因此在解决问题的时候首先考虑数据存放在内存中的位置,接下来利用CPU取出内存中的数据,进行求和操作,结果同时送入内存中存放.
C语言提供整数类型,因此可以直接定义整型变量,系统从内存中自动分配数据的存储空间,可以利用输入设备输入数据到内存空间中,同样可以利用输出设备从内存空间中读出数据,显示在输出设备上.

(注意:如果不加特殊说明,默认的输入设备是键盘,输出设备是屏幕.
【程序代码】01#include"stdio.
h"02voidmain(主函数开始*/03inta,b;声明两个整型变量*/04ints;05scanf("%d%d",&a,&b);/*输入数据,放入到变量a和b中*/06s=a+b;求和操作*/07printf("Thesumis%d.
\n",s);/*输入到屏幕中*/08}【关键代码分析】本实例目的是让读者在代码中体会和观察C语言的主要特点.
从本例的程序中可以看出,在内存中存放的数据必须说明数据类型,C语言通过关键字来代表常见的数据类型,而不用程序员自行定义.
另外,C语言提供了丰富的数据类型满足了程序员的需要.
程序设计中具体的操作一般都是利用运算符来描述的,例如描述两个数据相加,可以直接利用加法运算符.
C语言不直接提供输入和输出,具体的输入和输出都是通过库函数来设计实现的.

【程序运行】程序运行的时候,进入屏幕区,输入数据,然后程序运行求和语句,计算两个变量的和,同时在屏幕上显示这个值.

如果在屏幕上输入数据:34则运行结果为:Thesumis7.
【拓展应用】当前程序并没有完全体现出C语言的特点,仅代表了C语言的一些主要特点.

C语言程序代码的目标程序短小,另外还可以进行底层处理,这些特点将在后面的实例中逐渐体现出来.

实例002设计第一个C语言程序【实例介绍】编写程序在屏幕上输出:ThisismyfirstCprogram.
【技术要点】一个标准的C语言程序一般格式为:预处理命令和全局性的声明main(){局部变量声明语句序列}fun1(){局部变量声明语句序列}fun2(){局部变量声明语句序列}(funn(){局部变量声明语句序列}C语言完全由函数构成,其中funx为用户自定义的函数,每一个函数表示固定的函数功能,程序中必须包括的是名为main的主函数.
本实例主要是对通过这个框架的填充,演示简单的C程序的构成.

【程序代码】01#include02/*main()函数是程序开始运行的地方*/03voidmain(){04printf("ThisismyfirstCprogram.
\n");/*调用输出函数,输出字符串*/05程序结束的地方*/【关键代码分析】上面的代码是进行程序设计中编写的一个C语言源代码,源代码是程序的阅读形式.
C程序的源代码的扩展名为c.
编写源代码完毕以后,保存程序,对源文件命名.

第1行代码利用预处理命令加载头文件.
C语言定义了很多的头文件,头文件包含了程序所需要的或者是对程序有用的信息.
的作用是支持C的输入/输出系统.
头文件随着编译器一起提供给程序员使用,使用#include命令包含到程序中.

第2行代码是一个注释行.
C语言要求注释写在"中,可以插入到程序的任何一个位置.
编译器将忽略注释中的内容,注释的目的是描述或者解释程序中进行的操作,以便于人们阅读.

第3行代码是主函数的定义.
C程序由一个或多个函数构成,每个函数都必须有一个名字,并且一个C程序中必须存在一个主函数main(),main()函数是程序开始与结束的地方.
主函数main()函数的开头void是一种内置的数据类型,C语言中支持多种内置的数据类型,void表示空类型.

第4行代码是一条输出语句,运行的时候在屏幕上输出其后面参数的字符串ThisismyfirstCprogram,符号\n表示输出字符串以后回车换行.
C语言中可以使用字符串常量,一般字符串常量必须包含在一个双引号中.

(注意:程序最后的大括号表示程序的结束.
当流程执行到结束大括号时,程序将自动结束.
【程序运行】ThisismyfirstCprogram.
【拓展应用】初学者要注意C程序每一个部分的具体写法,例如#include命令的格式、main()函数名的书写方法、printf函数的调用格式,这些细节如果出现错误,编译系统进行编译时将会报错,程序无法运行.

由于学识有限,代码程序不可能列举出全部的程序结构的组成,在后续章节中将会陆续介绍.

实例003演示C程序书写规范【实例介绍】编写程序,通过调用函数来实现米到英尺的转换.
程序运行的时候,根据提示输入需要转换的数字,转换以后输入米数会输出相对的英尺数.

【技术要点】C语言程序书写格式是比较自由的,没有过多的限制原则.
但是考虑到程序的可读性,一般程序员编写程序都有一些约定的书写规范,本实例主要目的是介绍一些大部分程序员应用的代码书写规范.

书写规范不是ANSIC所规定的,只是约定俗成的一种语句书写模式.
高级语句编写的程序代码是面向程序员的,因此程序员应该尽可能地写出可读性好的程序代码.
代码书写应遵循的规范有:源程序通常使用小写字母,只有符号常量或其他特殊用途的符号才大写.

每一行开始不用标明行号,没有特殊情况程序运行会按照语句定义顺序执行.

一般一条语句占一行,当然如果语句比较短,也可多条语句占一行.
建议同一层次的语句应左对齐,不同层次的语句间最好写成锯齿状结构,一般在写嵌套语句时,最好都写成锯齿状.
所谓锯齿状就是下一个层次语句比上一层语句退后几个空格.
本书所有的实例采用的是不同层次的语句代码空出一个制表符的位置.

程序中的空行不影响程序的执行,是为了程序清晰而加上的.
可以在多个函数之间加上空行,但不要在一个语句中间加空行.

建议多使用注释信息,以增加程序的可读性.
【程序代码】01#include02floattran(floatx)函数原型*/03/*空行分清各个函数*/04/*主函数开始*/05voidmain(){06floatx,y;定义两个实型变量*/07printf("\ninputmeter:在屏幕上输出提示*/08scanf("%f",&x)输入米,存放到变量x中*/09y=tran(x)函数调用,实现米转化为英尺*/10printf("\n%ftransintoinch%f.
",x,y);/*输出转化结果*/11程序结束*/12/*空行分清各个函数*/13/*实现转化函数*/14floattran(floatx)函数头定义*/15returnx*3.
2808;/*返回转化后的结果*/16函数结束*/【关键代码分析】本例的源程序包括两个函数:main()函数和tran()函数,通过在main()函数中调用tran()函数来实现米和英尺之间的转换.

第2行代码floattran(floatx);是一条函数原型说明语句,其用于通知系统tran()函数的返回值、参数的类型、个数等信息.
当tran()函数定义在主函数之后时,必须先说明函数的原型,然后在下面的程序中才可以调用tran()函数,完成相应的功能.

第6行代码floatx,y;是一条变量声明语句,声明了两个实型变量.
变量声明用于在内存中分配空间存放数据,任何变量必须先经过声明才能使用.
C语言提供了丰富的数据类型,其中包括有整型、实型、字符型等内置的基本数据类型,还可以自行定义结构体、数组等,处理多个数据.

第8行代码scanf("%f",&x);是一条输入语句,其中scanf是标准库提供的输入函数.
这是一条函数调用语句,可以接收用户从键盘上输入的数据.
当输入数据的时候,根据格式符表示输入数据的类型(例如f表示实数)进行数据的输入,并存放到地址&x所指向的空间中.
此处要注意x前面的&表示取空间的地址,具体含义将在后面的实例中进行进一步的介绍.

第9行代码y=tran(x);是一条函数调用语句,调用自定义的函数tran().
tran()函数在程序开头有原型声明,说明该函数返回值为实型,同时有一个实型参数.
这样在调用的时候,需要给出一个实型的实参x,也就是把x米转化为相应的英尺,同时把转化的结果存放到y中.

第10行代码printf("\ntransintoinch%f:",y);是一条输出语句,和scan()函数一样,printf()也是标准库提供的输出函数.
输出函数不但可以输出字符串,也可以输出其他基本类型的数据,只需要在输出的时候规定不同的格式符.
例如格式符f表示为实数格式符,%则表示输出数据在屏幕上的占位,程序运行的时候将在该位输出.

第14行代码floattran(floatx){是一条函数头定义语句.
在主函数调用tran()函数时,应当确定该函数是已经定义好的,这就要求这个函数或者在主函数之前说明,或者在主函数之前有函数的原型说明.
此条语句的功能是根据函数头部的说明,给出函数的名称,同时说明相应的参数.
函数头下面的部分是函数体定义,也就是说明函数的具体功能.

第15行代码returnx*3.
2808;是一条函数流程返回语句.
函数调用结束以后,流程要返回给主调函数,返回的原则是在哪个语句中调用的就返回到该语句处,流程返回的同时带回需要返回的数据.
当然如果函数中没有return语句,当遇到函数的右花括号时,同样将流程返回.

【程序运行】inputmeter:3.
2543.
254000transintoinch10.
675723.
【拓展应用】C语言中的语句以分号作结束符,但是预处理命令、函数头和花括号}之后不能加分号,这是书写代码的规定,是必须要遵守的.

注释是不可以嵌套的,例如写成下面的形式:/*语句开始/*语句可以实现交换*/语句结束*/这样的注释形式无疑是错误的.
另外还要注意注释是*/而不是*,这是编程熟练的程序员常常出现的错误之一,一般是书写代码的速度太快而产生的错误输入.

1.
2C语言程序的调试源代码要经过编译程序编译生成目标程序,然后链接其他相应的代码如头文件等,最后才能生成可被计算机执行的可执行文件(.
EXE或.
COM文件).
TurboC2.
0集成开发环境提供了相应的编辑工具、编译工具和链接工具.
一个源代码有时要经过多次的修改才能编译通过,因此调试有时是很困难的.
程序在编译时,如果不能通过,则会有相应的调试错误提示信息,程序员可以根据错误提示信息调试程序.
本节的实例主要说明如何利用TurboC的调试环境,同时如何更改常见的一些错误.
实例004演示C程序调试过程【实例介绍】由C语言编写的程序称为源程序,程序的扩展名为c.
在计算机内部,源程序必须翻译为机器能够接受的二进制代码所表示的目标程序,程序的扩展名为obj,可以把提供这个翻译功能的程序称为编译程序.
编译程序经过进一步链接形成可执行的程序,程序的扩展名为exe,经过的步骤如图1-1所示.

图1-1C程序编译过程本实例具体演示TurboC环境的使用、程序的创建以及程序的具体编译运行过程.
【技术要点】首先安装TurboC的编程环境,安装结束以后,在C盘根目录下将会自动建立一些文件和目录,其中主要的目录和文件有:TC.
exe是启动TurboC集成环境的执行文件;tcc.
exe是编译源程序形成的目标文件;tlink.
exe是连接obj文件和调用的库函数文件;INCLUDE子目录中的文件是头文件;LIB子目录中的文件均为系统函数库文件.
因此启动TC的集成开发环境仅仅需要找到TC.
exe文件,双击即可.
TC环境是标准的DOS下的程序运行环境,使用菜单和快捷键来应用编程环境.

(注意:可以按下键来选中某个菜单,或者按下组合键Alt和菜单英文项的第一个字母也可以打开某个菜单.

【程序运行】(1)启动TurboC,打开集成的C程序调试环境TurboC2.
0.
当进入TurboC2.
0集成开发环境中后,屏幕如图1-2所示.
图1-2TurboC的屏幕界面(2)选择用户文件的存放目录.
首先在某个盘区建立一个文件夹,作为保存编辑文件的路径.
然后在打开的集成环境中,打开File菜单,选择ChangeDir命令,在弹出的对话框中输入建立的文件保存路径名.
例如在d盘建立mydir文件夹,在弹出的对话框中应输入d:\mydir,当保存程序时输入程序的名称,此程序则自动保存在该文件夹下.

(3)建立工作环境.
工作环境包括对TruboC工作状态的设置以及编译程序和链接程序要求的环境变量的设置,主要是为了告诉TruboC寻找编译、链接文件的路径.
打开菜单,选择Directories命令,在弹出的对话框根据文件的具体存放位置来更改程序.
一般情况下tc的工作环境在c盘tc目录下,因此本例可以具体设置为:Includedirectories选项填入C:\TC\INCLUDE;Librarydirectories选项填入C:\TC\LIB;Outputdirectory选项填入D:\mydir;TurboCdirectory选项填入C:\TC.
(4)编写源程序.
打开File菜单,如果程序已经存在,选择Load命令,输入包括文件路径在内的文件名;否则可以选择New命令新建文件,这样就进入了C源代码的编辑区,在编辑区可以输入下面的源代码:01#include02voidmain(){03inta,b;04a=2;05b=3;06printf("d\n",a+b);07}(5)编辑完毕以后进行文件保存.
打开File菜单,选择Save命令,在弹出的对话框中输入文件名,例如输入file1.
c,此时文件将会保存到d:\mydir文件夹下.

(6)如果不能确定程序是否存在错误,可以按下F9键,进行编译,在编译过程中如果有错误被发现,则需要根据提示进行程序的修改.

(7)如果确信源程序无误可直接按Ctrl+F9键,TurboC将一次完成从编译、链接到运行的全过程.
本例程序运行以后,在屏幕上将会输出:5(8)程序运行后,系统自动返回TurboC编辑屏幕.
若想查看程序的运行结果,可在Run菜单中选择UserScreen命令并按下回车,也可直接按Alt+F5键.
查看结果后按任意键返回到编辑窗口.

【拓展应用】具体使用环境之前,应该进行环境变量的设置.
例如本例中在Directories菜单中所做的更改,设置完毕以后,在Options菜单下保存,这样在下次使用的时候,本次更改依然有效.

使用TC环境编写的文件,如果没有更改输出文件的目录,那么文件自动存放在tc文件默认的文件夹中,本例中默认在c:\tc里,初学者如果忘记更改,可以自行在c:\tc目录中查找所编写的文件.

实例005演示开始阶段常见错误【实例介绍】在程序编写过程中出现一些错误是不可避免的.
初学编程设计者如果能够总结本身容易出现的程序书写错误,这种积累对以后进行代码较多的程序的调试是很有帮助的.
本次实例中仅仅列举一些常见的错误情况.

【技术要点】初学者在编写程序的时候,经常出现的错误有下面几种:一个源程序中写上了两个main()函数;预处理命令后面加上了分号;具体的语句没有加上分号;书写main()函数的时候,经常忘记开始或者结束的花括号;调用printf()或者scanf()函数的格式不对,经常忘记加上第一个字符串参数的双引号;变量的使用没有定义等.
本实例对于这些错误不进行一一列举,仅给出当有错误提示和警告提示产生以后,如何分析、改正这些错误.

【程序代码1】01#include02voidmain()03printf("Hello,World.
\n");04}【程序运行】程序运行的时候,编译器提示的错误为:Errord:\mydir\hello.
c3DeclarationsyntaxerrorErrord:\mydir\hello.
c4Declarationsyntaxerror程序给出两个错误提示.
实际上程序出错的主要原因是main()函数的开始花括号没有出现,因此当编译程序编译到第3行的时候无法进行编译了,从而提示出错.

一般编译器不仅可以报告错误信息,还会报告警告信息.
有些程序的代码是正确的,但可能还是存在问题,出现上述问题的时候,编译系统提示出警告信息.

【程序代码2】01#include02voidmain(){03inta;04printf("%d.
",a);05}【程序运行】这个程序是可以运行的,编译系统仅仅提示警告错误:WarningD:\mydir\vara.
c4:Possibleuseof'a'beforedefinitioninfunction这个警告错误的含义是:变量a定义以后,没有初始值.
由此可以看出,当编译器提示出错以后,提示出错的类型并非绝对准确.
由于出错的情况繁多而且各种错误互有关联,因此要善于分析,找出真正的错误,而不要死抱住提示的出错信息不放,钻牛角尖.
例如第一个错误代码提示出错为声明类型错,实际为主函数缺少{.
因此,开始学习程序设计的时候,最好的办法就是尝试多调试一些程序,虽然程序的某些语句的具体含义不是特别清楚,但是可以尽快地熟练这种语言的使用和编写习惯.

【拓展应用】程序设计时候,并不是编写完程序就立刻编译调试,最好从头查找一下,查找一些由于疏忽产生的错误,不要立刻让机器来分析出现的错误.

出现错误比较多的情况下,要从上到下分析产生的错误,有可能改正一个错误以后,错误的总条数会同时减少很多.

如果程序编译成功,但是运行结果不正确,一般就是程序的逻辑出错了,这个时候,要仔细检查程序的算法进行错误查找.

不要歪曲了调试程序的目的,认为仅仅是为了"验证程序的正确性",实际上调试程序是为了"掌握调试方法以及掌握相应的技术".

收到几个新商家投稿(HostMem,无忧云,青云互联,TTcloud,亚洲云端,趣米云),一起发布排名不分先后

7月份已经过去了一半,炎热的夏季已经来临了,主机圈也开始了大量的夏季促销攻势,近期收到一些商家投稿信息,提供欧美或者亚洲地区主机产品,价格优惠,这里做一个汇总,方便大家参考,排名不分先后,以邮件顺序,少部分因为促销具有一定的时效性,价格已经恢复故暂未列出。HostMem部落曾经分享过一次Hostmem的信息,这是一家提供动态云和经典云的国人VPS商家,其中动态云硬件按小时计费,流量按需使用;而经典...

10gbiz:香港/洛杉矶CN2直连线路VPS四折优惠,直连香港/香港/洛杉矶CN2四折

10gbiz怎么样?10gbiz在本站也多次分享过,是一家成立于2020的国人主机商家,主要销售VPS和独立服务器,机房目前有中国香港和美国洛杉矶、硅谷等地,线路都非常不错,香港为三网直连,电信走CN2,洛杉矶线路为三网回程CN2 GIA,10gbiz商家七月连续推出各种优惠活动,除了延续之前的VPS产品4折优惠,目前增加了美国硅谷独立服务器首月半价的活动,有需要的朋友可以看看。10gbiz优惠码...

腾讯云2核4GB内存8M带宽 年74元

一般大厂都是通过首年才有可以享受爆款活动,然后吸引我们注册他们商家达到持续续费和购买的目的。一般只有大厂才能有这样的魄力和能力首年亏本,但是对于一般的公司和个人厂家确实难过,这几年确实看到不少的同类商家难以生存。这里我们可以看到有对应的套餐方案。不过这两个套餐都是100%CPU独享的,不是有某云商家限制CPU的。但是轻量服务器有个不好的就是带宽是较大且流量是限制的额,分别是1GB和1.2TB月流量...

空间背景代码为你推荐
音乐播放器哪个好最好的音乐播放器下载股票软件哪个好请问:免费的模拟炒股软件哪个好?尼康和佳能单反哪个好佳能和尼康哪个好51空间登录51空间,怎么添加啊?怎么登陆?牡丹江教育云空间登录我想知道校园云空间是用什么账号登录的?铁通dns服务器地址求陕西的中国移动铁通DNS服务器地址!!!铁通dns服务器地址铁通dns服务器地址360云盘下载选百度云呢还是360云盘呢?360云盘共享群360网盘怎样进共享群?什么快递最便宜哪个快递最便宜
美国vps主机 互联网域名管理办法 raksmart 外国服务器 typecho 国内加速器 web服务器架设软件 免费个人空间 工信部icp备案号 php空间购买 免费高速空间 linode支付宝 photobucket iki godaddy空间 789电视剧网 数据湾 空间排行榜 winserver2008r2 低价 更多