欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 教育 > 幼教 > c++上课题目

c++上课题目

2025/9/18 9:03:24 来源:https://blog.csdn.net/The_era_achievs_/article/details/145846352  浏览:    关键词:c++上课题目

1. 引用的声明及访问

代码:

#include<iostream>
using namespace std;
int x = 5, y =10;
int &r = x;//r为x的变量别名
void print()
{cout << "x=" << x << "y" << y << "r=" << r << endl;cout << "  Address of x" << &x << endl;//输入变量x的内存地址cout << "Address of y" << &y << endl;cout << "Address of r" << &r << endl;
}
int main() 
{print() ;//调用输出函数r = y;//赋值print() ;y = 100;//再赋值x = y - 10;//x,y同时改变print();return 0;
}

运行结果:

x=5 y=10 r=5Address of x: 0x7ffeefbff53c
Address of y: 0x7ffeefbff538
Address of r: 0x7ffeefbff53c
x=10 y=10 r=10Address of x: 0x7ffeefbff53c
Address of y: 0x7ffeefbff538
Address of r: 0x7ffeefbff53c
x=90 y=100 r=90Address of x: 0x7ffeefbff53c
Address of y: 0x7ffeefbff538
Address of r: 0x7ffeefbff53c

2. 通过引用参数修改实际参数的值

代码:

#include <iostream>
using namespace std;
void swap ( int &x, int &y )//引用参数成为实际参数变量额、的别名
{int t = x;x = y;y = t;
}
int main () 
{int a = 3, b = 5, d = 20, c = 10;cout << "a=" << "  b=" << b << endl ;swap (a,b) ;cout << "a=" << a << " b=" << b << endl;swap ( c, d);cout << "c=" << c << " d=" << d << endl;
}

运行结果:

a = 3 b = 5
a =5 b = 3
c =10 d = 20
c = 20 d =10

3. 三种参数的使用示例

#include<iostream>
using namespace std;
int Fun(const int &x, int &y,int z)
{y++;z++;return y;
}
int main () 
{int a= 1, b = 3, c = 3, d = 0;cout << "a=" << a << "B=" << b << "c=" << c << "d=" << d << endl;d =Fun(a, b, c);cout << "a=" << a << " b=" << b << "c=" << c << "d=" << d << endl;return 0;
}

结果:

a=1 b=2 c=3 d=0
a=1 b=3 c=3 d=3

4.动态空间管理示例

#include<iostream>
#include <ctime>
#include <cmath>
#include <iomanip>
using namespace std;
const int N =30;
int main() 
{int *p, *sum, i;sum= new int (0);p = new int (N);if(p==NULL) {cout << "allocation failure.\n";return 0;}srand( time(NULL));for(i =0; i < N;i++){p[i] = rand() % 100;if(p[i] %2)(*sum) ++;}for(i=0;i <N;i++){cout << setw(4) << p[i];if((i+1) % 10==0)cout << endl;}cout << "the number of odd is:" << *sum << endl;delete []p;delete sum;return 0;
}

运行结果:

  43  66  71  26  11  46  64  80  24  3136  56  42  88  40  82  10  85  68  6984  47  91  44  14  57  88  40  56  18
the number of odd is: 10

5. 异常处理的步骤

#include<iostream>
using namespace std;
int divide(int x, int y) 
{if(y == 0) throw y;return x /y;}
int main () 
{int a = 10 , b= 5, c =0 ;try{cout <<"a/b" << divide ( a,b) << endl;cout <<"b/a" << divide ( b,a) << endl;cout <<"a/c" << divide ( a,c) << endl;cout <<"c/b" << divide ( c,b) << endl;}catch (int ) {cout << "except of divide zero" << endl;}cout << "calculate finished" << endl;return 0;}

运行结果

 a/b2
b/a0.5
except of divide zero
calculate finished

6.课后习题

1.
#include <iostream>
using namespace std;
int main()
{int a, b, c;char ch;cin >> a >> ch >> b >> c;cout << a << endl << ch << endl << b << endl << c;return 0;
}

运行结果:

1
A
2
3
2.
#include <iostream>
using namespace std;
int main()
{int arr[4] = {1, 2, 3, 4}, i;int *a = arr;int &p = a; p++;*p = 100;cout << *a << "\t" << *p << endl;for (i = 0; i < 4; i++)cout << arr[i] << "\t";cout << endl;int b = 10;p = &b;cout << *a << "\t" << *p << endl;for (i = 0; i < 4; i++)cout << arr[i] << "\t";cout << endl;return 0;
}

运行结果:

100  100
1  100  3  4
10  10
1  100  3  4
3.
#include <iostream>
using namespace std;
int i = 0;
int main()
{int i = 5;{int i = 7;cout << "i=" << i << "::i=" << ::i << endl;cout << "::i=" << ::i << endl;::i = 1;cout << "::i=" << ::i << endl;}cout << "i=" << i << endl;cout << "please input x,y:";::i = 6;i += ::i;::i = 100;cout << "i=" << i << endl;cout << "::i=" << ::i << endl;return 0;
}

运行结果:

i=7::i=0
::i=0
::i=1
i=5
please input x,y:
i=6
::i=100
4.
#include <iostream>
using namespace std;
void f(double x = 50.6, int y = 10, char z = 'A');
int main()
{double a = 216.34;int b = 2;char c = 'E';f();f(a);f(a, b);f(a, b, c);return 0;
}
void f(double x, int y, char z)
{cout << "x=" << x << "\t" << "y=" << y << "\t";cout << "z=" << z << endl;
}

运行结果:

x=50.6   y=10   z=A
x=216.34   y=10   z=A
x=216.34   y=2   z=A
x=216.34   y=2   z=E
5.
#include <iostream>
using namespace std;
int & s(const int &a, int &b)
{b += a;return b;
}
int main()
{int x = 500, y = 1000, z = 0;cout << x << '\t' << y << '\t' << z << '\n';s(x, y);cout << x << '\t' << y << '\t' << z << '\n';z=s(x, y);cout << x << '\t' << y << '\t' << z << '\n';s(x, y) = 200;cout << x << '\t' << y << '\t' << z << '\n';return 0;
}

运行结果:

500    1000    0
500    1500    0
500    2000    2000
500    200    2000
6.
#include <iostream>
using namespace std;
void fun(int x, int &y)
{x += y;y += x;
}
int main()
{int x = 5, y = 10;fun(x, y);fun(y, x);cout << "x=" << x << ",y=" << y << endl;return 0;
}

运行结果:

x=25 , y=25

完成方式:根据书本例题,在vs code上打出代码,并运行结果,复制到markdown里面,我有时还使用豆包,我认为比起deepseek来豆包的反应时间更短,而且用了这么就我也习惯了他的使用方式。有事因为某些原因,代码不能运行也可以直接在豆包里面,得到解答并直接运行.

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词