TC编程手册之一

本文是TC的第一部分,主要介绍一些TC相关的基础知识,并着重针对循环、变量等TC基本概念中的易混的淆部分加以辨析,即是一份编程初学者的指南,也可算作是对《C how to program》的一些补充。 在正式进入编程部分之前,让我们先详细了解一下Turbo C的编译环境,以便在编程时可以更加得心应手。

File菜单

Pick--快速读取最近的9个文件。(真的是很方便的功能,特别是在DOS时代 ^-^)

Write to--把文件内容换名存盘,支持DOS通配符。(相当于现在的Save as...)

OS shell--暂时离开Turbo C回到DOS环境执行DOS命令,输入命令EXIT即可回到Turbo C.(DOS时代的DOS窗口?)

Run菜单

Program reset--清楚内存中的调试信息,释放内存空间。(中断点和变量信息不会被清除)

Go to cursor--运行程序到光标所在位置。

Trace into--以单步方式执行当前程序,当前执行行会以高亮显示。(此操作可进入被调用函数)

Step over--功能同Trace into,但不会进入被调用函数。

Compile菜单

Make EXE file--编译、连接程序,生成可执行文件。

Link EXE file--只连接不编译程序,生成可执行文件。(需要有目标程序即.OBJ文件)

Build all--重新编译项目里的所有文件(见project菜单部分),但不进行过时检查。(即如果源文件的日期比目标文件日期更早,则不对源文件进行编译)

Project菜单

Project name--选择一个包含待编译源文件名的项目文件。(读者如果给这部分内容比较困惑,可以把问题贴到放飞网的论坛上,将由本人或其它放飞网技术人员给予解答)

Auto dependencies--如果将开关打开,编译时将检查源文件与对应的.OBJ文件日期和时间,如时间不同则重新进行编译。

Options菜单

请参见本站lzc、小壮的《Turbo C 2.0 设置详解》,这里不再赘述。

Debug菜单

Evaluate--当程序运行时,这个命令可以查看并修改内存中的变量和其它一些类似的项目。

Call stack--程序运行时用于检查堆栈情况。

Find function--程序运行时用来显示指定的函数。

Refresh display--如果编辑窗口偶然被用户窗口重写了,可用此命令恢复编辑窗口的内容。

Display swapping--用于控制编辑窗口和用户窗口的交换条件,有smart, always, none三种模式。

Break/watch菜单

用来控制断点及监视表达式

看完上面的简介,相信你已经对TC的功能感到惊讶了,想当初在十几年以前的DOS时代,能够拥有一个功能如此强大的编译器可是众多程序员梦寐以求的事情呢。所以现在的同学大可不必嫌弃TC界面简陋,功能有限,着急去碰什么VC,还是先静下心来,把TC学好吧。

对TC有了进一步的了解之后,下面让我们进入C语言本身的部分。

了解了执行过程,现在让我们来说说语句。语句是组成程序的基本单位,它能完成特定的操作,语句的有机组合序列能实现指定的计算处理功能。比较难于掌握的是流程控制语句,下面我们就对流程控制语句中易混淆的部分进行一下说明。

选择语句(If和Switch)

一般情况下,用if语句实现简单分支结构程序,用switch和break实现多分支结构程序。虽然用嵌套if语句也能实现多分支结构程序,但用switch和break实现的多分支结构程序更简洁明了,这一点初学者应当多加注意。还应注意的是由于表达式的值非0为真,0为假,所以具有值的表达式也可做为if语句的控制条件。

循环语句(for、while和do-while)

首先,读者应了解一点,一般用某种循环语句写的程序段,也能用另外两种循环语句实现。当然,在实际应用中,for语句多用于循环次数明确的问题,而无法确定循环次数的问题采用while语句或do-while语句比较自然。读者还应注意掌握for语句三个表达式的多种变化,例如省略部分表达式或全部表达式,甚至把循环体也写入表达式当中,而循环体本身成为了空语句,以满足循环语句的语法要求。

转移语句(break、continue、return、goto)

