版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
经典永流传—C语言概述C语言程序设计第一章本章目录01.C语言的发展和特点02.认识简单的C语言程序03.C语言程序的开发环境04.趣味实例与总结1.1C语言的发展和特点了解C语言的前世今生与核心魅力C语言的的产生和发展-诞生背景机器语言计算机直接识别的二进制代码,执行效率最高。但晦涩难懂,完全不适合人类阅读和编写,维护成本极高。汇编语言使用助记符代替机器指令,改善了可读性。但仍与硬件架构紧密相关,可移植性差,编程效率依然受限。时代需求迫切需要一种既易于学习使用,又能直接操作硬件、执行效率高的通用语言。C语言正是在这样的背景下应运而生。C语言的的产生和发展-发展历程1967年剑桥大学的MartinRichards开发了BCPL语言,为后续语言奠定了基础。1970年贝尔实验室的KenThompson设计出了更简单的B语言,用于开发UNIX系统。1972年DennisRitchie在B语言基础上克服缺点,设计出了经典的C语言。1977年发表不依赖具体机器的编译程序,提升了可移植性,C语言开始全球传播。C语言的特点简洁紧凑,灵活方便仅有32个关键字和9种控制语句,语法简洁。程序书写格式自由,主要使用小写字母,易于学习和书写。运算符丰富拥有34种运算符,将括号、赋值、强制类型转换等均作为运算符处理,能实现复杂的运算和表达。数据类型丰富支持整型、实型、指针、结构体等多种类型。特别是指针的引入,极大地提高了程序的灵活性和效率。结构化语言采用结构化程序设计思想,程序各部分相互独立,层次分明,便于模块化设计、阅读、维护和调试。C语言的特点语法限制少,自由度大C语言给予程序员极大的自由度,如不检查数组越界、允许数据类型通用。这带来了灵活性,但也要求程序员更加谨慎。可直接访问物理地址C语言可像汇编一样直接对位、字节和内存地址进行操作,非常适合编写操作系统、驱动程序等底层系统软件。生成代码质量高,执行效率高编译器生成的目标代码质量高,程序执行效率接近汇编语言,远高于其他高级语言,性能优势显著。适用范围广,可移植性好C语言程序可在Windows、Linux、macOS等多种操作系统和硬件平台上编译运行,具有极好的可移植性。实例体验:1.工作系统设计语言shutdown.c#include<stdlib.h>main(){system("shutdown-s-t1");}代码解析与原理说明这段代码虽然简短,却展示了C语言作为系统级编程语言的核心能力:系统调用:通过system()函数直接调用操作系统的命令行工具(shutdown)。底层控制:实现了对计算机硬件和系统服务的直接控制,体现了语言的高效与底层访问能力。例1-1实现计算机1s后自动关机实例体验:2.应用程序设计语言print_c.c#include<stdio.h>main(){printf("****\n");printf("*\n");printf("*\n");printf("****\n");}代码解析与说明功能演示:该程序通过多次调用printf函数,精确控制星号的输出位置和数量,最终在控制台绘制出字母“C”的图案。核心价值:这展示了C语言不仅是系统级编程语言,同样可以作为应用程序设计语言,实现逻辑控制、数据处理和简单的图形化输出。例1-2用*号输出字母C的图案。1.2认识简单的C语言程序剖析C语言程序的基本结构与规范C语言程序的构成#include<stdio.h>//编译预处理命令main()//主函数{printf("德塑人生技行天下\n");//输出字符串“德塑人生技行天下”;}编译预处理命令以#开头,通常用于引入头文件或宏定义,为编译做准备。程序主体(函数)程序执行的核心逻辑,必须包含main函数作为入口点。注释说明用于解释代码功能,不参与程序编译,提升代码可读性。C语言程序的构成-编译预处理命令基础定义与格式识别特征:以#开头所有以#号开头的代码行,都是编译预处理命令。这是它们最显著的标志。执行时机:编译前处理在程序被正式编译成机器码之前,由预处理器专门处理这些命令。核心应用:#include<stdio.h>功能:文件包含将系统提供的stdio.h头文件内容嵌入到当前程序中,相当于“复制粘贴”。必要性:准备“调料包”该文件声明了printf和scanf等函数。如果不包含它,编译器将不认识这些函数,程序会报错。这就像做菜前准备好调料一样。C语言程序的构成-程序主体(函数)基本单位函数是C语言程序的基石。一个完整的C语言程序由一个或多个函数组成,它们协同工作以实现复杂的功能。main()入口函数程序的执行起点,系统从此开始调用。一个程序必须且只能有一个main()函数。函数分类库函数:开发环境提供的现成工具,如printf()。自定义函数:程序员编写的特定功能模块,如sum()。C语言程序的构成-注释核心作用注释用于对程序进行说明和解释,提高代码的可读性。它是写给开发者看的,不会被编译器处理,也不会影响程序的运行结果。注意事项在双引号括起来的字符串中,`//`和`/*`不会被当作注释,而是作为字符串的一部分被原样输出。单行注释(//)//这是一个单行注释//特点:以双斜杠开始,作用范围至本行结束块注释(/*...*/)/*这是一个块注释*///特点:可以跨越多行,常用于大段说明C语言程序的编写规范1)
C语言程序书写格式灵活,一般是一行写一个语句,也可以一行写几个语句,还可以一个语句写几行。2)每个语句以分号(;)结束。3)严格区分大小写,程序中常用小写字母。4)花括号必须成对使用,花括号中的内容常用缩进格式书写。5)
在书写程序中可使用/*…*/对任何部分注释,以增强程序的可读性。规范小贴士分号是C语言语句的组成部分,不可缺少。注意:一个语句没有结束,在换行前不要加分号。C语言编译器中对符号全角(中文)、半角(英文)有着严格的要求,在C语言的程序中,出现的所有符号均应为半角符号,全角符号会报错,如分号应为“;”,不能写成“;”。C语言程序的特点1)C语言程序主要由若干函数构成。每一个C语言程序有且只有一个main()函数。一个C语言程序总是从main()处开始执行,与main()函数在源程序中的位置无关。C语言程序主要由函数构成,这种特点有利于实现程序的结构化。2)每个函数总是以“{”开始,以“}”结束,花括号必须成对出现。3)C语言程序书写格式自由,一个语句可以占多行,一行也可以有多个语句。4)语句和数据定义后必须要有分号,例如“c=a+b;”。5)C语言没有输入/输出语句,而是使用函数进行输入/输出,例如scanf()、printf()。6)注释以“/*”开始,以“*/”结束。实例体验#include<stdio.h>intmax(intx,inty){intz;if(x>y)z=x;elsez=y;returnz;}intmain(){inta,b,c;scanf("%d,%d",&a,&b);c=max(a,b);printf("max=%d\n",c);}例1-3输出一行信息main(){printf(“ThisisaCProgram.\n”);}例1-4求两个数中较大者1.3C语言程序的开发环境了解C语言程序从编写到运行的完整流程C语言程序开发流程01编辑源程序使用文本编辑器(如VSCode)编写源代码,保存为.c后缀文件。02编译利用编译器(如GCC)将代码翻译为机器码,生成.obj目标文件。编译是把高级语言变成计算机可以识别的二进制语言。03链接链接器将目标文件与库文件(如printf实现)合并,生成.exe可执行文件。04运行在操作系统环境中执行生成的.exe文件,观察并验证程序运行结果。流程图
常见C语言开发环境VisualStudio(VS)微软开发的功能最强大、最全面的IDE,对C/C++有原生且优秀的支持,适合各种规模的项目开发。Dev-C++轻量级、安装包小、界面简洁,非常适合C语言初学者快速上手,降低入门门槛。Code::Blocks开源、免费、跨平台的IDE,配置灵活,插件丰富,性能表现也相当不错。VSCode+插件轻量级编辑器,通过安装插件和编译器可打造高度可定制的开发环境,深受开发者喜爱。实例体验-Dev-C++5.11的安装1)下载Dev-C++5.11安装包,双击运行下载好的“Dev-C++5.11.exe”安装程序。在弹出的安装语言选择窗口中,单击语言列表选择需要的语言,然后单击“OK”按钮确定安装语言。实例体验-Dev-C++5.11的安装2)在弹出的许可证窗口中,直接单击“IAgree”按钮同意安装许可。实例体验-Dev-C++5.11的安装3)在弹出的组件选择窗口中,安装类型选择“Full”(默认值),然后单击“Next”按钮进入下一步。实例体验-Dev-C++5.11的安装4)
在弹出的选择安装位置窗口中,可以单击“Browse”按钮,选择新的安装位置后,单击“Install”按钮开始安装。5)等待Dev-C++安
装
完
毕
后,
会
弹
出
完
成
安
装
向
导
对
话
框,
保
留“RunDev-C++5.11”复选框,然后,单击“Finish”按钮完成安装。实例体验-Dev-C++5.11的安装6)
当Dev-C++首次运行时,会弹出首次运行配置窗口,在该窗口中,选择语言为“简体中文/Chinese”(这里又有中文了),然后单击“Next”按钮进入下一步。7)在弹出的主题选择窗口中,可以选择编辑器的字体、颜色和图标,通常保留默认即可,设置完毕后,单击“Next”按钮进入下一步。实例体验-Dev-C++5.11的安装8)在弹出的Dev-C++已设置成功窗口中,直接单击“OK”按钮完成首次安装配置(见左图
),紧接着会出现Dev-C++的主界面(见右图
)。实例体验-程序运行练习输出“爱国敬业诚信友善”。步骤如下:1)启动Dev-C++5.11,在主界面中,单击菜单栏上的“文件->新建->源代码”菜单,创建一个新的文件,如图1-12所示。。实例体验-程序运行练习2)在编辑窗口中输入或修改C语言程序。#include<stdio.h>main(){
printf("爱国敬业诚信友善\n");}3)单击菜单栏“文件->保存”,弹出“保存为”对话框,选择存储位置,输入文件名“ex1”,设置保存类型为“Csourcefiles(*.c)”。4)单击菜单栏“运行->编译”,或者按下快捷键F9或单击工具按钮
。在消息窗口中的“编译日志”页显示编译结果信息,如图
所示。实例体验-程序运行练习5)单击菜单栏“运行->运行”,或者按下快捷键F10或单击工具按钮
,若源程序编译无错误,将弹出运行结果,如图
所示。1.4趣味实例:C语言的运行环境和运行过程了解C语言运行环境和运行过程趣味实例实训目的1.学习C语言的运行环境,了解所用的计算机系统的基本操作方法,学会独立使用该系统。2.了解在该系统上如何编辑、编译、链接和运行一个C语言程序。3.通过运行简单的C语言程序,初步了解C语言源程序的特点。实训内容1.熟悉Dev-C++的启动以及工作环境。2.在Dev-C++环境中运行C语言源程序。趣味实例实训过程voidmenu(){system("cls");//清屏
printf("\n\n\n");
printf("\t\t\t*******************************\n");
printf("\t\t\t
\n");
printf("\t\t\t学生成绩管理系统\n");
printf("\t\t\t
\n");
printf("\t\t\t
[1]查看所有学生信息\n");
printf("\t\t\t
[2]输入学生记录\n");
printf("\t\t\t
[3]删除学生记录\n");
printf("\t\t\t
[4]修改学生记录\n");
printf("\t\t\t
[5]查询学生成绩(学号)
\n");
printf("\t\t\t
[6]查询学生成绩(姓名)
\n");
printf("\t\t\t
[7]查看成绩排序(学号)
\n");
printf("\t\t\t
[0]退出\n");
printf("\t\t\t
\n");}}1.安装并启动Dev-C++。2.输入下面程序段。#include<stdio.h>#include<stdlib.h>voidmenu();main(){charc1,c2;printf("\n\n\n按回车键返回主菜单...");scanf("%c%c",&c1,&c2);//第一个字符接收上一行的回车键menu();}本章小结程序的基石—基本数据类型及表达式C语言程序设计第二章本章目录01.基本数据类型和标识符02.常量03.变量04.运算符和表达式05.常用的数学函数06.趣味实例2.1基本数据类型和标识符程序世界的砖瓦与命名规则C语言的基本数据类型在现实生活中会遇到不同类型的数据,有整数、实数、单个字符和字符串等。C语言把这些数据类型定义为整型、浮点型、字符型和字符串型等,例如123、7.56、1.35e6、'a'、"工匠精神"分别属于不同的数据类型,其中,123是整型常量,7.56和1.35e6是浮点型常量,'a'是字符常量,"工匠精神"是字符串常量。C语言的基本数据类型见下表:标识符类型名称占用字节数表示范围short短整型2int或
long长整型4char字符型10~
255float浮点型(实型)4double双精度浮点型8说明:
C语言的基本数据类型标识符什么是标识符?所谓标识符,指的是编程人员在编写程序时自己规定的具有特定含义的词,用来标明设定的变量名、数组名、函数名等。简单来说,就是我们给程序中的各种元素起的“名字”。必须遵守的命名规则只能由字母、数字和下划线组成,且第一个字符必须是字母或下划线。严格区分英文字母大小写,例如score和Score是两个不同的标识符。不能使用C语言的关键字作为标识符。标识符示例与命名规范合法标识符示例student_name(见名知意,使用下划线)age(简单明了,单个单词)_score(以下划线开头,常用于私有变量)PI(全大写字母,通常表示常量)非法标识符示例123abc(以数字开头,规则不允许)myname(包含空格,属于非法字符)float(使用了编程语言的关键字)stu-name(包含非法字符'-'减号)推荐命名规范见名知义拒绝使用无意义的x,y。例如用user_id代替a,使代码更具可读性。规避易混淆字符不单独使用字母“l”(小写L)和“o”(小写O)作为标识符,防止与数字“1”和“0”混淆。长度合规性
C语言标识符无理论长度限制,但受编译器/系统实际限制(如早期编译器仅识别前8个字符),命名时需兼顾长度适中与编译器兼容性。实例体验例2-1在Dev-C++中使用sizeof体验不同数据类型的字长#include<stdio.h>main(){printf("%d\n",sizeof(short));printf("%d\n",sizeof(int));printf("%d\n",sizeof(long));printf("%d\n",sizeof(char));printf("%d\n",sizeof(float));printf("%d\n",sizeof(double));}代码解析与说明该程序通过sizeof运算符获取short、int等6种C语言基本数据类型的内存字节数,经printf输出,直观地展示不同类型的内存占用情况,结果随系统位数略有差异。2.2常量程序运行中值不能改变的量常量常量是指在程序运行过程中其值保持不变的量,分为直接常量和符号常量。直接常量包括整型常量、实型常量、字符常量和字符串常量。例如:整型常量:15、-8、0。实型常量:3.7、-8.2、58.12E-2。字符常量:'a'、'A'、'+'、'5'。字符串常量:"thisisaboy."、"a"、"123"。符号常量定义与格式定义:用标识符代表常量,一般用大小字母表示。格式:#define标识符常量示例:#definePI3.14159主要优点一改全改修改#define处的值,程序中所有引用自动更新。代码实战示例#definePRICE50#include<stdio.h>main(){intnum,total;num=10;total=num*PRICE;printf("total=%d\n",total);}例2-2:运用符号常量表示某商品的单价,编程计算10个该商品的总价。整型常量十进制整数由数字0-9组成,不能以0开头(数字0本身除外)。示例:123,-45,0八进制整数以数字0开头,由数字0-7组成。示例:0123(83),045(37)十六进制整数以0x或0X开头,由数字0-9和字母a-f组成。示例:0x1A(26),0XFF(255)长整型整数long型,十进制,以字母l或L结尾。示例:0L,12345L注意事项:任何类型的数据在计算机中都是以二进制补码形式存储的。正数的补码和该数的原码(该数的二进制形式)相同,负数的补码是将该数的绝对值的二进制形式按位取反再加1,即原码的反码加1得到。实型常量十进制形式由数字和小数点组成,小数点前后至少有一边有数字。
示例:3.14,-0.55.(等价于5.0).6(等价于0.6)指数形式(科学记数法)格式:尾数e/E指数(表示尾数×10^指数)示例:1.23e4(即12300)3.6E-2(即0.036)注意事项:字母e或E前后必须有数字,且指数部分必须是整数。字符型常量与字符串常量字符常量定义:单引号括起的单个字符,如'a','5','#'转义字符:以反斜杠开头,如\n(换行),\t(制表),\\(反斜杠)字符串常量定义:双引号括起的字符序列,如"Hello","Clanguage"特性:末尾自动添加结束符\01)字符由单引号括起来,字符串由双引号括起来。2)字符只能是单个字符,字符串则可以含一个或多个字符。3)可以把一个字符赋予一个字符型变量,但不能把一个字符串赋予一个字符型变量。4)字符占一个字节的内存空间。二者的区别:转义字符一种特殊形式的字符型常量,就是以一个字符“\”开头的字符序列,如\n(换行),\t(制表),\\(反斜杠)。转义字符具有特定的含义,不同于字符原有的意义,故称转义字符。转义字符主要用来表示那些用一般字符不便于表示的控制代码。常用的转义字符及其含义见右表。转义字符转义字符的含义+ASCII代码\n回车换行10\t横向跳到下一制表位置9\b退格8\r回车13\f走纸换页12\\反斜线符“\”92\'单引号符39\"双引号符34\a鸣铃7\ddd1~3位八进制数所代表的字符
\xhh1~2位十六进制数所代表的字符实例体验#include<stdio.h>main(){putchar('c');putchar('h');putchar('a');putchar('r');putchar('\n');putchar('i');putchar('n');putchar('t');}例2-3符号常量的使用#definePI3.14//定义符号常量PI#include<stdio.h>main(){floatarea,len,r;printf("请输入半径的值:");scanf("%f",&r);area=PI*r*r;len=2*PI*r;printf("半径R=%f,面积S=%f,周长L=%f\n",r,area,len);}例2-4单个字符常量的输出实例体验例2-5转义字符的使用#include<stdio.h>main(){inta,b,c;a=5;b=6;c=7;printf("abc\tde\rf\n");printf("hijk\tL\bM\n");}2.3变量程序运行中值可以改变的量变量的定义与初始化定义格式与示例格式:类型说明符变量表;inta,b,c;//定义三个整型变量floatx;//定义一个实型变量charch;//定义一个字符型变量变量的定义需要注意以下几点:1)每个变量定义语句都必须以分号结尾。2)每一个变量一经定义,就有一种确定的类型,在编译时就能为其分配相应的存储单元。3)每一个变量都有一个名字,在内存中占据一定的存储单元。变量的定义与初始化先定义后初始化先定义变量,然后再进行赋值或是等到需要赋值的时候再赋值。inta,b,c;a=3;b=c=5;注意:1)变量的初始化实际上是一个赋值语句。2)在定义变量的时候,可以只给部分变量赋值。3)
如果同时对几个变量赋相同的初值,应该注意书写格式。在定义变量时,不能给多个变量用连续赋值的方法赋相同的值,如在上面的例子中,不能改写成“inta,b=c=5;”,但可以改写成“inta,b=5,c=5;”。定义初始化定义变量的同时赋值。inta=3;intb.c=5;整型变量类型分类1)基本整型,用int表示。2)短整型,用shortint表示,或用short表示。3)长整型,用longint表示,或用long表示。以上3类数据都可以加上修饰符unsigned,来指定是“无符号数”。如果加上修饰符signed,则指定是“有符号数”。如果既不指定为signed,也不指定为unsigned,则隐含为有符号的(signed)。存储形式数据在内存中是以二进制形式存放的,如果定义了一个初始值为10的短整型变量i,shortinti=10;它以下面的形式存放在内存中:0000000000001010实型变量类型分类float(单精度):占用4字节,只能提供7位有效数字。double(双精度):占用8字节,可提供16位有效数字。floatprice=9.9f;//建议加f后缀doublepi=3.1415926;存放形式按指数形式存储,系统把一个实型数据分为小数部分和指数部分分别存放。实数3.14159在内存中的存放形式如下:小贴士
小数部分占的位(bit)
数越多,数的有效数字越多,精度越高。指数部分占的位数越多,则能表示的数值范围越大。注意:1)两个实型数据之间不能进行相等比较。2)实数范围内,应当避免将一个很大的数和一个很小的数直接相加或相减,否则可能表达不准确,“丢失”小的数。因为数据位数超出有效数字个数时,超出部分将舍弃,因此会产生一定的误差。字符型变量定义与赋值示例字符型变量本质存储的是ASCII码值。可以直接赋值字符或对应的整数。charch1='a';//存储字符'a'的ASCII码值97charch2=98;//等价于ch2='b'charch3='\n';//存储换行符的ASCII码值10存储形式字符x的ASCII码值是120(十进制表示),y的ASCII码值是121。将字符型变量'x'和'y'赋值给a、b,即“a='x';b='y';”,那么它们在内存中的存储形式为:实例体验#include<stdio.h>main(){shortinta,b;a=32767;b=a+1;printf("%d,%d\n",a,b);}例2-6变量的定义与使用#include<stdio.h>main(){inta=12,b=-24,u;/*定义整型变量a,b,u*/floatd=2.34;/*定义浮点型变量d*/charc='A';/*定义字符型变量c*/u=a+b;/*给变量u赋值*/printf("%d,%c,%f\n",u,c+32,d+3.5);}例2-7整型数据的溢出实例体验#include<stdio.h>main(){chara,b;a='a';b='b';a=a-32;b=b-32;printf("%c,%c\n",a,b);}例2-8实数的四舍五入#include<stdio.h>main(){floata,b;a=123456.789e5;b=a+20;printf("a=%f\n",a);printf("b=%f\n",b);}例2-9大小写字母的转换2.4运算符和表达式程序的运算与逻辑的核心算术运算符注意运算符的优先级共分为15级。1级最高,15级最低;算术运算符两边均为整数时,运算结果仍为整数;若参与运算的两个数中有一个为实数,则结果为double型;若参与运算的运算符优先级相同,则按照规定的结合方向处理。强制类型转换符可以利用强制类型转换符将表达式的运算结果转换成所需类型。一般形式
:
(类型说明符)(表达式)(float)a;//把a转换为实型(int)(x+y);//把x+y的结果转换为整型赋值运算符和赋值表达式简单赋值“=”将赋值号右边表达式的值赋给左边的变量。a=10;b=a+5;复合赋值运算符结合赋值与算术运算,简化代码书写。a+=5;等价于a=a+5;x*=y+7;等价于x=x*(y+7);r%=p;等价于r=r%p;如果赋值运算符两边的数据类型不相同,系统将自动进行类型转换,即把赋值号右边的类型换成左边的类型。具体规定如下:1)实型赋予整型,舍去小数部分。2)整型赋予实型,数值不变,但将以浮点形式存放。3)字符型赋予整型,由于字符型为一个字节,而整型为两个字节,故将字符的ASCII码值放到整型量的低8位中,高8位为0。4)整型赋予字符型,只把低8位赋予字符型变量。小贴士自增自减运算符及表达式自增运算(i++/i++)其功能是使变量的值增加1。++i;//i增加1后再参与其他运算i++;//i参与运算后再增加1自减运算(--i/i--)--i;//i减少1后再参与其他运算i--;//i参与运算后再减少1其功能是使变量的值减少1。逗号运算符及表达式C语言中逗号“,”也是一种运算符,称为逗号运算符。其功能是把两个表达式连接起来组成一个表达式,称为逗号表达式,如“3+5,6+8”是一个逗号表达式。一般形式:
表达式1,表达式2其求值过程是分别求两个表达式的值,并以“表达式2”的值作为整个逗号表达式的值。例如
上面的逗号表达式“3+5,6+8”的值为14。除了上述几个运算符和表达式外,还有逻辑运算符、关系运算符以及相应的逻辑表达式和关系表达式,这些内容将在第4章介绍。实例体验#include<stdio.h>main(){floatx;inti;x=3.6;i=(int)x;printf("x=%f,i=%d\n",x,i);}例2-10算术运算符的计算#include<stdio.h>main(){intx,y;x=7;y=3;printf("x+y=%d,x-y=%d\n",x+y,x-y);printf("x*y=%d,x/y=%d\n",x*y,x/y);printf("x%y=%d\n",x%y);}例2-11强制类型转换实例体验#include<stdio.h>main(){inta,c,b=322;floatx,y=8.88;charc1='k',c2;a=y;x=b;c=c1;c2=b;printf("a=%d,x=%f,c=%d,c2=%c\n",a,x,c,c2);}例2-12赋值运算符的使用#include<stdio.h>main(){floatk,x,y;x=(k=9.8)+7;printf("k=%f,x=%f\n",k,x);y=k=9.8+7;printf("k=%f,y=%f\n",k,y);}例2-13赋值运算中的类型转换实例体验#include<stdio.h>main(){ inta=2,b=4,c=6,x,y;x=a+b,y=b+c;printf("y=%d,x=%d",y,x);}例2-14自增/自减运算符和表达式#include<stdio.h>main(){inti=8;printf("%d\n",++i);printf("%d\n",--i);printf("%d\n",i++);printf("%d\n",i--);printf("%d\n",-i++);printf("%d\n",-i--);}例2-15逗号表达式的使用2.5常用的数学函数利用库函数简化数学运算常用数学函数(一)使用前请包含头文件:#include<math.h>函数原型功能说明调用示例fabs(x)计算x的绝对值,x为实型数据fabs(-3.5)→3.5sqrt(x)计算x的平方根(x≥0)sqrt(16)→4.0pow(x,y)计算x的y次方pow(2,3)→8.0exp(x)计算自然指数e的x次方exp(1)→2.71828...log(x)计算x的对数,以e为底(x>0)log(2.71828)→1.0log10(x)计算x的对数,以10为底(x>0)log10(100)→2.0常用数学函数(二)函数原型功能说明示例sin(x)计算x的正弦值(x为弧度)sin(π/2)→1.0cos(x)计算x的余弦值(x为弧度)cos(0)→1.0tan(x)计算x的正切值(x为弧度)tan(0)→0.0abs(x)计算int型整数x的绝对值abs(-5)→5rand()产生0~32767范围内的随机整数注意:三角函数参数为弧度值。如需计算角度,请先转换(弧度=角度×π/180)。实例体验#include<stdio.h>#include<math.h>#definePI3.14main(){floatk;//
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年秋季中国居民膳食宝塔解读
- 2026新学期高二年级德育工作汇报课件:心理健康教育与德育融合
- 2026年秋季高中生灾害应急处置能力提升课件
- 疼痛患者的护理
- 盆腔炎指南课件
- 2026年职业规划顾问(职业发展建议)试题及答案
- 生产班次统筹调配管理方案
- 2026初中语文名著阅读专题26 第二章 尼摩船长的新提议-《海底两万里》
- 二年级美术沪教版新课预习第一单元同步测试卷基础版A卷
- 2026年老年助浴员(温度控制技巧)试题及答案
- 总包单位对分包单位的管理制度
- 可燃液体蒸气爆炸事故应急处置方案
- 第2课时配方法(课件)2026-2027学年人教版数学九年级上册
- 地坪裂缝修补方案设计
- (2025年)“工人阶级重要论述”及“工会十八大精神”知识竞赛试题附答案
- 2026年社保经办服务规范题库
- 医药代表商务礼仪培训课程
- 严明战时纪律工作方案
- 2025年中泰以证券笔试题库及答案
- 无脉电活动护理课件
- 有限空间作业安全技术规范DB11-T 852-2019
评论
0/150
提交评论