1. 一个最简单的 C++ 程序,可以只有一个( )。 A.库函数 B.自定义函数 C.main 函数 D.空函数 答题: A. B. C. D. (已提交) -->参考答案:C 问题解析: |
2. 用 C++ 语言编写的源程序要成为目标程序必须要经过( )。 A.解释 B.汇编 C.编辑 D.编译 答题: A. B. C. D. (已提交) -->参考答案:D 问题解析: |
3. C++ 程序中的简单语句必须以( )结束。 A.冒号 B.分号 C.空格 D.花括号 答题: A. B. C. D. (已提交) -->参考答案:B 问题解析: |
4. 程序中把表达式“a+0.5”写为“a*0.5”,是( )错误。 A.编译 B.连接 C.运行 D.逻辑 答题: A. B. C. D. (已提交) -->参考答案:D 问题解析: |
5. 在下列选项中,全部都是C++ 关键字的选项为( )。 A.while IF Static B.break char go C.sizeof case extern D.switch float integer 答题: A. B. C. D. (已提交) -->参考答案:C 问题解析: |
6. 按C++标识符的语法规定,合法的标识符是( )。 A._abc B.new C.π D."age" 答题: A. B. C. D. (已提交) -->参考答案:A 问题解析: |
7. 下列正确的八进制整型常量表示是( )。 A.0a0 B.015 C.080 D.0x10 答题: A. B. C. D. (已提交) -->参考答案:B 问题解析: |
8. 下列错误的十六进制整型常量表示是( )。 A.0x11 B.0xaf C.0xg D.0x1f 答题: A. B. C. D. (已提交) -->参考答案:C 问题解析: |
9. 可以用于命名变量的标识符是( )。 A.3x B.const C.name_2 D.a.com 答题: A. B. C. D. (已提交) -->参考答案:C 问题解析: |
10. 说明变量a是整形变量的正确语句是( )。 A.int a; B.inta; C.Int a; D.INTa; 答题: A. B. C. D. (已提交) -->参考答案:A 问题解析: |
11. 在下列选项中,正确的字符常量为( )。 A."a" B.'name' C.a D.'\101' 答题: A. B. C. D. (已提交) -->参考答案:D 问题解析: |
12. 在下列选项中,结果等于false的是( )。 A.1<3 B.1=3 C.1==3 D.1!=3 答题: A. B. C. D. (已提交) -->参考答案:C 问题解析: |
13. 在下列选项中,( )不能交换变量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; 答题: A. B. C. D. (已提交) -->参考答案:D 问题解析: |
14. 关于下列语句,叙述错误的是( )。 int i=10, *p=&i; A.p的值为10 B.p指向整型变量i C.*p表示变量i的值 D.p的值是变量i的地址 答题: A. B. C. D. (已提交) -->参考答案:A 问题解析: |
15. 有以下变量说明,下面不正确的赋值语句是( )。 int a=5, b=10, c; int *p1 = &a, *p2 = &b; A.*p2 = b; B.p1 = a; C.p2 = p1; D.c = *p1*(*p2); 答题: A. B. C. D. (已提交) -->参考答案:B 问题解析: |
16. 执行下面语句序列后,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 答题: A. B. C. D. (已提交) -->参考答案:B 问题解析: |
17. 在下列运算符中,( )优先级最高。 A.<= B.= C.+= D.* 答题: A. B. C. D. (已提交) -->参考答案:D 问题解析: |
18. 已知int i=1, j=2;,则表达式i+++j的值为( )。 A.1 B.2 C.3 D.4 答题: A. B. C. D. (已提交) -->参考答案:C 问题解析: |
19. 已知int a=1, b=2, c=3, d=4;,则表达式a < b? a:c<d? c:d A.1 B.2 C.3 D.4 答题: A. B. C. D. (已提交) -->参考答案:A 问题解析: |
20. 逗号表达式(x=4*5, x*5), x+25的值为( )。 A.25 B.20 C.100 D.45 答题: A. B. C. D. (已提交) --> 参考答案:D |
1.什么叫数据类型?变量的类型定义有什么作用?
【解答】
数据“类型”是对数据的抽象。类型相同的数据有相同的表示形式、存储格式以及相关的操作。定义一个变量时,计算机根据变量的类型分配存储空间,并以该类型解释存放的数据。
2.普通数据类型变量和指针类型变量的定义、存储、使用方式上有何区别?请编写一个程序验证之。
【解答】
变量类型 | 定义 | 存储 | 使用方式 |
---|---|---|---|
数据 | 类型 标识符 | 数据值 | 通过名访问即直接访问对变量内容操作 |
指针 | 类型 * 标识符 | 地址值 | 通过指针变量的地址值间址访问对象 |
验证程序:
#include<iostream>
using namespace std;
int main()
{
int a,b,c;
cout<<"a,b,c= ";
cin>>a>>b>>c; //对普通数据类型变量赋值
int *pa=&a,*pb=&b,*pc=&c; //用变量地址值初始化指针变量
cout<<"a,b,c= "<<a<<", "<<b<<", "<<c<<endl; //名访问,输出a,b,c的值
cout<<"pa,pb,pc= "<<pa<<", "<<pb<<", "<<pc<<endl; //输出指针变量的地址值
//间址访问,输出pa,pb,pc指向的变量的赋值
cout<<"*pa,*pb,*pc= "<<*pa<<", "<<*pb<<", "<<*pc<<endl;
}
3.什么叫数据对象的引用?对象的引用和对象的指针有什么区别?请用一个验证程序说明之。
【解答】
引用是为数据对象定义别名。引用与指针有以下几点区别:
(1)引用名不是内存变量,而指针变量要开辟内存空间。
(2)引用名需要在变量定义与变量名绑定,并且不能重定义;指针变量可以在程序中赋给不同的地址值,改变指向。
(3)程序中用变量名和引用名访问对象的形式和效果一样;指针变量通过间址访问对象。
验证程序:
#include<iostream>
using namespace std;
int main ()
{
int a;
cout<<"a=";
cin>>a;
int ra=a;
int *pa=&a;
cout<<"a的值:"<<a<<endl;
cout<<"a的地址:"<<&a<<endl;
cout<<"ra的值:"<<ra<<endl;
cout<<"ra的地址:"<<&ra<<endl;
cout<<"pa所指向的变量的值:"<<*pa<<endl;
cout<<"pa的地址:"<<pa<<endl;
}
4.数据对象在C++中有什么不同的访问方式?请编写一个程序验证之。
【解答】
数据对象在C++中的访问方式有:名访问,引用(别名)访问,间址访问。
验证程序:
#include<iostream>
using namespace std;
int main()
{
int a;
cout<<"a=";
cin>>a;
a=a+5; //名访问
cout<<&a<<endl; //输出变量地址
cout<<*(&a)<<endl; //地址访问,输出变量值
int *pa=&a; //说明指针变量,指向变量a
cout<<*pa<<endl; //间址访问,输出变量值
int &ra=a; //ra是a的引用
cout<<ra<<endl; //引用访问,输出变量a的值
}
5.为了约束对数据对象的值做只读操作,C++采用什么方式?请做出简要归纳。
【解答】
约束数据对象只读形式如下:
约束对象 | 说明形式 |
---|---|
标识常量 | const 类型 常量标识符=常量表达式; |
指针常量 | 类型 * const 指针; |
指向常量的指针 | const 类型 * 指针; 或者 类型 const * 指针; |
指向常量的指针常量 | const 类型 * const 指针; 或者 类型 const * const 指针; |
常引用 | const 类型 & 引用名 = 对象名; |
6.什么叫表达式?表达式值的类型由什么因素决定?使用不同运算符连接以下3个变量,请写出5个以上获得值等于true的表达式。
int a=1, b=2; double x=0.5;
【解答】
表达式是由数据和运算符,按求值规则,表达一个值的式子。
表达式值的类型的决定因素为操作数的类型。
(1)如果运算符左右操作数类型相同,运算结果也是相同类型。
(2)如果运算符左右操作数类型不同,首先把类型较低(存储要求,示数能力较低)的数据转换成类型较高的数据,然后运算。
(3)赋值表达式的类型由被赋值变量的类型决定。当把一个表达式的值赋给一个变量时,系统首先强制把运算值转换成变量的类型,然后执行写操作。
6个值等于true的表达式:
(1)b>a && a>x (2)(a+b)!=x (3)a||(b+x)
(4)a==(b*x) (5)a-b<x (6)(a/x==b)
程序设计
1.输入一个三位整数,将它反向输出。
【解答】
#include <iostream>
using namespace std;
nt main()
{ int x,i,j,k;
cout << "please input x:";
cin >> x;
i = x/100;
j = x/10 %10;
k = x%10;
cout << k << j << i << endl;
}
2.输入平面上某点横坐标x和纵坐标y,若该点在由图3.1表示的方块区域内,则输出1;否则,输出0。
图1.11 正方形
【解答】
#include <iostream>
using namespace std;
int main()
{
double x,y,b;
cout << "please input x,y:";
cin >> x >> y;
b = ( -2<=x ) && ( x<=2 ) && ( -2<=y ) && ( y<=2 );
cout << b << endl;
}
3.输入三个整数,求出其中最小数(要求使用条件表达式)。
【解答】
#include <iostream>
using namespace std;
int main()
{
int a,b,c,temp,min;
cout << "please input a,b,c:";
cin >> a >> b >> c;
temp = ( a<b ) ? a:b;
min = ( temp<c ) ? temp:c;
cout << "min=" << min << endl;
}
|