华南理工C++试卷
《C++程序设计试卷》
注意事项:1. 考前请将密封线内填写清楚;
2. 所有答案请答在试卷的答案栏上;
3.考试形式:闭卷
4. 本试卷共 五 大题,满分100分, 考试时间120分钟。
题 号 | 一 | 二 | 三 | 四 | 五 | 总分 |
得 分 | ||||||
评卷人 |
- 单项选择题:(每题2分,共20分)
- 结构化程序设计的三种基本控制结构是( C )。
A)输入、处理、输出 B)树形、网形、环形
C)顺序、选择、循环 D)主程序、子程序、函数
解析:顺序,选择,循环
- 下列哪个是C++的合法变量名( D )?
A) 8d B) ex3.12 C)1_2a D) _int
解析:完全没问题
- 若整型变量 int a=2,b=1,c=3,d=4; 则条件表达式a<b?a:c<d?c:d的值为( C )。
A) 1 B) 2 C) 3 D) 4
显而易见
- for(int x=0,y=0;!x&&y<=5;y++)语句执行循环的次数是( 6 )。
A)0 B)5 C)6 D)无限循环
- 若一个函数体中定义与全局变量相同名字的变量x,在函数体内对x赋值,修改的是 ( D )。
A)局部变量和全局变量都被修改 B) 全局变量x
C)不确定 D) 局部变量 x
- 设有如下定义语句:int a[5],*p=a;,则下列表达式错误的是( B )。
A)p++ B)a++ C)p-a D)a+1
数组无法做++操作
- 设有变量定义: double x; int m; 函数原型声明:void f(double *, int &);
则正确的函数调用语句是( A )。
A) f(&x,m); B) f( x, &m); C) f(*x, &m); D) f (x,*m);
- 若用数组名作为调用函数的实参,则传递给形参的是( A )。
A) 数组存贮首地址 B) 数组的第一个元素值
C) 数组中全部元素的值 D) 数组元素的个数
- 设有二维数组a[3][4], 不等价的一对表达是( d )。
A) *(a[0]+2) 与 a[0][2] B) a[0]+3 与 &a[0][3]
C) *a[1] 与 a[1][0] D) a[0][2] 与 a[0]+2
D应该为*(a[0]+2)
- 若有函数原型int max (int a , int b); 并且有:int (*p) ( int , int ) = max ;
调用max函数的正确方法是( C )。
A) ( * p ) max ( a , b ) ; B) * p max ( a , b ) ;
C) ( * p ) ( a , b ) ; D) * p ( a , b ) ;
答案栏:
1、____ 2、____ 3、____ 4、____5、____ 6、____7、___ 8、____9、___ 10、____
- 简答题:(共20分)
- 语句 cout<< ”y\x42\\x\102\nx”的显示结果是什么?说明理由。(3分)
答:yB\xB
- 以下程序的输出结果是什么?请说明原因。(2分)
int main()
{ unsigned short a=65535;
short int b;
b=a;
cout<<”b=”<<b;
return 0;
}
答:-1
- 设有说明char a[6], * b =a; sizeof(a), sizeof(b)的值各是多少?分析结果原因。(3分)
答:
6
4
- 设有说明int a[2*3]; 请写出两个表示数组a最后一个元素地址的表达式(2分)。
答:&a[5]
a+5
- 设在主函数中有以下定义和函数调用语句,且fun函数为void类型;请写出fun函数的原型。(2分)
main()
{ double s[10][22];
int n;
┆
fun(s);
┆
}
答:void fun(doubke **p)
- 设有如下定义:
struct person{char name[10]; int age;};
person class[10]={“Johu”, 17,
“Paul”, 19
“Mary”, 18,
“Adam 16,};
根据上述定义,写出能输出字母M语句。(3分)
答:6. class[2].name[0]
- 以下语句不能正确输出单链表head的数据元素值,请找出原因。(2分)
struct link{int data; link * next; };
link *head, *p;
……
p=head;
while(p!=NULL) {cout<<p-}data; p=p->next; }
……
答:
- 设有函数调用语句 array_max_min(a ,n, max, min); 功能是由参数max, min返回基本整型数组a 的n个元素中的最大值和最小值。对应的函数原型是什么?(3分)(只需给出原型,不用写函数定义)
答:void array_max_min(int *, int , int *,int *);
- 阅读程序,写出运行结果:(每小题4分,共20分)
- #include<iostream>
using namespace std;
int main ()
{ int x,n;
x=n=5;
x+=n++;
cout<<x<<n<<endl;
return 0;
}
- 106
- #include<iostream>
using namespace std;
int main ()
{ char s[6]="abcde", *p=s;
cout<<*p<<p<<endl;
return 0;
}
2. aabcde
- #include <iostream>
using namespace std;
int main()
{ int i,j;
for( i=1; i<=3; i++ )
{ j=1;
while (j<i)
{ cout << i<<','<<j<<endl;
j++;
}
}
return 0;
}
3. 2,1
3,1
3,2
- 以下程序的输出的结果是
#include <iostream>
using namespace std;
void incre();
int x=3;
int main()
{ int i;
for (i=1;i<x;i++) incre();
}
void incre()
{ static int x=1;
x*=x+1;
cout <<x;
}
- #include <iostream>
using namespace std;
void fun ( int , int , int * ) ;
int main ( )
{
int x , y , z ;
fun ( 5 , 6 , &x ) ;
fun ( 7 , x , &y ) ;
fun ( x , y , &z ) ;
cout << x << ","<< y << "," << z ;
return 0;
}
void fun ( int a, int b , int * c )
{ b+=a ; * c=b-a ; }
- 程序填空题:(每空2分,共22分)
- 下面程序的功能是:输入三角形的三条边存放在变量a,b和c 中,判别它们能否构成三角形,若能,则判断是等边、等腰、还是其它三角形,在横线上填上适当内容。
#include <iostream>
using namespace std;
int main()
{ float a, b, c ;
cout<<"a,b,c=";
cin>>a>>b>>c;
if ( a+b>c && b+c>a && c+a>b )
{
if ( 【1】 )
cout<<"等边三角形!\n";
else if ( 【2】 )
cout<<"等腰三角形!\n";
else cout<<"其它三角形!\n";
}
else cout<<"不能构成三角形!\n";
return 0;
}
(1) a= =b && b= =c
(2) a= =b || a= = c || b= =c
- 以下程序功能是打印100以内个位数为6且能被3整除的所有数。
#include <iostream>
using namespace std;
int main ( )
{ int i , j ;
for ( i = 0 ; ___【3】___ ; i + + )
{ j = i * 10 + 6 ;
if ( ___【4】____ ) continue ;
cout << j << ” ” ;
}
return 0;
}
(3) i <10
(4) j % 3
- 下列程序实现两个变量的值互换。
#include <iostream>
using namespace std;
void swap(int *, int *);
int main()
{ int a=3,b=8;
swap(【5】 );
cout<<"a="<<a<<" b="<<b<<endl;
return 0;
}
void swap(int *x,int *y)
{ int temp= 【6】 ; *x=*y; *y=temp; }
(5) &a, &b
- 求n(n≥6)内的所有偶数表示为两个素数之和,下图为输入16的运行结果。补充完整以下程序。
[提示:一个偶数n(n≥6)可以表示为 1+(n-1),2+(n-2),3+(n-3),… ]
#include <iostream>
using namespace std;
#include<cmath>
#include<iomanip>
int isprime(int);
int main()
{ int num,i,n;
cout<<" 请输入一个偶数N(N>=6):";
cin>>num;
for( n=6; n<=num; n+=2)
for( i=3;i<=n/2;i+=2)
if(____ 【7】_________)
{cout<<setw(3)<<n<<"="<<setw(3)<<i<<" +"<<setw(3)<<(n-i)<<endl;
break;}
return 0;
}
int isprime(int m)
{ int i, k=sqrt(m);
for(i=2; i<=k; i++)
if(____ 【8】_________) return 0 ;
____ 【9】_________
}
(7) isprime(i) && isprime(n-i)
(8) !( m%i)
- 编程题:(18分)
- (6分)编写程序,打印正整数的平方和立方值。程序运行后显示相应的提示信息,要求输入2个正整数,然后显示这个范围的数据的平方和立方值。例如,分别输入整数1和10,执行效果如下图所示。
答:
- #include <iostream>
using namespace std;
#include<iomanip>
int main()
{ int a,b,i;
cout<<" 请输入第一个整数(>=0):";
cin>>a;
cout<<" 请输入第二个整数(>第一个整数):";
cin>>b;
cout<<setw(10)<<"N"<<setw(10)<<"平方"<<setw(10)<<"立方"<<endl;
for( i=a;i<=b;i++)
cout<<setw(10)<<i<<setw(10)<<i*i<<setw(10)<<i*i*i<<endl;
return 0;
}
- (6分)以下程序求一维数组元素的最大值,并返回此值。请依题意编写函数f及填写函数原型。
#include <iostream>
using namespace std;
const int n=10;
__________ //f函数原型
int main()
{int a[n], i, max;
for(i=0; i<n; i++)
cin>>a[i];
max=f(a,n);
cout<<"max="<<max;
return 0;
}
答:
int f(int *a,int n)
{int i,max;
max=a[0];
for(i=1;i<n;i++)
if(a[i]>max) max=a[i];
return max;
}
- (6分)以下程序的功能是分离一个浮点数的整数部分和小数部分。程序用字符串存放输入数据,执行效果如图所示。根据main函数,请写出separate函数的原型和实现定义。
#include<iostream>
using namespace std;
___ void separate(char *s, int &a, int &b)
{int i;
for(i=0;s[i]!='.';i++)
a=a*10+s[i]-48;
for(i++;s[i]!=0;i++)
b=b*10+s[i]-48;
}_________________________________________ //separate函数原型
int main()
{ char s[20];
int i=0, d=0;
cout<<"请输入一个浮点数: ";
cin>>s;
separate(s, i, d); //调用函数
cout<<s<<"整数部分是:"<<i<<endl;
cout<<s<<"小数部分是:"<<d<<endl;
return 0;
}
相关文章:
华南理工C++试卷
诚信应考 , 考试作弊将带来严重后果! 《C程序设计试卷》 注意事项:1. 考前请将密封线内填写清楚; 2. 所有答案请答在试卷的答案栏上; 3.考试形式:闭卷 4. 本试卷共 五 大题,满分100分ÿ…...
0001.WIN7(64位)安装ADS1.2出现L6218错误
用了十多年的笔记本电脑系统出现问题,硬件升级重装以后安装ADS1.2。在编译代码的时候出现L6218错误。如下: 图片是从网上找的,我编译出错的界面没有保留下来。 首先,代码本身没有任何问题 ,代码在win7(32位)下编译没有…...
HBuilderX 配置 夜神模拟器 详细图文教程
在电脑端查看App的效果,不用真机调试,下载一个模拟器就可以了 --- Nox Player,夜神模拟器,是一款 Android 模拟器。他的使用非常安全,最重要的是完全免费。 一. 安装模拟器 官网地址: (yeshen.com) 二.配…...
10、神秘的“位移主题”
神秘的“位移主题” 1、什么是位移主题2、位移主题的消息格式3、位移主题是怎么被创建的4、什么地方会用到位移主题5、位移主题的删除机制 本章主题是:Kafka 中的内部主题(Internal Topic)__consumer_offsets。 __consumer_offsets 在 Kafka …...
【Linux】dump命令使用
dump命令 dump命令用于备份文件系统。使用dump命令可以检查ext2/3/4文件系统上的文件,并确定哪些文件需要备份。这些文件复制到指定的磁盘、磁带或其他存储介质保管。 语法 dump [选项] [目录|文件系统] bash: dump: 未找到命令... 安装dump yum -y install …...
使用 TensorFlow 创建生产级机器学习模型(基于数据流编程的符号数学系统)——学习笔记
资源出处:初学者的 TensorFlow 2.0 教程 | TensorFlow Core (google.cn) 前言 对于新框架的学习,阅读官方文档是一种非常有效的方法。官方文档通常提供了关于框架的详细信息、使用方法和示例代码,可以帮助你快速了解和掌握框架的使用。 如…...
vue实现悬浮窗拖动的自定义指令
首先在自己的项目根目录下建一个 src --> config --> drag.js 然后在main.js中全局引入 //鼠标拖动 import drag from /config/drag; Vue.use(drag); drag.js文件相关代码 import Vue from vue; //使用Vue.directive()定义一个全局指令 //1.参数一:指令的…...
gitee(ssh)同步本地
一、什么是码云 gitee Git的”廉价平替” > 服务器在国内,运行不费劲 在国内也形成了一定的规模 git上的一些项目插件等在码云上也可以找得到 二、创建仓库 三、删除仓库 四、仓库与本地同步 > 建立公钥 五、把仓库同步到本地 六、在本地仓库中创建vue项目…...
Redis新数据类型-Bitmaps
目录 Bitmaps 简介 命令 1. setbit (1) 格式 (2) 实例 2. getbit (1) 格式 (2) 实例 3. bitcount (1) 格式 (2) 实例 4. bitop (1) 格式 (2) 实例 我的其他博客 Bitmaps 简介 Bitmaps 是 Redis 的一种新数据类型,它是一种用于存储位信息的数据结构&…...
web前端之vue组件传参、各种传参的不同写法、语法糖
MENU vue2refemit vue3语法糖refemit(一)语法糖(二) vue2 refemit 子组件 <template><div><el-dialogtitle"新增":visible.sync"dialogFormVisible"close"handleClose"><el-form :model"form"><el-form…...
基于Nexus搭建Maven私服基础入门
什么是Nexus?它有什么优势? 要了解为什么需要nexus的存在,我们不妨从以下几个问题来简单了解一下: 为什么需要搭建私服?如果没有私服会出现什么问题? 对于企业开发而言,如果没有私服,我们所有…...
JavaScript自执行函数:用途、好处
JavaScript中的自执行函数是一个常见的编程技巧,它可以在特定的场景中发挥重要作用。本文将介绍自执行函数的用途、好处,并提供代码示例进行说明。 引言 在JavaScript编程中,自执行函数是一种特殊的函数调用方式,它能够在定义后…...
Git使用无法拉取
错误提示: error setting certificate verify locations: CAfile: C:/Program Files/Git/mingw64/ssl/certs/ca-bundle.crt CApath: none 问题原因: 这个问题是因为git配置里crt证书的路径不正确导致的 解决办法: 这个路径配置是在C:\Pro…...
来聊聊CAS
什么是CAS CAS全称Compare-And-Swap,是一种无锁编程算法,即比较当前的值与旧值是否相等若相等则进行修改操作(乐观锁机制),该类常用于多线程共享变量的修改操作。而其底层实现也是基于硬件平台的汇编指令,JVM只是封装其调用仅此而…...
【EventBus】EventBus源码浅析
二、EventBus源码解析 目录 1、EventBus的构造方法2、订阅者注册 2.1 订阅者方法的查找过程2.2 订阅者的注册过程1. subscriptionsByEventType 映射:2. typesBySubscriber 映射:2.3 总结订阅者的注册过程 3、事件的发送 3.1 使用Post提交事件3.2 使用p…...
Buck电源设计常见的一些问题(二)MOS管炸机问题
MOS管炸机问题 1.概述2.MOS管的相关参数3.过电压失效4.过电流失效5.静电放电和热失效1.概述 在我们做电源产品或者电机控制器时候,经常会坏MOS管。我相信90%以上的硬件工程师在职场生涯中都会遇到这类问题。然而这类问题也总是让人防不胜防。经常我们都会开玩笑的说,没烧过管…...
Javascript高频面试题
系列文章目录 文章目录 系列文章目录前言1.JavaScript常见数据类型null 和 undefind区别symbol(ES6新增)、bigInt(ES10新增) 2.JavaScript判断数据类型的方式3. 和 区别,分别在什么情况使用?4.变量声明 va…...
锁--07_2---- index merge(索引合并)引起的死锁
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 案例分析生产背景死锁日志表结构执行计划 EXPLAN为什么会用 index_merge(索引合并)为什么用了 index_merge就死锁了解决方案注:M…...
后端打印不了trace等级的日志?-SpringBoot日志打印-Slf4j
在调用log变量的方法来输出日志时,有以上5个级别对应的方法,从不太重要,到非常重要 调用不同的方法,就会输出不同级别的日志。 trace:跟踪信息debug:调试信息info:一般信息warn:警告…...
声明式编程Declarative Programming
接下来要介绍第五种编程范式 -- 声明式编程。分别从它的优缺点、案例分析和适用的编程语言这三个方面来介绍这个歌编程范式。 声明式编程是一种编程范式,其核心思想是通过描述问题的性质和约束,而不是通过描述解决问题的步骤来进行编程。这与命令式编程…...
人工智能与天文:技术前沿与未来展望
人工智能与天文:技术前沿与未来展望 一、引言 随着科技的飞速发展,人工智能(AI)在各个领域的应用越来越广泛。在天文领域,AI也发挥着越来越重要的作用。本文将探讨人工智能与天文学的结合,以及这种结合带…...
JeecgBoot 框架升级至 Spring Boot3 的实战步骤
JeecgBoot 框架升级 Spring Boot 3.1.5 步骤 JEECG官方推出SpringBoot3分支:https://github.com/jeecgboot/jeecg-boot/tree/springboot3 本次更新由于属于破坏式更新,有几个生态内的组件,无法进行找到平替或无法升级,目前尚不完…...
论文阅读——Semantic-SAM
Semantic-SAM可以做什么: 整合了七个数据集: 一般的分割数据集,目标级别分割数据集:MSCOCO, Objects365, ADE20k 部分分割数据集:PASCAL Part, PACO, PartImagenet, and SA-1B The datasets are SA-1B, COCO panopt…...
gitlab下载,离线安装
目录 1.下载 2.安装 3.配置 4.启动 5.登录 参考: 1.下载 根据服务器操作系统版本,下载对应的RPM包。 gitlab官网: The DevSecOps Platform | GitLab rpm包官网下载地址: gitlab/gitlab-ce - Results in gitlab/gitlab-ce 国内镜像地…...
【SpringBoot篇】Interceptor拦截器 | 拦截器和过滤器的区别
文章目录 🌹概念⭐作用 🎄快速入门⭐入门案例代码实现 🛸拦截路径🍔拦截器interceptor和过滤器filter的区别🎆登录校验 🌹概念 拦截器(Interceptor)是一种软件设计模式,…...
conan入门(三十六):在set_version方法中从pom.xml中读取版本号实现动态版本定义
一般情况下,我们通过self.version字段定义conan 包的版本号如下: class PkgConan(ConanFile):name "pkg"version "1.7.3"因为版本号是写死的,所以这种方式有局限性: 比如我的java项目中版本号是在pom.xml中…...
为什么 GAN 不好训练
为什么 GAN 不好训练?先看 GAN 的损失: 当生成器固定时,堆D(x)求导,推理得到(加号右边先对log求导,再对负项求导) 然后在面对最优Discriminator时,Generator的优化目标就变成了&…...
select、poll、epoll 区别有哪些
文章目录 select、poll、epoll 区别有哪些?select:poll:epoll: select、poll、epoll 区别有哪些? select: 它仅仅知道了,有 I/O 事件发生了,却并不知道是哪那几个流(可…...
大模型下开源文档解析工具总结及技术思考
1 基于文档解析工具的方法 pdf解析工具 导图一览: PyPDF2提取txt: import PyPDF2 def extract_text_from_pdf(pdf_path):with open(pdf_path, rb) as file:pdf_reader PyPDF2.PdfFileReader(file)num_pages pdf_reader.numPagestext ""f…...
【华为数据之道学习笔记】5-4 数据入湖方式
数据入湖遵循华为信息架构,以逻辑数据实体为粒度入湖,逻辑数据实体在首次入湖时应该考虑信息的完整性。原则上,一个逻辑数据实体的所有属性应该一次性进湖,避免一个逻辑实体多次入湖,增加入湖工作量。 数据入湖的方式…...
做soho的网站/国际新闻热点事件
在日常办公室中如何添加本地打印机,打印机是必不可少的设备,但是有时将打印机连接到计算机时会遇到很多问题. 连接本地打印机对于我们的工作效率非常重要. 让我们看一下如何添加打印机.无法将打印机添加到win10系统,如下所示:添加打印机时&am…...
网站建设白沟/廊坊快速排名优化
晓查 萧箫 明敏 鱼羊 发自 凹非寺量子位 | 公众号 QbitAI张朝阳当物理老师还真是当上瘾了。刚刚直接完成了一场线下课,当场手推质能方程,一整面黑板墙都差点没盛下。这个姿势,是不是有你大物老师内范儿了(手动狗头)。…...
找个为公司做网站的/武汉seo排名扣费
2019独角兽企业重金招聘Python工程师标准>>> Bottle中文文档 基于官方0.12版本翻译和Linux操作示范 原作者:Marcel Hellkamp 译者:徐斌斌 2012.12.02 Bottle是一个用Python语言开发的简单,快速并且轻量级的WSGI微型Web框架.整个框架只有一个文件,并且没有任何外…...
一家专门做特卖的网站手机版/保定网站建设公司哪家好
现在, 网上大多数的支付方式无非就是支付宝, 微信, 所以, 学会用支付宝和微信提供的支付接口已成为必然. 先进入官网 这里 登录之后, 进入进入我的开放平台 使用沙箱工具进行调试 如果没有项目请创建 在这里, 我们需要用到的参数就几个 APPID支付宝网关RSA或者RSA2, 这两个加密…...
b2b网站如何策划/游戏推广平台代理
一、用户 1.1用户注册 1.2用户登录 1.3修改密码 1.4修改资料 在用户登陆成功后要跳转到一个页面,暂且叫做用户中心吧。在【UserController】添加[default] action [UserAuthorize]public ActionResult Default(){userRsy new UserRepository();var _user userRsy.…...
做网站要签合同吗/小程序推广引流
题目说明: 据说著名犹太历史学家 Josephus有过以下的故事:在罗马人占领乔塔帕特后,39个犹太人与Josephus及他的朋友躲到一个洞中,39个犹太人决定宁愿死也不要被敌人抓到,于是决定了一个自杀方式,41个人排成…...