C语言函数 --C

函数名: cabs

功 能: 计算复数的绝对值

用 法: double cabs(struct complex z);

程序例:

#include <stdio.h>
#include <math.h>
int main(void)
{
   struct complex z;
   double val;
   z.x = 2.0;
   z.y = 1.0;
   val = cabs(z);
   printf("The absolute value of %.2lfi %.2lfj is %.2lf", z.x, z.y, val);
   return 0;
}

函数名: calloc

功 能: 分配主存储器

用 法: void *calloc(size_t nelem, size_t elsize);

程序例:

#include <stdio.h>
#include <alloc.h>
int main(void)
{
   char *str = NULL;
   /* allocate memory for string */
   str = calloc(10, sizeof(char));
   /* copy "Hello" into string */
   strcpy(str, "Hello");
   /* display string */
   printf("String is %s\n", str);
   /* free memory */
   free(str);
   return 0;
}

函数名: ceil

功 能: 向上舍入

用 法: double ceil(double x);

程序例:

#include <math.h>
#include <stdio.h>
int main(void)
{
   double number = 123.54;
   double down, up;
   down = floor(number);
   up = ceil(number);
   printf("original number     %5.2lf\n", number);
   printf("number rounded down %5.2lf\n", down);
   printf("number rounded up   %5.2lf\n", up);
   return 0;
}

函数名: cgets

功 能: 从控制台读字符串

用 法: char *cgets(char *str);

程序例:

#include <stdio.h>
#include <conio.h>
int main(void)
{
   char buffer[83];
   char *p;
   /* There‘s space for 80 characters plus the NULL terminator */
   buffer[0] = 81;
   printf("Input some chars:");
   p = cgets(buffer);
   printf("\ncgets read %d characters: \"%s\"\n", buffer[1], p);
   printf("The returned pointer is %p, buffer[0] is at %p\n", p, &buffer);
   /* Leave room for 5 characters plus the NULL terminator */
   buffer[0] = 6;
   printf("Input some chars:");
   p = cgets(buffer);
   printf("\ncgets read %d characters: \"%s\"\n", buffer[1], p);
   printf("The returned pointer is %p, buffer[0] is at %p\n", p, &buffer);
   return 0;
}

函数名: chdir

功 能: 改变工作目录

用 法: int chdir(const char *path);

程序例:

#include <stdio.h>
#include <stdlib.h>
#include <dir.h>
char old_dir[MAXDIR];
char new_dir[MAXDIR];
int main(void)
{
   if (getcurdir(0, old_dir))
   {
      perror("getcurdir()");
      exit(1);
   }
   printf("Current directory is: \\%s\n", old_dir);
   if (chdir("\\"))
   {
      perror("chdir()");
      exit(1);
   }
   if (getcurdir(0, new_dir))
   {
      perror("getcurdir()");
      exit(1);
   }
   printf("Current directory is now: \\%s\n", new_dir);
   printf("\nChanging back to orignal directory: \\%s\n", old_dir);
   if (chdir(old_dir))
   {
      perror("chdir()");
      exit(1);
   }
   return 0;
}

函数名: _chmod, chmod

功 能: 改变文件的访问方式

用 法: int chmod(const char *filename, int permiss);

程序例:

#include <sys\stat.h>
#include <stdio.h>
#include <io.h>
void make_read_only(char *filename);
int main(void)
{
   make_read_only("NOTEXIST.FIL");
   make_read_only("MYFILE.FIL");
   return 0;
}
void make_read_only(char *filename)
{
   int stat;
   stat = chmod(filename, S_IREAD);
   if (stat)
      printf("Couldn‘t make %s read-only\n", filename);
   else
      printf("Made %s read-only\n", filename);
}

函数名: chsize

功 能: 改变文件大小

用 法: int chsize(int handle, long size);

程序例:

#include <string.h>
#include <fcntl.h>
#include <io.h>
int main(void)
{
   int handle;
   char buf[11] = "0123456789";
   /* create text file containing 10 bytes */
   handle = open("DUMMY.FIL", O_CREAT);
   write(handle, buf, strlen(buf));
   /* truncate the file to 5 bytes in size */
   chsize(handle, 5);
   /* close the file */
   close(handle);
   return 0;
}

