1。 编译指示指令 C和C++的每个实现对它的主机或操作系统都支持一些独有的特征。例如,某些程序须对存放数据的存储器区域进行精确的控制,或必须控制特定函数接受参量的方式。

#pragma指令对每个编译器给出了一个方法,在保持与C和C++语言完全兼容的情况下,给出主机或操作系统专有的特征。  依据定义,编译指示是机器或操作系统专有的,且对于每个编译器都是不同的。

2。TC运行库函数介绍 原创:怒火之袍 对于很多刚刚接触C语言和TC环境的同学,学习面向过程和结构化的思想以及C语言的语法是学习中的重中之重,但是在对此二者有了一个比较牢固的基础之后若想继续提高,一是要学习一些常用的能够解决实际问题的处理方法和计算机在存储数据方面的知识,我们称之为算法和数据结构,这能使你可以解决问题的数量大幅度增加;二是要学习所使用的语言和环境给我们提供的可以直接利用的资源,也就是库。

随着计算机技术的迅猛发展,我们要处理和解决的问题规模越来越大,结构也越来越复杂,这决定了我们在编程的时候不可能每个细节都从零写起,而要运用许多现成的可以保证正确的代码来实现比较固定的功能,这种固定的功能实现常常以库函数的形式体现出来。

C语言的库中提供了许多实现某一特定目的的函数,这能使你编程的效率大大提高,并且使程序的逻辑更加清晰。  预备知识有些同学在学习库函数的时候感觉特别痛苦,其中部分原因是由于对语言的基本概念掌握不牢所造成的。

对于C语言,要想熟练地使用库函数,必须对函数的调用机制,形参实参的传递过程和返回值的处理有一个全面而准确的认识,弄清传值调用和传地址调用的区别的联系,充分掌握这些知识才能很快理解别人写出的函数在接口和实现的功能上存在着怎样的联系。

另外,如果你不只满足于使用库中的函数而有志于通过剖解它们的代码来获取别人的编程经验,那么你还需要拥有较强的阅读程序的能力。 最常用库函数介绍即使对于初学者,也有一些函数是在练习编程的过程中无可避免地将使用到的,对于这种使用频繁的函数我们有必要尽快掌握,实际上这些函数通常集中声明在以下几个头文件中:、和。

中声明了C语言中大部分关于输入输出操作的函数,我们只需要调用这些函数便能对输入与输出做出处理,而不需要考虑到硬件的问题。大家从接触C语言开始,哪怕是最简单的“Hello,world”程序也要在程序开始写下一行#include ,可见这个头文件中所声明函数的使用频率之高。

这个头文件中所声明关于标准输入输出的常用函数列表如下:函数名 函数原型 具体功能 scanf int scanf(const char*format[,argument]。

。。); 从标准输入装置读入数据,并可根据argument做的设定,把数据依照要求的格式写到要求的位置 printf int printf(const char*format [,argument]。

。。); 将所有数据格式化并一起输出到标准输出装置 gets char *gets(char *buffer); 从标准输入数据流里取得一整行的数据,并存入buffer中。

它会直接取得所有输入的字符,直到欲换行为止 puts int puts(const char *string); 把指定字符串输出给标准输出装置 getchar int getchar(void); 由标准输入装置读取一个字符 putc int putc(int c); 将单个字符输出到标准输出装置 除了关于标准输入输出的函数之外,中还声明了大量与文件读写操作有关的函数,这些函数中的一部分和标准输入输出的功能类似,只不过将数据流改变到了文件上;另一部分是为文件打开、关闭以及文件指针定向等提供的基本操作,同学们可以在学习了和文件操作相关的内容之后再来复习它们。

