当前位置:首页 » 编程语言 » c语言的函数

c语言的函数

发布时间: 2022-01-11 17:46:51

1. c语言中函数的作用

C语言中的函数的作用是可以将一段经常需要使用的代码封装起来,在需要使用时可以直接调用。

示例:

语言的函数定义和函数声明

#include<stdio.h>

//使用函数前,需要在main函数前对使用的函数进行声明

int getMax(int, int);

void main() {

int t=getMax(12, 21);

printf("%d ", t);

getchar();

}

int getMax(int a, int b) {

if (a > b) {

return a;

}

else {

return b;

}

}

(1)c语言的函数扩展阅读

scanf 函数

函数原型:int scanf(char *format [,argument,...])

功能:从标准输入设备(一般指键盘)实现格式化输入

返回值:成功返回读入的数据项个数

函数参数:format 格式化字符串

argument 输入数据项的地址列表

常用格式类型参考printf函数的个格式类型

用法举例:

从标准输入设备中输入一个整数到整形变量a中,输入一个浮点数到浮点型变量b中

int a=0;

float b=0;

scanf("%d%f",&a,&b);

上面程序执行后,从键盘输入: 19 18.6 ,程序将 19赋值给变量a, 18.6赋值给变量b 。

2. c语言中,函数类型有几种

一般包括字符库函数,数学函数,目录函数,进程函数,诊断函数,操作函数等。

字符库函数所在函数库为ctype.h;数学函数所在函数库为math.h、stdio.h、string.h、float.h;目录函数所在函数库为dir.h、dos.h;进程函数所在函数库为stdlib.h、process.h。

诊断函数所在函数库为assert.h、math.h;接口子程序所在函数库为:dos.h、bios.h;操作函数所在函数库为string.h、mem.h;时间日期函数函数库为time.h、dos.h。



(2)c语言的函数扩展阅读

C语言为一种程序设计的入门语言。由于C语言的语句中没有提供直接计算sin或cos函数的语句,会造成编写程序困难;但是函数库提供了sin和cos函数,可以拿来直接调用。显示一段文字,我们在C语言中找不到显示语句,只能使用库函数printf。

C语言的库函数并不是C语言本身的一部分,它是由编译程序根据一般用户的需要,编制并提供用户使用的一组程序。C的库函数极大地方便了用户,同时也补充了C语言本身的不足。在编写C语言程序时,使用库函数,既可以提高程序的运行效率,又可以提高编程的质量。

3. c语言定义函数是什么

从参数角度分类:1.有参函数:函数有形参,可以是一个,或者多个,参数的类型随便,完全取决于函数的功能。2.无参函数:函数没有参数,在形参列表的位置写一个viod或什么都不写。

每个C程序都至少有一个函数,即主函数main(),如果程序的任务比较简单,全部的代码都写在main()函数中,但是,在实际开发中,程序的任务往往比较复杂,如果全部的代码都写在main()函数中,main()函数将非常庞大臃肿,结构复杂,代码重复。

详细信息:

我们可以根据程序的逻辑和任务的分工把代码划分到不同的自定义函数中,main()更关心业务逻辑和处理流程,需要执行具体任务的时候,调用这些自定义的函数就可以了。

为了方使理解,我们把函数分为两种:一种是库函数,一种是自定义函数。库函数是C语言提供的,或系统提供的,实现了某些基本的功能,例如scanf、printf,在程序中可以直接使用。

自定义函数是程序员为了完成某项任务而编写的函数,目的是为了实现某项的功能或让主程序更简洁。程序员在使用自定义函数之前,必须先声明和定义。

4. C语言中的标准函数有哪些

C语言输入输出函数有很多,标准I/O函数中包含了如下几个常用的函数:
scanf,printf,getc,putc,getchar,putchar,gets,puts,fgets,fputs,fgetc,fputc,fscanf,fprintf等.

int getc(FILE *fp)
getc主要是从文件中读出一个字符.常用的判断文件是否读取结束的语句为 (ch = getc(fp)) != EOF.EOF为文件结束标志,定义在stdio.h中,就像EXIT_SUCCESS,EXIT_FAILURE定义在stdlib.h中一样,文件也可以被理解为一种流,所以当fp为stdin时,getc(stdin)就等同于getchar()了.

int putc(int ch,FILE *fp)
putc主要是把字符ch写到文件fp中去.如果fp为stdout,则putc就等同于putchar()了.

int getchar(void)