函数名: circle

功 能: 在给定半径以(x, y)为圆心画圆

用 法: void far circle(int x, int y, 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 radius = 100;
   /* initialize graphics and local variables */
   initgraph(&gdriver, &gmode, "");
   /* read result of initialization */
   errorcode = graphresult();
   if (errorcode != grOk)  /* an error occurred */
   {
      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 the circle */
   circle(midx, midy, radius);
   /* clean up */
   getch();
   closegraph();
   return 0;
}

函数名: cleardevice

功 能: 清除图形屏幕

用 法: void far cleardevice(void);

程序例:

#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;
   /* initialize graphics and local variables */
   initgraph(&gdriver, &gmode, "");
   /* read result of initialization */
   errorcode = graphresult();
   if (errorcode != grOk)  /* an error occurred */
   {
      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());
   /* for centering screen messages */
   settextjustify(CENTER_TEXT, CENTER_TEXT);
   /* output a message to the screen */
   outtextxy(midx, midy, "press any key to clear the screen:");
   /* wait for a key */
   getch();
   /* clear the screen */
   cleardevice();
   /* output another message */
   outtextxy(midx, midy, "press any key to quit:");
   /* clean up */
   getch();
   closegraph();
   return 0;
}

函数名: clearerr

功 能: 复位错误标志

用 法:void clearerr(FILE *stream);

程序例:

#include <stdio.h>
int main(void)
{
   FILE *fp;
   char ch;
   /* open a file for writing */
   fp = fopen("DUMMY.FIL", "w");
   /* force an error condition by attempting to read */
   ch = fgetc(fp);
   printf("%c\n",ch);
   if (ferror(fp))
   {
      /* display an error message */
      printf("Error reading from DUMMY.FIL\n");
      /* reset the error and EOF indicators */
      clearerr(fp);
   }
   fclose(fp);
   return 0;
}

函数名: clearviewport

功 能: 清除图形视区

用 法: void far clearviewport(void);

程序例:

#include <graphics.h>
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
#define CLIP_ON 1   /* activates clipping in viewport */
int main(void)
{
   /* request auto detection */
   int gdriver = DETECT, gmode, errorcode;
   int ht;
   /* initialize graphics and local variables */
   initgraph(&gdriver, &gmode, "");
   /* read result of initialization */
   errorcode = graphresult();
   if (errorcode != grOk)  /* an error occurred */
   {
      printf("Graphics error: %s\n", grapherrormsg(errorcode));
      printf("Press any key to halt:");
      getch();
      exit(1); /* terminate with an error code */
   }
   setcolor(getmaxcolor());
   ht = textheight("W");
   /* message in default full-screen viewport */
   outtextxy(0, 0, "* <-- (0, 0) in default viewport");
   /* create a smaller viewport */
   setviewport(50, 50, getmaxx()-50, getmaxy()-50, CLIP_ON);
   /* display some messages */
   outtextxy(0, 0, "* <-- (0, 0) in smaller viewport");
   outtextxy(0, 2*ht, "Press any key to clear viewport:");
   /* wait for a key */
   getch();
   /* clear the viewport */
   clearviewport();
   /* output another message */
   outtextxy(0, 0, "Press any key to quit:");
   /* clean up */
   getch();
   closegraph();
   return 0;
}

函数名: _close, close

功 能: 关闭文件句柄

用 法: int close(int handle);

程序例:

#include <string.h>
#include <stdio.h>
#include <fcntl.h>
#include <io.h>
main()
{
   int handle;
   char buf[11] = "0123456789";
   /* create a file containing 10 bytes */
   handle = open("NEW.FIL", O_CREAT);
   if (handle > -1)
   {
       write(handle, buf, strlen(buf));
       /* close the file */
       close(handle);
   }
   else
   {
       printf("Error opening file\n");
   }
   return 0;
}

函数名: clock

功 能: 确定处理器时间

用 法: clock_t clock(void);

程序例:

#include <time.h>
#include <stdio.h>
#include <dos.h>
int main(void)
{
   clock_t start, end;
   start = clock();
   delay(2000);
   end = clock();
   printf("The time was: %f\n", (end - start) / CLK_TCK);
   return 0;
}

