华南理工C++试卷

诚信应考 , 考试作弊将带来严重后果!

 C++程序设计试卷》

注意事项:1. 考前请将密封线内填写清楚;

          2. 所有答案请答在试卷的答案栏上;

          3.考试形式:闭卷

          4. 本试卷共  五 大题,满分100分,  考试时间120分钟

题 号

总分

得 分

评卷人

  • 单项选择题:(每题2分,共20分)
  1. 结构化程序设计的三种基本控制结构是(  C   )。  

A)输入、处理、输出  B)树形、网形、环形    

C)顺序、选择、循环  D)主程序、子程序、函数

解析:顺序,选择,循环

  1. 下列哪个是C++的合法变量名(   D )?

A) 8d           B) ex3.12               C)1_2a         D) _int

解析:完全没问题

  1. 若整型变量 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

显而易见

  1.   for(int x=0,y=0;!x&&y<=5;y++)语句执行循环的次数是( 6   )。  

A)0  B)5  C)6  D)无限循环

  1. 若一个函数体中定义与全局变量相同名字的变量x,在函数体内对x赋值,修改的是  (   D )。

A)局部变量和全局变量都被修改      B) 全局变量x

C)不确定                          D) 局部变量 x

  1.  设有如下定义语句:int a[5],*p=a;,则下列表达式错误的是 B  

A)p++       B)a++   C)p-a     D)a+1

数组无法做++操作

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

  1. 若用数组名作为调用函数的实参,则传递给形参的是(   A  )。

A) 数组存贮首地址             B) 数组的第一个元素值

C) 数组中全部元素的值         D) 数组元素的个数

  1. 设有二维数组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)

  1. 若有函数原型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分)
  1. 语句 cout<< ”y\x42\\x\102\nx”的显示结果是什么?说明理由。(3分)

答:yB\xB

  1. 以下程序的输出结果是什么?请说明原因。(2分)

int main()

{ unsigned short  a=65535;  

short int  b;

b=a;

cout<<”b=”<<b;

return 0;

}

答:-1

  1. 设有说明char a[6], * b =a;  sizeof(a), sizeof(b)的值各是多少?分析结果原因。(3分)

答:

6

4

  1. 设有说明int a[2*3]; 请写出两个表示数组a最后一个元素地址的表达式(2分)。

答:&a[5]

a+5

  1. 设在主函数中有以下定义和函数调用语句,且fun函数为void类型;请写出fun函数的原型。(2分)

main()

{    double   s[10][22];

int   n;

fun(s);

}

答:void fun(doubke **p)

  1. 设有如下定义:

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]

  1. 以下语句不能正确输出单链表head的数据元素值,请找出原因。(2分)

struct link{int data; link * next; };

link *head, *p;

……

p=head;

while(p!=NULL)  {cout<<p-}data; p=p->next; }

    ……

答:

  1. 设有函数调用语句 array_max_min(a ,n, max, min); 功能是由参数max, min返回基本整型数组a 的n个元素中的最大值和最小值。对应的函数原型是什么?(3分)(只需给出原型,不用写函数定义)

答:void array_max_min(int *, int , int *,int *);

  • 阅读程序,写出运行结果:(每小题4分,共20分)

  1. #include<iostream>

using namespace std;

  int main ()

{ int x,n;

 x=n=5;

x+=n++;

cout<<x<<n<<endl;

return 0;

 }

  1. 106

  1. #include<iostream>

using namespace std;

int  main ()

{ char s[6]="abcde", *p=s;

cout<<*p<<p<<endl;

return 0;

}

2. aabcde

  1. #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

  1. 以下程序的输出的结果是

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

}   

  1. #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分)
  1. 下面程序的功能是:输入三角形的三条边存放在变量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

  1. 以下程序功能是打印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

  1. 下列程序实现两个变量的值互换。

#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

  1. 求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分)
  1. (6分)编写程序,打印正整数的平方和立方值。程序运行后显示相应的提示信息,要求输入2个正整数,然后显示这个范围的数据的平方和立方值。例如,分别输入整数1和10,执行效果如下图所示。

