C语言数组,指针,函数等问题

来源:互联网 发布:电工绘图软件 编辑:程序博客网 时间:2024/05/16 17:00

C语言新手啊

抱怨一下,这个编辑器好难用啊,我连左对齐都不行了啊,而且怎么老是字突然变小了啊,什么情况啊!!!

1.           编写一个程序,用于接收两个字符串,判断第一个字符串中是否包含第二个字符串,如果包含,输出第二个字符串在第一个字符串中的位置(即第二个字符串中第一个字符在第一个字符串中出现的位置)。

自己花很久时间做的,要找简单的方法啊!!!!

2.主函数和自定义函数间的实参和形参的传递方式有四种

A)实参是数组,形参也是数组

B)实参是数组,形参是指针

C)实参是指针,形参是数组

D)实参是指针,形参也是指针

 

3.在字符串数组初始化时可以用char a[7]="ABCDEF\0"

但是不可以chara[7];

a[7]="ABCDEF\0"

    在c中,文件操作都是由库函数来实现的,主要是分为读和写两种操作,以下详细讲解以下所有有关文件操作的邯郸乎的用法:

(1)fopen()函数:打开文

包含头文件:#include<stdio.h>

格式:FILE * fopen(const char * path,const char * mode);

参数:

 path:需要打开的文件路径
  mode:文件打开方式
r  以只读方式打开文件,该文件必须存在。
r+  以可读写方式打开文件,该文件必须存在。
rb+  读写打开一个二进制文件,允许读数据。
rt+  读写打开一个文本文件,允许读和写。
w  打开只写文件,若文件存在则文件长度清为0,即该文件内容会消失。若文件不存在则建立该文件。
w+  打开可读写文件,若文件存在则文件长度清为零,即该文件内容会消失。若文件不存在则建立该文件。
a  以附加的方式打开只写文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾,即文件原先的内容会被保留。(EOF符保留)
a+  以附加方式打开可读写的文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾后,即文件原先的内容会被保留。 (原来的EOF符不保留)
wb  只写打开或新建一个二进制文件;只允许写数据。
wb+  读写打开或建立一个二进制文件,允许读和写。
wt+  读写打开或着建立一个文本文件;允许读写。
at+  读写打开一个文本文件,允许读或在文本末追加数据。
ab+  读写打开一个二进制文件,允许读或在文件末追加数据。
现在对上面的文件打开方式做个总结:
文件使用方式由r,w,a,t,b,+六个字符拼成,各字符的含义是:
    r(read): 读
    w(write): 写
    a(append): 追加
    t(text): 文本文件,可省略不写
    b(banary): 二进制文件
    +: 读和写
返回值
    如果文件顺利打开,返回指向该流的文件指针。如果文件打开失败则返回NULL,并把错误代码存在errno中。
说明
    一般而言,打开文件后会作一些文件读取或写入的动作,若打开文件失败,接下来的读写动作也无法顺利进行,所以一般在fopen()后作错误判断及处理。
(2)fread()函数和fwrite()函数:(可以用来实现对数据块的操作)
1.一般调用形式

  fread(buffer,size,count,fp);

  fwrite(buffer,size,count,fp);

2.说明

  (1)buffer:是一个指针,对fread来说,它是读入数据的存放地址。对fwrite来说,是要输出数据的地址。

  (2)size:要读写的字节数;

  (3)count:要进行读写多少个size字节的数据项;

  (4)fp:文件型指针。

C语言还提供了用于整块数据的读写函数。 可用来读写一组数据,如一个数组元素,一个结构变量的值等。读数据块函数调用的一般形式为: fread(buffer,size,count,fp); 写数据块函数调用的一般形式为: fwrite(buffer,size,count,fp); 其中buffer是一个指针,在fread函数中,它表示存放输入数据的首地址。在fwrite函数中,它表示存放输出数据的首地址。 size 表示数据块的字节数。count 表示要读写的数据块块数。fp 表示文件指针。

例如:fread(fa,4,5,fp); 其意义是从fp所指的文件中,每次读4个字节(一个实数)送入实数组fa中,连续读5次,即读5个实数到fa中。