2e6C语言要什么函数,c语言中2e6是什么意思

c语言用什么函数读取2进制文件内容

你怎么输出的?

10年积累的做网站、网站设计经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先做网站后付款的网站建设流程,更有合川免费网站建设让你可以放心的选择与我们合作。

二进制如果以文本输出,自然会有很多乱码。

你可以用"%x"格式输出看看

char

a;

a=fgetc(fp1);

printf("%c",

a);/*这样肯定有乱码*/

printf("%x",

a);/*这样就是16进制*/

请问C语言对文件的读取有哪些函数,都有什么功能?像fseek();fscanf();fread......什么的

C语言文件操作函数

13.1C语言文件

1,两种文件存取方式(输入,输出方式)

顺序存取

直接存取

2,数据的两种存放形式

文本文件

二进制文件

13.2文件指针

定义文件类型指针变量的一般形式:

FILE *指针变量名;

例如:

FILE *fp1,*fp2;

13.3打开文件

在使用文件之前,需打开文件.在C里使用fopen函数打开文件.格式为:

fopen(文件名,文件使用方式);

此函数返回一个指向FILE类型的指针.如:

FILE *fp;

fp=fopen("file_1","r");

如果调用成功,fp就指向file_1,否则返回为NULL,所以为了保证文件的正确使用,要进行测试.采用如下语句:

If((fp=fopen("file_1","r"))==NULL)

{

printf("Cannot open this file\n");

exit(0);

}

最常用的文件使用方式及其含义如下:

1,"r".为读而打开文本文件.(不存在则出错)

2,"rb".为读而打开二进制文件.

3,"w".为写而打开文本文件.(若不存在则新建,反之,则从文件起始位置写,原内容将被覆盖)

4,"wb".为写而打开二进制文件.

5,"a".为在文件后面添加数据而打开文本文件.(若不存在,则新建;反之,在原文件后追加)

6,"ab".为在文件后面添加数据而打开一个二进制文件.

最常用的文件使用方式及其含义如下:

7,"r+".为读和写而打开文本文件.(读时,从头开始;在写数据时,新数据只覆盖所占的空间,其后不变)

8,"rb+".为读和写而打开二进制文件.只是在随后的读写时,可以由位置函数设置读和写的起始位置.

9,"w+".首先建立一个新文件,进行写操作,随后可以从头开始读.(若文件存在,原内容将全部消失)

10,"wb+".功能与"w+"同.只是在随后的读写时,可以由位置函数设置读和写的起始位置.

最常用的文件使用方式及其含义如下:

11,"a+".功能与"a"相同;只是在文件尾部添加新的数据后,可以从头开始读.

12,"ab+".功能与"a+"相同;只是在文件尾部添加新数据之后,可以由位置函数设置开始读的起始位置.

13.4关闭文件

当文件的读写操作完成之后,使用fclose函数关闭文件.格式如下:

fclose(文件指针)

如:fclose(fp);

13.5调用getc(fgetc)和putc(fputc)函数进行输入和输出

1,调用putc(或fputc)函数输出一个字符

调用形式为:

putc(ch,fp);

功能是:将字符ch写到文件指针fp所指的文件中去.当输出成功,putc函数返回所输出的字符;否则,返回一个EOF值.EOF是在stdio.h库函数文件中定义的符号常量,其值等于-1.

13.5调用getc(fgetc)和putc(fputc)函数进行输入和输出

例如:把从键盘输入的文本按原样输出到名为file_1.dat文件中,用字符@作为键盘输入结束标志.

#include

Void main()

{

FILE *fpout;

char ch;

if(fpout=fpopen("file_1","w")==NULL)

{

printf("Cannot open this file!\n");

exit(0);

}

ch=getchar();

while(ch!='@')

{ fputc(ch,fpout); ch=getchar(); }

fclose(fpout);

}

2.调用getc(或fgetc)函数输入一个字符

调用形式为:

ch=getc(pf);

功能是:从pf指定的文件中读如一个字符,并把它作为函数值返回.

例如:把一个已存在磁盘上的file_1.dat文本文件中的内容,原样输出到终端屏幕上.

#include

void main(){

FILE *fpin;

char ch;

if((fpin=fopen("file_1.dat","r"))==NULL)

{ printf("Cann't open this file!\n");exit(0);}

ch=fgetc(fpin);

while (ch!=EOF)

{ putchar(ch); ch=fgetc(fpin);}

fclose(fpin);

}