答:

  1. #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;

 }

  1. (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;

}

  1. (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;

}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/224079.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

高效电商策略:小红书集成CRM与广告推广无代码化

无代码开发的优势 随着科技的不断进步&#xff0c;无代码开发&#xff08;No-Code Development&#xff09;已经成为快速构建系统和应用的新趋势。无代码开发指的是不需要传统编程知识&#xff0c;通过图形化的用户界面和模型驱动逻辑来创建应用程序。这种方式让非技术背景的用…

金蝶云星空协同开发环境应用内执行SQL脚本

文章目录 金蝶云星空协同开发环境应用内执行SQL脚本 金蝶云星空协同开发环境应用内执行SQL脚本

中文字符串逆序输出

今天碰到这个题&#xff0c;让我逆序输出中文字符串&#xff0c;可给我烦死了&#xff0c;之前没有遇到过&#xff0c;也是查了资料才知道&#xff0c;让我太汗颜了。 英文字符串逆序输出很容易&#xff0c;开辟一块空间用来存放逆序后的字符串&#xff0c;从后往前遍历原字符串…

操作系统笔记——储存系统、文件系统(王道408)

文章目录 前言储存系统地址转换内存扩展覆盖交换 储存器分配——连续分配固定大小分区动态分区分配动态分区分配算法 储存器分配——非连续分配页式管理基本思想地址变换硬件快表&#xff08;TLB&#xff09;多级页表 段式管理段页式管理 虚拟储存器——基于交换的内存扩充技术…

解决Adams许可文件被篡改问题,确保仿真分析的合法性和安全性

在工程仿真领域&#xff0c;Adams软件是一款广泛使用的动力学分析工具。然而&#xff0c;有时用户会遇到Adams许可文件被篡改的问题&#xff0c;这会给仿真工作带来很大的困扰和风险。为了帮助大家解决这一难题&#xff0c;我们推出了一篇关于Adams许可文件被篡改问题的宣传文章…

题目:区间或 (蓝桥OJ 3691)

题目描述: 解题思路: 本题采用位运算.先求出全部数组每一位各自的前缀和,然后再判断区间内每一位区间和是否为0,不为0则乘上相应的2^n并将各个为的2^n相加,得ans. 实现原理图 题解: #include<bits/stdc.h> using namespace std;const int N 1e5 9;int a[N], prefix[35…

线程核绑定

● CPU频率&#xff1a; ○ CPU内部的数字时钟信号频率&#xff0c;又称为时钟频率&#xff0c;并不能代表CPU的真实性能水平。 ○ 由于RC电路的限制&#xff0c;信号的时钟频率不能太大。 ● 超频&#xff1a; ○ 提高硬件的工作频率&#xff0c;让它们在高于其额定的频率状态…

ANSYS 有限元分析 后处理 结点解与单元解-命令流对应的GUI操作

本文是对这篇文章中的命令流寻找其对应的GUI操作&#xff08;如果有&#xff09;&#xff1a; ANSYS 有限元分析 后处理 结点解与单元解-CSDN博客 下面这个对应的GUI操作为在官方帮助文档Ansys_Mechanical_APDL_Command_Reference_2中查到的&#xff0c;对应的版本是2022R2&a…

20231215给AIO-3399J适配Rockchip的原始Andoroid10的挖掘机开发板02

20231215给AIO-3399J适配Rockchip的原始Andoroid10的挖掘机开发板02 2023/12/15 15:37 【请严重注意&#xff1a;】如果刷不适配的SDK&#xff0c;可能会引起您的开发板【硬件发生物理】损坏&#xff01; 如果您按照本步骤刷机引起的一切后果&#xff0c;请自行承担责任&#x…

Day09 Liunx高级系统设计11-数据库1

MySQL 简介 数据库DB 数据库&#xff08; DataBase &#xff0c; DB &#xff09;从本质上讲就是一个文件系统&#xff0c;它能够将数据有组织地集合在一起&#xff0c;按照一定的规则长期存储到计算机的磁盘中&#xff0c;并且能够供多个用户共享和使用&#xff0c;同时&…

