c++流类库与输入输出习题答案

合集下载

C语言课后习题参考答案(教材第三版 第七章以后只有选择填空题答案)[1]

C语言课后习题参考答案(教材第三版 第七章以后只有选择填空题答案)[1]

第一章习题参考答案一、单项选择题1. C2. B3. B4.C5. D6. A7. C8. A二、填空题1. 判断条件2. 面向过程编程3. 结构化4. 程序5. 面向对象语言6. 基本功能操作控制结构7. 有穷性8. 直到型循环结构9. 算法10. 可读性11. 模块化12. 对问题的分解和模块的划分第二章习题参考答案一、单项选择题1. B2. D3. C4. B5. A6. A7. B8. C二、填空题1. 主2. C编译系统3. 函数一个主函数和若干函数4. 输入输出5. 以.h为扩展名的头文件6. .obj7. 库函数8. 文本第三章习题参考答案一、单项选择题1. D2. B3. A4. C5. C6. D7. B8. D9. B 10. C11. A 12. D 13. C 14. C 15. C16. C 17. B 18. C 19. C 20. D21. A 22. D 23. D 24. D A 25. D26. A二、填空1. 补码2. 取绝对值为10-308~1030815~16位3. 0或14. 赋值右向左5. 函数调用6. 65,89三、应用题1. 10 92. 111213. 区别是:求负:单目,右结合-a+b减法:双目,左结合a-b取地址:单目,右结合&a按位与:双目,左结合a&b第四章习题参考答案一、单项选择题1. D2. C3. D4. A5. D6. B7. A8. C9. B 10. B二、填空题1.一条;2. 5.1690003.(1)-200 2500(2)i=-200,j=2500(3)i=-200j=25004. a=98, b=765.000000, c=4321.0000005. 三种可能的输入是:(1)100<回车> 25.81<回车> 1.89234<回车>(2)100<空格> 25.81<空格> 1.89234<回车>(3)100<TAB > 25.81<TAB > 1.89234<回车>6. 0,0,37. 38. 输入语句是:scanf("%lf%lf%lf",&a,&b,&c);9. 13 13.000000 13.00000010. 3种方法:(1) 增加一个临时变量t。

C程序设计(数据的输入、输出)习题与答案

C程序设计(数据的输入、输出)习题与答案

一、单选题1、以下叙述中错误的是()。