此外,中的sscanf和sprintf两个函数可以利用字符串进行读写操作,在一些特定的场合可以为数据转换提供很大的方便。中声明的库函数用来处理相关的数学问题,这些数学函数大部分都是作用于浮点数类型的数据,其所支持的功能包括三角函数数值运算、指数对数运算、绝对值以及一些基本的数值处理,现在将这些函数用下表加以总结:功能范围 函数名 函数原型 具体功能 三角函数与反三角函数 sin double sin(double x); 计算x弧度的正弦值 cos double cos(double x); 计算x弧度的余弦值 tan double tan(double x); 计算x弧度的正切值 asin double asin(double x); 计算绝对值不大于1的浮点数的反正弦值 acos double acos(double x); 计算绝对值不大于1的浮点数的反余弦值 atan double atan(double x); 计算浮点数的反正切值 指数对数运算 log double log(double x); 计算正浮点数的自然对数值 log10 double log10(double x); 计算正浮点数的以10为底的对数值 pow double pow(double x,double y); 计算x的y次方 exp double exp(double x); 计算e的x次方 sqrt double sqrt(double x); 计算非负浮点数的平方根 绝对值计算 fabs double fabs(double x); 计算浮点数的绝对值 数值处理 ceil double ceil(double x); 求出大于一个浮点数的最小整数 floor double floor(double x); 求出小于一个浮点数的最大整数 modf double modf(double x,int *intptr); 求浮点数的小数部分,整数部分写入第二个参数指向的地址 fmod double fmod(double x,double y); 求两浮点数相除后的余数 熟悉数学库中的函数是学习编程过程中必不可少的一环,因为这些函数如同输入输出函数一样有着较高的使用频率,并且其中的一部分很难自己写出源码实现。

中声明了许多相当基本的函数,让C语言的使用者仅仅使用标准函数库就能实现强大的功能,其中涉及到数据类型转换、内存操作、随机数处理、排序和程序流程控制等方方面面的内容,在下表中笔者着重介绍数据类型转换和随机数处理这两个初学者比较常用方面的常用函数,关于内存操作的函数读者可以在 中找到比较详细的说明。

功能范围 函数名 函数原型 具体功能 数据类型转换 atof double atof(const char *string); 将字符串转换为浮点类型 atoi int atoi(const char *string); 将字符串转换为整数类型 atol long atol(const char *string); 将字符串转换为长整数类型 itoa char* itoa(int value,char *string,int radix); 将整数类型的数值转换为字符串,radix描述了进制的选择,范围在2到36之间 fcvt char *fcvt(double value,int count,int *dec,int *sign); 将浮点数转换为字符串,value为要被转换的数值,count为小数点后的位数,dec为小数点所在的位置,sign描述正负号 随机数 srand void srand(unsigned int seed); 设定随机种子 rand int rand(void); 随机产生一数值 另外几个比较常用的头文件所声明的函数功能除了、和之外,还有一些头文件中声明了比较常用的函数,下表总结了一些头文件所声明函数的功能范围。

头文件 头文件中所声明函数的功能描述 在程序执行过程中设定插入点,便于程序员进行究错工作 处理时间,便于程序员使用到系统的时间 对字符串的各种处理 对字符的相关处理 与在图形界面作图有关的处理 结语本文介绍的只是C语言和TC环境函数库中所提供的库函数的最常用的很小的最一部分,许多库函数涉及到的理论和应用需要读者对语言本身的原理和机制了解加深后才可以得到较为透彻的体会。

另外笔者建议大家在学习相关内容的同时可以参考库函数的实现,因为这些代码大都简洁精炼,可以作为很好的教材。比如吃透中所声明的各个函数的原码,那么你对字符串处理的能力和感觉以及对指针的认识都会有一个较大的提高。

总之,库函数除了提高你的编程效率,让你放心地使用一些品质优良的零件之外,还能帮你巩固所学的知识,提高阅读代码的能力,告诉你钢铁是怎样炼成的。  。

[展开]

