作业2.2

一.选择题

1、编写C++程序一般需经过的几个步骤依次是( B )

A. 编辑、调试、编译、连接

B. 编辑、编译、连接、运行

C. 编译、调试、编辑、连接

D. 编译、编辑、连接、运行

2、所谓数据封装就是将一组数据和与这组数据有关操作组装在一起,形成一个实体,这实体也就是( A )

A.

B. 对象

C. 函数体

D. 数据块

3、在C++中,使用流进行输入输出,其中用于屏幕输入( A )

A. cin

B. cerr

C. cout

D. clog

4、关于对象概念的描述中,说法错误的是(A)

A. 对象就是C语言中的结构变量

B. 对象代表着正在创建的系统中的一个实体

C. 对象是类的一个变量

D. 对象之间的信息传递是通过消息进行的

5、在C++语言中,数据封装要解决的问题是(D)

A. 数据的规范化

B. 便于数据转换

C. 避免数据丢失

D. 防止不同模块之间数据的非法访问

6、在面向对象的程序设计中,首先在问题域中识别出若干个 (B)

A. 函数 B.C. 文件 *D.*过程

7、在下列成对的表达式中,运算结果类型相同的一对是(D)

A. 7.0/2.0和7.0/2

B. 5/2.0和5/2

C. 7.0/2和7/2

D. 8/2和6.0/2.0

8、函数调用func((exp1,exp2),(exp3,exp4,exp5))中所含实参的个数为(C)

A. 5 B. 4 C. 2 D. 1

9、执行语句

char ch\[\] = "Hello";

char * p = &ch0;

cout << p;

结果是输出 ______________。

A. 一个地址 B. H C. Hello D. 乱码

10、下列程序的输出结果是(A)

#include <iostream.h>

void main()

{ int n[][3]={10,20,30,40,50,60 };

int (*p)[3];

p=n;

cout<<p00<<","<<*(p[0]+1)<<","<<(*p)[2]<<endl; }

A. 10,30,50

B. 10,20,30

C. 20,40,60

D. 10,30,60

二.填空题1、执行下列代码

cout<<"oct:"<<oct<<34;

程序的输出结果是++oct:34++。

2、C++的流库预定义了4个流,它们是cin、cout、clog和_cerr_。

3、表达式cout<<end1 还可表示为++cout << '\n'++。

4、下面程序的输出结果为_5__。

#include <iostream.h>

void main()

{ int num=2,i=6;

do

{i--;

num++;

}while(--i);

cout<<num<<endl;

}

5、int n=0;

while(n=1)n++;

while循环执行次数是__无数次_。

6、给出下面程序输出结果。结果为28

#include <iostream.h>

int a[8]={1,2,3,4,5,6,7};

void fun(int *pa,int n);

void main()

{int m=8;

fun(a,m);

cout<<a[7]<<endl;

}

void fun(int *pa,int n)

{for (int i=0;i<n-1;i++)

*(pa+7)+=*(pa+i);

}

运行程序,写出程序执行的结果。

7、给出下面程序输出结果。结果为20

#include <iostream.h>

void main()

{ int *p1;

int **p2=&p1;

int b=20;

p1=&b;

cout<<**p2<<endl;

}

8、 #include <iostream.h>

void main()

{ int a,b,c;

char ch;

cin>>a>>ch>>b>>c;//从键盘上输入1.5×c×10×20,×表示一个空格

cout<<a<<endl<<ch<<endl<<b<<endl<<c<<endl;

}

结果为:

1

c

10

20

9、在下面程序横线处填上适当内容,使程序执行结果为:

S=2

S=5

S=9

#include <iostream.h>

void sum(int i)

{ static int s;

s=s+i+2_;

cout<<"s="<<s<<endl;

}

void main (void)

{ int i;

for (i=0;_ i<3__;i++)

sum(i);

}

10、下面是一个三角形三边,输出其面积C++程序,在下划线处填上正确的语句。

#include <iostream.h>

#include <math.h>

void area()

{double a,b,c;

cout<<"Input a b c:";

cin>>a>>b>>c;_

if(a+b>c&&a+c>b&&c+b>a) // 三角形 任意2边大于第三边

{ double l=(a+b+c)/2; // 半周长

double s=sqrt(l*(l-a)*(l-b)*(l-c)) // 海伦公式

cout<<"The area is:"<<s<<endl;

}

else

cout<<"Error"<<endl;

}

void main()

{ area(); }

三、编程题

3.1 、创建一个程序,输出8个随机大小写字母或数字组成的密码,允许输入重复的字符

cpp 复制代码
#include <iostream>

#include <string>

using namespace std;

int my_Random(int seed)

{

    int a = 11451;

    int c = 12345;

    seed = (a * seed + c) % 1024;

    return seed;

}

int main()

{

    int seed = 123;

    string buffer = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";

    string password;

    for (int i = 0; i < 8; i++)

    {

        seed = myRandom(seed);

        int index = seed % buffer.length();

        password += buffer[index];

}

    cout << "生成的密码为:" << password << endl;

    return 0;

}
相关推荐
地平线开发者6 小时前
profiler debug 工具用法与高一致性策略
算法·自动驾驶
编程大师哥6 小时前
匿名函数 lambda + 高阶函数
java·python·算法
isyangli_blog6 小时前
OpenDayLight (Carbon 版本) 启动与组件安装
开发语言·php
vb2008117 小时前
FastAPI APIRouter
开发语言·python
Benszen7 小时前
KVM虚拟化解决方案
开发语言·perl
会编程的土豆7 小时前
Go 语言反射(Reflection)详解
开发语言·后端·golang
東雪木7 小时前
多线程与并发编程 专属复习笔记
java·开发语言·笔记·java面试
我叫袁小陌7 小时前
算法解题思路指南
算法
MC皮蛋侠客7 小时前
C++17 多线程系列(五):C++17 并行算法——从串行到并行的零成本迁移
c++·多线程
地平线开发者7 小时前
Conv+BN+Add+ReLU 融合机制简介
算法·自动驾驶