21xrx.com
2024-12-23 01:35:20 Monday
登录
文章检索 我的文章 写文章
C++阅读程序写结果专题训练及答案
2023-06-24 03:34:49 深夜i     --     --
C++ 阅读程序 写结果 专题训练 答案

C++是一门广泛应用于计算机科学的编程语言,它是一门以C语言为基础发展而来的高级编程语言,由于其高效性和跨平台性质而深受开发者的青睐。在C++编程中,阅读程序写结果是一项重要的技能,它可以帮助程序员更好地理解代码逻辑和实现细节。

下面是几道C++阅读程序写结果的专题训练以及答案解析:

1. 代码如下:


#include <iostream>

using namespace std;

int TotalSum(int a){

  if(a == 0)

    return 0;

  

  return a + TotalSum(a-1);

}

int main(){

  int n;

  cin >> n;

  cout << TotalSum(n) << endl;

  return 0;

}

输入6,输出21。该程序计算了从1加到n的所有数字之和。它通过递归调用函数来实现,每次调用函数使得输入的数字减1,直到数字变为0停止递归。当a等于0时,函数返回0;否则返回a加上再一次调用函数得到的结果。因此输入6的时候,TotalSum(6)将会被计算为6+TotalSum(5),依此类推,直到TotalSum(0)。所以最终输出的结果是21。

2. 代码如下:


#include <iostream>

using namespace std;

int main()

  int a = 5;

  int b = 3;

  int c = 2;

  cout << a/b/c << " " << a/c/b << " " << b/a/c << " " << b/c/a << " " << c/b/a << " " << c/a/b << endl;

  return 0;

输出的结果是:0 1 0 0 0 0。这个程序利用了对整数除法的特性。在C++中,当两个整数相除时,结果将会向下取整。所以a/b/c被计算为(5/3)/2,结果为0;a/c/b被计算为(5/2)/3,结果为1;b/a/c被计算为(3/5)/2,结果为0;b/c/a被计算为(3/2)/5,结果为0;c/b/a被计算为(2/3)/5,结果为0;c/a/b被计算为(2/5)/3,结果为0。

3. 代码如下:


#include<iostream>

#include<cstring>

using namespace std;

int main(){

  string str1 = "hello";

  char str2[] = "world";

  cout << strlen(str1.c_str()) + strlen(str2) << endl;

  return 0;

}

输出的结果是10。该程序使用了C++的string和char两种表示字符串的方式。在表达式strlen(str1.c_str())中,str1.c_str()将C++的string转化为C语言中char*类型的字符串,从而使得strlen函数可以对其进行计数,strlen(str1.c_str())返回5。而strlen(str2)则直接计算出"world"字符串的长度为5。最后将两个字符串的长度加在一起得到10,该值将被输出。

以上是几道C++阅读程序写结果的专题训练及答案解析。这些例子涵盖了整数除法、递归调用函数以及字符串操作等方面。掌握这些知识点可以帮助你深入了解C++编程,并提高代码阅读和写作的能力。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复
    相似文章