- 2
- 0
- 约3.49千字
- 约 18页
- 2024-05-30 发布于广西
- 举报
学科竞赛编程教研研究院C++NOIPNOIIOI
1PARTONE指针概念指针变量的定义指针变量的赋值指针的引用指针的运算inta;int*p;定义了变量a定义了指针变量p均为int型int*p;p=a;或者int*p=a;定义了变量a定义了指针变量p均为int型cout*p;输出指针所指向变量的值
1PARTONE内存10intx112053变量数据112053int*p指针指针p指向变量x1.指针与变量
1PARTONE案例1:输入两个不同的数,通过指针对两个数进行相加和相乘。输入:两个整数a,b(0=a=b=1000)输出:输出共两行,第一行通过指针输出两个数,第二行通过指针输出两个数的和与乘积。【样例输入】1020【样例输出】a=10,b=20s=30,t=200
1PARTONE第二步:通过指针计算a和b的和与乘积,并将和赋给s,讲乘积赋给t。s=*pa+*pb;t=*pa**pb;第三步:输出两个数,以及两个数的和与乘积cout”a=”*pa”,””b=”*pbendl;cout”s=”s”,””t=”t;【过程分析】第一步:先定义两个变量a和b,然后定义两个指针变量pa和pb,并让指针pa指向a,pb指向b,再定义两个变量s和t,分别代表a和b的和与乘积。inta,b;int*pa,*pb;ints,t;pa=a;pb=b;
1PARTONE完整代码#includeiostreamusingnamespacestd;intmain(){inta,b;int*pa,*pb;ints,t;pa=a;pb=b;s=*pa+*pb;t=*pa**pb;cout”a=”*pa”,””b=”*pbendl;cout”s=”s”,””t=”t;}
1PARTONE指针的加减运算2.指针与一维数组inta=10,*p=a;coutp;coutp+1;coutp-1;你看到了什么结果呢
1PARTONE指针的移动a[0]a[1]a[2]a[3]a[4]a[5]a[6]a[7]访问数组的元素有两种方式,第一种是通过下标,第二种是通过指针来访问,指针指向数组的首地址就叫做指针指向了数组。inta=[8]={1,2,3,4,5,6,7,8},*p;p=a;p=a[0];//指针指向数组的首地址指针的移动是地址的移动。pp=a[0]pp=a[1]pp=a[2]pp=a[3]pp=a[4]pp=a[5]pp=a[6]pp=a[7]
1PARTONE练习1:用指针操作数组的输出:#includeiostreamusingnamespacestd;intmain(){inta[3]={1,2,3};int*p;//指针中的数组地址p=a;for(inti=0;i3;i++){couta[i]的内存地址为pendl;couta[i]的值为*pendl;//移动到下一个位置p++;}return0;}定义长度为3的数组和一个指针,用该指针操作数组的输出。
1PARTONE练习2:用指针操作数组的输入与输出:
1PARTONE①用字符数组存放一个字符串,然后输出该字符串。3.指针与字符串你学过哪种方法呢在c++中,我们可以有两种方式访问字符串②用字符指针指向一个字符串,可以不定义字符数组
1PARTONE操作字符串(1)用字符数组存放一个字符串,然后输出该字符串。intmain(){charstr[]=”ILoveChina”;coutstr;}(2)用字符指针指向一个字符串,可以不定义字符数组,而定义一个字符指针,用字符指针指向这个字符串,输出时,指针名就相当于是数组名。intmain(){char*str=”ILoveChina”;coutstr;}intmain()、{char*str;
原创力文档

文档评论(0)