getchar主要是从标准输入流读取一个字符.默认的标准输入流即stdio.h中定义的stdin.但是从输入流中读取字符时又涉及到缓冲的问题,所以并不是在屏幕中敲上一个字符程序就会运行,一般是通过在屏幕上敲上回车键,然后将回车前的字符串放在缓冲区中,getchar就是在缓冲区中一个一个的读字符.当然也可以在while循环中指定终止字符,如下面的语句:while ((c = getchar()) != '#')这是以#来结束的.

int putchar(int ch)

putchar(ch)主要是把字符ch写到标准流stdout中去.

char * gets(char *str)
gets主要是从标准输入流读取字符串并回显,读到换行符时退出,并会将换行符省去.

int puts(char *str)
puts主要是把字符串str写到标准流stdout中去,并会在输出到最后时添加一个换行符.

char *fgets(char *str, int num, FILE *fp)
str是存放读入的字符数组指针,num是最大允许的读入字符数,fp是文件指针.fgets的功能是读一行字符,该行的字符数不大于num-1.因为fgets函数会在末尾加上一个空字符以构成一个字符串.另外fgets在读取到换行符后不会将其省略.

int fputs(char *str, file *fp)
fputs将str写入fp.fputs与puts的不同之处是fputs在打印时并不添加换行符.

int fgetc(FILE *fp)
fgetc从fp的当前位置读取一个字符.

int fputc(int ch, file *fp)
fputc是将ch写入fp当前指定位置.

int fscanf(FILE *fp, char *format, 输入列表)
fscanf按照指定格式从文件中出读出数据,并赋值到参数列表中.

int fprintf(FILE *fp, char *format, 输出列表)
fprintf将格式化数据写入流式文件中.

数据块读写函数

fread (buffer,size,count,fp);
fwrite(buffer,size,count,fp);
参数说明:
buffer:是一个指针。
对fread 来说,它是读入数据的存放地址。
对fwrite来说,是要输出数据的地址(均指起始地址)。
size: 要读写的字节数。
count: 要进行读写多少个size字节的数据项。
fp: 文件型指针。

5. C语言中函数是怎样用的

定义好的函数,若在主函数之后定义,在主函数中要声明一下。
声明方法为把定义好的函数按原样写下,再加上一个“;”。
若在主函数之前定义,在主函数就可以直接调用。
一般格式k=函数名(变量);
函数运算结果通过return语句返回,赋值给k。
希望你能看懂!

6. c语言的函数

fflush(stdin) ;
清空输入缓冲区,通常是为了确保不影响后面的数据读取(例如在读完一个字符串后紧接着又要读取一个字符,此时应该先执行fflush(stdin);)
详细解释一下:
/*stdin就是标准输入 std即standard,in即输入,合起来就是标准输入。 一般就是指键盘输入到缓冲区里的东西。 */
函数名: fflush
功 能: 清除文件缓冲区,文件以写方式打开时将缓冲区内容写入文件
原型:int fflush(FILE *stream)
程序例:
#include <string.h>
#include <stdio.h>
#include <conio.h>
#include <io.h>
void flush(FILE *stream);
int main(void)
{
FILE *stream;
char msg[] = "This is a test";
/* create a file */
stream = fopen("DUMMY.FIL", "w");
/* write some data to the file */
fwrite(msg, strlen(msg), 1, stream);
clrscr();
printf("Press any key to flush\
DUMMY.FIL:");
getch();
/* flush the data to DUMMY.FIL without\
closing it */
flush(stream);
printf("\nFile was flushed, Press any key\
to quit:");
getch();
return 0;
}
void flush(FILE *stream)
{
int phandle;
/* flush the stream's internal buffer */
fflush(stream);
/* make a plicate file handle */
phandle = p(fileno(stream));
/* close the plicate handle to flush\
the DOS buffer */
close(phandle);
}
fflush 的返回值类型是int类型,那么这个int类型具体的返回是什么呢?
返回值:
如果成功刷新,fflush返回0。指定的流没有缓冲区或者只读打开时也返回0值。返回EOF指出一个错误。
注意:如果fflush返回EOF,数据可能由于写错误已经丢失。当设置一个重要错误处理器时,最安全的是用setvbuf函数关闭缓冲或者使用低级I/0例程,如open、close和write来代替流I/O函数。
#include <stdio.h>
int main()
{
int i=0;
char p;
scanf("%d",&i);
问题点---> fflush(stdin);
printf("I is :%d\n",i);
scanf("%c",&p);
printf("Char P is %c.\n",p);
return 0;
}
该程序在dev-c++下编译执行后
2 <enter>
I is :2
a <enter>
Char P is a.
linux下编译执行后
2 <enter>
I is :2
Char P is
.
很明显fflush在linux下没有起到任何作用?请问我错在哪里了?我要怎样清流?当然在linux下我把fflush(stdin);换成getchar();可以达到效果

