首页 > 恒生测试开发笔试 *2020.3.20**
头像
莱布尼兹不会飞
编辑于 2020-03-21 12:25
+ 关注

恒生测试开发笔试 *2020.3.20**

恒生测试开发笔试 *2020.3.20**

第一部分c语言选择

比较有印象的是常量指针,指针常量

1、常量指针:本质上是一个指针,常量表示指针指向的内容,说明该指针指向一个“常量”。在常量指针中,指针指向的内容是不可改变的,指针看起来好像指向了一个常量。

const int *p,int const *p;
int a=10,b=20; const int *p=&a; p=&b;//指针可以指向其他地址,但是内容不可以改变。

2、指针常量:指针类型的常量(int *const p)

本身是一个常量,指针用来说明常量的类型,表示该常量是一个指针类型的常量。在指针常量中,指针自身的值是一个常量,不可改变,始终指向同一个地址。在定义的同时必须初始化。

int a=10,b=20; int * const p=&a; *p=30;//p指向的地址是一定的,但其内容可以修改。

还有数据库的视图

视图是虚拟的表,只包含使用时动态检索数据的查询。 视图的限制:(1)、视图不能索引,也不能有关联的触发器或默认值,    (2)、ORDER BY可以用在视图中,但如果从该视图检索数据的select语句中也含有                   ORDER BY,那么该视图中的ORDER BY将被覆盖。

3、为score表建立Sno、Cno的唯一索引。

建立索引是加快查询速度的有效手段。 create unique index SCno on Score(Sno,Cno)

第二部分、编程题

1、海滩上有一堆桃子,5只猴子来分。第一只猴子把这堆桃子平均分 为5份,多了一个,这只猴子把多的一个扔入海中,拿走了一份。 第二只猴子把剩下的桃子又平均分成5份,又多了一个,它同样把 多的一个扔入海中,拿走了一份,第三、第四、第五只猴子都是这样做的。试问,海滩上原来有最少有多少个桃子?

分析:第二到五只猴子看到猴子的数量一定是4的倍数,

#include<iostream> using namespace std; int main() {  int x=0, i = 0, j = 1;//i执行次数 j=1最后猴子拿到的桃子数, x 每次均分后,第一只猴子拿了之后剩下的总数  while (i < 5) {  x = 4 * j;  for (i = 0; i < 5; i++)  {  if (x % 4 != 0) //检查看到的桃子是否是4的倍数  {   break;  }  x = (x / 4) * 5 + 1;  }  j++;  }  cout << x << endl;  return 0; } 

2、求1000以内所有的完数。

完数,一般指完全数,一个自然数如果它的所有真因子(即除了自身以外的约数)的和等于该数,那么这个数就是完全数,如:6的真因子有1 、2、3,6=1+2+3,所以6是一个完全数。

#include<iostream> using namespace std; bool isperfectNum(int n) {  int sum = 0;  for (int i = 1; i < n; i++)  {   if (n % i == 0)   {    sum += i;   }  }  return sum == n; } int main() {  for (int n = 1; n < 1000; n++)  {   if (isperfectNum(n))   {    cout << n << endl;   }  }  return 0; }


全部评论

(1) 回帖
加载中...
话题 回帖