C语言函数笔记方法,c语言函数的使用方法

(OC 初级笔记)OC 常用数学函数(C语言)

1.算数函数

成都创新互联公司从2013年创立,先为子洲等服务建站,子洲等地企业,进行企业商务咨询服务。为子洲企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。

1.1产生随机数

rand()

1.2取绝对值

fabs()

1.3取复数的绝对值

cabs(struct complex i)

1.4浮点数的绝对值

fabs()/fabsf()/fabsl()

1.5取余

fmod(double, double)

1.6向上取整

ceil()/ceilf()/ceill()

1.7向下取整

floor()/floorf()/floorl()

1.8求最大值

fmax()/fmaxf()/fmaxl()

1.9求最小值

fmin()/fminf()/fminl()

1.10四舍五入

round()/roundf()/roundl()

2.指数与对数

2.1求 n 的 m 次方的值

pow(n, m)/powf(n, m)/powl(n, m)

2.2求 e 的 x 次方

exp(x)/expf(x)/expl(x)

2.3以 e 为底的对数值

log()/logf()/logl()

2.4以10为底的对数

log10()/log10f()/log10l()

2.5开平方(根号)

sqrt()

3.三角函数

3.1正弦值

sin()/sinf()/sinl()

3.2余弦值

cons()/cosf()/cosl()

3.3正切值

tan()/tanf()/tanl()

3.4双曲线正弦值

sinh()/sinhf()/sinhl()

3.5双曲线余弦值

cosh()/coshf()/coshl()

3.4双曲线正切值

tanh()/tanhf()/tanhl()

4.反三角函数

4.1反正弦值

asin()/asinf()/asinl()

4.2反余弦值

acos()/acosf()/acosl()

4.3反正切值

atan()/atanf()/atanl()

4.4反双曲线正弦值

asinh()/asinhf()/asinhl()

4.5反双曲线余弦值

acosh()/acoshf()/acoshl()

4.6反双曲线正切值

atanh()/atanhf()/atanhl()

学c语言如何做笔记

我自学C语言的时候的笔记只记程序,然后在程序旁边写下程序中新学的知识,比如

刚学的时候

#include stdio.h

main()

{

printf("Hello!");

}

每个C程序的基本格式是:

#include stdio.h

main()

{

printf("Hello!");

}

后来学到

#include stdio.h

main()

{

int x;-----要用的变量,先声明,

x=1;

printf("x=%d",x);----^.....

}

如此类推了,这样不了解就可以运行程序式式,我自己感觉还不错,就是有时候,要写太多了.

C语言笔记(五)----struct,enum,typedef等

成员表列由若干个成员组成,每个成员都是该结构的一个组成部分。

对每个成员也必须做类型声明。

其形式为:

类型声明符 成员名;

例如:

注意, 最后括号外面的;分号是不可少的 。

结构定义之后,才可以进行变量声明。

凡声明为结构 stu 的变量都由上述4个成员组成。

由此可见,结构是一种复杂的数据类型,是数目固定,类型不同的若干有序变量的集合。

声明结构变量 有以下三种方法。

使用上面定义的stu为例:

如:

也可以用宏定义使一个符号常量来表示一个结构类型。例如:

例如:

这种形式的声明的一般形式为:

例如:

这种声明的一般形式为:

第三种方法与第二种方法的区别在于第三种方法中省去了结构名,而直接给出结构变量。

在程序中使用结构变量时,往往不把她作为一个整体来使用。

在ANSI C中除了允许有相同类型的结构变量相互赋值以外,一般对结构变量的使用,包括 赋值、输入、输出、运算 等都是通过结构变量的成员来实现的。

表示结构变量成员的一般形式为:

结构变量名.成员名

例如: boy1.num boy2.sex

如果成员本身又是一个结构,则必须逐级找到最低级的成员才能使用。如: boy1.birthday.month

结构变量的赋值就是给各成员赋值。

数组的元素也可以是结构类型的。

因此可以构成结构型数组。

初始化赋值:

当然也可以在定义 stu结构 时同时声明 pstu。

赋值是把结构变量的首地址赋予该指针变量,不能把结构名赋予该指针变量。

如果 boy 是被声明为 stu类型 的结构变量。

则:

有了结构指针变量,就能更方便地访问结构变量的各个成员。

其访问的一般形式为:

(*结构指针变量).成员名

结构指针变量-成员名

例如: (*pstu).num 或 pstu-num

例如:

介绍数组的时候,曾介绍过数组的长度是预先定义好的,在整个程序中固定不变。

C语言中不允许动态数组类型。

例如:

但是又有此需求,为了解决这个问题,C语言提供了一些内存管理函数,这些内存管理函数可以按需要动态地分配内存空间,也可把不再使用的空间回收待用,为有效地利用内存资源提供了手段。

常用的内存管理函数有3个:

例子:分配一块区域,输入一个学生数据