7. c语言常用的函数有哪些

#include
<assert.h>
//设定插入点
#include
<ctype.h>
//字符处理
#include
<errno.h>
//定义错误码
#include
<float.h>
//浮点数处理
#include
<fstream.h>
//文件输入/输出
#include
<iomanip.h>
//参数化输入/输出
#include
<iostream.h>
//数据流输入/输出
#include
<limits.h>
//定义各种数据类型最值常量
#include
<locale.h>
//定义本地化函数
#include
<math.h>
//定义数学函数
#include
<stdio.h>
//定义输入/输出函数
#include
<stdlib.h>
//定义杂项函数及内存分配函数
#include
<string.h>
//字符串处理
#include
<strstrea.h>
//基于数组的输入/输出
#include
<time.h>
//定义关于时间的函数
#include
<wchar.h>
//宽字符处理及输入/输出
#include
<wctype.h>
//宽字符分类
标准
C/C++
(同上的不再注释)
#include
<algorithm>
//STL
通用算法
#include
<bitset>
//STL
位集容器
#include
<cctype>
#include
<cerrno>
#include
<clocale>
#include
<cmath>
#include
<complex>
//复数类
#include
<cstdio>
#include
<cstdlib>
#include
<cstring>
#include
<ctime>
#include
<deque>
//STL
双端队列容器
#include
<exception>
//异常处理类
#include
<fstream>
#include
<functional>
//STL
定义运算函数(代替运算符)
#include
<limits>
#include
<list>
//STL
线性列表容器
#include
<map>
//STL
映射容器
#include
<iomanip>
#include
<ios>
//基本输入/输出支持
#include
<iosfwd>
//输入/输出系统使用的前置声明
#include
<iostream>
#include
<istream>
//基本输入流
#include
<ostream>
//基本输出流
#include
<queue>
//STL
队列容器
#include
<set>
//STL
集合容器
#include
<sstream>
//基于字符串的流
#include
<stack>
//STL
堆栈容器
#include
<stdexcept>
//标准异常类
#include
<streambuf>
//底层输入/输出支持
#include
<string>
//字符串类
#include
<utility>
//STL
通用模板类
#include
<vector>
//STL
动态数组容器
#include
<cwchar>
#include
<cwctype>
using
namespace
std;
C99
增加
#include
<complex.h>
//复数处理
#include
<fenv.h>
//浮点环境
#include
<inttypes.h>
//整数格式转换
#include
<stdbool.h>
//布尔环境
#include
<stdint.h>
//整型环境
#include
<tgmath.h>
//通用类型数学宏

8. C语言函数的意思

定义了一个字符串s1,里面可以存放8个字节,在定义的同时已经在里面放了四个字符date
定义了一个字符串s2,里面可以存放8个字节,在定义的同时已经在里面放了四个字符bigdate
strcmp就是让你比较s1,s2的大小,
若s1=s2,则返回零;
若s1<s2,则返回负数;
若s1>s2,则返回正数。
两个字符串自左向右逐个字符相比(按ASCII值大小相比较),直到出现不同的字符或遇'\0'为止
这里的s1的首字符d是大于s2首字符b的(ASCII:b=98,d,100),s1>s2,所以返回正数,选择A

热点内容
数据库设计模板 发布:2024-11-15 00:47:25 浏览:825
编程的悟性 发布:2024-11-15 00:47:24 浏览:733
主流可编译语言 发布:2024-11-15 00:42:23 浏览:729
excel缓存清除 发布:2024-11-15 00:39:53 浏览:486
机械键盘可编程 发布:2024-11-15 00:39:09 浏览:912
php判断字符开头 发布:2024-11-15 00:35:33 浏览:507
网易苹果游戏怎么转移到安卓 发布:2024-11-15 00:07:52 浏览:270
win7php环境搭建 发布:2024-11-15 00:06:55 浏览:17
erpjava 发布:2024-11-14 23:52:23 浏览:253
电脑版地平线四怎么连上服务器 发布:2024-11-14 23:46:42 浏览:472