没有合适的资源?快使用搜索试试~ 我知道了~
C++ 习题解答C++程序设计基础(第5版)(上) 习题与解答
资源推荐
资源详情
资源评论
C++ 程序设计基础(第 5 版)(上)
习题与解答
第 1 章练习题
同步练习 1.1
一、选择题
1.一个最简单的 C++程序,可以只有一个( )。
(A)库函数 (B)自定义函数 (C)main 函数 (D)空函数
2.函数名是( ),用于识别和调用函数。
(A)关键字 (B)标识符 (C)常数 (D)语句
3.用 C++语言编写的源程序要成为目标程序必须要经过( )。
(A)解释 (B)汇编 (C)编辑 (D)编译
4.C++程序中的简单语句必须以( )结束。
(A)冒号 (B)分号 (C)空格 (D)花括号
5.程序中把表达式“a+0.5”写为“a*0.5”,是( )错误。
(A)编译 (B)连接 (C)运行 (D)逻辑
【解答】 C B D B D
二、程序练习
用一个简单问题,练习程序的书写格式。
(1)问题
输入一个摄氏温度值,转换输出华氏温度值。转换公式为:
式中,F 是华氏温度值,C 是摄氏温度值。想一想,应该如何正确把转换公式写成 C++表达式。
(2)分析
首先,分析本问题需要的数据表示和数据处理。
数据: 摄氏温度 C,华氏温度 F。
处理: 输入 C;
计算 F;
输出 C 和 F。
然后,逐步细化:① 说明变量 C 和 F;② 显示提示输入摄氏温度值的信息;③ 从键盘输入 C 的值;
④ 通过转换公式计算 F 的值;⑤ 以清晰的说明输出 C 和 F。
(3)编写代码
简单程序语法格式:
程序与外部连接表示
主函数
程序中需要连接系统的输入/输出流类库。使用 VC 2010,要用宏指令包含头文件,使用标准名空间
的 using 语句。主函数定义包括函数头和函数体。
程序框架:
#include<iostream>
using namespace std;
int main()
{
//语句序列
}
根据以上分析写出一个完整的程序,并在集成开发环境编译执行。运行结果如下:
请输入摄氏温度 C:
26.5
摄氏温度 C=26.5
华氏温度 F=79.7
【解答】
#include<iostream>
using namespace std;
int main()
{
double C,F;
cout<<"请输入摄氏温度 C:\n";
cin>>C;
F=(9.0/5)*C+32;
cout<< "摄氏温度 C=" <<C<<endl;
cout<< "华氏温度 F=" <<F<<endl;
}
想一想
把程序中的语句
F=(9.0/5)*C+32;
改为
F=(9/5)*C+32;
测试一下,程序计算结果将会有什么错误?想想为什么?
同步练习 1.2
1.在下列选项中,全部都是 C++关键字的选项为( )。
(A)while IF Static (B)break char go
(C)sizeof case extern (D)switch float integer
2.按 C++标识符的语法规定,合法的标识符是( )。
(A)_abc (B)new (C)π (D)"age"
3.在 C++语句中,两个标识符之间( )不能作为 C++的分隔符。
(A)数字 (B); (C): (D)+
4.可以用于命名变量的标识符是( )。
(A)3x (B)const (C)name_2 (D)a.com
5.说明变量 a 是整型变量的正确语句是( )。
(A)int a; (B)inta; (C)Int a; (D)INTa;
【解答】 C A A C A
同步练习 1.3
一、选择题
1.下列正确的八进制整型常量表示是( )。
(A)0a0 (B)015 (C)080 (D)0x10
2.下列错误的十六进制整型常量表示是( )。
(A)0x11 (B)0xaf (C)0xg (D)0x1f
3.在下列选项中,全部都合法的浮点型数据的选项为( )。
(A)-1e3.5 15. 2e-4 (B)12.34 -1e+5 0.1E-12
(C)0.2e-2 -12345. e-5 (D)5.0e(1+4) 0.1 8e+2
4.在下列选项中,正确的字符常量为( )。
(A)"a" (B)'name' (C)a (D)'\101'
5.下列选项中,结果等于 false 的是( )。
(A)1<3 (B)1=3 (C)1==3 (D)1!=3
【解答】 B C B D C
二、程序练习
sizeof 运算可以求一个数据或数据类型所要求的字节数。例如:
sizeof(int) 结果为 4
sizeof(3.14) 结果为 8
编写程序,显示以下数据类型要求的字节数:
char short int int long int double long double
【解答】
#include<iostream>
using namespace std;
int main()
{
cout<<"sizeof(char)="<<sizeof(char)<<endl;
cout<<"sizeof(short int)="<<sizeof(short int)<<endl;
cout<<"sizeof(int)="<<sizeof(int)<<endl;
cout<<"sizeof(long int)="<<sizeof(long int)<<endl;
cout<<"sizeof(double)="<<sizeof(double)<<endl;
cout<<"sizeof(long double)="<<sizeof(long double)<<endl;
}
同步练习 1.4
一、选择题
1.在下列语句选项中,( )不能交换变量 a 和 b 的值。
(A)t=b; b=a; a=t; (B)a=a+b; b=a-b; a=a–b;
(C)t=a; a=b; b=t; (D)a=b; b=a;
2.关于下列语句,叙述错误的是( )。
int i=10, p=&i;
(A)p 的值为 10 (B)p 指向整型变量 i
(C)p 表示变量 i 的值 (D)p 的值是变量 i 的地址
3.有以下变量说明,下面不正确的赋值语句是( )。
int a=5, b=10, c; int p1 = &a, p2 = &b;
(A)p2 = b; (B)p1 = a;
(C)p2 = p1; (D)c = p1 (p2);
4.有以下变量说明,下面正确的语句是( )。
int a=10, b; int &pa=a, &pb=b;
(A)&pb = a; (B)pb = pa; (C)pb = &pa; (D)pb = pa;
5.执行下面语句序列后,a 和 b 的值分别为( )。
int a=5, b=3, t;
int &ra=a;
int &rb=b;
t=ra; ra=rb; rb=t;
(A)3 和 3 (B)3 和 5 (C)5 和 3 (D)5 和 5
【解答】 D A B B B
二、程序练习
阅读以下程序,分析下面语句序列中每个字符“”和“&”的含义,并写出输出结果。
#include <iostream>
using namespace std;
int main()
{ int a=10, b=20;
int *p=&a, *q=&b;
*p =*p* *q;
int & ra = a;
ra=a;
int *& rt = q;
*rt = 30;
cout<<"a="<<a<<"\nb="<<b<<"\n*p="<<*p<<"\n*q="<<*q
<<"\nra="<<ra<<"\n*rt="<<*rt<<endl;
}
【解答】
int main()
{
int a=10, b=20;
int p = &a, q = &b; //*为指针类型说明符,&是取址运算符
p = p q; //第 1、2、4 个*为间址运算符,第 3 个是算数乘运算符
int & ra = a; //&是引用说明符
ra=a;
int & rt = q; //*指针说明符,&引用说明符
rt = 30; //*间址运算符
//字符串中的*是字符,其他是间址运算符
cout<<"a="<<a<<"\nb="<<b<<"\np="<<p<<"\nq="<<q
<<"\nra="<<ra<<"\nrt="<<rt<<endl;
}
程序运行结果:
同步练习 1.5
一、选择题
1.假设有说明 int a=0; double x=5.16; 则在以下语句中,( )属于编译错误。
(A)x=a/x; (B)x=x/a; (C)a=a%x; (D)x=x
a;
2.在下列运算符中,( )优先级最高。
(A)<= (B)= (C)+ (D)
3.在下列运算符中,( )优先级最低。
(A)! (B)&& (C)!= (D)? :
4.已知 int i=1, j=2; 则表达式 i+++j 的值为( )。
(A)1 (B)2 (C)3 (D)4
5.已知 int i=1, j=2; 则表达式 ++i+j 的值为( )。
(A)1 (B)2 (C)3 (D)4
6.在下列表达式选项中,( )是正确。
(A)++(a++) (B)a++b (C)a+++b (D)a++++b
7.已知 int i=0, j=1, k=2; 则逻辑表达式 ++i || --j && ++k 的值为( )。
(A)0 (B)1 (C)2 (D)3
剩余63页未读,继续阅读
资源评论
foreigna
- 粉丝: 0
- 资源: 1
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功