c语言中fmod函数怎么用,调用fmod函数相关推荐

  1. c语言中math的库函数,C语言中math.h库中的常用函数

    C语言中math.h库中的常用函数 int abs(int i) 返回整型参数i的绝对值 double cabs(struct complex znum) 返回复数znum的绝对值 double fa ...

  2. matlab 中调用s函数表达式,[求助]S函数中能否调用M函数

    [求助]S函数中能否调用M函数 我现在写了一个S-FUNCTION 里面调用了一些M函数,当把S函数的名字写入S-FUNCTION块的时候 总是出现 ??? SWITCH expression mus ...

  3. python函数定义及调用-python函数基础(函数的定义和调用)

    函数的定义 python定义函数使用def关键字 return[表达式]语句用于退出函数,选择性的向调用方返回一个表达式,不带参数值的return语句返回none def函数名(参数列表): 函数体 ...

  4. 创建方法求两个数的最大值max2,随后再写一个求3个数的最大值的函数max3。​ 要求:在max3这个函数中,调用max2函数,来实现3个数的最大值计算

    //创建方法求两个数的最大值max2,随后再写一个求3个数的最大值的函数max3.//要求:在max3这个函数中,调用max2函数,来实现3个数的最大值计算public static int max3 ...

  5. c语言中getenv的作用,C语言putenv()函数和getenv()函数的使用详解

    C语言putenv()函数和getenv()函数的使用详解 C语言putenv()函数:改变或增加环境变量头文件: #include4 定义函数: int putenv(const char * st ...

  6. c语言中gets与fgets,gets和fgets函数及其区别,C语言gets和fgets函数详解

    每当讨论 gets 函数时,大家不由自主地就会想起 1988 年的"互联网蠕虫",它在 UNIX 操作系统的 finger 后台程序中使用一个 gets 调用作为它的攻击方式之一. ...

  7. java 调用htm中js函数_Lua中调用C函数(lua5.2.3)

    Lua可以调用C函数的能力将极大的提高Lua的可扩展性和可用性.对于有些和操作系统相关的功能,或者是对效率要求较高的模块,我们完全可以通过C函数来实现,之后再通过Lua调用指定的C函数.对于那些可被L ...

  8. python函数定义和调用_函数定义和调用

    定义函数 在JavaScript中,定义函数的方式如下: function abs(x) { if (x >= 0) { return x; } else { return -x; } } 上述 ...

  9. python函数的嵌套调用_python函数的嵌套调用

    我们之前的代码都是定义函数然后直接调用,但是没有在一个函数内调用另外一个函数,今天就感受下函数嵌套调用. 提示:如果你想当然的认为函数嵌套是在函数内部又嵌套定义一个函数这种操作的话,那么这叫做闭包.相 ...

最新文章

  1. Android Studio报错解决:droid.tools.idea.welcome.install.WizardException: SDK tools directory is missing
  2. 微软宣布Azure Functions正式支持Java
  3. nstimer循环引用_解决NSTimer循环引用导致内存泄漏的六种方法
  4. [转载] 晓说——第2期:汉人无音乐都怪老祖宗
  5. 接口与继承 课后实践
  6. Spring的任务调度和邮件发送
  7. 首次开源!一行代码轻松搞定中英文语音识别、合成、翻译核心功能!
  8. PLSQL 日期格式修改
  9. 苏杰专访:产品创新好方向=几十年不变的需求+硬科技赋能
  10. android 仿QQ手机版
  11. Markup.h 和 Markup.cpp 文件(下一篇)内容,直接复制创建就行了
  12. 数字信号处理技术在各个领域(电信、音频、图像、雷达、声呐等)的用途
  13. Python如何实现人脸识别系统
  14. 基于五种机器算法的信用风险评估
  15. git 拉取最新代码覆盖本地
  16. Kaggle竞赛:Quora Insincere Questions Classification 总结与心得感想
  17. util.promisify
  18. laravel mysql 事务_laravel框架中的MySQL事务处理 阿星小栈
  19. 包转发率交换容量详解
  20. Axure 教程:Axure加载第三方脚本

热门文章

  1. python抢票12306源码_Python实现12306火车票抢票系统
  2. S4 HANA中新增公司代码AS01创建资产报错,消息号AY159 “有关最后完成的会计年度的信息不完整” - FAA_CMP或FAA_CMP_LDT
  3. nyoj-30 Go finishing 经典贪心
  4. 1087 有多少不同的值
  5. 获取pkl中数据_把数据写入pkl文件,读取pkl文件
  6. python核密度图_使用Python绘制2D核密度估计
  7. android id 会变化,android – 每次应用程序启动时资源ID都会更改
  8. MYSQL UNION 笛卡尔积
  9. 蓝牙开发板青风NRF52840上手第一步避坑
  10. 【金融学】Economics of Money and Banking {暂时搁置,中级宏观和微观经济学未学}