函数名: closegraph

功 能: 关闭图形系统

用 法: void far closegraph(void);

程序例:

#include <graphics.h>
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
int main(void)
{
   /* request auto detection */
   int gdriver = DETECT, gmode, errorcode;
   int x, y;
   /* initialize graphics mode */
   initgraph(&gdriver, &gmode, "");
   /* read result of initialization */
   errorcode = graphresult();
   if (errorcode != grOk)  /* an error
      occurred */
   {
      printf("Graphics error: %s\n", grapherrormsg(errorcode));
      printf("Press any key to halt:");
      getch();
      exit(1); /* terminate with an error code */
   }
   x = getmaxx() / 2;
   y = getmaxy() / 2;
   /* output a message */
   settextjustify(CENTER_TEXT, CENTER_TEXT);
   outtextxy(x, y, "Press a key to close the graphics system:");
   /* wait for a key */
   getch();
   /* closes down the graphics system */
   closegraph();
   printf("We‘re now back in text mode.\n");
   printf("Press any key to halt:");
   getch();
   return 0;
}

函数名: clreol

功 能: 在文本窗口中清除字符到行末

用 法: void clreol(void);

程序例:

#include <conio.h>
int main(void)
{
   clrscr();
   cprintf("The function CLREOL clears all characters from the\r\n");
   cprintf("cursor position to the end of the line within the\r\n");
   cprintf("current text window, without moving the cursor.\r\n");
   cprintf("Press any key to continue . . .");
   gotoxy(14, 4);
   getch();
   clreol();
   getch();
   return 0;
}

函数名: clrscr

功 能: 清除文本模式窗口

用 法: void clrscr(void);

程序例:

#include <conio.h>
int main(void)
{
   int i;
   clrscr();
   for (i = 0; i < 20; i++)
      cprintf("%d\r\n", i);
   cprintf("\r\nPress any key to clear screen");
   getch();
   clrscr();
   cprintf("The screen has been cleared!");
   getch();
   return 0;
}

函数名: coreleft

功 能: 返回未使用内存的大小

用 法: unsigned coreleft(void);

程序例:

#include <stdio.h>
#include <alloc.h>
int main(void)
{
   printf("The difference between the highest allocated block and\n");
   printf("the top of the heap is: %lu bytes\n", (unsigned long) coreleft());
   return 0;
}

函数名: cos

功 能: 余弦函数

用 法: double cos(double x);

程序例:

#include <stdio.h>
#include <math.h>
int main(void)
{
   double result;
   double x = 0.5;
   result = cos(x);
   printf("The cosine of %lf is %lf\n", x, result);
   return 0;
}

函数名: cosh

功 能: 双曲余弦函数

用 法: dluble cosh(double x);

程序例:

#include <stdio.h>
#include <math.h>
int main(void)
{
   double result;
   double x = 0.5;
   result = cosh(x);
   printf("The hyperboic cosine of %lf is %lf\n", x, result);
   return 0;
}

函数名: country

功 能: 返回与国家有关的信息

用 法: struct COUNTRY *country(int countrycode, struct country *country);

程序例:

#include <dos.h>
#include <stdio.h>
#define USA 0
int main(void)
{
   struct COUNTRY country_info;
   country(USA, &country_info);
   printf("The currency symbol for the USA is: %s\n",
           country_info.co_curr);
   return 0;
}

函数名: cprintf

功 能: 送格式化输出至屏幕

用 法: int cprintf(const char *format[, argument, ...]);

程序例:

#include <conio.h>
int main(void)
{
   /* clear the screen */
   clrscr();
   /* create a text window */
   window(10, 10, 80, 25);
   /* output some text in the window */
   cprintf("Hello world\r\n");
   /* wait for a key */
   getch();
   return 0;
}

函数名: cputs

功 能: 写字符到屏幕

用 法: void cputs(const char *string);

程序例:

#include <conio.h>
int main(void)
{
   /* clear the screen */
   clrscr();
   /* create a text window */
   window(10, 10, 80, 25);
   /* output some text in the window */
   cputs("This is within the window\r\n");
   /* wait for a key */
   getch();
   return 0;
}

