c语言精髓

函数定义的语法

(1)C语言函数定义的一般形式

(2)函数名和形式参数都是由用户命名的标识符。在同一程序中,函数名必须唯一,形式参数名只要在同一函数中唯一即可,可以与其他函数中的变量同名。

(3)C语言规定,不能在函数的内部定义函数。

(4)若在函数的首部省略了函数返回值的类型名,把函数首部写成:函数名(类型名  形式参数1,类型名  形式参数2,……)则默认函数返回值的类型为int类型。

(5)除了返回值类型为int类型的函数外,函数必须先定义(或说明)后调用。

(6)若函数只是用于完成某些操作,没有函数值返回,则必须把函数定义成void类型。

函数的值通过return语句返回,return语句的形式如下:return表达式;  或  return(表达式);也就是说,return语句中的表达式的值就是所求的函数值,此表达式值的类型必须与函数首部所说明的类型一致。若类型不一致,则以函数值的类型为准,由系统自动进行转换。
  当程序执行到return语句时,程序的流程就返回到调用该函数的地方(通常称为退出调用函数),并带回函数值。在同一个函数内,可以根据需要,在多处出现return语句,在函数体的不同部位退出函数。但无论函数体中有多少个return语句,return语句只可能执行一次。
  return语句中也可以不含表达式,这时必须定义函数为void类型,它的作用只是使流程返回到调用函数,并没有确定的函数值。
  函数体内可以没有return语句,这时也必须定义函数为void类型,程序的流程就一直执行到函数末尾的“}”,然后返回调用函数,也没有确定的函数值带回。

时间: 2025-01-10 20:53:17

c语言精髓的相关文章

试读《JavaScript语言精髓与编程实践》

有幸看到iteye的活动,有幸读到<JavaScript语言精髓与编程实践_第2版>的试读版本,希望更有幸能完整的读到此书. 说来读这本书的冲动,来得很诡异,写一篇读后感,赢一本书,其实奖励并不大,依靠纯粹的物质奖励,很显然,不会强烈的促使我去读这本书.而原因在于,一方面对javascript的极大兴趣,另一方面之前已经拜读过如<javascript高级程序设计><高性能javascript><javascript设计模式>等书,那我就有了要看看这本书都写了

《javascript语言精髓》笔记

做B\S项目已有一年多,自己是做后台出来的,对写js方面可能也沿用了以前的思路,想想毕竟也是OO语言嘛.然而,从上个项目吃的一些苦头,让我决心静下心来把js的书看看.这本<javascript语言精粹>是别人推荐给我的,之所以选择这本书,是因为我深知代码质量的重要性(想想自己以前写的代码,真想回去重写),代码写的越多,我就越想用更简洁的代码来实现功能,而这当然需要更深入的取理解一下js的设计模式和原理性的东西.很多人说js简单,是因为对这门语言不是很了解,也可以用它来工作,觉得就是一般的OO语

js:语言精髓笔记1--语法

标识符: 命名: 语法以及类型----语法关键字 值(的存储位置)----变量和常量 绑定: 语法关键字对逻辑的绑定----作用域限定 变量对位置的绑定---变量生存周期的限定 声明:约定变量的生存周期和逻辑作用域: 标识符语义关系: 与值相关: 类型 变量: 直接量 对象 与逻辑相关: 控制流程语句: 标签声明 一般流程控制语句 异常 与值和逻辑都相关: 表达式: 值运算 对象存取 逻辑语句: 顺序 分支 循环 其他: 注释 JS引擎运行及响应错误:1.语法分析(语法分析错误):2执行(执行异

javascript语言精髓笔记

javascript是一门浏览器语言,对于后台攻城湿们.则是这样对其定义的 1. js是一门前端语言,因为js通常是web中的view部分,用来渲染最终呈现给用户的页面. 2. js是一门弱类型语言和解释性语言,没有使用编译器(编译器会检查语法错误,同样性质的比如php,ruby,python等.当然,不能说完全没有编译过程,只是不是严格意义上的编译),因为编译的目的最终应该是生成可执行的代码,而不是中间结果. 本文将关注两个方面 1.js重要概念 2.js小tips  主要关注容易被忽略的小问

C语言精髓2

函数调用时的语法要求函数调用时有下列语法要求: (1)调用函数时,函数名必须与所调用的函数名字完全一致. (2)实在参数的个数必须与形式参数的个数一致.实参可以是表达式,在类型上应按位置与形参一一对应匹配.如果类型不匹配,c编译程序按赋值兼容的规则进行转换.若实参和形参的类型不赋值兼容,通常并不给出出错信息,且程序仍然执行,只是不会得到正确的结果. 因此应该特别注意实参和形参的类型匹配. (3)C语言规定:函数必须先定义,后调用(函数的返回值类型为int或char时除外). 函数的两种调用方式函

js:语言精髓笔记5----语言分类

计算模型:源于对计算过程的不同认识: 基于不同计算模型一般分为: 命令式语言: 函数式语言: 逻辑式语言: 面向对象程序设计语言: 基于程序本质分类: 命令式: 结构化编程(冯诺依曼:计算机系统以存储和处理为核心)[面向存储的编程]: 面向对象编程: 说明式: 函数式: 其他: //命令式语言基于存储结构进行算法设计:即:算法+数据结构=程序:数据的表形形式是编程的根本: 命令式语言面临的问题:如何抽象数据存储: 结构化编程:通过运算去改变内存: 结构: 控制结构:顺序,分支,循环: 组织结构:

js:语言精髓笔记3----语句

JS语句分类: 声明语句: 变量声明语句: 标签声明语句: 函数声明语句: 表达式语句:(表达式加分号) 变量赋值语句:具有声明一个变量的隐式效果: 函数调用语句; 属性赋值语句: 方法调用语句: 分支语句: 条件分支语句: 多重分支语句: 循环语句: for() for...in while do..while 控制结构: 继续执行子句: 中断执行子句: 函数返回子句 异常触发语句: 异常捕获与处理: 其他: 空语句: with语句: 声明语句与赋值语句: 声明语句(显示声明)一定就有var,

js:语言精髓笔记4----面向对象编程概要

实例创建:obj = new contructor[(arguments)]; //如果没有参数可以忽略括号:所以注意这不是函数调用: 直接量与初始器:在之前的基本表达式中将直接量与初始器分开,这时因为直接量的声明中不包括运算过程,而初始器的声明中可以包括运算过程. 直接量:一般分为6种,包括正则表达式声明:在引擎看来,其值是在编译期就确知的: 初始器:包括函数,对象,数组声明:其本身可能是无法预期的. 对象: delete:能删除对象的大多数成员,包括全局对象Global的成员:不能删除var

js:语言精髓笔记2--表达式

单词形式运算符:typeof,in,void,instanceof,new,delete. 表达式:由运算符和运算元构成:JS中没有运算符的表达式称为单值表达式:没有运算元,孤立与代码上下文的运算符是不符合语法的: 单值表达式: this引用: 变量引用: 直接量: null undefined 字符串 布尔值 数值 正则表达式 基本表达式: 单值表达式 数组初始器:[] 对象初始器:{} 表达式分组运算:()  运算符按结果值的分类: 一般表达式运算:(会强制类型转换) 数值运算 位运算 布尔