书签 分享 收藏 举报 版权申诉 / 74
上传文档赚钱

类型指针引用运算符语句课件.ppt

  • 上传人(卖家):晟晟文业
  • 文档编号:4586942
  • 上传时间:2022-12-22
  • 格式:PPT
  • 页数:74
  • 大小:1.03MB
  • 【下载声明】
    1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
    2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
    3. 本页资料《指针引用运算符语句课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
    4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
    5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    指针 引用 运算 语句 课件
    资源描述:

    1、第三讲第三讲指针引用运算符语句2本讲内容本讲内容1.上次作业讲解2.指针及其应用3.引用4.运算符5.循环语句6.本讲作业 定义一个指向整型变量空间的指针,并初始化为整型变量a的起始地址,使p指向a。5p1001a 10012003一个指向整型变量的指针一个指向数组空间的指针一个指向指针变量空间的指针可以指向,但还未指向P2003 100120一个整型空间1001赋给同类型的变量地址值赋给同类型的指针变量的值 P1a*P1*P2P2.1 2 3此处无代表取值 int a10,*p;p=a;/p指向数组a中的a0元素 p=p+1;/这时p指向a1int a10,*p1,*p2;p1=&a2;p2

    2、=&a5;/分别指向数组中的不同元素 int m=p2-p1;/所得为指针间相隔的元素个数P2003 1001a0a100110051009100d1011a1a2a3a4P2003 10050 x00428D54指针地址是无符号长整形:4 byte下标表示 ai指针表示 *(a+i)将4赋给a1下标表示 bij指针表示 *(*(b+i)+j)b0b1b2b00b01b02b03b10b11b12b13b20b21b22b23b#include iostream.hvoid main()int a12,*p=a;for(int i=0;i12;i+)*p=i+1;/元素赋值元素赋值 if(i%

    3、4=0)coutendl;cout*pt;p=p+1;123456789101112a12pa0a1a2a9a10a11*pa0,指针下跳1,*pa112345678910101112a23a00int a34;int*pa=a00;/指针指向数组首元素指针指向数组首元素for(int i=1;i=12;i+)*pa=i;/给元素赋值给元素赋值 cout*pat;/输出元素的值输出元素的值 pa=pa+1;/指针往下走一单元指针往下走一单元/如果是如果是4的倍数换行的倍数换行 if(i%4=0)coutendl;行i组j列kabcd0uvwx0abcde0s6pchar s6=abcde;ch

    4、ar*p=s;coutpors;p=p+1;coutp;#include void main()static int a5=5,4,3,2,1;int i,j;i=a0+a4;/下标表示 j=*(a+2)+*(a+4);/指针表示 coutitj;int*pa=a;pa=pa+1;/pa=?*pa=?pa+;/pa=?*pa=?a0、a1、a2=?101154321a0a(1001)100110051009100d1011a1a2a3a410096 4 1005 4 1009 3 5 4 3#include iostream.h#include void main()void main()st

    5、atic int static int b 4=1,2,3,4,5,6;b 4=1,2,3,4,5,6;b02=7;b12=8;b02=7;b12=8;cout cout*btbt*(b+1)n;(b+1)n;cout cout*(*b+1)tb+1)t*(*(b+1)+2)(b+1)+2)n;n;cout coutb02+b12+b22;b02+b12+b22;b0b1b2b00b01b02b03b10b11b12b13b20b21b22b23b12304000560078输出结果为:输出结果为:1 4 2 815#include iostream.hvoid main()static ch

    6、ar s1=abcde,s25=m,n,p,q,0;char*ps=s1;couts1 or s2endl;coutpsn;couts21s22s13s14endl;cout*ps*(ps+2)*(ps+4)*ps+2;abcde or mnpqabcdenpdeace99abcde0mnpq0S1S2ps int A4A0A1A2A3100010041008100C int B44B0B1B2B30123用数组存放用数组存放26个字母并输出个字母并输出#include iostream.hvoid main()char s 26;for(int i=0;i26;i+)si=A+i;/si=6

    7、5+i/给数组元素赋值 coutsi ;/输出数组 ABCDEFGHIJKLMNOPQma3.8算术运算符关系运算符逻辑运算符位操作运算符赋值运算符其他运算符运算符的优先级和结合性等效于等效于等效于等效于 int a=3;int b=+a;int c=a+;。近水楼台先得月4a值表达式值a值表达式值345444()x=015 00001101 y=0 x2b 00101011 x|y 00101111 47 xy 00100110 38 x&y 00001001 9 x 1 1 1 1 0 0 1 0 y 1 1 0 1 0 1 0 0 x+y 10 0 0 0 0 1 1 0 x=4 000

    8、0 00102例题:位运算已知:unsigned int x=015,y=0 x2bA:!a&b+B:a|b+4&a*bC:a=1,b=2,ab?+a:+bD:+b,a=10,a+5E:a+=b%=a+b b=b%(a+b),a=a+b;F:a!=b2=a+1;intint a(5),b(3);a(5),b(3);求表达式、求表达式、a a、b b的值的值910,5,31,5,33,1,315,10,48,8,31,5,3简称:短路A:d+-rd;B:*pd*rd;C:+*pd-rd;D:+rd-d;int d(5),*pd=&d,&rd=d,求表达式的值A:0B:25C:0D:0;实现把a和

    9、b 中较小的值赋给x ABTFP最后一个表达式的值就是逗号表达式的值 除最高的元素成员,最低的逗号外,其余的一二三赋值,对双目运算:算术关系逻辑,移位逻辑位放中间口诀:口诀:int a=7*2+-3%5-4/3;/a:10 float b=510+3.2e3-5.6/0.03 /b:3523.33 int m(3),n(4);a=m+-(-n);/a:0 m:4 n:3 char x(m),y(n);int n;n=x3)+(y-x=1);/n:3 int a(3),b(0);!a&a+b&a+;/a:3 a|b|b+/b:0简称:短路 int a(3),b(4),c;c=ab?+a:+b;/

    10、c:5 c=a-b?a+b:a-3?b:a;/c:8 从右向左结合从右向左结合 c=a-b?a+b:(a-3?b:a);/相当于相当于 int x(1),y(3),z(5);/从右向左结合 x+=y*=z-=2;/?(10,9,3)z=(x*=2)+(y+=4)+2;/?(2,7,11)int a,b,c;a=1,b=2,c=a+b+3;/c:6 c=(a+,a+=b,a+b);/c:6 short,char-int-long-double,float-double3+4.0 a-4 b=a+int(3.14);/显式转换int a(5),b;b=a+3.14;/两次隐式转换第1行一个第2行二

    11、个。第N行N个int i,j,n;coutn;for(int i=1;i=n;i+)for(j=1;j=i;j+)cout*;/打印若干个 coutendl;/换行for(j=1;j=n-i+1;j+)第1行:4个,接着1个,换行第2行:3个,接着3个,换行第3行:2个,接着5个,换行第4行:1个,接着7个,换行第5行:0个,接着9个,换行每行的个数:5-i每行的个数:2*i-1每次循环要做三件事:先打印(5-i)个 后,接着打印(2*i-1)个,再换行for(int i=1;i=5;i+)for(j=1;j=5-i;j+)cout;/打印若干个 for(k=1;k=2*i-1;k+)cout

    12、;/打印若干个 coutendl;/换行12347打印九九乘法口诀表#include iostream.h#include iomanip.h/manipulate,操作操作void main()int i,j;for(i=1;i=9;i+)for(j=1;j=9;j+)couti*j=setw(2)i*j;coutendl;设置后面内容宽度为2for(j=1;j=10-i;j+)for(j=1;j=i;j+)for(i=1;i=9;i+)for(k=1;k=9-i;k+)cout ;/7个空格 for(j=1;j=i;j+)couti*(9-i+j)=setw(2)i*(9-i+j);Cou

    13、tendl;32#include iostream.h#include iomanip.h/manipulate,操作void main()int i,j;for(i=1;i=10;i+)for(j=1;j=11-i;j+)cout ;/2个空格 for(j=1;j=i;j+)/限定为两个位置的长度 coutsetw(2)i ;coutendl;条件语句格式:if()else if()else if()else if()else条件语句条件语句000非0非0非0格式如下:switch()case:case:case:default:/可无可无语义为:根据对整型表达式的计算得到的值,从第一个ca

    14、se常量开始从上到下逐个进行匹配,若相等,则以此为入口,顺序向下执行各条语句序列。开关语句开关语句格式如下:switch()case:;break;case:;break;case:;break;default:/可无可无通过加break强行跳转语句,在执行完第一个语句序列后,就强行跳出switch结构格式:for(e1;e2;e3)计算计算e2e2执行执行 非非0 00 0退出退出循环循环计算计算e1e1计算计算d3d3e1;while(e2);e3;forfor循环语句循环语句格式:break;该语句在程序中可用于下列两种情况:1、在开关语句中,其功能是退出开关语句,执行其后的语句;2、在

    15、循环体中,其功能是用来退出该重循环breakbreak语句语句#define M 10void main()int num,sum(0);coutinput number:;for(int i=0;inum;if(num0)break;sum+=num;coutsum=sumendl;求求1010个数之和,遇负数终止个数之和,遇负数终止格式:格式:continue;continue;功能:只用在循环体中,用来功能:只用在循环体中,用来结束结束该次循环该次循环。在循环体中遇到在循环体中遇到continuecontinue语句时,语句时,本次循环结束,回到循环条件判断本次循环结束,回到循环条件判断

    16、是否执行下一次循环。是否执行下一次循环。continuecontinue语句语句#define M 10void main()int num,sum(0);coutinput number:;for(int i=0;inum;if(num0)continue;sum+=num;coutsum=sumendl;求求1010个中的正数之和个中的正数之和快速算法:判断它能否被2到sqrt(msqrt(m)之间的数之间的数整除,若不能则是素数。long m;coutm;int sqrtm=sqrt(m);for(int I=2;I=sqrtm+1)coutmis prime.n;else coutmi

    17、snt prime.n;/输出 Ia1021i3成立32i3不成立456378本讲作业本讲作业11、编程实现两个浮点数的四则运算;2、编程求出50至100之内的素数并输出;3、求两个数的最大公约数和最小公倍数;4、求一元二次方程ax2+bx+c=0的解;5、打印如下图形:1 2 2 3 3 3 4 4 4 4 5 5 5 5 5 6 6 6 6 6 6 10 10 10 10 10 10 10 10 101、打印以下图形:A ABC ABCDE ABCDEFGABCDEFG.S本讲作业本讲作业22、百钱买百鸡。公鸡每只7元,母鸡每只5元,小鸡1元3只,用100地元买100只鸡(每种鸡都要有),

    18、请问公鸡母鸡小鸡各有多少?3、编程求水仙花数。水仙花数是指一个三位数,如果其各位数的立方和刚好等于该数本身)。如1531353334、求1000以内的所有完数(指一个数恰好等于它的包括1在内的所有因子之和)。如61235、将100元兑换成10、5、1元,有哪些兑换方法?void main()double d1,d2;char op;double temp;coutd1opd2;switch(op)case+:temp=d1+d2;break;case-:temp=d1-d2;break;case*:temp=d1*d2;break;case/:temp=d1/d2;break;default:

    19、couterror!n;coutd1opd2=tempendl;#include#include#define MIN 51#define MAX 100void main()int i,j,k,n(0);for(i=MIN;i=MAX;i+=2)k=(int)sqrt(double(i);for(j=2;j=k+1)if(n%6=0)coutendl;n+;cout i;/if /forcoutendl;/结束结束编程求出编程求出5050至至100100之内的素数之内的素数求两个数的最大公约数求两个数的最大公约数int a,b,r;couta;coutb;if(ab)r=a,a=b,b=r;

    20、/交换两数 r=a%b;while(r)a=b;b=r;r=a%b;/辗转相除 cout最大公约数:bendl;求两个数的最小公倍数求两个数的最小公倍数int a,b,s;couta;coutb;s=a;while(1)if(s%b=0)break;s+=a;cout最小公倍数:sendl;int a,b;couta;coutb;while(a!=b)if(ab)a-=b;if(ab)b-=a;cout最大公约数:aendl;求两个数的最大公约数(求两个数的最大公约数(2)int a,b,k;couta;coutb;k=a*b;while(a!=b)if(ab)a-=b;if(ab)b-=a;cout最小公倍数:k/aendl;求两个数的最小公倍数(求两个数的最小公倍数(2)int a,b;couta;coutb;if(a=1;i-)if(a%i=0&b%i=0)cout最大公约数:iendl;break;求两个数的最大公约数(求两个数的最大公约数(3)int a,b,k;couta;coutb;if(ab)r=a,a=b,b=r;/交换两数 for(int i=a;i+)if(i%a=0&i%b=0)cout最小公约数:iendl;break;求两个数的最小公倍数(方法求两个数的最小公倍数(方法3)

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:指针引用运算符语句课件.ppt
    链接地址:https://www.163wenku.com/p-4586942.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库