Linux篇:信号

一、信号的概念&#xff1a; ①进程必须识别能够处理信号&#xff0c;信号没有产生&#xff0c;也要具备处理信号的能力---信号的处理能力属于进程内置功能的一部分 ②进程即便是没有收到信号&#xff0c;也能知道哪些信号该怎么处理。 ③当进程真的受到了一个具体的信号的时候…

网络安全之计算机网络基础知识<二>

目录 一.IP与端口二.HTTP协议分析 一.IP与端口 IP地址&#xff1a;指互联网协议地址。是IP协议提供的地址格式&#xff0c;为互联网上的每一个网络和每一个主机分配一个逻辑地址&#xff0c;以此来屏蔽物理地址的差异。 简单来说&#xff0c;IP地址是电子设备&#xff08;计算…

猫粮哪个牌子质量好性价比高?分享十款主食冻干猫粮品牌排行榜!

一款好的、健康的主粮对猫整体有很大的提升&#xff0c;主食作为猫的日常饮食&#xff0c;直接关乎着小猫是否能摄入充分的营养&#xff0c;达到最佳的理想状态&#xff0c;因此对于每一位铲屎官来说&#xff0c;主食选得好不好至关重要。面对种类众多的主食&#xff0c;很多人…

c/c++ 结构体、联合体、枚举

结构体 结构体内存对齐规则&#xff1a; 1、结构体的第一个成员对齐到结构体变量起始位置偏移量为0的地址处 2、其他成员变量要对齐到某个数字&#xff08;对齐数&#xff09;的整数倍的地址处。 对齐数&#xff1a;编译器默认的一个对齐数与该成员变量大小的较小值。 vs 中…

chaosblade混沌测试

chaosblade安装部署 https://alden.blog.csdn.net/article/details/129941689 https://github.com/chaosblade-io/chaosblade/tags安装部署 [rootvm ~]# wget https://github.com/chaosblade-io/chaosblade/releases/download/v1.3.0/chaosblade-1.3.0-linux-amd64.tar.gz[ro…

编程实际应用实例:洗车店会员管理系统操作教程

一、前言 洗车店在会员管理有时候需要一卡多用&#xff0c;基本也不需要做卡&#xff0c;直接报手机号或车牌号即可完成电子会员卡录入。 下面以 佳易王洗车店会员管理系统软件为例说明&#xff0c; 软件试用版下载或技术支持可以点击下方的官网卡片 如图&#xff1a;这个卡…

【教程】Autojs脚本实现暂停和超时重启功能的思路和示例代码

转载请注明出处&#xff1a;小锋学长生活大爆炸[xfxuezhang.cn] 背景介绍 autojs本身不支持暂停脚本&#xff0c;现有网上大部分最直接的做法就是在每条语句后面添加检查是否暂停。当脚本功能和代码量非常打的时候&#xff0c;每一条语句后面都加检测&#xff0c;未免不太现实。…

如何一次性scp多个文件到远程机器上

如题&#xff0c;如果想要使用 scp 一次性复制多个文件到远程机器上&#xff0c;可以用以下命令实现&#xff0c;格式如下&#xff1a; $ scp -P port local_file1 local_file2 ... usernameremote_host:remote_path其中&#xff1a; port 是远程主机的指定端口号&#xff0c…

Nginx-nginx 反向代理方式(超详细)

当涉及到提高网站的性能和可用性时&#xff0c;负载均衡和反向代理是非常关键的组件。Nginx是一款高性能的Web服务器和反向代理服务器&#xff0c;它提供了强大的负载均衡功能。下面是关于如何使用Nginx实现反向代理的一些基本步骤&#xff1a; 1.什么是反向代理&#xff1f;&…

Uniapp小程序通过camera组件实现视频拍摄

uni中可以通过调用api的方式去拍摄或者是选择相册的视频&#xff0c;但是在这里我们不采取这种方式&#xff0c;因为调用api的方式&#xff0c;必须跳转&#xff0c;而我们需要在页面中实现&#xff0c;下面看下具体步骤吧... <camera v-if"!srcUrl && showCam…