作业2024/2/2

第一章 命名空间

一.选择题

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

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

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

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

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

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

A.

B. 对象

C. 函数体

D. 数据块

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

A. cin

B. cerr

C. cout

D. clog

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

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

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

C. 对象是类的一个变量

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

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

A. 数据的规范化

B. 便于数据转换

C. 避免数据丢失

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

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

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

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

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))中所含实参的个数为(A)

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

9、执行语句

char ch[] = "Hello";

char * p = &ch[0];

cout << p;

结果是输出 ____B

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

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

#include <iostream.h>

void main()

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

int (*p)[3];

p=n;

cout<<p[0][0]<<","<<*(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和___。

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、给出下面程序输出结果。

#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);

}

输出结果为28

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

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

#include <iostream.h>

void main()

{ int *p1;

int **p2=&p1;

int b=20;

p1=&b;

cout<<**p2<<endl;

}

输出结果20

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.5

C

10

20

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

S=2

S=5

S=9

#include <iostream.h>

void sum(int i)

{ static int s;

___ s+=i+2 _ ____;

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

}

void main (void)

{ int i;

for (i=0;i<10_;_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个随机大小写字母或数字组成的密码,允许输入重复的字符

#include <iostream>

#include <cstdlib>

#include <ctime>

int main() {

srand(time(NULL)); // 使用当前时间作为随机数种子

char password[9]; // 密码数组,包括最后一个元素用于存储字符串结束符 '\0'

// 生成随机密码

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

int randomNum = rand() % 62; // 生成0到61之间的随机数

if (randomNum < 26) {

// 生成随机大写字母

password[i] = 'A' + randomNum;

} else if (randomNum < 52) {

// 生成随机小写字母

password[i] = 'a' + (randomNum - 26);

} else {

// 生成随机数字

password[i] = '0' + (randomNum - 52);

}

}

password[8] = '\0'; // 添加字符串结束符

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

return 0;

}

相关推荐
A懿轩A37 分钟前
C/C++ 数据结构与算法【数组】 数组详细解析【日常学习,考研必备】带图+详细代码
c语言·数据结构·c++·学习·考研·算法·数组
古希腊掌管学习的神37 分钟前
[搜广推]王树森推荐系统——矩阵补充&最近邻查找
python·算法·机器学习·矩阵
云边有个稻草人41 分钟前
【优选算法】—复写零(双指针算法)
笔记·算法·双指针算法
机器视觉知识推荐、就业指导42 分钟前
C++设计模式:享元模式 (附文字处理系统中的字符对象案例)
c++
半盏茶香42 分钟前
在21世纪的我用C语言探寻世界本质 ——编译和链接(编译环境和运行环境)
c语言·开发语言·c++·算法
忘梓.2 小时前
解锁动态规划的奥秘:从零到精通的创新思维解析(3)
算法·动态规划
Evand J2 小时前
LOS/NLOS环境建模与三维TOA定位,MATLAB仿真程序,可自定义锚点数量和轨迹点长度
开发语言·matlab
LucianaiB2 小时前
探索CSDN博客数据:使用Python爬虫技术
开发语言·爬虫·python
Ronin3052 小时前
11.vector的介绍及模拟实现
开发语言·c++
✿ ༺ ོIT技术༻2 小时前
C++11:新特性&右值引用&移动语义
linux·数据结构·c++