函数 笔记
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
函数笔记
一概念:具有一定功能,又相对独立的很多程序代码的集合。
二使用函数的好处:
1)大大减少编写程序的工作量,增加软件的开发效率
2)便于程序的修改,维护。
三分类:
1 按照函数的来源不同,分为系统函数和用户函数(自定义函数)
系统函数:C语言本身提供的函数
系统函数在函数库文件当中定义的,例如:stdio.h 标准的输入和输出函数库string.h 字符串函数库stdlib.h 标准库函数库math.h 数学函数库
如果使用系统函数,要将函数库文件用include 包含到当前的C程序文件中
例如:
#include
#include
#include
2 字符串函数,函数库为string.h
求字符串长度strlen(数组名) 返回值:int类型
char s[20]=”hello”;
int len;
len=strlen(s);
长度不包含字符串的结束标注‘\0’空字符
字符串复制:
strcpy(s1,s2) 将字符串s2复制到s1当中,如果s1中原来有数据,则该数据被覆盖,s1,s2为两个字符数组名称
注意:一定要保证字符数组s1,能够放得下复制之后的字符串s2
main()
{
char s1[30],s2[30];
printf("请输入s1字符串:");
gets(s1);
strcpy (s2,s1);
printf("复制后s2字符串为:%s\n",s2);
}
字符串连接:
strcat(s1,s2) 将字符数组s2中的字符串连接到字符数组s1的已经存储的字符串的后面,组成一个新的字符串。
注意:目标数组s1,要能够容纳下连接后的新的字符串。
main()
{
char s1[10],s2[10]="very";
printf("请输入第一个字符串:");
gets(s1);
printf("请输入第二个字符串:");
gets(s2);
strcat(s2,s1);
printf("连接后的字符串:%s\n",s2);
}
字符串的比较:
int strcmp(s1,s2): 返回值int类型
比较字符串s1,s2
如果返回值为1,那么s1大于s2
如果返回值为0,那么s1等于s2
如果返回值为-1,那么s1小于s2
字符串的大小写转换:
将字符串转换成大写:strupr(s) s为字符数组名称
将字符串转换成小写:strlwr(s) s为字符数组名称
main()
{
char s1[20],s2[20];
int n;
printf("请输入第一个字符串:");
gets(s1);
printf("请输入第二个字符串:");
gets(s2);
n=strcmp(s1,s2);
if(n==1)
{
printf("%s>%s\n",s1,s2);
}
else if(n==0)
{
printf("%s==%s\n",s1,s2);
}
else
printf("%s<%s\n",s1,s2);
//大小写转换
strupr(s1);
strlwr(s2);
printf("大写字符串为s1=%s 小写s2=%s\n",s1,s2);
}
stdio.h中常用的系统函数
printf,scanf
gets(s) :输入字符串
puts(s) 输出字符串
输入字符:
char ch;
ch=getchar(); 从键盘输入一个字符,如果输入的是多个字符,只能获取第一个字符
main()
{
char ch;
printf("请输入一个字符:");
ch=getchar();
//printf("你输入的字符是%c\n",ch);
printf("你输入的字符是:");
putchar(ch);
putchar('\n');
}
输出字符:
putchar(字符变量、字符常量或者是字符ASCII码)
数学函数库math.h
double pow(double x,double y) 求x的y次幂
double sqrt(double x) 求x的算术平方根
#include
main()
{
int i;
double sum1=0,sum2=0;
for(i=1;i<=10;i++)
{
sum1+=sqrt(i);
sum2+=pow(i,3);
}
printf("立方和: %.2f\n" , sum2);
printf("算术平方根和: %.2f\n" , sum1);
}
double fabs(double x) 求x的绝对值
double floor(double x) 求小于或等于x的最大的整数
double ceil(double x) 求大于或等于x的最小的整数
main()
{
double x=3.26,y=1.23,z=6.78;
printf("%.0f\n",floor(x));
printf("%.0f\n",ceil(x));
printf("最大值:%.2f\n",max(max(x,y),z) );
}
double sin(double x) 求弧度角x的正弦值
double cos(double x) 求弧度角x的余弦值
double tan(double x) 求弧度角x的正切值
标准库函数库stdlib.h
double max(double x,double y) 求x,y中较大的值
double min(double x,double y) 求x,y中较小的值
int rand(); 产生一个大于或等于0的随机整数
void srand(unsigned int ) 设置随机数的种子数
main()
{
int num,i;
//存储最终的不重复的随机数,rd=rand表示一个产生大于或
等于0的随机整数
int rd[3];
//产生不重复的随机数的数量
int count=0,j;
//srand设置随机数的种子数,使用从1970年1月1日到当
前的所经过的秒数
srand((unsigned)time(0));
printf("随机整数:");
while(1)
{
num=rand()%10;
//查找num是否在rd数组中已经存在
for(j=0;j