重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
复制
公司主营业务:网站制作、成都做网站、移动网站开发等业务。帮助企业客户真正实现互联网宣传,提高企业的竞争能力。创新互联建站是一支青春激扬、勤奋敬业、活力青春激扬、勤奋敬业、活力澎湃、和谐高效的团队。公司秉承以“开放、自由、严谨、自律”为核心的企业文化,感谢他们对我们的高要求,感谢他们从不同领域给我们带来的挑战,让我们激情的团队有机会用头脑与智慧不断的给客户带来惊喜。创新互联建站推出建安免费做网站回馈大家。
#include
"stdio.h"
{char
s1[]="abcde",s2[]="scasasa";
strcpy(s1,s2);
如果s2长度大于s1则会覆盖掉
如果小于的话只是将s2的\0放在s1中\0的前面罢了,而后面处理字符串的函数是遇到\0就收手
函数名:
strncpy
功
能:
串拷贝
用
法:
char
*strncpy(char
*destin,
char
*source,
int
maxlen);
程序例:
#include
#include
int
main(void)
{
char
string[10];
char
*str1
=
"abcdefghi";
strncpy(string,
str1,
3);
string[3]
=
'\0';
printf("%s\n",
string);
return
0;
}
函数名:
remove
功
能:
删除一个文件
用
法:
int
remove(char
*filename);
程序例:
#include
int
main(void)
{
char
file[80];
/*
prompt
for
file
name
to
delete
*/
printf("file
to
delete:
");
gets(file);
/*
delete
the
file
*/
if
(remove(file)
==
0)
printf("removed
%s.\n",file);
else
perror("remove");
return
0;
}
函数名:
rename
功
能:
重命名文件
用
法:
int
rename(char
*oldname,
char
*newname);
程序例:
#include
int
main(void)
{
char
oldname[80],
newname[80];
/*
prompt
for
file
to
rename
and
new
name
*/
printf("file
to
rename:
");
gets(oldname);
printf("new
name:
");
gets(newname);
/*
rename
the
file
*/
if
(rename(oldname,
newname)
==
0)
printf("renamed
%s
to
%s.\n",
oldname,
newname);
else
perror("rename");
return
0;
}
2.long labs(long n); 求长整型数的绝对值。
3.double fabs(double x); 求实数的绝对值。
4.double floor(double x); 求不大于x的最大整数,它相当于数学函数[x]。
5.double ceil(double x); 求不小于x的最小整数。
6.double sqrt(double x); 求x的平方根。
7.double log10(double x); 求x的常用对数。
8.double log(double x); 求x的自然对数。
9.double exp(double x); 求欧拉常数e的x次方。
10.double pow10(int p); 求10的p次方。
11.double pow(double x, double y); 求x的y次方。
12.double sin(double x); 正弦函数。
13.double cos(double x); 余弦函数。
14.double tan(double x); 正切函数。
15.double asin(double x); 反正弦函数。
16.double acos(double x); 反余弦函数。
17.double atan(double x); 反正切函数。
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求平方根数学函数
扩展资料
语言组成:
1、数据类型
C的数据类型包括:整型、字符型、实型或浮点型(单精度和双精度)、枚举类型、数组类型、结构体类型、共用体类型、指针类型和空类型。
2、常量与变量
常量其值不可改变,符号常量名通常用大写。
变量是以某标识符为名字,其值可以改变的量。标识符是以字母或下划线开头的一串由字母、数字或下划线构成的序列,请注意第一个字符必须为字母或下划线,否则为不合法的变量名。变量在编译时为其分配相应存储单元。
3、数组
如果一个变量名后面跟着一个有数字的中括号,这个声明就是数组声明。字符串也是一种数组。它们以ASCII的NULL作为数组的结束。要特别注意的是,方括内的索引值是从0算起的。
4、指针
如果一个变量声明时在前面使用 * 号,表明这是个指针型变量。换句话说,该变量存储一个地址,而 *(此处特指单目运算符 * ,下同。C语言中另有 双目运算符 *) 则是取内容操作符,意思是取这个内存地址里存储的内容。指针是 C 语言区别于其他同时代高级语言的主要特征之一。
参考资料来源:百度百科-函数
函数名: abort
功 能: 异常终止一个进程
用 法: void abort(void);
程序例:
#include stdio.h
#include stdlib.h
int main(void)
{
printf("Calling abort()\n");
abort();
return 0; /* This is never reached */
}
函数名: abs
功 能: 求整数的绝对值
用 法: int abs(int i);
程序例:
#include stdio.h
#include math.h
int main(void)
{
int number = -1234;
printf("number: %d absolute value: %d\n", number, abs(number));
return 0;
}
函数名: absread, abswirte
功 能: 绝对磁盘扇区读、写数据
用 法: int absread(int drive, int nsects, int sectno, void *buffer);
int abswrite(int drive, int nsects, in tsectno, void *buffer);
程序例:
/* absread example */
#include stdio.h
#include conio.h
#include process.h
#include dos.h
int main(void)
{
int i, strt, ch_out, sector;
char buf[512];
printf("Insert a diskette into drive A and press any key\n");
getch();
sector = 0;
if (absread(0, 1, sector, buf) != 0)
{
perror("Disk problem");
exit(1);
}
printf("Read OK\n");
strt = 3;
for (i=0; i80; i++)
{
ch_out = buf[strt+i];
putchar(ch_out);
}
printf("\n");
return(0);
}
函数名: access
功 能: 确定文件的访问权限
用 法: int access(const char *filename, int amode);
程序例:
#include stdio.h
#include io.h
int file_exists(char *filename);
int main(void)
{
printf("Does NOTEXIST.FIL exist: %s\n",
file_exists("NOTEXISTS.FIL") ? "YES" : "NO");
return 0;
}
int file_exists(char *filename)
{
return (access(filename, 0) == 0);
}
函数名: acos
功 能: 反余弦函数
用 法: double acos(double x);
程序例:
#include stdio.h
#include math.h
int main(void)
{
double result;
double x = 0.5;
result = acos(x);
printf("The arc cosine of %lf is %lf\n", x, result);
return 0;
}
函数名: allocmem
功 能: 分配DOS存储段
用 法: int allocmem(unsigned size, unsigned *seg);
程序例:
#include dos.h
#include alloc.h
#include stdio.h
int main(void)
{
unsigned int size, segp;
int stat;
size = 64; /* (64 x 16) = 1024 bytes */
stat = allocmem(size, segp);
if (stat == -1)
printf("Allocated memory at segment: %x\n", segp);
else
printf("Failed: maximum number of paragraphs available is %u\n",
stat);
return 0;
}
函数名: arc
功 能: 画一弧线
用 法: void far arc(int x, int y, int stangle, int endangle, int radius);
程序例:
#include graphics.h
#include stdlib.h
#include stdio.h
#include conio.h
int main(void)
{
/* request auto detection */
int gdriver = DETECT, gmode, errorcode;
int midx, midy;
int stangle = 45, endangle = 135;
int radius = 100;
/* initialize graphics and local variables */
initgraph(gdriver, gmode, "");
/* read result of initialization */
errorcode = graphresult(); /* an error occurred */
if (errorcode != grOk)
{
printf("Graphics error: %s\n", grapherrormsg(errorcode));
printf("Press any key to halt:");
getch();
exit(1); /* terminate with an error code */
}
midx = getmaxx() / 2;
midy = getmaxy() / 2;
setcolor(getmaxcolor());
/* draw arc */
arc(midx, midy, stangle, endangle, radius);
/* clean up */
getch();
closegraph();
return 0;
}
函数名: asctime
功 能: 转换日期和时间为ASCII码
用 法: char *asctime(const struct tm *tblock);
程序例:
#include stdio.h
#include string.h
#include time.h
int main(void)
{
struct tm t;
char str[80];
/* sample loading of tm structure */
t.tm_sec = 1; /* Seconds */
t.tm_min = 30; /* Minutes */
t.tm_hour = 9; /* Hour */
t.tm_mday = 22; /* Day of the Month */
t.tm_mon = 11; /* Month */
t.tm_year = 56; /* Year - does not include century */
t.tm_wday = 4; /* Day of the week */
t.tm_yday = 0; /* Does not show in asctime */
t.tm_isdst = 0; /* Is Daylight SavTime; does not show in asctime */
/* converts structure to null terminated
string */
strcpy(str, asctime(t));
printf("%s\n", str);
return 0;
}
函数名: asin
功 能: 反正弦函数
用 法: double asin(double x);
程序例:
#include stdio.h
#include math.h
int main(void)
{
double result;
double x = 0.5;
result = asin(x);
printf("The arc sin of %lf is %lf\n", x, result);
return(0);
}
函数名: assert
功 能: 测试一个条件并可能使程序终止
用 法: void assert(int test);
程序例:
#include assert.h
#include stdio.h
#include stdlib.h
struct ITEM {
int key;
int value;
};
/* add item to list, make sure list is not null */
void additem(struct ITEM *itemptr) {
assert(itemptr != NULL);
/* add item to list */
}
int main(void)
{
additem(NULL);
return 0;
}
函数名: atan
功 能: 反正切函数
用 法: double atan(double x);
程序例:
#include stdio.h
#include math.h
int main(void)
{
double result;
double x = 0.5;
result = atan(x);
printf("The arc tangent of %lf is %lf\n", x, result);
return(0);
}
函数名: atan2
功 能: 计算Y/X的反正切值
用 法: double atan2(double y, double x);
程序例:
#include stdio.h
#include math.h
int main(void)
{
double result;
double x = 90.0, y = 45.0;
result = atan2(y, x);
printf("The arc tangent ratio of %lf is %lf\n", (y / x), result);
return 0;
}
函数名: atexit
功 能: 注册终止函数
用 法: int atexit(atexit_t func);
程序例:
#include stdio.h
#include stdlib.h
void exit_fn1(void)
{
printf("Exit function #1 called\n");
}
void exit_fn2(void)
{
printf("Exit function #2 called\n");
}
int main(void)
{
/* post exit function #1 */
atexit(exit_fn1);
/* post exit function #2 */
atexit(exit_fn2);
return 0;
}
函数名: atof
功 能: 把字符串转换成浮点数
用 法: double atof(const char *nptr);
程序例:
#include stdlib.h
#include stdio.h
int main(void)
{
float f;
char *str = "12345.67";
f = atof(str);
printf("string = %s float = %f\n", str, f);
return 0;
}
函数名: atoi
功 能: 把字符串转换成长整型数
用 法: int atoi(const char *nptr);
程序例:
#include stdlib.h
#include stdio.h
int main(void)
{
int n;
char *str = "12345.67";
n = atoi(str);
printf("string = %s integer = %d\n", str, n);
return 0;
}
函数名: atol
功 能: 把字符串转换成长整型数
用 法: long atol(const char *nptr);
程序例:
#include stdlib.h
#include stdio.h
int main(void)
{
long l;
char *str = "98765432";
l = atol(lstr);
printf("string = %s integer = %ld\n", str, l);
return(0);
}
1.i/o函数
(1)scanf函数:
int
scanf(const
char
*format…..);
从标准输入流stdin中按格式format将数据写到参数表中;若操作成功,返回写到参数表中的参数个数,否则返回eof;
注意以下几点:
①scanf函数没有精度控制
如出现:
scanf(“%6.2f”,a);
是绝对错误的
②在以%c格式输入字符数据时,所有输入的均为有效字符
如:
scanf(“%c%c%c”,a,b,c);
输入:d
e
f
则a=’d’,b为空格字符'
',c=’d’
如果以%s读入字符串,则空格键和回车键都可以作为输入结束的标志
如:
scanf(“%s%s”,p,q);---------p,q均为指针
输入:hello
world与
hello
world
效果是相同的,p均指向hello这个字符串,q均指向world这个字符串
③如果在格式控制字符串中有非格式字符,则输入时要照原样入;
如:
scanf(“%d,%d,%d,”,,b,c);
则输入时必须加上逗号:5,6,7
④如果同while配合用的话,则需注意去掉回车键
如有下面一段程序:
while(scanf(“%d”,n)==1n!=0)
{
char
ch;
scanf(“%c”,ch);
printf(“%c\n”,ch);
}
则输出结果是:
2
3
结果表明ch字符是回车键
所以如果要消除影响:
有两种方法:
1)加上getchar();
while(scanf(“%d”,n)==1n!=0)
{
getchar();
char
ch;
scanf(“%c”,ch);
printf(“%c\n”,ch);
}
2)在while中加上%*c
while(scanf(“%d%*c”,n)==1n!=0)即可
2.数学函数
(1)求绝对值
double
fabs(double
);
float
fabsf(float);
long
double
fabsl(long
double);
int
abs(int);
long
int
labs(long
int);
(2)floor函数:返回不大于参数的整数
float
floor(float);
double
floor(double);
(3)ceil函数:返回不小于参数的整数
float
ceil(float);
double
floor(double);
(4)pow:返回x^y;
double
pow(double
x,double
y);
(5)sqrt:返回x的开方
double
sqrt(double
x);
(6)log2,log10:返回底数的自然对数值
double
log2(double
x);
double
log10(double
x);
3.字符串处理函数
(1)char
*strchr(const
char
*str,int
ch);
返回str中第一次出现字符ch的位置指针,否则返回null;
(2)char
*strstr(const
char
*str1,const
char
*str2);
返回str1中第一次出现str2的位置指针,否则返回null;
(3)int
stricmp(const
char
*str1,const
char
*str2);
忽略字符的大小写进行比较
(4)int
strncmp(const
char
*str1,const
char
*str2,int
count);
将str1前n个字符与str2的前n个字符进行比较
(5)char
*strncpy(char
*str1,const
char
*str2,int
count);
将str2的前n个字符复制到str1中
(6)char
*strrev(char
*str);
将字符串str逆序,并返回逆置后的结果
4.常用使用函数
(1)double
atof(const
char
*str);
将字符串str表示的数转换成浮点数
(2)int
atoi(const
char
*str);
将字符串str表示的数转换成整数
(3)void
qsort(void
*buf,int
count,int
size,cmp);————count为所需要进行排序的元素个数,size为每个元素所占用的空间
快速排序