您的位置:  首页 > 鸿蒙 > 正文

高级语言程序设计C++ 第一章 基本数据与表达式

2021-07-17 15:49 管理员 次阅读 条评论
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;

}


  • 0
    感动
  • 0
    路过
  • 0
    高兴
  • 0
    难过
  • 0
    搞笑
  • 0
    无聊
  • 0
    愤怒
  • 0
    同情
热度排行
友情链接