魔术c语言,简单易懂的C魔法

1.1.1

C语言开篇:Hello World

02aeae459a3f0ea6b366af6b43ccdc18.gif 26979 views

Hello World

关键字:Hello World

学习一门新程序设计语言的惟一途径就是使用它编写程序。对于所有语言的初学者来说,编写的第一个程序几乎都是相同的,即:请打印出下列内容:hello, world。尽管这个练习很简单,但对于初学语言的人来说,它仍然可能成为一大障碍,因为要实现这个目的,我们首先必须编写程序文本,然后成功地运行编译,并加载、运行,最后输出到某个地方。掌握了这些操作细节以后,其它事情就比较容易了。

1.2.1

变量与算术表达式

02aeae459a3f0ea6b366af6b43ccdc18.gif 7330 views

温度转换表程序

关键字:温度转换表程序

我们来看下一个程序,使用公式℃=(5/9)(℉-32)打印下列华氏温度与摄氏温度对照表。此程序中仍然只包括一个名为 main 的函数定义。它比前面打印“hello, world”的程序长一些,但并不复杂。这个程序中引入了一些新的概念,包括注释、声明、变量、算术表达式、循环以及格式化输出。

1.3.1

C语言中的for语句

02aeae459a3f0ea6b366af6b43ccdc18.gif 8269 views

for

关键字:for

在新引入的 for 语句中,温度的下限、上限和步长都是常量,而计算摄氏温度的表达式现在变成了 printf 函数的第三个参数,它不再是一个单独的赋值语句。以上几点改进中的最后一点是 C 语言中一个通用规则的实例:在允许使用某种类型变量值的任何场合,都可以使用该类型的更复杂的表达式。因为 printf 函数的第三个参数必须是与%6.1f 匹配的浮点值,所以可以在此处使用任何浮点表达式。

1.4.1

C语言中的符号常量

02aeae459a3f0ea6b366af6b43ccdc18.gif 10101 views

符号常量

关键字:符号常量

在结束讨论温度转换程序前,我们再来看一下符号常量。在程序中使用 300、20 等类似的“幻数”并不是一个好习惯,它们几乎无法向以后阅读该程序的人提供什么信息,而且使程序的修改变得更加困难。处理这种幻数的一种方法是赋予它们有意义的名字。#define 指令可以把符号名(或称为符号常量)定义为一个特定的字符串。

1.5.1

C语言字符输入与输出

02aeae459a3f0ea6b366af6b43ccdc18.gif 20476 views

文件复制

关键字:文件复制

接下来我们看一组与字符型数据处理有关的程序。读者将会发现,许多程序只不过是这里所讨论的程序原型的扩充版本而已。标准库提供的输入/输出模型非常简单。无论文本从何处输入,输出到何处,其输入/输出都是按照字符流的方式处理。文本流是由多行字符构成的字符序列,而每行字符则由 0 个或多个字符组成,行末是一个换行符。标准库负责使每个输入/输出流都能够遵守这一模型。

1.5.2

C语言验证与打印EOF

02aeae459a3f0ea6b366af6b43ccdc18.gif 12889 views

EOF

关键字:EOF

验证表达式 getchar() != EOF 的值是 0 还是 1。程序会读取字符,当有字符可读时,getchar() 不会返回文件结束符(EOF),所以 getchar() != EOF 的取值为真,变量 c 将被赋值为 1。当程序遇到文件结束符时,表达式取值为假,此时变量将被赋值为 0,程序将运行结束。对于一个判断表达式,它的返回值会是一个布尔值。

1.5.3

C语言计算字符个数

02aeae459a3f0ea6b366af6b43ccdc18.gif 16696 views

字符计数

关键字:字符计数

下列程序用于对字符进行计数,它1.5.1的复制程序类似。其中,语句 ++nc; 引入了一个新的运算符++,其功能是执行加 1 操作。该字符计数程序使用 long 类型的变量存放计数值,而没有使用 int 类型的变量。long整型数(长整型)至少要占用 32 位存储单元。在某些机器上 int 与 long 类型的长度相同,但在一些机器上,int 类型的值可能只有 16 位存储单元的长度。