上面的例子采用了动态分配的办法为一个结构分配内存空间。

每一次分配一块空间可用来存放一个学生的数据,我们可称之为一个节点。

有多少个学生就应该申请分配多少块内存空间,也就是说要建立多少个节点。

当然用结构数组也可以完成上述工作,但如果预先不能准确把握学生人数,也就无法确定数组大小。

而且当学生留级、退学之后也不能把该元素占用的空间从数组中释放出来。

用动态存储的方法可以很好地解决这些问题。

有一个学生就分配一个节点,无须预先确定学生的准确人数,某学生退学,可删去该节点,并释放该节点占用的存储空间,从而节约了宝贵的内存资源。

另一方面,用数组的方法必须占用一块连续的内存区域。

而使用动态分配时,每个节点之间可以是不连续的(节点内是连续的)。

节点之间的关系可以用指针实现。

即在节点结构中定义一个成员项来存放下一节点的首地址,这个用于存放地址的成员,常把他称为指针域。

可在第一个节点的指针域内 存入第二个节点的首地址,在第二个节点的指针域内 又存入第三个节点的首地址,如此串联下去直到最后一个节点。

最后一个节点因无后续节点连接,其指针域可赋值 0

这种连接方式,在数据结构中称为“链表”。

链表的基本操作主要有以下几种:

例子:建立一个三个节点的链表,存放学生数据。为简单起见,我们假定学生数据结构中只有学号和年龄两项。可编写一个建立链表的函数create。程序如下:

create函数 用于建立一个有 n个节点 的链表,他是一个指针函数,他返回的指针指向 stu结构。

在create函数内定义了三个 stu结构 的指针变量。

head为头指针,pf为指向两相邻节点的前一节点的指针变量。

pb为后一节点的指针变量。

枚举是一种 基本数据类型 ,而不是一种 构造类型 ,因为他不能再分解为任何基本类型。

enum 枚举名{ 枚举值表 };

例如: enum weekday { sun,mou,tue,wed,thu,fri,sat };

enum weeakday a,b,c;

或者为:

enum weekday { sun,mou,tue,wed,thu,fri,sat }a,b,c;

或者为:

enum { sun,mou,tue,wed,thu,fri,sat }a,b,c;

例子:

说明:

只能把枚举值赋予枚举变量,不能把元素的数值直接赋予枚举变量。如:

a=sun;b=mon; 是正确的

a=0;b=1; 是错误的。

如果一定要把数值赋予枚举变量,则必须使用强制类型转换。

如: a=(enum weekday)2;

还应该说明的是枚举元素不是字符常量也不是字符串常量,使用时不要加单、双引号。

例子:

typedef定义的一般形式为:

typedef 原类型名 新类型名

其中原类型名中含有定义部分,新类型名一般用大写表示,一般用大写表示,以便于区别。

有时也可用 宏定义 来代替 typedef 功能,但是 宏定义 是由 预处理 完成的,而 typedef 则是 在编译时 完成的,后者更为灵活方便。

使用 typedef 定义数组、指针、结构等类型将带来很大的方便,不仅使书写简单而且使意义更加明确,因而增强了可读性。

例如:

又如:

那么多的C语言函数,怎么学啊,给个建议。

学习任何知识,循序渐进总是最好的方式。不幸的是,很多人明知这个道理,却总是想走所谓的捷径。如果你是一个刚刚开始学习编程的中学生,或者你是一个刚刚进入计算机学院的本科生,又或者你是一个决心在计算机领域有所建树的初学者,你一定迫切地想知道,学习计算机技术,究竟应该从哪里下手。

我的建议是:数学、英语、C语言。

数学和英语的重要性已经不需要我来强调,大家也许从幼儿园就开始学习它们了,请时刻把它们放在最重要的位置,无论你是否学习计算机。

为什么C语言如此重要?我们从学习方法开始说起。书本上描述的东西,倘若不经过我们的亲自实践,是难以被彻底消化吸收的。计算机组成原理讲解了浮点数的格式,如果我们能看到并分析内存或寄存器中某个浮点数的表示,那比单纯的纸上谈兵要强一千倍;数据结构与算法似乎很难,如果你能把书上的例子实现出来,然后把习题做完,只需啃完一本好书,你也可以是算法高手;操作系统原理其实不仅仅是原理,只有做一些内核方面的实验才能真正有深刻理解;还有许多新潮的技术,比如JavaEE、PHP、Ajax、.NET等等等等,很多高手学习这些技术只需要很短的时间,不必说,他们肯定是C语言的高手。C语言几乎是一切计算机技术的通用工具,包括计算机的各种基本理论。没有精通C语言的决心,就不要涉足计算机领域。

