当前位置:首页 » 编程语言 » c语言函数学习
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

c语言函数学习

发布时间: 2023-01-03 11:43:06

❶ 那么多的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语言自学——函数说明2

比如

void test( )

{

printf(“我就是无参+无返回值结合的函数!”);

}

void main ( )

{

test();

}

看上面的两个函数,一个自定义函数test,一个主函数main,在主函数main里面调用了test函数,调用形式就是,直接用函数名+一对括号+分号,如test();

这种最简单,很好理解,函数的功能都集中在test内部,调用它的函数没有给它传递任何值,也没有让它返回任何值。

还是把上面的程序,改一下

int test( )

{

printf(“我就是无参+有返回值结合的函数!,给你返回一个值”);

return 1;

}

void main ( )

{

int back_num;

back_num=test();

printf(“返回的值是%d”,back_num);

}

现在继续看,因为test函数呢,改成了有返回值了,那原则上你需要对调用这个test函数的返回值进行处理,比如程序中,我再定义了一个对等变量back_num用来接收人家test给你返回的值,那要是你不想再定义这个对等变量,那你必须想办法把人家带回来的值处理掉,不能不闻不问,比如,可以这样,修改一下代码,你去掉上面标黄的两句,然后,改成这样。

printf(“返回的值是%d”, test() );

请问,理解了吗?

现在是否懂得了这两种函数的定义以及被调用形式?

还不懂,那就返回去继续研究,继续理解?

over!please back!

还是以上面程序为准,参数部分你可以定义多个,这里我定义一个来讲解

void test( int test_num )

{

printf(“让我看看你给我传过来是多少!”);

printf(“收到,你传过来是%d!,对吧,但我没给你返回值哦!”, test_num );

}

void main ( )

{

int num=10;

printf(“让我给他传个值!”);

test(num) ;

}

哦,理解吗?应该很好理解,因为test设计的是需要开放一个接口参数量,所以,在()里面定义了一个变量,如果你设计的需要开放多个接口,那你就一个一个定义,用逗号(,)隔开就行,记得必须给这些量数据类型哦。别忘了。

然后呢,main函数想要调用test,test说呢,我这里需要你提供一个参数哦,你可要准备好哦,main说,没问题,我来定义一个对等量,给你传过去,你说咋传,test说,你就放我名字后面的()里面就行,main说,好嘞,走起!看main里面的标黄一句。

理解了吗?

继续

char test( int test_num )

{

printf(“让我看看你给我传过来是多少!”);

printf(“收到,你传过来是%d!,对吧,我也给你一个返回值哦!”, test_num );

return ‘Y’;

}

void main ( )

{

char sound;

int num=10;

printf(“让我给他传个值!然后我看看有啥反应,他能给我什么结果!总不能砸下去都没响声吧!”);

sound=test(num) ;

printf(“返回值是 %c ,不错,还有个响声!好歹有来有往!”, sound );

}

好了,到这里你能全部理解吗?不能,那就继续返回去再看再想吧!

补充。上面四个程序中,有返回值的,我没有定义变量,直接使用的常量值给他返回去,当然你可以根据函数功能与函数能求得的结果,通过变量来给他返回去,这都是可以的。