13.6判断文件结束函数feof

EOF可以作为文本文件的结束 标志,但不能作为二进制文件的结束符.feof函数既可以判断二进制文件,又可以判断文本文件.

例:编写程序,用于把一个文本文件(源)复制到另一个文件(目的)中,源文件名和目的文件名由命令行输入.命令形式如下:

可执行程序名 源文件名 目的文件名

#include

void filecopy(FILE* ,FILE *);

void main(int argc,char *argv[]){

FILE *fpin,*fpout;

if(argc==3)

{ fpin=fopen(argv[1],"r");

fpout=fopen(argv[2],"w");

filecopy(fpin,fpout);

fclose(fpin);fclose(fpout);

}

else if(argc3)

printf("The file names too many!!\n";

else

printf("There are no file names for input or output!!\n );

}

void filecopy(FILE *fpin,FILE *fpout)

{

char ch;

ch=getc(fpin);

while(!feof(fpin))

{putc(ch,fpout); ch=getc(fpin);}

}

13.7fscanf函数和fprintf函数

1,fscanf函数

fscanf只能从文本文件中按格式输入,和scanf函数相似,只不过输入的对象是磁盘上文本文件中的数据.调用形式为:

fscanf(文件指针,格式控制字符串,输入项表)

例如:fscanf(fp,"%d%d",a,b);

fscanf(stdin,"%d%d",a,b);

等价于scanf("%d%d",a,b);

3.fprintf函数

fprintf函数按格式将内存中的数据转换成对应的字符,并以ASCII代码形式输出到文本文件中.Fprintf函数和printf函数相似,只是将输出的内容按格式存放到磁盘的文本文件中.调用形式如下:

fprintf(文件指针,格式控制字符串,输出项表)

如:fprintf(fp,"%d %d",x,y);

以下语句 fprintf(stdout,"%d %d",x,y)

13.8fgets函数和fputs函数

1,fgets函数

fgets函数用来从文件中读入字符串.调用形式如下:

fgets(str,n,fp);

函数功能是:从fp所指文件中读入n-1个字符放入str为起始地址的空间内;如果在未读满n-1个字符时,则遇到换行符或一个EOF结束本次读操作,并已str作为函数值返回.

13.8fgets函数和fputs函数

2,fputs函数

fput函数把字符串输出到文件中.函数调用形式如下:

fputs(str,fp);

注意:为了便于读入,在输出字符串时,应当人为的加诸如"\n"这样的字符串.

#include stdio.h

#include iostream

int main(int argc, char *argv[])

{

char arr[10] ;

char *ap = "hello!" ;

FILE *fp ;

if ((fp = fopen("hello.txt", "wt+")) == NULL)

{

printf("error!") ;

exit(1) ;

}

fputs(ap, fp) ;

rewind(fp) ; //

fgets(arr, 10, fp) ;

printf("%s\n", arr) ;

fclose(fp) ;

return 0 ;

}

13.9fread函数和fwrite函数

例如有如下结构体:

struct st{

char num[8];

float mk[5];

}pers[30];

以下循环将把这30个元素中的数据输出到fp所指文件中.

for(i=0;i30;i++)

fwrite(pers[i],sizeof(struct st),1,fp);

13.9fread函数和fwrite函数

以下语句从fp所指的文件中再次将每个学生数据逐个读入到pers数组中.

i=0;

fread(pers[i],sizeof(struct st),1,fp);

while(!feof(fp))

{ i++;

fread(pers[i],sizeof(struct st),1,fp);

}

13.10文件定位函数

1,fseek函数

fseek函数用来移动文件位置指针到指定的位置上,接着的读或写操作将从此位置开始.函数的调用形式如下:

fseek(pf,offset,origin)

pf:文件指针

offset:以字节为单位的位移量,为长整形.

origin:是起始点,用来指定位移量是以哪个位置为基准的.

1,fseek函数

位移量的表示方法

标识符 数字 代表的起始点

SEEK_SET 0 文件开始

SEEK_END 2 文件末尾

SEEK_CUR 1 文件当前位置

假设pf已指向一个二进制文件,则;

fseek(pf,30L,SEEK_SET)

fseek(pf,-10L*sizeof(int),SEEK_END)

对于文本文件,位移量必须是0;如:

fseek(pf,0L,SEEK_SET)

fseek(pf,0L,SEEK_END)

2. ftell函数

ftell函数用以获得文件当前位置指针的位置,函数给出当前位置指针相对于文件开头的字节数.如;

long t;

t=ftell(pf);

当函数调用出错时,函数返回-1L.

我们可以通过以下方式来测试一个文件的长度:

fseek(fp,0L,SEEK_END);

t=ftell(fp);

3.rewind函数

调用形式为:

rewind(pf);

函数没有返回值.函数的功能是使文件的位置指针回到文件的开头.

13.10文件应用

在磁盘上的test.txt文件中放有10个不小于2的正整数,用函数调用方式编写程序.要求实现:

1,在被调函数prime中,判断和统计10个整数中的素数以及个数.

2,在主函数中将全部素数追加到磁盘文件test.txt的尾部,同时输出到屏幕上.

#include

#include

Int prime(int a[],int n)

{

int I,j,k=0,flag=0;

for(i=0;i { for(j=2;j if(a[i]%j==0)

{ flag=0; break;}

else flag=1;

if(flag)

{a[k]=a[i];k++;}

}

return k;

}

void main(){

int n,I,a[10];

FILE *fp;

fp=fopen("test1-2.txt","r+");

for(n=0;n10;n++)

fscanf(fp,"%d",a[n]);

n=prime(a,n);

fseek(fp,o,2);

for(i=0;i {printf("%3d",a[i]);

fprintf(fp,"%3d",a[i]);

}

fclose(fp);

到底什么是C语言的函数?

最简单的理解,函数就是一个子程序

或者说是程序的模块、零件

把一些代码封装起来,给他们起个名字(函数名)

到时候要用到这些代码的时候,引用用他们的名字就可以了

所谓的函数的参数,就是引用这些代码模块的时候,需要这些模块处理的数据;而函数的返回值,就是处理的结果。

C是面向过程的语言,函数是组成C程序的基本单元。

例如,我定义一个函数

int Add(int i)

{

return i+1;

}

其功能是,取得i的值,返回i+1的值

我在主程序中就可以这样调用这个函数

int main(void)

{

int a=1;

a=Add(a);

printf("%d",a);

return 0;

}

程序执行的结果就是2;

同样,我要是定义这样一个无参函数

void foo(void)

{

printf("I am a function");

}

其功能是打印一行字

那么这样的主程序:

int main(void)

{

foo();

return 0;

}

其执行结果就是一行"I am a function"

不知说明白没,呵呵,还有不解可以提出,我的qq226527085

二级C语言的考试技巧

1、题库每年都会有一点变化,但是变化不大,每一年的肯定会新增一些题目,万卷不离其宗,考来考去知识点都那些,多看书,多做题,就差不多了。做历年真题就行了,和考四六级一样。都是模式化的东西。

2、计算机二级C语言考试的流程:

1)笔试:90分钟,满分100分,其中含公共基础知识部分的30分。

2)上机操作:90分钟,满分100分。

上机操作包括:

(1) 基本操作。

(2) 简单应用。

(3) 综合应用。

3、计算机二级C语言考试内容 :

一、C语言程序的结构

1.程序的构成,main函数和其他函数。

2.头文件,数据说明,函数的开始和结束标志以及程序中的注释。

3.源程序的书写格式。

4.C语言的风格。

二、数据类型及其运算

1.C的数据类型(基本类型,构造类型,指针类型,无值类型)及其定义方法。

2.C运算符的种类、运算优先级和结合性。

3.不同类型数据间的转换与运算。

4.C表达式类型(赋值表达式,算术表达式,关系表达式,逻辑表达式,条件表达式,逗号表达式)和求值规则。

三、基本语句

1.表达式语句,空语句,复合语句。

2.输入输出函数的调用,正确输入数据并正确设计输出格式。

四、选择结构程序设计

1.用if语句实现选择结构。

2.用switch语句实现多分支选择结构。

3.选择结构的嵌套。

五、循环结构程序设计

1.for循环结构。

2.while和do-while循环结构。

3.continue语句break语句。

4.循环的嵌套。

六、数组的定义和引用

1.一维数组和二维数组的定义、初始化和数组元素的引用。

2.字符串与字符数组。

七、函数

1.库函数的正确调用。

2.函数的定义方法。

3.函数的类型和返回值。

4.形式参数与实在参数,参数值的传递。

5.函数的正确调用,嵌套调用,递归调用。

6.局部变量和全局变量。

7.变量的存储类别(自动,静态,寄存器,外部),变量的作用域和生存期。

八、编译预处理

1.宏定义和调用(不带参数的宏,带参数的宏)。

2.“文件包含”处理。

九、指针

1.地址与指针变量的概念,地址运算符与间址运算符。

2.一维。二维数组和字符串的地址以及指向变量、数组、字符串、函数、结构体的指针变量的定义。通过指针引用以上各类型数据。

3.用指针作函数参数。

4.返回地址值的函数。

5.指针数组,指向指针的指针。

十、结构体(即“结构”)与共同体(即:“联合”)

1.用typedef说明一个新类型。

2.结构体和共用体类型数据的定义和成员的引用。

3.通过结构体构成链表,单向链表的建立,结点数据的输出、删除与插入。

十一、位运算

1.位运算符的含义和使用。

2.简单的位运算。

十二、文件操作

只要求缓冲文件系统(即高级磁盘I/O系统),对非标准缓冲文件系统(即低级磁盘I/O系统)不要求。

1.文件类型指针(FILE类型指针)。

2.文件的打开与关闭(fopen,fclose)。

3.文件的读写(fputc,fgetc,fputs,fgets,fread,fwrite,fprintf,fscanf函数的应用),文件的定位(rewind,fseek函数的应用)。

帮我看看求二次函数的C语言程序,要求要用函数来写,谢了

我已经按你的意思修改了,也运行出来了,希望对你有帮助,代码附带在下面:

#includestdio.h

#includemath.h

float t,x1,x2;

void main()

{

void situ1(float a,float b,float c);

void situ2(float a,float b,float c);

void situ3();

float x,a,b,c;

scanf("%f%f%f",a,b,c);

if (a==0)

{

x=-c/b;

printf("x=%.2f\n",x);

}

else

{

t=b*b-4*a*c;

if (t0)

situ1(a,b,c);

else if(t==0)

situ2(a,b,c);

else

situ3();

}

}

void situ1(float a,float b,float c)

{

x1=(-b+sqrt(t))/(2*a);

x2=(-b-sqrt(t))/(2*a);

printf("x1=%.2f\tx2=%.2f\n",x1,x2);

}

void situ2(float a,float b,float c)

{

x1=x2=(-b+sqrt(t))/(2*a);

printf("x1=x2=%.2f\n",x1);

}

void situ3()

{

printf("没有实根\n");

}

计算机二级C 语言考什么?

唉,看见这个忍不住上来说两句:我明天就要考计算机二级了,想想还挺郁闷,当时就不应该报,计算机二级C语言笔试有:公共基础知识,二级C,上机有:程序填空,程序改错,程序编译(这三题主要是应用函数调用)

公共基础知识

基本要求

1.掌握算法的基本概念。

2.掌握基本数据结构及其操作。

3.掌握基本排序和查找算法。

4.掌握逐步求精的结构化程序设计方法。

5.掌握软件工程的基本方法,具有初步应用相关技术进行软件开发的能力。

6.掌握数据库的基本知识,了解关系数据库的设计。

考试内容

一、基本数据结构与算法

1.算法的基本概念;算法复杂度的概念和意义(时间复杂度与空间复杂度)。

2.数据结构的定义;数据的逻辑结构与存储结构;数据结构的图形表示;线性结构与非线性结构的概念。

3.线性表的定义;线性表的顺序存储结构及其插入与删除运算。

4.栈和队列的定义;栈和队列的顺序存储结构及其基本运算。

5.线性单链表、双向链表与循环链表的结构及其基本运算。

6.树的基本概念;二叉树的定义及其存储结构;二叉树的前序、中序和后序遍历。

7.顺序查找与二分法查找算法;基本排序算法(交换类排序,选择类排序,插入类排序)。

二、程序设计基础

1.程序设计方法与风格

2.结构化程序设计。

3.面向对象的程序设计方法,对象,方法,属性及继承与多态性。

三、软件工程基础

1.软件工程基本概念,软件生命周期概念,软件工具与软件开发环境。

2.结构化分析方法,数据流图,数据字典,软件需求规格说明书。

3.结构化设计方法,总体设计与详细设计。

4.软件测试的方法,白盒测试与黑盒测试,测试用例设计,软件测试的实施,单元测试、集成测试和系统测试。

5.程序的调试,静态调试与动态调试。

四、数据库设计基础

1.数据库的基本概念:数据库,数据库管理系统,数据库系统。

2.数据模型,实体联系模型及E―R图,从E―R图导出关系数据模型。

3.关系代数运算,包括集合运算及选择、投影、连接运算,数据库规范化理 论。

4.数据库设计方法和步骤:需求分析、概念设计、逻辑设计和物理设计的相关策略。

考试方式

1.公共基础知识的考试方式为笔试,与C语言程序设计(C++语言程序设计、Java语言程序设计、Visual Basic语言程序设计、Visual FoxPro数据库程序设计或Access数据库程序设计)的笔试部分合为一张试卷,公共基础知识部分占全卷的30分。

2.公共基础知识有l0道选择题和5道填空题。

C语言程序设计

基本要求

1.熟悉TURBO C集成环境。

2.熟练掌握结构化程序设计的方法,具有良好的程序设计风格。

3.掌握程序设计中简单的数据结构和算法。

4.TURBO C的集成环境下,能够编写简单的C程序,并具有基本的纠错和调试程序的能力。

考试内容

一、C语言的结构

1.程序的构成,MAIN函数和其他函数。

2.头文件,数据说明,函数的开始和结束标志。

3.源程序的书写格式。

4.C语言的风格。

二、数据类型及其运算

1.C的数据类型(基本类型,构造类型,指针类型,空类型)及其定义方法。

2.C运算符的种类、运算优先级和结合性。

3.不同类型数据间的转换与运算。

4.C表达式类型(赋值表达式,算术表达式,关系表达式,逻辑表达式,条件表达式,逗号表达式)和求值规则。

三、基本语句

1.表达式语句,空语句,复合语句。

2.数据的输入与输出,输入输出函数的调用。

3.复合语句。

4.GOTO语句和语句标号的使用。

四、选择结构程序设计

1.用IF语句实现选择结构。

2.用SWITCH语句实现多分支选择结构。

3.选择结构的嵌套。

五、循环结构程序设计

1.FOR循环结构。

2.WHILE和DO WHILE循环结构。

3.CONTINUE语句和BREAK语句。

4.循环的嵌套。

六、数组的定义和引用

1.一维数组和多维数组的定义、初始化和引用

2.字符串与字符数组。

七、函数

1.库函数的正确调用。

2.函数的定义方法。

3.函数的类型和返回值。

4.形式参数与实在参数,参数值的传递。

5.函数的正确调用,嵌套调用,递归调用。

6.局部变量和全局变量。

7.变量的存储类别(自动,静态,寄存器,外部),变量的作用域和生存期。

8.内部函数与外部函数。

八、编译预处理

1.宏定义:不带参数的宏定义;带参数的宏定义。

2.“文件包含”处理。

九、指针

1.指针与指针变量的概念,指针与地址运算符。

2.变量、数组、字符串、函数、结构体的指针以及指向变量、数组、字符串、函数、结构体的指针变量。通过指针引用以上各类型数据。

3.用指针作函数参数。

4.返回指针值的指针函数。

5.指针数组,指向指针的指针,MAIN函数的命令行参数。

十、结构体(即“结构”)与共用体(即“联合”)

1.结构体和共用体类型数据的定义方法和引用方法。

2.用指针和结构体构成链表,单向链表的建立、输出、删除与插入。

十一、位运算

1.位运算符的含义及使用。

2.简单的位运算。

十二、文件操作

只要求缓冲文件系统(即高级磁盘I/O系统),对非标准缓冲文件系统(即低级磁盘I/O系统)不要求。

1.文件类型指针(FILE类型指针)。

2.文件的打开与关闭(FOPEN,FCLOSE)。

3.文件的读写(FPUTC,FGETC,FPUTS,FGETS,FREAD,FWRITE,FPRINTF,FSCANF函数),文件的定位(REWIND,FSEEK函数)。

考试方式

1.笔试:120分钟,满分100分,其中含公共基础知识部分的30分。

2.上机:60分钟,满分100分。


分享标题:2e6C语言要什么函数,c语言中2e6是什么意思
新闻来源:http://ybzwz.com/article/hohioe.html