脚本算程序吗,专门写脚本的人算程序员吗?

脚本算程序吗,专门写脚本的人算程序员吗?,第1张

脚本算程序的,专门写脚本的人是程序员之一。

一名优秀程序员所具备的能力:

一名优秀程序员应该具备应付两个不同世界的两套技能。

理解人类的需求并提出解决方案:

沟通——与人建立联系的能力,能够同他人亲密的交谈,并有勇气去尝试分享自己的观点。

意图——从谈话中提取有用的信息,理解并使之有意义。

逻辑——为不懂让步的计算机整理、剔除那些人类思想中含糊而有争议的内容。

创造力——挖掘、转变人类的想法,从而创建优秀的解决方案。

构思——利用人类友好的接口和便捷的互动性来包装编程思想。

大局观——清楚解决方案是如何适应全世界的用户、企业以及其他,从而使你的程序更有用。

告诉计算机该做什么,并建立解决方案:

逻辑(再次强调)——把程序员的想法组织整理成有凝聚力的软件思想和计算机指令。

技术——发现并理解科技黑箱(对于99%的人来说是黑箱)。

编程语言——学习美观的、富有逻辑的、清晰明了的语言,从而把程序员的想法提供给电脑。

算法——精通让计算机完成任务最高效的方法。

建模——在软件代码中建立抽象和模型,从而掌握并 *** 控想法。

实践(比如代码重构、单元测试、持续集成)——周期性活动,以保持系统可靠、健康与可改变。

C程序的基本单元是函数。函数中包含了程序的可执行代码。每个C程序的入口和出口都位于函数main()之中。main()函数可以调用其他函数,这些函数执行完毕后程序的控制又返回到main()函数中,main()函数不能被别的函数所调用。通常我们把这些被调用的函数称为下层(lower-level)函数。函数调用发生时,立即执行被调用的函数,而调用者则进入等待状态,直到被调用函数执行完毕。函数可以有参数和返回值。

程序员一般把函数当作“黑箱”处理,并不关心它内部的实现细节。当然程序员也可以自己开发函数库。

说明一点,函数这一节很重要,可以说一个程序的优劣集中体现在函数上。如果函数使用的恰当,可以让程序看起来有条理,容易看懂。如果函数使用的乱七八糟,或者是没有使用函数,程序就会显得很乱,不仅让别人无法查看,就连自己也容易晕头转向。可以这样说,如果超过100行的程序中没有使用函数,那么这个程序一定很罗嗦(有些绝对,但也是事实)。

一、函数的定义

一个函数包括函数头和语句体两部分。

函数头由下列三不分组成:

函数返回值类型

函数名

参数表

一个完整的函数应该是这样的:

函数返回值类型 函数名(参数表)

{

语句体;

}

函数返回值类型可以是前面说到的某个数据类型、或者是某个数据类型的指针、指向结构的指针、指向数组的指针。指针概念到以后再介绍。

函数名在程序中必须是唯一的,它也遵循标识符命名规则。

参数表可以没有也可以有多个,在函数调用的时候,实际参数将被拷贝到这些变量中。语句体包括局部变量的声明和可执行代码。

我们在前面其实已经接触过函数了,如abs(),sqrt(),我们并不知道它的内部是什么,我们只要会使用它即可。

下面主要介绍无参数无返回值的函数调用。

二、函数的声明和调用

为了调用一个函数,必须事先声明该函数的返回值类型和参数类型,这和使用变量的道理是一样的(有一种可以例外,就是函数的定义在调用之前,下面再讲述)。

看一个简单的例子:

void a()/*函数声明*/

main()

{

a()/*函数调用*/

}

void a() /*函数定义*/

{

int num

scanf(%d,&num)

printf(%d\n,num)

}

在main()的前面声明了一个函数,函数类型是void型,函数名为a,无参数。然后在main()函数里面调用这个函数,该函数的作用很简单,就是输入一个整数然后再显示它。在调用函数之前声明了该函数其实它和下面这个程序的功能是一样的:

main()

{

int num

scanf(%d,&num)

printf(%d\n,num)

}

可以看出,实际上就是把a()函数里面的所有内容直接搬到main()函数里面(注意,这句话不是绝对的。)

我们前面已经说了,当定义在调用之前时,可以不声明函数。所以上面的程序和下面这个也是等价的:

void a()

{

int num

scanf(%d,&num)

printf(%d\n,num)

}

main()

{

a()

}

因为定义在调用之前,所以可以不声明函数,这是因为编译器在编译的时候,已经发现a是一个函数名,是无返回值类型无参数的函数了。

那么很多人也许就会想,那我们何必还要声明这一步呢?我们只要把所有的函数的定义都放在前面不就可以了吗?这种想法是不可取的,一个好的程序员总是在程序的开头声明所有用到的函数和变量,这是为了以后好检查。

前面说了,在调用之前,必须先声明函数,所以下面的做法也是正确的(但在这里我个人并不提倡)。

main()

{

void a()

a()

}

void a()

{

int num

scanf(%d,&num)

printf(%d\n,num)

}

一般来说,比较好的程序书写顺序是,先声明函数,然后写主函数,然后再写那些自定义的函数。

既然main()函数可以调用别的函数,那么我们自己定义的函数能不能再调用其他函数呢?答案是可以的。看下面的例子:

void a()

void b()

main()

{

a()

}

void a()

{

b()

}

void b()

{

int num

scanf(%d,&num)

printf(%d\n,num)

}

main()函数先调用a()函数,而a()函数又调用b()函数。在C语言里,对调用函数的层数没有严格的限制,我们可以往下调用100层、1000层,但是在这里我们并不提倡调用的层数太多(除非是递归),因为层数太多,对以后的检查有一些干扰,函数调过来调过去,容易让自己都晕头转向。

某些人可能就不明白了,看上面的例子,好象使用函数后,程序变的更长了,更不让人理解。当然,我举的这个例子的确没有必要用函数来实现,但是对于某些实际问题,如果不使用函数,会让程序变的很乱,这涉及到参数问题。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8084560.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-13
下一篇 2023-04-13

发表评论

登录后才能评论

评论列表(0条)

保存