对于break和continue,这里提醒读者一下break除了用在switch语句中外,还常被用在循环语句中强制结束循环,而continue则只用于跳过某次循坏。如果某个switch语句存在于循环之中,而switch中又包含了continue语句,则这个continue将跳过整次循环,而非switch中的某个case。return语句请详见函数部分。goto语句可以方便的在程序的执行流程中进行跳转,但goto语句会搅乱程序的流程,降低程序的可读性,在结构化的程序设计之中,不提倡使用goto语句,ANSI C的作者曾说;“Formally, the goto is never necessary, and in practice it is almost always easy to write code without it.”所以在这里就不对goto语句做更多地介绍了。如果实在想玩一玩的话,就用它来退出深层嵌套吧,例如:
  for (...)
   for (...){
    ...
    if (disaster)
     goto error;
   }
  ...
  error: ...

最后,让我们来讨论一下变量,变量是对程序中数据所占用内存空间的一种抽象。我们先来了解一下变量的类型。

ANSI标准规定整形变量属性表


数据类型


占用字节数


二进制位


取值范围


int


2


16


-32768--32767


short[int]


2


16


-32768--32767


long[int]


4


32


-2147483648--2147483647


unsigned[int]


2


16


0--65535


unsigned long[int]


4


32


0--4294967295

实数基本类型表


实数类型


存储字节数


最小数值范围


有效位


float


4


10^-38--10^38


6-7


double


8


10^-308--10^308


15-16


long double


16


10^-4932--10^4932


18-19

在C中,我们还可以设置变量的存储属性,已确定变量的存储位置,C中定义了4种存储属性:auto register extern和static 。

TC中默认的是auto型,作用域为当前函数,在函数结束时存储空间被释放。

register型变量直接存于CPU的寄存器中,其特点是大大加快了运算速度,register变量只能是int型或char型,且存在个数限制(TC中为2个),因此register型变量多用来充当计数器变量使用。由于变量储存在寄存器中,所以无法对其进行地址操作,例如无法使用取地址运算符"&"求register变量的地址。顺便提一下,TC会自动把访问频繁的变量存入寄存器中(需将相关选项设为on)。

external型变量必须定义在所有函数的外部,为变量开辟存储空间。在函数中如果要访问这个变量,需要用extern进行声明。当然,如果external型变量定义在函数调用之前,extern可以省略。由于extern变量可以方便的随时调用,所以有人趋向于把大多数变量定义为extern型变量,但是extern变量总是存在于内存之中,不仅占用了大量的存储空间,而且变量数值容易在无意中被改变,引起不可预见性的错误,且使程序难于修改。

对于一些初学者来说,static变量可能比较难于理解,这里举个例子来说明static与auto的区别。例如定义变量a分别为static型和auto型,且设其值为1。"int x=1;"的含义是对变量赋初值,等价于下列两个语句"int x; x=1;",而"static int x=1;"的含义是说明一个static型变量并对其进行初始化,初始化是在程序执行之前,由编译程序一次性为变量赋的初值"x=1",而在实际运行时不再对变量进行赋值操作。

为了便于理解,特对四种存储变量总结如下:

四种存储变量的特征


性能


auto


extern


static


register


外部


内部


记忆能力


no


yes


yes


yes


no


多个函数共享


no


yes


yes


no


no


不同文件共享


no


yes


no


no


no


初始化赋值


random


0


0


0


random


作用域


当前函数


整个程序


当前文件


当前函数


当前函数

搞清楚了变量之后,对TC的基本介绍到此也算告一段落,如果您觉得本文确实为您学习TC提供了一些帮助的话,那么敬请您关注TC编程手册之二---函数和数组。

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索文件
, 函数
, 变量
, 循环
, 程序
, 语句
, 编程手册
, 文件循环存储
, dos变量定义
TC2.0
东芝tc200编程手册、tc编程、tc编程软件、tc编程教程、tc简单编程,以便于您获取更多的相关知识。

时间: 2024-09-17 20:05:14

TC编程手册之一的相关文章

TC编程手册之三

下面来介绍C语言功能最强大的特点,同时也是相对而言比较难掌握的概念之一--指针. 一.指针的基本概念 如同其它基本类型的变量一样,指针也是一种变量,但它是一种把内存地址作为其值的变量.因为指针通常包含的是一个拥有具体值的变量的地址,所以它可以间接地引用一个值. 二.指针变量的声明.初始化和运算符 声明语句 int *ptra, a; 声明了一个整型变量a与一个指向整数值的指针ptra,也就是说,在声明语句中使用*(称为"间接引用运算符")即表示被声明的变量是一个指针.指针可被声明为指向

