21xrx.com
2024-11-22 03:03:26 Friday
登录
文章检索 我的文章 写文章
「C++期末考试题及答案」-山东大学
2023-07-10 04:54:54 深夜i     --     --
C++ 期末考试 题目 答案 山东大学

C++期末考试题及答案是很多学习C++的同学最关心的话题之一。在日前,山东大学发布了一份C++期末考试题及答案,引起了广泛关注。以下是该考试题及答案的具体内容。

一、选择题

1.下列程序执行结果是什么?


#include <iostream>

using namespace std;

int main() {

  char *str1 = "C++", *str2 = "Coding";

  cout << str1 + 1 << str2 + 2 << endl;

 

  return 0;

}

A. ++Coding

B. P+2ding

C. ++P+ding

D. C+

答案是:C。str1 + 1 表示 str1 指针向后移动一位,指向 C,str2 + 2 表示 str2 指针向后移动两位,指向 d,因此输出 C+ding。

2.在 C++ 中下列语句正确的是( )

A. int *a = 1;

B. int a[] = 1; int *p = a;

C. int a[]; int *p = a;

D. int *p = new int();

答案是:D。

二、填空题

1.下列程序运行结果是什么?


#include <iostream>

#include <cmath>

using namespace std;

int main() {

  double x = -3.1415926;

  double y = floor(fabs(x));

  cout << y << endl;

 

  return 0;

}

答案是:3。

2.下列程序运行结果是什么?


#include <iostream>

using namespace std;

void func(int x) {

  if (x == 0)

   throw 1;

  else if (x == 1)

   throw "error!";

 

}

int main() {

  try {

   func(0);

  } catch(int e)

   cout << "int: " << e << endl;

  catch(char* e) {

   cout << "char*: " << e << endl;

  }

 

  return 0;

}

答案是:int: 1。

三、编程题

1.编写一个程序,从标准输入读取一个字符串,并将字符串中所有小写字母转换为大写字母后输出。


#include <iostream>

using namespace std;

int main() {

  string str;

  getline(cin, str);

  for (int i = 0; i < str.length(); i++) {

   if (islower(str[i])) {

     cout << (char)toupper(str[i]);

   } else {

     cout << str[i];

   }

  }

 

  return 0;

}

2.编写一个程序,输入一个整数 n,输出所有小于等于 n 的素数。


#include <iostream>

#include <cmath>

using namespace std;

bool is_prime(int num) {

  if (num <= 1)

   return false;

 

  int sqrt_num = sqrt(num);

  for (int i = 2; i <= sqrt_num; i++) {

   if (num % i == 0)

     return false;

   

  }

  return true;

}

int main() {

  int n;

  cin >> n;

  for (int i = 2; i <= n; i++) {

   if (is_prime(i))

     cout << i << " ";

   

  }

 

  return 0;

}

以上就是山东大学C++期末考试题及答案的内容。这份试卷涵盖了C++语言的基础知识和编程能力,对于学习C++的同学们来说是不可多得的宝贵资源。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复