C语言常用功能的综合用法

电脑杂谈  发布时间:2020-06-15 08:32:48  来源:网络整理

c语言函数_c语言 replace函数_c语言add函数

C语言是其中最广泛的计算机编程语言. 它是所有计算机编程语言的始祖. 包括当前流行的Java语言在内的其他计算机编程语言均以C语言实现. C语言是用于编程的最有效的计算机语言,它可以完成上层应用程序开发和低级硬件驱动程序编程. 在计算机编程中c语言函数,尤其是在低级硬件驱动程序开发中,它具有不可替代的作用. 在C语言学习过程中,除了学习基本C语言语法外,掌握常用C语言库功能的使用也很重要. 本文主要向学生说明在实际项目开发过程中常用的C语言函数的用法.

1个printf功能

原型: int printf(const char * format,[argument]);

功能: 实现格式化的输入输出

返回值: 实际输出的字符数

功能参数: 格式格式字符串

要输出的参数参数

常用的格式类型为:

d个带符号的十进制整数

无符号八进制整数

u无符号十进制整数

x个无符号十六进制数字,用小写abcdef表示

X个无符号十六进制数字,用大写ABCDEF表示

f浮点数

c单字符

字符串

p显示一个指针,近指针表示为: XXXX,远指针表示为: XXXX: YYYY

用法示例:

以十进制格式输出整数变量a的值;

int a = 100;

printf(“ a =%dn”,a);

上述程序的执行结果为: 在屏幕终端上输出a = 100

2 fprintf函数

c语言add函数_c语言 replace函数_c语言函数

原型: int fprintf(FILE *流,const char * format,[argument])

功能: 将根据格式字符串格式化的数据输出到文件流中,

返回值: 实际写入文件的字符数

功能参数: 流文件输出的流指针

格式字符串

要输出的参数参数

备注: fprintf和printf函数非常相似,并且使用方法相同. 区别在于printf函数将结果输出到标准输出终端(通常是屏幕),而fprintf将结果输出到指定的文件流;参数输出文件流stream设置为标准输出流stdout,其等效于printf函数,如下所示:

fprintf(stdout,const char * format,[argument])

用法示例:

例如: 将格式字符串写入文件file1.txt

FILE * fp = fopen(“ file1.txt”,“ wb”);

int计数= 190;

fprintf(fp,“ hello: %dn”,count);

上述程序的执行结果是将字符串“ hello: 190”写入file1.txt文件.

3 sprintf函数

原型: int sprintf(char *缓冲区,const char * format,[自变量])

功能: 将根据格式字符串格式化的数据输出到字符串缓冲区

返回值: 实际输出到字符串缓冲区的字符数

函数参数: 缓冲区要输出的字符串指针

格式字符串

要输出的参数参数

备注: sprintf和printf函数非常相似,并且使用方法相同. 区别在于,printf函数将结果输出到标准输出终端(通常是屏幕),而sprintf将结果输出到指定的字符串缓冲区; <

用法示例:

c语言函数_c语言 replace函数_c语言add函数

将格式字符串写入目标字符串缓冲区

字符缓冲区[50] = {0};

int计数= 190;

fprintf(buffer,“ hello: %dn”,count);

执行上述程序后,字符串“ hello: 190”将保存在缓冲区中

4个scanf功能

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

功能: 从标准输入设备(通常指键盘)输入格式

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

功能参数: 格式格式字符串

参数输入数据项地址列表

常用格式类型是指printf函数的格式类型

用法示例:

将标准输入设备中的整数输入到整数变量a中,并将浮点数输入到浮点变量b中

int a = 0;

float b = 0;

scanf(“%d%f”,&a,&b);

执行上述程序后,从键盘输入: 19 18.6,程序将把19分配给变量a,将18.6分配给变量b.

备注: n不能添加到scanf函数的格式字符串中. 如上例所示,写scanf(“%d%fn”,&a,%b)是错误的.

5 sscanf函数

原型: int sscanf(const char * buffer,char * format [,argument,...])

功能: 读取格式字符串中的位置

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

c语言函数_c语言 replace函数_c语言add函数

功能参数: 要读取的缓冲区格式字符串

格式字符串

参数输入数据项地址列表

备注: sscanf函数的使用与scanf函数非常相似. 它们之间的区别在于,scanf函数是从标准输入设备输入的,而sscanf是从指定的字符串输入的;

用法示例:

sscanf函数类通常用于实现数据类型转换,将字符串转换为整数或浮点数据,示例如下:

char str [] =“ 0x1a”;

int b = 0;

sscanf(str,“ 0x%x”c语言函数,&b);

上述程序的执行结果将字符串0x1a转换为相应的十六进制值并将其保存在变量b中.

6个getchar函数

原型: int getchar(void)

功能: getchar函数的功能是从标准输入设备读取下一个字符,包括回车符和换行符

返回值: 成功返回用户输入的字符对应的ASCII码,否则返回-1;

功能参数: 无

备注: getchar函数本质上是从标准输入设备缓冲区读取一个字符. 当用户调用getchar函数时,如果标准输入缓冲区中没有数据,它将等待用户从键盘输入. 否则,直接从标准输入缓冲区读取字符,而无需等待用户从键盘输入;参见下面的示例:

int a = 0;

char b = 0;

scanf(“%d”,&a);

b = getchar();

在上面的代码中,我们首先调用scanf函数从键盘向变量a输入一个整数,然后调用getchar函数从键盘向变量b输入一个字符;但是在实际操作中,我们发现在输入整数变量a之后,程序并没有停止让我们输入字符变量b,这是因为在输入整数变量a之后,回车符被保存在输入中缓冲区,当程序执行getchar函数时,发现输入缓冲区中有回车符,直接读取输入缓冲区中的回车符,不再等待用户从键盘输入. 解决方案是在调用函数getchar输入字符之前清除缓冲区.

如下:

int a = 0;

c语言add函数_c语言函数_c语言 replace函数

char b = 0;

scanf(“%d”,&a);

while(getchar()!='n'); //空的输入缓冲区

b = getchar();

在以上程序中,在调用getchar()函数以从键盘读取字符之前,请执行以下语句while(getchar()!='n');清除输入缓冲区.

用法示例:

将标准输入设备中的字符输入到字符变量s

char s = 0;

s = getchar();

7个fgets功能

原型: char * fgets(char * buf,int bufsize,FILE * stream);

功能: 一次从一行读取文件流中的数据. 读取的数据保存在buf指向的字符数组中.

返回值: 函数成功执行并返回buf

失败或NULL返回到文件末尾

函数参数: buf,字符指针,用于访问读取的数据;

bufsize,整数,缓冲区缓冲区的大小;

stream,FILE指针,指示要读取的文件流;

备注: 使用fgets函数读取文件流数据时,最多读取bufsize-1个字符(为bufsize字符分配了“ 0”),如果文件中的行少于bufsize字符,则完成读取线. 如果该行(包括最后一个换行符)中的字符数超过bufsize-1,则fgets仅返回不完整的行,但是缓冲区始终以NULL字符结尾,并且对fgets的下一次调用将继续读取该行. 如果将stream设置为标准输入流stdin,则意味着从标准输入设备键盘读取一行数据;

用法示例:

从标准输入设备读取一行字符串到字符数组str

char str [100] = {0};

fgets(str,100,stdin);

printf(“%sn”,str);

8个memset函数

原型: void * memset(void * buffer,int ch,size_t count)


本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/jisuanjixue/article-246002-1.html

    相关阅读
      发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

      热点图片
      拼命载入中...