TC编程手册之二

函数与数组.由于时间和精力有限,故不能像谭浩强谭老那样把C语言讲的细致入微, 但我想简单易懂的讲解对初学者来说还是有很大帮助的. 函数: 几乎所有的C语言教材都把函数部分单列一章, 可见函数在C语言中是十分重要的.当一位初学者试图编写一则上百行的程序时, 他会很快就被数不清的变量搞得晕头转向, 再看各条语句的逻辑关系, 恐怕连自己也看不懂了吧, 更不用说别人读你的程序了. 这时你所需要的就是把一个较大的程序分为若干个程序模块, 每一个模块实现一个特定的功能. 所有函数都是平行的, 即在定义函数时

求教各位看过linuxunix 系统编程手册的大神

问题描述 求教各位看过linuxunix 系统编程手册的大神 小弟使用centos 6.7系统,在编译书中程序时总是出现许多错误,编译前已将所有头文件移至/usr/include 中 解决方案 是不是环境变量没有配置好呀... 你echo $PATH看一下 解决方案二: 那该怎么配置才算正确呢 解决方案三: 看看usr/include在不在搜索路径中,用echo $PATH

LibCurl编程手册以及代码实例

1. LibCurl编程流程 在基于LibCurl的程序里,主要采用callback function (回调函数)的形式完成传输任务,用户在启动传输前设置好各类参数和回调函数,当满足条件时libcurl将调用用户的回调函数实现特定功能.下面是利用libcurl完成传输任务的流程: 1.       调用curl_global_init()初始化libcurl 2.       调用 curl_easy_init()函数得到 easy interface型指针 3.       调用curl_e

《Linux/UNIX系统编程手册(上、下册)》——1.3 标准化

1.3 标准化 20世纪80年代末,可用的UNIX实现层出不穷,由此也带来了种种弊端.有些UNIX实现基于BSD,而另一些则基于System V,还有一些则是对两大"流派""兼容并蓄".更有甚者,每个厂商都在自己的UNIX实现中添加了额外特性.其结果是将软件及技术人员在不同UNIX实现间转移就变得异常困难.这一形式有力地推动了C语言和UNIX系统的标准化进程,使得应用程序能够在不同操作系统间很方便地进行移植.接下来,将介绍由此而产生的各种标准. 1.3.1 C编程语

编程手册-CI手册3.0版的下载链接

问题描述 CI手册3.0版的下载链接 伙伴们谁有ci手册麻烦共享下,最好再讲点学习CI的心得,本人在此先谢过拉哈

《Linux/UNIX系统编程手册(上、下册)》——导读

前言 本书将描述Linux编程接口:由UNIX操作系统的开源实现--Linux所提供的系统调用.库函数以及其他底层接口.运行于Linux之上的每一个程序都会直接或间接地使用这些接口.这些接口允许应用程序去执行诸多任务:文件I/O.创建/删除文件和目录.创建新进程.执行程序.设置定时器.在同一台计算机上发起进程或线程间通信,以及为联网计算机间的进程建立通信等等.有时,人们也将这一系列的底层接口称为系统编程接口. 尽管本书着眼于Linux,但对于标准和可移植性问题也倍加关注.对于Linux所特有的技

《Linux/UNIX系统编程手册(上、下册)》——第1章 历史和标准 1.1UNIX和C语言简史

第1章 历史和标准 Linux是UNIX操作系统家族中的一员.就计算机的发展而言,UNIX历史悠久.本章的第一部分会简要介绍UNIX的历史--以对UNIX系统和C编程语言起源的回顾拉开序幕,接着会述及成就今日Linux系统的两大关键因素:GNU项目和Linux内核的开发. UNIX系统最引人关注的特征之一,是其开发不受控于某一厂商或组织.相反,许多团体--既有商业团体,也有非商业团体--都曾为UNIX的演进做出过贡献.这一渊源使UNIX集多种开创性的特性于一身,但同时也带来了负面影响--随着时间

计算机体系结构2_系统编程手册

            AMD64 Architecture Programmer's Manual  Vol1-5(全)            IA32&64 Architecture Programmer's Manual Vol1-3(全)