30天学会C语言: Day 1-C语言起手式

Function

在程序设计中的 Function(有时候翻译函式)类似数学中的 Function(函数)
Function 实现用文字和符号表示电脑的指令,是现代程序设计中最基本也最不可或缺的元素

数学中的Function

在数学中,我们可以用一个自订名称来表示某些计算式,或者也可以说把一段计算式命名成自订的代号
例如:

设 f(x)=8x+7

在这行函数的定义之後,只要出现 f 就是在表示 8x+7 这段计算,且 x 会被换成括号中的数字
例如只要看到 f(2),我们就知道是在表示8⋅2+7

程序设计中的Function

在数学中,Function 可以用来表示一段计算,在程序设计中,则是用来表示一段程序码
这段程序码(也就是这个 Function 的定义)的功能可以是任何的动作(上传、下载、删除、暂停、播放等)或是运算
运算也不只局限於数学领域的计算,只要是可以存在电脑中的资料(数字、文字、图像...),我们都可以对它进行某些操作

在程序设计中,使用函式称为呼叫(Call)

参数与引数

参数(Parameter) 是函式定义时,规定要传递给这个函数的资料的名称

引数(Argument) 是函式被呼叫时,实际传递给函式的资料

以数学中的情况为例:

设 f(x)=8x+7, 未知数 k=10
f(2)=8⋅2+7=23
f(k)=10⋅2+7=27

上面例子中的 x 在程序设计中叫做 参数2k引数


在数学中,所有函数都有参数,但在程序语言中,函式是可以没有参数的

回传值

指函式执行的结果,以数学中情况为例:

设 f(x)=8x+7
f(2)=8⋅2+7=23

这里的 23 就是 函数 f(x)x=2 时的回传值


在数学所有函数都代表某一个值,但在程序语言中函式可以没有回传值(例如函式代表的是执行某些动作的时候)

Built-in Function

所以程序中的所有 Function 都要自己定义?当然不是
数学中有很多前人已经定义好的函数,像是 sin, cos 这些函数,我们不用再写一次定义就可以直接拿来用,有时候甚至不用知道它们的定义,只要知道怎麽用就好

在程序设计领域也是,这些在程序语言中有很多已经定义好、我们可以直接拿来用的函式,这些函式称为 Built-in Functions(内建函式),不同的语言内建的函式不太一样,相同功能的函式在不同语言中可能会有不同的名字

C语言起手式

main()

如果要让程序码可以执行,必须写成:

int main(){
	<要执行的内容>
             ⋮
	<要执行的内容>
	return 0;
}

main() 是这个程序的主函式,也就是这个程序第一个执行的函式
大括号 {} 中的范围叫做程序码区块(Block),这个区块中的内容是我们对 main() 的定义,也就是说我们写在大括号里面的内容,就是我们希望程序去做的指令

这里的 intreturn 0; 代表的是回传整数回传0,虽然大部分情况下不影响程序执行所以可以省略,不过习惯上都会这样写
至於这些东西到底在干嘛,我之後在写一篇跟各位解释(挖坑+1)

Library

内建函式的定义会被储存在叫 Library(函式库) 的档案,除了函式,函式库中还包含一些常数和资料格式的定义
内建函式数量庞大,所以依照功能的相关性,分别储存在多个不同的函式库

因为同一个程序不会用到所有函式库,在程序码的开头,要先引入函式库,才能让编译器知道接下来的程序码会用到哪些函式库

#include<>

在C语言中引入函式库的方法是 #include <函式库名称>

最常使用的函式库是 stdlib.h(标准函式库)stdio.h(标准输入/输出),和前面的内容放在一起就会是:

#include <stdio.h>
#include <stdlib.h>

int main(){
	return 0;
}

上面这段就是C语言最常见的基本格式

补充

程序码中的空格和换行

在程序码里面,空格和换行的规则其实和英文一样

  1. 字(word)和字之间一定要有空格或换行
    例如:
     int main(){
     	return 0;
     }
    
     int            main(){
     	return 0;
     }
    
     int
     main(){
     	return 
     	0
     	;
     }
    
    其实都符合语法,但习惯字和字间只空一格(第一种写法)
    同一指令写在同一行,除非单行内容太长(之後的文章会有举例,挖坑+1)
  2. 字和符号间或符号和符号间有无换行、空格都符合语法
    例如:
     int main () {
     	return 0;
     }
    
     int main()
     {
     	return 0;}
    
     int main(){return 0;}
    
     int main
     (
     )
     {
     	return 0;
     }
    
    但习惯上:
    • 小括号和函数名称在同一行,且通常不空格
        int main()
      
    • 右大括号}自己一行,左大括号{则不一定
        int main(){
        	return 0;
        }
      
        int main()
        {
        	return 0;
        }
      
      以上两种都有人用
  3. #include <> 在符号、字之间可以空格但不能换行
    因为函式库名称其实是档名,所以 . 的左右不能有空格
     #include<stdio.h>
     #include <stdio.h>
     # include < stdio.h >
    

挖坑清单:

  • main() 前面的 int,和最後一行的 return 0;
  • 可以拆成多行的情况

<<:  本地化APP(变更APP语言)

>>:  图的走访 - BFS 篇

Android Studio初学笔记-Day8-元件客制化

元件客制化(LinerLayout和Button) 前几天讲了EditText和Button,不过这...

[Day - 28] React Hooks useState 学习笔记

前言 这篇文章将会介绍 React Hooks,Hook 是 React 16.8 中增加的新功能。...

What is SQL?

A structured query language (SQL) is a language th...

DAY 5 Big Data 5Vs – Volume(容量) - RedShift

相较於资料湖,另一个更常见的大数据储存系统是 — 资料仓储。和资料湖一样,资料仓储也用来储存巨量资料...

【Day1】准备出发

前言与动机 在提到声音转换的时候,我们第一个会想到的可能就像是柯南那样 (他会把他叔叔麻醉然後用变声...