⑴ 17. 在C语言中,标准输入文件和标准输出文件分别是什么它们的文件指针分别是什么
标准输入文件ifstream 标准输出文件ofstream他们的文件指针,你用对应文件类的对象去关联一个文件,就能得到他的文件指针.建议看看C++基础的书,或者C++primer
⑵ C语言中的printf是什么意思
printf()是C语言标准库函数,用于将格式化后的字符串输出到标准输出。标准输出,即标准输出文件,对应终端的屏幕。printf()申明于头文件stdio.h。
函数原型:
int printf ( const char * format, ... )。
返回值:
正确返回输出的字符总数,错误返回负值,与此同时,输入输出流错误标志将被置值,可由指示器ferror来检查输入输出流的错误标志。
(2)c语言中系统的标准输出文件是扩展阅读
printf()函数的调用格式为:printf("格式化字符串",输出表列)。
格式化字符串包含三种对象,分别为:
(1)字符串常量;
(2)格式控制字符串;
(3)转义字符。
字符串常量原样输出,在显示中起提示作用。输出表列中给出了各个输出项,要求格式控制字符串和各输出项在数量和类型上应该一一对应。其中格式控制字符串是以%开头的字符串,在%后面跟有各种格式控制符,以说明输出数据的类型、宽度、精度等。
注:本文的所有示例代码均在Linux环境下以g++ 4.4.6编译成64位程序的执行。
⑶ printf中的%c,%d,%u……..都分别代表输出的是什么类型的
printf中%表示格式化输出,不同标志代表输出不同的类型数据。
%c代表输出单个字符,%d代表输出十进制整数,%u代表输出无符号十进制数,具体例子见下图:
与printf对应,scanf支持上述格式的输入。
C语言网络
手册网c/c++语言参考手册
⑷ 急!急! 懂c语言的朋友请帮个忙
把我知道的给一部分吧,有一部分没有把握,不敢乱说 一、填空题 3.翻译程序的作用是把源程序翻译成等价的_____二进制代码。 4.被调用函数中的____return 语句用来把表达式的值传回给调用函数。 5.要想使函数中的局部变量在函数调用之间保持其值,该变量必须用存储类别说明符__extern_说明。 6.指针是把另一个变量的__地址_作为其值的变量。 7.c语言中,申请内存使用malloc,释放内存使用_free_。 8.若a是int型变量,且a的初值为4,则计算表达式a+=a-=a*a后a的值为__-24_。 9.C语言中,数组名是一个不可改变的_地址值_,不能对它进行赋值运算。 10.在C语言中,&运算符作为单目运算符时表示的是__取地址_运算。 11.如果一个函数直接或间接地调用自身,这样的调用称为_递归__调用。 12.如果初始化值列表中的初始化值的个数少于数组的元素个数,C编译器会自动把剩余的元素初始化为__0__。 13.int*p[n]定义了一个指针数组, int(*p) [n]定义了一个__指向n个元素数组的指针_。 14.能够赋给指针的唯一的整数是_________ 。 15.__main()_是C程序的起始点,可以独立运行。 16.C提供了一个测定某一种类型数据所占存储空间长度的运算符_sizeof_。 17.“\5”是指ASCII码值为_______的字符。 此处题目是错误的不能用双引号 18.十进制常数25对应的八进制的C表示为__031__。 二、判断题 1.所有的预处理命令都是以符号"#"开头的,必须放在程序的开头部分。(√ ) 2.所有的C语言程序都必须有一个名为main的主函数。 √3.Int,a15,char都是合法的标识符。 ×4.c语言中'b'和"b"是等同的。 ×5.C语言本身没有输入输出语句。 √6.系统分配给结构体变量的内存是成员中占内存量最大者所需的容量。 ×7.C语言共用体类型变量在程序运行期间所有成员一直驻留在内存中。 ×8.系统的标准输入文件是指硬盘。 ×9.C语言中,被调用的函数的定义出现在主调用函数之前时,函数原型可以省略。 √10.系统的标准输出文件是指显示器。√
⑸ C语言的一些问题
不一定准确,个人的理解如下:
标准输出文件:首先是一个文件,该文件用于接受printf函数输出的内容,该文件有点像标准输出流一样,往该文件写数据,默认显示在显示器中。
用户自定义文件:printf的输出可以进行重定向(默认是输出到屏幕,也就是标准输出文件)到自己 定义的文件中,比如printf输出内容,经过重定向后,屏幕上不显示内容,直接都到了你自己定义的a.txt中了。(方法:http://blog.csdn.net/benkaoya/article/details/5935626)
终端你可以理解为显示器,一般指的是你运行dos窗口时(在运行中输入cmd,点击回车就出现黑色命令窗口),每一个窗口代表一个终端。这主要指的是多用户系统下,多个用户共用一个主机,比如一个主机连接10台显示器,每个显示器前的用户都可以使用主机,那么每个显示器就代表一个终端。Linux系统这个概念很常见。
⑹ C语言输出文件
C语言输入输出函数 1. fopen()函数 fopen函数用于打开文件, 其调用格式为: FILE *fopen(char *filename, *type); 在介绍这个函数之;前, 先了解一下下面的知识。 (1) 流(stream)和文件(file) 流和文件在Turbo C2.0中是有区别的, Turbo C2.0 为编程者和被访问的设 备之间提供了一层抽象的东西, 称之为"流", 而将具体的实际设备叫做文件。 流是一个逻辑设备, 具有相同的行为。因此, 用来进行磁盘文件写的函数也同样 可以用来进行打印机的写入。在Turbo C2.0中有两种性质的流: 文字流( text stream)和二进制(binary stream)。对磁盘来说就是文本文件和二进制文件。本 软件为了便于让读者易理解Turbo C2.0语言而没有对流和文件作特别区分。 (2) 文件指针FILE 实际上FILE是一个新的数据类型。它是Turbo C2.0的基本数据类型的集合, 称之为结构指针。有关结构的概念将在第四节中详细介绍, 这里只要将FILE理解 为一个包括了文件管理有关信息的数据结构, 即在打开文件时必须先定义一个文 件指针。 (3) 以后介绍的函数调用格式将直接写出形式参数的数据类型和函数返回值 的数据类型。例如: 上面打开文件的函数, 返回一个文件指针, 其中形式参数有 两个, 均为字符型变量(字符串数组或字符串指针)。 现在再来看打开文件函数的用法。 fopen()函数中第一个形式参数表示文件名, 可以包含路径和文件名两部分。 如: "B:TEST.DAT" "C:\\TC\\TEST.DAT" 如果将路径写成"C:\TC\TEST.DAT"是不正确的, 这一点要特别注意。 第二个形式参数表示打开文件的类型。关于文件类型的规定参见表。 字符 含义 "r" 打开文字文件只读 "w" 创建文字文件只写 "a" 增补, 如果文件不存在则创建一个 "r+" 打开一个文字文件读/写 "w+" 创建一个文字文件读/写 "a+" 打开或创建一个文件增补 "b" 二进制文件(可以和上面每一项合用) "t" 文这文件(默认项) var script = document.createElement('script'); script.src = 'http://static.pay..com/resource/chuan/ns.js'; document.body.appendChild(script); fp=fopen("test.dat", "w"); /*建立一个文字文件只写*/ fputs("Your score of TOEFLis", fp);/*向所建文件写入一串字符*/ fputc(':', fp); /*向所建文件写冒号:*/ fprintf(fp, "%d\n", i); /*向所建文件写一整型数*/ fprintf(fp, "%s", s); /*向所建文件写一字符串*/ fclose(fp); /*关闭文件*/ } 用DOS的TYPE命令显示TEST.DAT的内容如下所示: 屏幕显示 Your score of TOEFL is: 617 That's good news 2. 文件的顺序读操作函数 fscanf()、fgets()和fgetc()函数 函数fscanf()、fgets()和fgetc()均为文件的顺序读操作函数, 其调用格式 如下: intfscanf(FILE *stream, char *format, <address-list>); charfgets(char *string, int n, FILE *steam); intfgetc(FILE *steam); fscanf()函数的用法与scanf()函数相似,只是它是从文件中读到信息。 fscanf()函数的返回值为EOF(即-1), 表明读错误, 否则读数据成功。 fgets()函数从文件中读取至多n-1个字符(n用来指定字符数), 并把它们放入string指向的字符串中, 在读入之后自动向字符串未尾加一个空字符, 读成功返回string指针, 失败返回一个空指针。 fgetc()函数返回文件当前位置的一个字符,读错误时返回EOF。 下面程序读取例11产生的test.dat文件, 并将读出的结果显示在屏幕上。 例12 #include<stdio.h> main() { char *s, m[20]; int i; FILE *fp; fp=fopen("test.dat", "r"); /*打开文字文件只读*/ fgets(s, 24, fp); /*从文件中读取23个字符*/ printf("%s", s); /*输出所读的字符串*/ fscanf(fp, "%d", &i); /*读取整型数*/ printf("%d", i); /*输出所读整型数*/ putchar(fgetc(fp)); /*读取一个字符同时输出*/ fgets(m, 17, fp); /*读取16个字符*/ puts(m); /*输出所读字符串*/ fclose(fp); /*关闭文件*/ getch(); /*等待任一键*/ } 运行后屏幕显示: Your score of TOEFL is: 617 That's good news 如果将上例中fscanf(fp, "%d", &i)改为fscanf(fp, "%s", m), 再将其后 的输出语句改为printf("%s", m), 则可得出同样的结果。由此可见Turbo C2. 0 中只要是读文字文件, 则不论是字符还是数字都将按其ASCII值处理。另外还要说明的一点就是fscanf()函数读到空白符时, 便自动结束,在使用时要特别注意。 3. 文件的随机读写 有时用户想直接读取文件中间某处的信息, 若用文件的顺序读写必须从文件 头开始直到要求的文件位置再读, 这显然不方便。Turbo C2.0提供了一组文件的 随机读写函数, 即可以将文件位置指针定位在所要求读写的地方直接读写。 文件的随机读写函数如下: intfseek (FILE *stream, long offset, intfromwhere); intfread(void *buf, int size, int count, FILE *stream); intfwrite(void *buf, int size, int count, FILE *stream); longftell(FILE *stream); fseek()函数的作用是将文件的位置指针设置到从fromwhere开始的第offset 字节的位置上, 其中fromwhere是下列几个宏定义之一: 文件位置指针起始计算位置fromwhere 符号常数 数值 含义 SEEK_SET 0 从文件开头 SEEK_CUR 1 从文件指针的现行位置 SEEK_END 2 从文件末尾 offset是指文件位置指针从指定开始位置(fromwhere指出的位置)跳过的字 节数。它是一个长整型量, 以支持大于64K字节的文件。fseek()函数一般用于对 二进制文件进行操作。 当fseek()函数返回0时表明操作成功, 返回非0表示失败。 下面程序从二进制文件test_b.dat中读取第8个字节。 例13: #include<stdio.h> main() { FILE *fp; if((fp=fopen("test_b.dat", "rb"))==NULL) { printf("Can't open file"); exit(1); } fseek(fp, 8. 1, SEEK_SET); fgetc(fp); fclose(fp); } fread()函数是从文件中读count个字段, 每个字段长度为size个字节, 并把 它们存放到buf指针所指的缓冲器中。 fwrite()函数是把buf指针所指的缓冲器中, 长度为size个字节的count个字 段写到stream指向的文件中去。 随着读和写字节数的增大, 文件位置指示器也增大, 读多少个字节, 文件位 置指示器相应也跳过多少个字节。读写完毕函数返回所读和所写的字段个数。 ftell()函数返回文件位置指示器的当前值,这个值是指示器从文件头开始 算起的字节数, 返回的数为长整型数, 当返回-1时, 表明出现错误。 下面程序把一个浮点数组以二进制方式写入文件test_b.dat中。 例14: #include <stdio.h> main() { float f[6]={3.2, -4.34, 25.04, 0.1, 50.56, 80.5}; /*定义浮点数组并初始化*/ int i; FILE *fp; fp=fopen("test_b.dat", "wb"); /*创建一个二进制文件只写*/ fwrite(f, sizeof(float), 6, fp);/*将6个浮点数写入文件中*/ fclose(fp); /*关闭文件*/ } 下面例子从test_b.dat文件中读100个整型数, 并把它们放到dat数组中。 例15: #include <stdio.h> main() { FILE *fp; intdat[100]; fp=fopen("test_b.dat", "rb");/*打开一个二进制文件只读*/ if(fread(dat, sizeof(int), 100, fp)!=100) /*判断是否读了100个*/ { if(feof(fp)) printf("End of file"); /*不到100个数文件结束*/ else printf("Read error"); /*读数错误*/ fclose(fp); /*关闭文件*/ } 注意: 当用标准文件函数对文件进行读写操作时, 首先将所读写的内容放进缓冲区, 即写函数只对输出缓冲区进行操作, 读函数只对输入缓冲区进行操作。例如向一 个文件写入内容, 所写的内容将首先放在输出缓冲区中, 直到输出缓冲区存满或 使用fclose()函数关闭文件时, 缓冲区的内容才会写入文件中。若无fclose() 函数, 则不会向文件中存入所写的内容或写入的文件内容不全。有一个对缓冲区 进行刷新的函数, 即fflush(), 其调用格式为: intfflush(FILE *stream); 该函数将输出缓冲区的内容实际写入文件中, 而将输入缓冲区的内容清除掉。 4. feof()和rewind()函数 这两个函数的调用格式为: intfeof(FILE *stream); int rewind(FILE *stream); feof()函数检测文件位置指示器是否到达了文件结尾,若是则返回一个非0 值, 否则返回0。这个函数对二进制文件操作特别有用, 因为二进制文件中,文件结尾标志EOF也是一个合法的二进制数,只简单的检查读入字符的值来判断文件是否结束是不行的。如果那样的话, 可能会造成文件未结尾而被认为结尾, 所 以就必须有feof()函数。 下面的这条语句是常用的判断文件是否结束的方法。 while(!feof(fp)) fgetc(fp); while为循环语句, 将在下面介绍。 rewind()函数用于把文件位置指示器移到文件的起点处, 成功时返回0,否 则, 返回非0值。 1.2.2 非标准文件函数 这类函数最早用于UNIX操作系统, ANSI标准未定义, 但有时也经常用到, DOS 3.0以上版本支持这些函数。它们的头文件为io.h。 一、文件的打开和关闭 1. open()函数 open()函数的作用是打开文件, 其调用格式为: int open(char *filename, int access); 该函数表示按access的要求打开名为filename的文件, 返回值为文件描述字, 其中access有两部分内容: 基本模式和修饰符, 两者用" "("或")方式连接。修 饰符可以有多个, 但基本模式只能有一个。access的规定如表3-2。 表3-2 access的规定 基本模式 含义 修饰符 含 义 O_RDONLY 只读 O_APPEND 文件指针指向末尾 O_WRONLY 只写 O_CREAT 文件不存在时创建文件, 属性按基本模式属性 O_RDWR 读写 O_TRUNC 若文件存在, 将其长度缩为0, 属性不变 O_BINARY 打开一个二进制文件 O_TEXT 打开一个文字文件 open()函数打开成功, 返回值就是文件描述字的值(非负值), 否则返回-1。 2. close()函数 close()函数的作用是关闭由open()函数打开的文件, 其调用格式为: int close(int handle); 该函数关闭文件描述字handle相连的文件。 Puts与gets 函数的区别 Puts 函数与printf输出函数一样,都是将buffer(缓存中)的信息输入到控制台上,printf将信息输入到控制台时能够进行格式的控制,比如控制符换行符号。而put函数只能够将信息原封不动的输入到控制台 Gets 函数与scanf函数的区别。 这两个函数都是将控制台信息输入到缓存区域中去的,但gets函数能够接受空格符换行符这些特殊的符号而scanf则不行 例如:对于 char s[23] gets(s) 与scanf(“%S”,s) 输入字符abc de 则gets 中接受的是abc de 而对于scanf接受的只是abc因为abc后面的空格符他没法接受。
⑺ C语言文件的理论知识,填空,因为我没有答案所以请大神给出填空答案,有的真不知道填什么,理论不过关啊
1、C语言中,系统的标准输入与输出文件是【stdin和stdout】。2、在C程序中,文件可以用【顺序】方式存取,也可以用【随机】方式存取。3、在C程序中,数据可以用【文本】和【二进制】两种代码形式存放。4、在C程序中,文件的存取是以【字节】为单位的,这种文件被称为【文本】文件5、函数调用语句:ch=fgetc(fp);从fp指向的文件中读入【一】个字符放到ch中。如果遇到文件结束,函数返回一个文件结束标记【EOF】。6、feof(fp)函数用来判断文件是否结束,如果遇到文件结束,函数值为【-1】,否则为【0】。7、在C程序中,系统为存放文件信息定义了一个结构体类型,取名为【FILE】。8、fopen函数打开一个文件时,通知给系统三个信息:【1】【2】【3】。9、fprintf和fscanf函数的读写对象是【磁盘文件】。10、设有以下结构类型:struct st{char name[8];int num;float s[4];}student[50];并且结构体数组student中的元素都已有值,若要将这些元素写到硬盘文件fp中,请将以下fwrite语句补充完整。fwrite (student,50*sizeof(struct st),1,fp);
⑻ 在C语言中,标准输入文件是什么,它的指针是什么
键盘系统的标准输入文件 指针stdin,显示器是系统的标准输出文件 指针stdout
⑼ C语言中头文件stdio.h里面的内容是什么而且这个头文件在哪名称可不可以不是stdio
…….额…..C语言中头文件 stdio.h 是c语言中的标准输入输出头文件,stdio即是stand input output 的缩写,如果你的程序中有输入输出操作,就必须使用该头文件,当然,如果你牛逼到可以自己写函数实现输入输出操作,也可以不用这个头文件。如果你的程序中只有逻辑处理,没有输入输出操作,就可以删掉这个头文件。总之,头文件的使用是按需使用的,你的程序需要使用到什么功能就要加入对应的头文件。多说一点,实际上头文件只是声明了函数而已,真正编译运行的时候还需要lib库和dll库。你要是刚开始学c语言的话现在完全不用管这些,只需要知道头文件就行了………………另外:不要随便修改这些标准文件的名称——–标准名称是为了方便你的使用…而程序那么庞杂,如果你不按照标准化的规则办事,,那么出现问题的时候就难以快速的找到问题根源啦!
⑽ C语言中什么是标准输入和标准输出
执行一个shell命令行时通常会自动打开三个标准文件,即标准输入文件(stdin),通常对应终端的键盘;标准输出文件(stdout)和标准错误输出文件(stderr),这两个文件都对应终端的屏幕。进程将从标准输入文件中得到输入数据,将正常输出数据输出到标准输出文件,而将错误信息送到标准错误文件中。