为什么是C语言而不是C++不是Java不是其它?因为C语言最简单。你需要掌握一个语言工具,但也许并不需要“面向对象”、“模板”、“函数重载”等等一大堆概念。C语言足够低级,非常非常地贴近计算机的底层结构,不会让你迷失在概念的汪洋大海。除了“指针”,C语言没有真正意义上的难点,而“指针”,恰恰是理解计算机底层结构精髓的关键所在。

不必思考应该学什么,等把C语言精通了,你自己便会知道下一步如何去走。如果你对操作系统内部感兴趣,你便可以试着研究一下Unix的内核,除了C语言,你还需要一些汇编语言和保护模式的知识;如果你对算法感兴趣,那么恭喜你,C语言足够使用了;如果你对Windows编程感兴趣,去看看《Windows程序设计》吧,作者清楚的告诉你“只需要C语言的基础”;如果你对任何其它语言感兴趣,尽管去学吧,不过还是建议先学C++,因为你需要一些“面向对象”的知识。

学习C语言不是一朝一夕的事情,但也不需要花费十年时间才能精通。如何以最小的代价学习并精通C语言是本文的主题。请注意,即使是“最小的代价”,也绝不是什么捷径,而是以最短的时间取得最多的收获,同时也意味着你需要经历艰苦的过程。

一、要读就读好书,否则不如不读

所有初学者面临的第一个问题便是:如何选择教材。好的开始是成功的一半,选择一本优秀的教材是事半功倍的关键因素。不幸的是,学校通常会帮你指定一本很差劲的C语言课本;而幸运的是,你还可以再次选择。

大名鼎鼎的谭浩强教授出了一本《C语言程序设计》,据说发行量有超过400万,据我所知,很多学校都会推荐这本书作为C语言课本。虽然本人的名字(谭浩宇)跟教授仅仅一字之差,但我是无比坚定地黑他这本书的。这本书不是写给计算机专业的学生的,而是给那些需要考计算机等级考试的其它专业学生看的。这本书的主要缺点是:例子程序非常不专业,不能教给你程序设计应该掌握的思考方式;程序风格相当地不好,会让你养成乱写代码的恶习;错误太多,曾经有人指出过这本书的上百个错误,其中不乏关键的概念性错误。好了,这本书我也不想说太多了,有兴趣大家可以百度一下:)

Kernighan和Ritchie的《The C Programming Language》(中译名《C程序设计语言》)堪称经典中的经典,不过旧版的很多内容都已过时,和现在的标准C语言相去甚远,大家一定要看最新的版本,否则不如不看。另外,即使是最经典最权威的书,也没有办法面面俱到,所以手边常备一本《C语言参考手册》是十分必要的。《C语言参考手册》就是《C Reference Manual》,是C语言标准的详细描述,包括绝大多数C标准库函数的细节,算得上是最好的标准C语言的工具书。顺便提一句,最新的《C程序设计语言》是根据C89标准修订的,而《C语言参考手册》描述的是C99标准,二者可能会有些出入,建议按照C99标准学习。还有一本《C和指针》,写得也是相当地不错,英文名是《Pointers on C》,特别地强调指针的重要性,算是本书的一个特点吧。不过这本书并不十分适合初学者,如果你曾经学过C语言,有那么一些C语言的基础但又不是很扎实,那么你可以尝试一下这本书。我相信,只要你理解了指针,C语言便不再神秘。

如果你已经啃完了一本C语言教材,想要更进一步,那么有两本书你一定要看。首先是《C Traps and Pitfalls》(中译名《C陷井与缺陷》),很薄的一本小册子,内容非常非常地有趣。要注意一点,这本书是二十多年前写成的,里面提到的很多C语言的缺陷都已被改进,不过能够了解一些历史也不是什么坏事。然后你可以挑战一下《Expert C Programming》(中译名《C专家编程》),书如其名,这本书颇具难度,一旦你仔细读完并能透彻理解,你便可以放心大胆地在简历上写“精通C语言”了。

切记一个原则,不要读自己目前还看不懂的书,那是浪费生命。如果你看不懂,那你一定是缺失了某些必需基础知识。此时,你要仔细分析自己需要补充哪些内容,然后再去书店寻找讲述的这些内容的书籍。把基础知识补充完毕再回头来学习,才会真正的事半功倍。

c语言如何编写自己的函数

前面弄的那个格式错乱了!所以重新弄了一遍,这次应该没问题了!

(1)无参函数的定义一般形式:

类型说明符 函数名()

{

类型说明符

语句

}

例如: void Hello()

{

printf("Hello,world");

}

(2)有参函数的定义一般形式:

类型说明符 函数名(形式参数表)

{

类型说明符

语句

}

例如: int max(int a,int b)

{

if(ab)

return a;

else

return b;

}

其中类型说明符指明了本函数的类型,函数的类型实际上是函数返回值的类型,它们通常是C语言的

基本数据类型.


文章标题:C语言函数笔记方法,c语言函数的使用方法
文章路径:http://myzitong.com/article/dscpojp.html