另外,有参数的函数,在主函数main中目前都是直接通过变量的形式(当然你也可以直接给常量,比如int num=10; test(num) ;,你可以去掉int num=10;这一句,后面的改成 test(10) ;也是可以的。这种传递数据的方式叫传值调用,就是不管是变量(num)还是常量(10)其实都是具体的数据,而且量也是一个,不是多个。所以,相当于一个量只能传递一个值,如果有多个量,那你就必须定义多个参数。调用时,位置是一对一的。

大家先学习传值,这个懂得了,再看传递地址怎么做!一步一步来。

❸ 如何学习C语言的库函数

1. 最好是先看看标准文档,在cppreference.com这网站也能查看,打开文档里面有各标准库函数、宏的列表以及详细介绍,C和C++的都有,如英文读不懂的话可以选择中文版。内置的系列函数,查找文档就一目了然,还有非常详尽的参数、功能、返回值等说明以及各种格式化说明符的用法。

2. 对于初学C语言底层实现并不需要深入了解,如想了解的话可以研究一下glibc之类的实现。

❹ c语言函数太难了,怎么学

莫非这点小问题就打击到你了, 你漫漫长征第一步都还没开始, 以后的数据库 数据结构 操作系统 计算机网络 每一门课程都是很难的

C语言的函数其实很简单 你就把他当成一个功能模块就行了, 这个东西理解清楚了其实很简单的, 比如说你想请客吃饭, 这是你的最后功能,中间你可能叫别人通知另外的人, 那么你叫别人通知的这个过程就可以当成一个函数了, 因为你叫他帮你做一件事, 但可能不知道他是怎么做的, 你只关注入口和出口, 即你叫他通知和他是否通知到.

既然是叫别人帮忙做事的话, 你可能需要传一些东西给别人这就是参数, 别人做完后, 可能要返回给你一个东西, 这就是返回值, 但这不是必须的.

C语言程序全都是函数, 他就是一个函数的集合, 在main函数中调用其他的函数, 所以说C语言里全是函数, 锄此之外再没别的东西了

❺ 什么是C语言函数,简单明了让你知道

函数是一组一起执行一个任务的语句。每个 C 程序都至少有一个函数,即主函数 main() ,所有简单的程序都可以定义其他额外的函数。

您可以把代码划分到不同的函数中。如何划分代码到不同的函数中是由您来决定的,但在逻辑上,划分通常是根据每个函数执行一个特定的任务来进行的。

C 标准库提供了大量的程序可以调用的内置函数。例如,函数 strcat() 用来连接两个字符串,函数 memcpy() 用来复制内存到另一个位置。

函数还有很多叫法,比如方法、子例程或程序,等等。

C 语言中的函数定义的一般形式如下:

在 C 语言中,函数由一个函数头和一个函数主体组成。下面列出一个函数的所有组成部分:

以下是 max() 函数的源代码。该函数有两个参数 num1 和 num2,会返回这两个数中较大的那个数:

创建 C 函数时,会定义函数做什么,然后通过调用函数来完成已定义的任务。

当程序调用函数时,程序控制权会转移给被调用的函数。被调用的函数执行已定义的任务,当函数的返回语句被执行时,或到达函数的结束括号时,会把程序控制权交还给主程序。

调用函数时,传递所需参数,如果函数返回一个值,则可以存储返回值。例如:

如上把 max() 函数和 main() 函数放一块,编译源代码。当运行最后的可执行文件时,会产生下列结果:

形式参数就像函数内的其他局部变量,在进入函数时被创建,退出函数时被销毁。

当调用函数时,有两种向函数传递参数的方式:

默认情况下,C 使用 传值调用 来传递参数。一般来说,这意味着函数内的代码不能改变用于调用函数的实际参数。

❻ 关于C语言函数部分的基础知识~

#include<stdio.h>
#include<math.h>
//这是声明引用的文件,用<>括起来的一般是系统的库,用“”一般是用户自己的文件
//stdio是标准输入输出,math是数学函数库,一般还需要用stdlib.h标准库包含常用的操作,如system("pause");这个是用来使控制台暂停,能让你看清结果用的,否则程序运行完一闪就没了

int f(int h) //此处是声明子函数,也可以使用;结束,然后再在别的地方写实现方法
//第一个int 这是返回的值的类型,f是函数名,括号里的int是传入的参数类型,h是参数名,多个参数用,隔开
{int i,b,n=0,s=0;//声明局部变量,在此处可以直接赋值
do{b=sqrt(h);//b=h的平方,sqrt是math库里的已有的函数
for(i=2;i<=b;i++)//for(变量初始化;循环继续的条件;每次循环后执行的操作)
if(h%i==0) break;//if(条件)条件成立的操作 此处break是指如果h除以i的余数等于0,则退出for循环
if(i>b){n++;s=s+h;}//这里if的判断是因为上面如果没有break,即这个数是素数,肯定最后i>b,那么就把n增加1,然后s增加h
h--;//h是传入的参数,递减, 从而和n结合就是,取从传入进来的数以下最大的十个素数
}
while(n<10); //do{循环内执行的操作} while(循环继续的条件)
return(s);//函数f的返回值
}
main()
{int h;scanf("%d",&h);//scanf是读取键盘输入
printf("%d\n",f(h));//这个就是屏幕输出了
}

建议拿本书看下吧,基本的什么判断、循环语句至少要知道,才看程序吧。

❼ C语言常用的函数有哪些

C语言库函数,常用库函数有:

1、scanf格式输入函数

2、printf格式输出函数

3、systemdos命令函数

4、sort排序

5、main主函数

6、fgets文件读取字符串函数

7、fputs文件写入字符串函数

8、fscanf文件格式读取函数

9、fprintf文件格式写入函数

10、fopen打开文件函数

11、getchar输入字符函数

12、putchar输出字符函数

13、malloc动态申请内存函数

14、free释放内存函数

15、abs求绝对值数学函数

16、sqrt求平方根数学函数

(7)c语言函数学习扩展阅读

语言组成:


1、数据类型

C的数据类型包括:整型、字符型、实型或浮点型(单精度和双精度)、枚举类型、数组类型、结构体类型、共用体类型、指针类型和空类型。

2、常量与变量

常量其值不可改变,符号常量名通常用大写。

变量是以某标识符为名字,其值可以改变的量。标识符是以字母或下划线开头的一串由字母、数字或下划线构成的序列,请注意第一个字符必须为字母或下划线,否则为不合法的变量名。变量在编译时为其分配相应存储单元。

3、数组

如果一个变量名后面跟着一个有数字的中括号,这个声明就是数组声明。字符串也是一种数组。它们以ASCII的NULL作为数组的结束。要特别注意的是,方括内的索引值是从0算起的。

4、指针

如果一个变量声明时在前面使用 * 号,表明这是个指针型变量。换句话说,该变量存储一个地址,而 *(此处特指单目运算符 * ,下同。C语言中另有 双目运算符 *) 则是取内容操作符,意思是取这个内存地址里存储的内容。指针是 C 语言区别于其他同时代高级语言的主要特征之一。