二级C++精品课程第二章小结与课后习题
www.nanhushi.com 佚名 不详
【本章小结】 本章讲述了C++语言的基本知识。 ◇ 在C++语言中,语句、变量、函数、预处理指令、输入和输出等,是重要的概念,应该在编程实践中逐渐掌握这些概念和它们的应用。 ◇ 标识符是用来标识变量、函数、数据类型等的字符序列。C++中的标符可以由大写字母、小写字母、下划线(_)和数字0~9组成,但必须是以大写字母、小写字母或下划线(_)开头。C++语言中预定义了一些标识符,称之为关键字,它们不能被再定义。 ◇ 布尔型、字符型、整型、浮点型和空类型是基本数据类型。指针、数组、引用、结构和类可以通过基本数据类型进行构造,称之为复合数据类型。 ◇ 变量就是机器一个内存位置的符号名,在该内存位置可以保存数据,并可通过符号名进行访问。为了提高程序的可读性,给变量命名时,应该注意使用有意义的名字。变量第一次赋值称之为初始化,变量在使用之前应当先声明。 ◇ 常量是在程序运行过程中,其值不能改变的量。 ◇ C++语言本身没有输入输出功能,而是通过输入输出库完成I/O操作。C程序使用的stdio(标准I/O)I/O库也能够在C++中使用;另外C++语言还提供了一种称之为iostream(I/O 流库)的I/O库。
一、选择题:1.C++程序的执行总是从哪里开始的? a.main函数 b.第一行 c.头文件 d.函数注释2.字符型数据在内存中的存储形式是: a.原码 b.补码 c.反码 d.ASCII码3.下面常数中不能作为常量的是 a.0xA5 b.2.5e-2 c.3e2 d.05834.以下选项中是正确的整型常量的是: a.1.2 b.–20 c.1,000 d.6 7 45.以下选项中不是正确的实型常量的是: a.3.8E-1 b.0.4e 2 c.–43.5 d.243.43e-2
二、改错题1.指出下面程序中的错误 void main( ) { cout<<"This is a string" } 2.指出下面程序中的错误 #include void main( ) { cin>>x; int p=x*x; cout<<"p=< } 3.指出下面程序中的错误 #include void main( ) { int i,j; i=5; int k=i+j; cout<<"i+j="< } 4."A"与'A'是等价的。 二 改错题答案 1.答: 错误有二,首先程序中用到输出对象cout,则必须在程序首部加上文件包含语句#include 。第二,语句结束必须有结束符";"。 2.答:错误有二,首先变量必须先定义后使用,而x未定义就输入值是错误的。第二,如果程序要输出p的值,括号位置是不对的,第二个语句应写为:cout<<"p="< 3.答:变量应先定义再使用,但还要注意,变量要初始化后才能引用。因j未初始化, k的结果是不可预料的。 4.二者一个是字符串,一个是字符,是不等价的,前者由两个字节组成(字符'A'与字符'\0'),而后者只有一个字节。
} 3.指出下面程序中的错误 #include void main( ) { int i,j; i=5; int k=i+j; cout<<"i+j="< } 4."A"与'A'是等价的。
二 改错题答案 1.答: 错误有二,首先程序中用到输出对象cout,则必须在程序首部加上文件包含语句#include 。第二,语句结束必须有结束符";"。 2.答:错误有二,首先变量必须先定义后使用,而x未定义就输入值是错误的。第二,如果程序要输出p的值,括号位置是不对的,第二个语句应写为:cout<<"p="< 3.答:变量应先定义再使用,但还要注意,变量要初始化后才能引用。因j未初始化, k的结果是不可预料的。 4.二者一个是字符串,一个是字符,是不等价的,前者由两个字节组成(字符'A'与字符'\0'),而后者只有一个字节。
3.答:变量应先定义再使用,但还要注意,变量要初始化后才能引用。因j未初始化, k的结果是不可预料的。 4.二者一个是字符串,一个是字符,是不等价的,前者由两个字节组成(字符'A'与字符'\0'),而后者只有一个字节。
三、编程题:1.写出能被编译、连接和运行的、最小的C++程序。 2.编写一个程序,实现一个温度格式转换器。接受用户输入华氏温度,要求输出摄氏温度(换算公式为C=5(F-32)/ 9),输入输出要有文字说明。 3.编写程序,计算圆周长、面积及球体积。要求用户输入半径,输出计算结果(要有文字说明)。 4.给出下面程序输出的结果: #include void main( ) { int a; char ch; ch='a' ; ch++; a=ch; cout< } 5.给出下面程序输出的结果: #include void main() { int a=10; float b=-5.2; printf("a=%#o,b=.3f",a,b); } 6.给出下面程序输出的结果: #include void main() { int a=-3; printf("%d,%o,%x,%X,%6x\n",a,a,a,a,a); } 7.给出下面程序输出的结果: #include void main() { char ch='a'; int a=65; printf("%c,%d,<\n",ch,ch,ch); printf("%c,%d,=\n",a,a,a); } 8.给出下面程序输出的结果: #include void main() { printf("%3s,%-5.3s,%5.2s\n","hello","hello","hello"); }
三、 编程题答案 1. void main(){} 2. 参考程序如下: #include <iostream.h> void main() { double F,C; /* 输入部分 */ cout<<"请输入华氏温度:"; cin>>F;
/* 计算部分 */ C = 5.0 * (F - 32.0) / 9.0;
/* 输出部分 */ cout<<"相应的摄氏温度为:"<<C<<endl; } 3. 参考程序如下: #include <iostream.h> const double PI= 3.1415 ; void main() { double R,C,S,V;
/* 输入部分 */ cout<<"请输入半径:"; cin>>R;
/* 计算部分 */ C = 2.0 * PI * R; S = PI * R * R; V = 4.0 * S * R / 3.0;
/* 输出部分 */ cout<<"圆周长为:"<<C<<endl; cout<<"圆面积为:"<<S<<endl; cout<<"圆球体积为:"<<V<<endl; }程序输出结果为: 请输入半径:2.0 圆周长为:12.566 圆面积为:12.566 圆球体积为:33.5093 4.答:将输出 98 5.输出结果为:a=012,b=-005.200 6.输出结果为:-3,37777777775,fffffffd,FFFFFFFD,fffffffd 7.输出结果为: a,97, a A,65, 65 8.输出结果为: hello,hel , he 说明:第一个"hello"按%3s输出,由于"hello"长度超过3,因此按实际长度输出。第二个"hello"输出宽度为5,且从前面截取3个字符左对齐输出,第三个"hello"的输出宽度仍为5,从"hello"中截取2个字符右对齐输出。