函数名: _creat creat

功 能: 创建一个新文件或重写一个已存在的文件

用 法: int creat (const char *filename, int permiss);

程序例:

#include <sys\stat.h>
#include <string.h>
#include <fcntl.h>
#include <io.h>
int main(void)
{
   int handle;
   char buf[11] = "0123456789";
   /* change the default file mode from text to binary */
   _fmode = O_BINARY;
   /* create a binary file for reading and writing */
   handle = creat("DUMMY.FIL", S_IREAD | S_IWRITE);
   /* write 10 bytes to the file */
   write(handle, buf, strlen(buf));
   /* close the file */
   close(handle);
   return 0;
}

函数名: creatnew

功 能: 创建一个新文件

用 法: int creatnew(const char *filename, int attrib);

程序例:

#include <string.h>
#include <stdio.h>
#include <errno.h>
#include <dos.h>
#include <io.h>
int main(void)
{
   int handle;
   char buf[11] = "0123456789";
   /* attempt to create a file that doesn‘t already exist */
   handle = creatnew("DUMMY.FIL", 0);
   if (handle == -1)
      printf("DUMMY.FIL already exists.\n");
   else
   {
      printf("DUMMY.FIL successfully created.\n");
      write(handle, buf, strlen(buf));
      close(handle);
   }
   return 0;
}

函数名: creattemp

功 能: 创建一个新文件或重写一个已存在的文件

用 法: int creattemp(const char *filename, int attrib);

程序例:

#include <string.h>
#include <stdio.h>
#include <io.h>
int main(void)
{
   int handle;
   char pathname[128];
   strcpy(pathname, "\\");
   /* create a unique file in the root directory */
   handle = creattemp(pathname, 0);
   printf("%s was the unique file created.\n", pathname);
   close(handle);
   return 0;
}

函数名: cscanf

功 能: 从控制台执行格式化输入

用 法: int cscanf(char *format[,argument, ...]);

程序例:

#include <conio.h>
int main(void)
{
   char string[80];
   /* clear the screen */
   clrscr();
   /* Prompt the user for input */
   cprintf("Enter a string with no spaces:");
   /* read the input */
   cscanf("%s", string);
   /* display what was read */
   cprintf("\r\nThe string entered is: %s", string);
   return 0;
}

函数名: ctime

功 能: 把日期和时间转换为字符串

用 法: char *ctime(const time_t *time);

程序例:

#include <stdio.h>
#include <time.h>
int main(void)
{
   time_t t;
   time(&t);
   printf("Today‘s date and time: %s\n", ctime(&t));
   return 0;
}

函数名: ctrlbrk

功 能: 设置Ctrl-Break处理程序

用 法: void ctrlbrk(*fptr)(void);

程序例:

#include <stdio.h>
#include <dos.h>
#define ABORT 0
int c_break(void)
{
   printf("Control-Break pressed.  Program aborting ...\n");
   return (ABORT);
}
int main(void)
{
   ctrlbrk(c_break);
   for(;;)
   {
      printf("Looping... Press <Ctrl-Break> to quit:\n");
   }
   return 0;
}

书画小说软件 制作更惬意的读、更舒心的写、更轻松的发布

时间: 2024-10-24 20:00:24

C语言函数 --C的相关文章

C#委托与C语言函数指针及函数指针数组

C#委托与C语言函数指针及函数指针数组 在使用C#时总会为委托而感到疑惑,但现在总新温习了一遍C语言后,才真正理解的委托. 其实委托就类似于C/C++里的函数指针,在函数传参时传递的是函数指针,在调用的时候通过指针访问这个函数. 在C语言中函数指针的申明如下: //可以理解为申明一个指着变量 Func ,它的类型是 返回Type(可以为 void )类型的参数,接收 (Type one,Type two,...)类型的//参数(可以不接受参数). Type *Func(Type one,Type

c 语言 函数的整理 百度脑图版本

下面整理一下C语言函数的知识点 :使用百度脑图进行整理,详情请看上传的图片: 版权声明:本文为博主原创文章,未经博主允许不得转载.

汇编1 ----C语言函数1

