c语言学习例题 17页

  • 14.90 KB
  • 2022-08-11 发布

c语言学习例题

  • 17页
  • 当前文档由用户上传发布,收益归属用户
  1. 1、本文档由用户上传,淘文库整理发布,可阅读全部内容。
  2. 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,请立即联系网站客服。
  3. 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细阅读内容确认后进行付费下载。
  4. 网站客服QQ:403074932
运算符○例1:#includevoidmain(){inti=8;printf(“%d\n”,i++);/*i自加1等于9,并参与下一条语句的运算*/printf(“%d\n”,--i);/*i自减1等于8,并参与下一条语句的运算*/printf(“%d\n”,i++);/*先输出上一条语句的运算结果8,然后自行加1,结果等9,参与下一条语句的运算*/printf(“%d\n”,i--);/*先输出上一条语句的运算结果9,然后自行减1,结果等于参8,参与下一条语句的运算*/printf(“%d\n”,-i++);/*先取负值然后输出-8,接着自行加1,结果等于9,参与下一条语句的计算*/printf(“%d\n”,-i--);/*先取负值然后输出-9,接着自行加1,结果等于8,参与下一条语句的计算*/printf(“%d\n”,i++*2);/*后置于变量的++运算先参与表达式的运算,输出结果16,接着自行加1,等于9,参与下一条语句的计算*/printf(“%d\n”,i--*2);/*运算顺序同上,输出结果18,然后自行减1,等于8,参与下一条语句的运算*/\nprintf(“%d\n”,++i*2);/*前置与变量的++运算先自加1等于9,然后乘以2等于18并输出,i=9参与下一条语句的运算*/printf(“%d\n”,--i*2);/*运算顺序同上,输出结果为16*/}运行结果:9889-8-916181816○例2:#includevoidmain(){inti=8;printf("%d\n",i++);/*输出i的指8,然后自行加1等于9*/printf("%d\n",i++);/*输出i的值9,自行加1,不输出,后面无语句,无参与下一条语句的运算*/}运行结果:89○例3:\nvoidmain(){inti=5,j=5,p,q;p=(i++)+(i++)+(i++);q=(++j)+(++j)+(++j);printf(“%d,%d,%d,%d\n”,p,q,i,j);}运行结果:15,22,8,8○例4:voidmain(){inta,b=322;floatx,y=8.88;charc1=’k’,c2;a=y;x=b;\na=c1;c2=b;/*溢出处理,无符号型,等价于减去256*/printf(“%d,%f,%d,%c\n”,a,x,a,c2);}运行结果:107,322.,107,B○例5:voidmain(){inta=2,b=4,c=6,x,y;y=(x=a+b),(b+c);printf(“y=%d,x=%d\n”,y,x);}运行结果:y=6,x=6○例6:voidmain()\n{intx=1,y=4;y=(x+=2,x++,x+4);/*括号内的表达式依次运算,输出最后一项*/printf(“y=%d,x=%d\n”,y,x);}运行结果:y=8,x=4○例7:voidmain(){inta=15;floatb=123.;doublec=.;chard=’p’;printf(“a=%d,%5d,%o,%x\n”,a,a,a,a);printf(“b=%f,%lf,%5.4lf,%e\n,b,b,b,b”);printf(“c=%lf,%f,%8.4lf\n”,c,c,c);\nprintf(“d=%c,%8c\n”,d,d);}运行结果:○例8:voidmain(){inti=8;printf("%d,%d,%d,%d,%d,%d\n",++i,--i,i++,i--,-i++,-i--);}\n运行结果:8,7,8,8,-8,-8※思考:printf("%d,%d,%d,%d,%d,%d,%d\n",i,++i,--i,i++,i--,-i++,-i--);运行结果为什么?程序设计语言○例9:voidmain(){inta;scanf(“%5d”,&a);printf(“%d,a”);}输入运行结果:12345○例10:\nvoidmain(){scanf(“%4d%4d”,&a,&b);printf(“%d,%d”,a,b);}输入(9)运行结果:1234,5678○例11:voidmain(){inta,b;scanf(“%d,%*d,%d”,&a,&b);/*中间带“*”的“%d”被跳过*/printf(“%d,%d”,a,b);}输入1,2,3运行结果:1,3\n○例12:(P.41)voidmain(){inti=812,k=23456;printf("%6d,%-6d,%3d",i,i,k);}运行结果:□□□812,812□□□,23456(注:□在此处表示空格,下同)○例13:(P.41)voidmain(){inti=234;printf("%06d",i);}运行结果:\n○例14:(P.41)voidmain(){longj=l;printf("%-10ld,%ld\n",j,j);}运行结果:□□□,○例15:(P.41)voidmain(){intk=025,j=8;longp=-1L;printf(“%o,%04o,%lo”,k,j,p);}运行结果:25,0010,\n00000000000000000000000000000001111111111111111111111111111111101111111111111111111111111111111137777777777○例16:(P.41)voidmain(){inti=-1;unsignedintu;longp=-11;u=i;printf("%d,%4u,%lu",i,u,p);}运行结果:-1,,○例17:(P.45)\nvoidmain(){charc1='A',c2;inti=98,j=0123,k=0x61;unsignedu=j,w;scanf("%u,%c",&w,&c2);printf("%d,%u,%c\n",c1,c1,c1);printf("%d,%u,%c\n",i,i,i);printf("%d,%u,%c\n",j,j,j);printf("%d,%u,%c\n",k,k,k);printf("%d,%u,%c\n",u,u,u);printf("%d,%u,%c\n",c2,c2,c2);printf("%d,%u,%c\n",w,w,w);}输入1,-1输出结果:65,65,A\n98,98,b83,83,S97,97,a83,83,S45,45,-1,1,☺○例18:输入三个不同的整数,判断其大小关系,并按照从小到大的顺序用交换法将其排列,依次输出。voidmain(){inta,b,c,temp;printf("pleaseinputthreediffrientnumbers:\n");scanf("%d%d%d",&a,&b,&c);if(a>b){temp=a;\na=b;b=temp;}if(a>c){temp=a;a=c;c=temp;}if(b>c){temp=b;b=c;c=temp;}printf("%d<%d<%d\n",a,b,c);}\n○例18:将字符串复制到另一个字符串数组中#includevoidmain(){chara[]="Sheisabeautifulgirl!^_^",b[100],*pa,*pb;inti;pa=a;pb=b;for(;*pa!=0;pa++,pb++){*pb=*pa;}*pb='\0';printf("strais:%s\n",a);printf("strbis:");\nfor(i=0;*(b+i)!=0;i++)//此处不同于二维数组指针不可写为*(*(b+i)),亦不可写成*(pb+i){printf("%c",*(b+i));}}(2)#includemain(){floatscore,A,B,C,D,E;scanf("%f",&score);if(score<60)printf("E");elseif(score>=60&&score<70)printf("score=D");elseif(score>=70&&score<80)printf("score=C");elseif(score>=80&&score<90)printf("score=B");elseprintf("score=A");}\n(3)#includemain(){intabcd,a,b,c,d;scanf("%d",&abcd);a=abcd/1000;b=abcd/100%10;c=(abcd/10-a*100)%10;d=abcd%10;printf("%d,%d,%d,%d\n",a,b,c,d);}

相关文档