A,复合语句在语法上被看作一条语句B.赋值表达式末尾加分号就构成赋值语句C.C语言的简单语句必须以分号结束D.空语句出现在任何位置都不会影响程序运行正确答案:D2、C语言的语句类型不包括()A.控制语句B,预处理命令C.简单语句D,复合语句正确答案:B3、以下不是C语言简单语句的是()A.声明语句B,跳转语句C,表达式语句D,函数调用语句正确答案:B4、下面是C语言合法的复合语句的是()A.{#definePI=3.14;doublevl,r=3;vl=PI*r*r;B.{doubles,a=5/b=10,h=8s=(a+b)*h/2.0printff'area=%lf,z,s))C.{intt z a=4z b=7;t=a,a=b,b=t);D.{doublevl,r=5;vl=4*3.14*r*r*r/3;(doublev2z h=12;v2=3,14*r*r*h;)printf("%lf z%lf',vl,v2);)正确答案:D5、以下关于C语言注释的说法正确的是()A.〃注释表示从//开始直到本行末尾的所有字符均是注释内容。

B,可以采用/*......*/的形式书写多行注释,其中的注释内容可以是任何字符。

C.C语言的注释将参与编译器编译,并形成指令。

D.写C语言程序时必须书写注释,否则会对程序的功能造成影响。

正确答案:A6、关于C语言语句书写格式的说法错误的是()A.C语言程序必须一行一个语句。

B.C语言允许一行书写多个语句。

c,编写C程序时,建议使用空格或Tab来做合理的间隔、缩进或对齐,使得程序形成逻辑相关的块状i吉构。

D.C语言允许将一个语句分成多行书写。

正确答案:A7、使用getchar和putchar函数进行单个字符输入输出时,必须使用预处理命令"#include M包括()文件。

A.stdio.hB.math.hC.string.hD.stdlib.h正确答案:A8、以下关于使用C语言实现输入输出的说法错误的是()A.输入指从外部输入设备(如键盘、鼠标等)向计算机输入数据。

C习题及参考答案.docx

C习题及参考答案.docx

第1章1.什么是软件?2.简述软件的开发过程。

3.什么是程序设计?4.简述程序设计过程。

5.数据结构的含义是什么?6.简述算法的表示方法。

7.什么是结构化算法?&简述结构化程序设计思想。

第2章C++的基础知识一、填空题1.C++语言中的标识符只能由_________ 、 ______ 和_______ 三种字符组成,且打头字符不能是 _______ O2.C++程序的目标文件的扩展名是___________ 。

3.在C++程序中,使用输入输出流需要包含的头文件是_______________________ o4.当执行cin时,从键盘上一次输入多个数据时,每个数据后必须输入一个______________ ,然后才可以接着输入下一个数据。

5.转义字符序列中的首字符是_________ 字符。

6.空字符串在内存屮的存储空间是__________ 个字节。

7.以/*开始,*/结束,在/*和可的部分即为___________________ o& 赋值表达式y二x++的含义是 ______________________________________ ,y=++x的含义是______________________ o9.cout输出转义字符______ 是使光标移到屏幕上的下一行。

10.C++语言的基本数据类型有 _________ 、 ______ 、_______ 、 _______ 、 _______ 五种。

二、判断题( )1. “C”是字符常量。

()2.在命名标识符时,大小写字母是不加区分的。

()3. C++程序中,对变量一定要先说明再使用,说明只要在使用之前就可以。

( )4. C++程序必须有return语句。

( )5.执行语句const int x=10;后,可以重新对x赋值。

( )6.语句a_char = W 表示将小写字母n赋值给字符变量a.charo ( )7. short, int都是C++语言的关键字。

流类库和输入输出C程序设计第2版课件

流类库和输入输出C程序设计第2版课件
ifstream ifile("test"); //打开test文件用于读,即输入
if (!ifile)
{ cout << "test文件不能打开" << endl;
return 0; } char str[80]; ifile >> str; // 与get不同, >>遇到空格时结束 ifile.close();
int=filebuf::openprot);
ofstream::ofstream(const char*,int=ios::out, int=filebuf::openprot);
fstream::fstream(const char*,int, int=filebuf::operprot);
所以1,2两步可合成: fstream iofile(”myfile.txt”,ios::in|ios::out);
int=filebuf::opernprot); void fstream::open(const char*,int,
int=filebuf::openprot); 第一个参数为要打开的磁盘文件名。第二个参数为打开方式, 有输入(in),输出(out)等,打开方式在ios基类中定义为 枚举类型。第三个参数为指定打开文件的保护方式,一般取默 认。所以第二步可如下进行: iofile.open(“myfile.txt”,ios::in|ios::out);
指针
streambuf
istream
ostream
ifstream
iostream
fstream
主要输入/输出流模板层次
ofstream
第2页,共21页。

C语言题库(带详细讲解答案解析).pdf

C语言题库(带详细讲解答案解析).pdf
29.未指定存储类别的变量,其隐含的存储类别为( A )。 A)auto B)static C)extern D)register
30. 若有以下说明语句: struct student { int num; char name[ ]; float score; }stu; 则下面的叙述不正确的是 : ( D ) A. struct 是结构体类型的关键字 B. struct student 是用户定义的结构体类型 C. num, score 都是结构体成员名 D. stu 是用户定义的结构体类型名
第一个 [ 下标 ] 表示行逻辑地址下标,第二个 [ 下标 ] 表示列逻辑地址下标。
本题图示详见 P149 图 6.7
因此 a 的行逻辑地址范围 0~2;a 的列逻辑地址范围 0~3;
选项 A,列逻辑地址下标超过范围
选项 B,D,的引用形式不正确。
0 开始计数
25.C 语言中函数返回值的类型是由
A
决定的 .
表示组中第 10 个元素 .
选项 A,超过了数组 a 的逻辑地址下标范围;
选项 B,逻辑地址下标只能为整数
选项 C,逻辑地址下标只能放在 [ ] 中
21. 若有以下数组说明,则 i=10;a[a[i]] 元素数值是( C )。
int a[12]={1,4,7,10,2,5,8,11,3,6,9,12};
A.10
B.9
C.6
D.5
先算 a[a[i]] 内层的 a[i] ,由于 i=10, 因此 a[i] 即 a[10].
a[10] 对应下面数组中的元素为 9. 因此 a[a[i]] 即为 a[9]
a[9] 对应下面数组中的元素为 6. 因此 a[9] 即为 6
22. 若有说明: int a[][3]={{1,2,3},{4,5},{6,7}};

C程序设计(第二版)第九章流类库与输入输出

C程序设计(第二版)第九章流类库与输入输出
点击访问格式控制标志相关接口函数
【例9.1】整型数输出。
basic_ ios
指针 basic_ streambuf
basic_ istream basic_ ostream
basic_ ifstream
basic_ iostream basic_ ofstream
basic_ fstream
图9.1 主要输入/输整出理p流pt 模板层次
3
9.1 C++的基本流类体系
right=0x0004,
//输出右对齐
internal=0x0008, //在输出符号或数制字符后填充
dec=0x0010, //在输入输出时将数据按十进制处理
oct=0x0020, //在输入输出时将数据按八进制处理
hex=0x0040, //在输入输出时将数据按十六进制处理
整理ppt
7
9.2 输入输出的格式控制(选读)
“插入”的含义是指输出操作,可看作向流中插入一个字 符序列。
cin使用提取运算符。 cout、cerr和clog使用插入运算符。
文件:
文件处理完成永久保存的功能。 在Windows下不同的C++平台,都为文件功能作了扩充, 在VC++的MFC编程中采用了序列化(Serialization)。
整理ppt
6
9.2 输入输出的格式控制(选读)
格式控制符:
C++在类ios_base中提供格式化输入输出。这些格式 是对所有文本方式的输入输出流均适用。格式控制符 定义为公有的无名枚举类型,在VC++6.0中定义为:
enum{
skipws=0x0001,

C语言全部章节习题集(参考答案)

C语言全部章节习题集(参考答案)

第一章 C语言概述一、选择题:1、一个C程序的执行是从( A )。

A本程序的main函数开始,到main函数结束B本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C本程序的main函数开始,到本程序文件的最后一个函数结束D本程序文件的第一个函数开始,到本程序main函数结束2、在 C 语言中,每个语句必须以( D )结束。

A. 回车符B. 冒号C. 逗号D. 分号3、C 语言规定:在一个源程序中,main函数的位置( C )。

A. 必须在最开始B. 必须在系统调用的库函数的后面C. 可以任意D. 必须在最后4、一个C 语言程序是由( B )。

A. 一个主程序和若干子程序组成B. 函数组成C. 若干过程组成D. 若干子程序组成5、下列说法中错误的是( D )。

A. 主函数可以分为两个部分:主函数说明部分和主函数体B. 主函数可以调用任何非主函数的其他函数C. 任何非主函数可以调用其他任何非主函数D. 程序可以从任何非主函数开始执行6、用 C 语言编写的源文件经过编译,若没有产生编译错误,则系统将( C )。

A. 生成可执行目标文件B. 生成目标文件C. 输出运行结果D. 自动保存源文件二、填空题:1、C 语言只有 32 个关键字和 9 种控制语句。

2、每个源程序有且只有一个 main 函数,系统总是从该函数开始执行C语言程序。

3、C 语言程序的注释可以出现在程序中的任何地方,它总是以 \* 符号作为开始标记,以 */ 符号作为结束标记。

4、C 语言中,输入操作是由库函数 scanf 完成的,输出操作是由库函数 printf 完成的。

5、系统默认的C 语言源程序文件的扩展名是 .c ,经过编译后生成的目标文件的扩展名是 .obj ,经过连接后生成的可执行文件的扩展名是 .exe 。

6、C 语言的标识符只能由字母、数字和下划线三种字符组成。

第三章数据类型、运算符和表达式一、选择题:1、以下选项中,不正确的 C 语言浮点型常量是( C )。

c++流类库与输入输出习题答案

c++流类库与输入输出习题答案

1.概念填空题1.1头文件iostream中定义了4个标准流对象cin,cout,cerr,clog。

其中标准输入流对象为cin,与键盘连用,用于输入;cout为标准输出流对象,与显示器连用,用于输出。

1.2用标准输入流对象cin与提取操作符>>连用进行输入时,将空格与回车当作分隔符,使用get()成员函数进行输入时可以指定输入分隔符。

1.3每一个输入输出流对象都维护一个流格式状态字,用它表示流对象当前的格式状态并控制流的格式。

C++提供了使用格式控制函数与操作子函数来控制流的格式的方法。

1.4 C++根据文件内容的数据格式可分为两类:文本文件和二进制文件。

前者存取的最小信息单位为字节,后者记录。

1.5文件输入是指从文件向内存读入数据;文件输出则指从内存向文件输出数据。

文件的输入输出首先要打开文件;然后进行读写;最后关闭文件。

1.6文本文件是存储ASCII码字符的文件,文本文件的输入可用cin从输入文件流中提取字符实现。

文本文件的输出可用cout将字符插入到输出文件流来实现。

程序在处理文本文件时需要(需要/不需要)对数据进行转换。

1.7二进制文件是指直接将计算机内的数据不经转换直接保存在文件中。

二进制文件的输入输出分别采用read()、write() 成员函数。

这两个成员函数的参数都是2个,分别表示读写缓冲区和字节数。

1.8设定、返回文件读指针位置的函数分别为seekg,tellg;设定、返回文件写指针位置的函数分别为seekp,tellp。

2 简答题2.1 为什么cin输入时,空格和回车无法读入?这时可改用哪些流成员函数?2.2 文件的使用有它的固定格式,试做简单介绍。

2.3 在ios类中定义的文件打开方式中,公有枚举类型open_mode的各成员代表什么文件打开方式?2.4 简述文本文件和二进制文件在存储格式、读写方式等方面的不同,各自的优点和缺点。

2.5 文本文件可以按行也可以按字符进行复制,在使用中为保证能完整复制要注意哪些问题?2.6 文件的随机访问为什么总是用二进制文件,而不用文本文件?2.7 怎样使用istream和ostream的成员函数来实现随机访问文件?3.选择题3.1要进行文件的输出,除了包含头文件iostream外,还要包含头文件(C )。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.概念填空题 1.1 头文件 iostream 中定义了 4 个标准流对象 cin , cout , cerr , clog 。其中标准输入 流对象为 cin ,与 键盘 连用,用于输入; cout 为标准输出流对象,与显示器 连用,用 于输出。 1.2 用标准输入流对象 cin 与提取操作符>>连用进行输入时, 将 空格 与 回车 当作分隔符, 使用 get() 成员函数进行输入时可以指定输入分隔符。 1.3 每一个输入输出流对象都维护一个 流格式状态字 ,用它表示流对象当前的格式状态并 控制流的格式。C++提供了使用 格式控制 函数与 操作子 函数来控制流的格式的方法。 1.4 C++根据文件内容的 数据格式 可分为两类: 文本文件 和 二进制文件 。前者存取 的最小信息单位为 字节 ,后者 记录 。 1.5 文件输入是指从文件向 内存 读入数据;文件输出则指从 内存 向文件输出数据。文件 的输入输出首先要 打开文件 ;然后 进行读写 ;最后 关闭文件 。 1.6 文本文件是存储 ASCII 码字符的文件, 文本文件的输入可用 cin 从输入文件流中提取字 符实现。文本文件的输出可用 cout 将字符插入到输出文件流来实现。程序在处理文本文件 时 需要 (需要/不需要)对数据进行转换。 1.7 二进制文件是指直接将计算机内的数据不经转换直接保存在文件中。二进制文件的输入 输出分别采用 read()、write() 成员函数。 这两个成员函数的参数都是 2 个,分别表示 读 写缓冲区 和 字节数 。 1.8 设定、返回文件读指针位置的函数分别为 seekg , tellg ;设定、返回文件写指针位置 的函数分别为 seekp , tellp 。 2 简答题 2.1 为什么 cin 输入时,空格和回车无法读入?这时可改用哪些流成员函数? 2.2 文件的使用有它的固定格式,试做简单介绍。 2.3 在 ios 类中定义的文件打开方式中,公有枚举类型 open_mode 的各成员代表什么文件打 开方式? 2.4 简述文本文件和二进制文件在存储格式、读写方式等方面的不同,各自的优点和缺点。 2.5 文本文件可以按行也可以按字符进行复制, 在使用中为保证能完整复制要注意哪些问 题? 2.6 文件的随机访问为什么总是用二进制文件,而不用文本文件? 2.7 怎样使用 istream 和 ostream 的成员函数来实现随机访问文件? 3.选择题 3.1 要进行文件的输出,除了包含头文件 iostream 外,还要包含头文件(C ) 。 A.ifstream B.fstream C.ostream D.cstdio 3.2 执行以下程序: char *str; cin>>str; cout<<str; 若输入 abcd 1234↙则输出(D) 。 A.abcd B.abcd 1234 C.1234 D.输出乱码或出错 3.3 执行下列程序: char a[200]; cin.getline(a,200,’ ‘);
ifile.getline(text,999); rows++; i=0; while(text[i]!=0){ if(!isalph(text[i])) inword=false; else if(isalph(text[i]) && inword==false){ words++; inword=true; } i++; } } cout<<"rows= "<<rows<<endl; cout<<"words= "<<words<<endl; ifile.close (); return 0; } bool isalph(char c){ return ((c>='A' && c<='Z') || (c>='a' && c<='z')); } 4.4 编写一程序,将 C++源程序每行前加上行号与一个空格。 #include<iostream> #include<fstream> using namespace std; int main(){ int i=1; char c[1000]; ifstream ifile("D:\\10_4_3.cpp"); ofstream ofile("D:\\r10_4_3.cpp"); while(!ifile.eof()){ ofile<<i++<<": "; ifile.getline(c,999); ofile<<c<<endl; } ifile.close(); ofile.close(); return 0; } 4.5 编写一程序,输出 ASCII 码值从 20 到 127 的 ASCII 码字符表,格式为每行 10 个。 #include<iostream> using namespace std; int mai数据输入/输出: (1)以左对齐方式输出整数,域宽为 12。 (2)以八进制、十进制、十六进制输入/输出整数。 (3)实现浮点数的指数格式和定点格式的输入/输出,并指定精度。 (4)把字符串读入字符型数组变量中,从键盘输入,要求输入串的空格也全部读入,以回车 符结束。 (5)将以上要求用流成员函数和流操作子各做一遍。 Ios 类成员函数实现 #include<iostream> #include<iomanip> using namespace std; int main(){ long a=234; double b=2345.67890; char c[100]; cout.fill('*'); cout.flags(ios_base::left); cout.width(12); cout<<a<<endl; cout.fill('*'); cout.flags(ios::right); cout.width(12); cout<<a<<endl; cout.flags(ios.hex); cout<<234<<'\t'; cout.flags(ios.dec); cout<<234<<'\t'; cout.flags(ios.oct); cout<<234<<endl; cout.flags(ios::scientific); cout<<b<<'\t'; cout.flags(ios::fixed); cout<<b<<endl; cin.get(c,99); cout<<c<<endl; return 0; } 流操作子实现 #include<iostream> #include<iomanip> using namespace std; int main(){ long a=234;
cout<<a; 若输入 abcd 1234↙则输出(A) 。 A.abcd B.abcd 1234 C.1234 D.输出乱码或出错 3.4 定义 char *p=”abcd”,能输出 p 的值( “abcd”的地址)的为(A /D ?) 。 A.cout<<&p; B.cout<<p; C.cout<<(char*)p; D.cout<<const_cast<void *>(p); 3.5 以下程序执行结果(A) 。 cout.fill(‘#’); cout.width(10); cout<<setiosflags(ios::left)<<123.456; A.123.456### B.123.4560000 C.####123.456 D.123.456 3.6 当使用 ifstream 定义一个文件流,并将一个打开文件的文件与之连接,文件默认的打开 方式为(A) 。 A.ios::in B.ios::out C.ios::trunc D.ios::binary 3.7 从一个文件中读一个字节存于 char c;正确的语句为(B) 。 A.file.read(reinterpret_cast<const char *>(&c), sizeof(c)); B.file.read(reinterpret_cast<char *>(&c), sizeof(c)); C.file.read((const char *)(&c), sizeof(c)); D.file.read((char *)c, sizeof(c); 3.8 将一个字符 char c=’A’写到文件中错误的语句为(D) 。 A.file.write(reinterpret_cast<const char *>(&c), sizeof(c)); B.file.write(reinterpret_cast<char *>(&c), sizeof(c)); C.file.write((char *)(&c), sizeof(c)); D.file.write((const char *)c, sizeof(c)); 3.9 读文件最后一个字节(字符)的语句为(B) 。 A.myfile.seekg(1,ios::end); B.myfile.seekg(-1,ios::end); c=myfile.get(); c=myfile.get(); C.myfile.seekp(ios::end,0); D.myfileseekp(ios::end,1); c=myfile.get(); c=myfile.get(); 3.10 read 函数的功能是从输入流中读取(D )。 A.一个字符 B.当前字符 C.一行字符 D.指定若干字节 3.11 要求打开文件 D:\file.dat,并能够写入数据,正确的语句是( D )。 A.ifstream infile("D:\\file.dat", ios::in); B. ifstream infile("D:\\file.dat", ios::out); C. ofstream outfile("D\\file.dat", ios::in); D.fstream infile("D\\file.dat", ios::in | ios::out); 3.12 设己定义浮点型变量 data,以二进制方式把 data 的值写入输出文件流对象 outfile 中去 , 正确的每句是( C )。 A. outfile.write((double*)&data, sizeof (double)); B.outfile.write((double*)&data, data); C. outfile.write((char*)&data, sizeof (double)); D. outfile.write((char*)&data, data);
相关文档
最新文档