1.5.4

C语言统计输入的行数

02aeae459a3f0ea6b366af6b43ccdc18.gif 15341 views

行计数

关键字:行计数

接下来的这个程序用于统计输入中的行数。我们在上面提到过,标准库保证输入文本流以行序列的形式出现,每一行均以换行符结束。因此,统计行数等价于统计换行符的个数。在该程序中,while 循环语句的循环体是一个 if 语句,它控制自增语句++nl。if 语句先测试圆括号中的条件,如果该条件为真,则执行其后的语句(或括在花括号中的一组语句)。这里再次用缩进方式表明语句之间的控制关系。

1.5.5

C语言统计输入的单词个数

02aeae459a3f0ea6b366af6b43ccdc18.gif 15049 views

单词计数

关键字:单词计数

我们将介绍的第 4 个实用程序用于统计行数、单词数与字符数。这里对单词的定义比较宽松,它是任何其中不包含空格、制表符或换行符的字符序列。程序执行时,每当遇到单词的第一个字符,它就作为一个新单词加以统计。state 变量记录程序当前是否正位于一个单词之中,它的初值是“不在单词中”,即初值被赋为 OUT。我们在这里使用了符号常量 IN 与 OUT,而没有使用其对应的数值 1 与 0,这样程序更易读。

1.6.1

C语言中的数组

02aeae459a3f0ea6b366af6b43ccdc18.gif 7428 views

数组

关键字:数组

在这部分内容中,我们来编写一个程序,以统计各个数字、空白符(包括空格符、制表符及换行符)以及所有其它字符出现的次数。这个程序的实用意义并不大,但我们可以通过该程序讨论 C 语言多方面的问题。所有的输入字符可以分成 12 类,因此可以用一个数组存放各个数字出现的次数,这样比使用 10 个独立的变量更方便。

1.7.1

C语言中的函数

02aeae459a3f0ea6b366af6b43ccdc18.gif 14007 views

函数

关键字:函数

C 语言中的函数等价于 Fortran 语言中的子程序或函数,也等价于 Pascal 语言中的过程或函数。函数为计算的封装提供了一种简便的方法,此后使用函数时不需要考虑它是如何实现的。使用设计正确的函数,程序员无需考虑功能是如何实现的,而只需知道它具有哪些功能就够了。在 C 语言中可以简单、方便、高效地使用函数。我们经常会看到在定义后仅调用了一次的短函数,这样做可以使代码段更清晰易读。

1.8.1

C语言中的传值调用与参数

02aeae459a3f0ea6b366af6b43ccdc18.gif 8049 views

传值调用

关键字:传值调用

习惯其它语言(特别是 Fortran 语言)的程序员可能会对 C 语言的函数参数传递方式感到陌生。在 C 语言中,所有函数参数都是“通过值”传递的。也就是说,传递给被调用函数的参数值存放在临时变量中,而不是存放在原来的变量中。这与其它某些语言是不同的,比如,Fortran 等语言是“通过引用调用”,Pascal 则采用 var 参数的方式,在这些语言中,被调用的函数必须访问原始参数,而不是访问参数的本地副本。

1.9.1

C语言中的字符数组

02aeae459a3f0ea6b366af6b43ccdc18.gif 8333 views

字符数组

关键字:字符数组

字符数组是 C 语言中最常用的数组类型。下面我们通过编写一个程序,来说明字符数组以及操作字符数组的函数的用法。该程序读入一组文本行,并把最长的文本行打印出来。从上面的框架中很容易看出,程序很自然地分成了若干片断,分别用于读入新行、测试读入的行、保存该行,其余部分则控制这一过程。

2.1.1

C语言中的变量名

02aeae459a3f0ea6b366af6b43ccdc18.gif 15566 views

变量名

关键字:变量名

变量和常量是程序处理的两种基本数据对象。声明语句说明变量的名字及类型,也可以指定变量的初值。运算符指定将要进行的操作。表达式则把变量与常量组合起来生成新的值。对象的类型决定该对象可取值的集合以及可以对该对象执行的操作。ANSI 标准对语言的基本类型与表达式做了许多小的修改与增补。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值