构造以下C程序并在合适位置插入breakpoints 在Visual Studio 2015 CTP6对其反汇编. 下面来分析 z = add(1, 2); 009C170E 6A 02 push 2 ????int z; ????z = add(1, 2); 009C1710 6A 01 push 1 009C1712 E8 8D FA FF FF call 009C11A4 009C1717 83 C4 08 add esp,8 009C171A 89 45 F8 mov dword ptr

(转)如何编写有多个返回值的C语言函数

1引言    笔者从事C语言教学多年,在教学中学生们常常会问到如何编写具有多个返回值的C语言函数.编写有多个返回值的函数是所有C语言教材里均没有提到的知识点,但在实际教学与应用的过程中我们都有可能会遇到这样的问题.有学生也尝试了不少方法:如把多个需要返回的值作相应的处理后变成一个可以用return语句返回的数据,再在主调函数中拆开返回的数据使之变成几个值:或者把需要返回多个值的一个函数分开几个函数去实现多个值的返回.这些方法虽然最终都能实现返回要求的多个值,但从程序算法的合理性与最优化方面去考虑

Linux汇编GAS调用C语言函数实例

Blum的书上只讲了C语言调用汇编,没讲汇编调用C语言.我自己尝试了下. 最终试验成功了,在此写出与大家分享.期间历经无数错误,无数异常,我不是醉了,而是跪了...好在最后好了. 程序实现一个换值功能,在main.s里定义a=10,b=20,然后调用C语言函数把a,b换值. 新建两个文件分别为main.s的汇编文件,还有pro.c的C语言函数文件. main.s的代码如下: .section .data a: .int 10 b: .int 20 .section .text .globl ma

C语言函数sscanf()的用法 (转载

在我的学习过程中,从文件读取数据是一件很麻烦的事,所幸有sscanf()函数. C语言函数sscanf()的用法 sscanf() - 从一个字符串中读进与指定格式相符的数据. 函数原型: int sscanf( string str, string fmt, mixed var1, mixed var2 ... ); int scanf( const char *format [,argument]... ); 说明: sscanf与scanf类似,都是用于输入的,只是后者以屏幕(stdin)

C语言函数sscanf()的用法(转)

转自:http://www.cnblogs.com/lyq105/archive/2009/11/28/1612677.html C语言函数sscanf()的用法 sscanf() - 从一个字符串中读进与指定格式相符的数据. 函数原型: int sscanf( string str, string fmt, mixed var1, mixed var2 ... ); int scanf( const char *format [,argument]... ); 说明: sscanf与scanf

[整理]C语言函数说明和定义

函数的一般形式是:type-specifier function_name(parameter list) parameter declarations{   body of the function} 1.类型说明符定义了函数中return语句返回值的类型,该返回值可以是任何有效类型.假如没有类型说明符出现,函数返回一个整型值. 当一个函数没有明确说明类型时, C语言的编译程序自动将整型( i n t)作为这个函数的缺省类型,缺省类型适用于很大一部分函数. 当有必要返回其它类型数据时,需要分两

从linux0.11中起动部分代码看汇编调用c语言函数

上一篇分析了c语言的函数调用栈情况,知道了c语言的函数调用机制后,我们来看一下,linux0.11中起动部分的代码是如何从汇编跳入c语言函数的.在LINUX 0.11中的head.s文件中会看到如下一段代码(linux0.11的启动分析部分会在另一部分中再分析,由于此文仅涉及c与汇编代码的问题,). after_page_tables: pushl $0 # These are the parameters to main :-) pushl $0 pushl $0 pushl $L6 # re

借助动态代码生成技术在基于Webkit引擎的HTML5网页JS内调用易语言函数

作者:庄晓立(Liigo) 日期:2015年3月3日夜 原创链接:http://blog.csdn.net/liigo/article/details/44045177 版权所有,转载请注明出处:http://blog.csdn.net/liigo 前两天我协助解决了一个技术问题,在此稍作记录和总结. 具体来说,就是在使用基于Webkit引擎的封装组件wke的过程中,需要把一个易语言函数注册给JavaScript引擎,让它可以在网页里被调用(就像在网页里调用普通JavaScript函数一样).如