vlambda博客
学习文章列表

C语言程序设计(四)

/***************************************************关系运算符(比较大小,双目运算符,左结合,优先级小于算数运算符,高于赋值运算符)和表达式(表达式 关系运算符 表达式)<<=>>===!=a+b > c-d 先算+-再比较大小 值为1(非0)(真)0(假)*//***************************************************void main(){ char c='k'; int i=1,j=2,k=3; float x=3e+5,y=0.85;//x=3*105次方 printf("%f,%f,%f\n",x,y,c); printf("%d,%d\n",'a'+5<c,-i-2*j>=k+1);//a=97 a+5=102=f -1-2*2=-5 3+1=4 printf("%d,%d\n",1<j<5,x-5.25<=x+y);//先算1<j 再算1<5 5-5.25=300000-5.25 x+y=300000+0.85 printf("%d,%d\n",i+j+k==-2*j,k==j==i+5);//i+j+k=1+2+3=6 -2*j=-2*2=-4 先算i+5的值 再算k==j 再计算 0==i+5}*//**************************************************逻辑运算符及其优先次序&& 与 双目运算符 左结合性(从左向右计算) 都真为真 有假必假 || 或 双目运算符 左结合性 都假必假 有真必真! 非 单目运算符 右结合性(从右向左计算)(双目运算符和单目运算符的区别:操作数(变量或常量)数量的不同)优先级:! && || ! 算数运算符 关系运算符 &&和|| 赋值运算符a>b && c>d 相当于 (a>b) && (c>d)!b==c || d<a 相当于 ((!b)==c)||(d<a)a+b>c&&x+y<b 相当于 ((a+b)>c)&&((x+y)<b) *//**************************************************void main(){ char c='k'; int i=1,j=2,k=3; float x=3e+5,y=0.85; printf("%d,%d\n",!x*!y,!!!x);//00 printf("%d,%d\n",x||i&&j-3,i<j&&x<y);//10 先算j-3=2-3=-1 x||i是1 再算 1&&-11 i<j是1 x<y0 printf("%d,%d\n",i==5&&c&&(j=8),x+y||i+j+k);//01 i==50 0&&c是0 0&&80 x+y=300000+0.85 i+j+k=6}*//**************************************************if语句if(表达式){ 语句 }*//**************************************************void main(){ int a,b,max; printf("\n input two number:"); scanf("%d%d",&a,&b); max=a; if(max<b) max=b; printf("max=%d",max);}*//**************************************************if(表达式){语句1}else {语句2}*//**************************************************void main(){ int a,b; printf("input two number:"); scanf("%d%d",&a,&b); if(a>b) printf("max=%d\n",a); else printf("max=%d\n",b);}*//**************************************************if(表达式1){语句1}else if(表达式2) {语句2} else {语句3}*//**************************************************void main(){ char c; printf("input a character:"); c=getchar(); if(c<32) printf("this is a control character\n"); else if(c>='0'&&c<='9') printf("this is a digit\n"); else if(c>='A'&&c<='Z') printf("this is a capital letter\n"); else if(c>='a'&&c<='z') printf("this is a small letter\n"); else printf("this is an other character\n");}*/ /**************************************************以下是允许的if(a=5) 语句;所以日常写表达式时这样写if(5=a) if(b) 语句; 
例题1.输入一个分数score2.score<60 输出E3.60<=score<70 输出D4.75<=score<80 输出C5.80<=score<90 输出B6.90<=score 输出A*//*void main(){ double score; printf("输入一个分数(0-100)"); scanf("%lf",&score); if(0<=score&&score<60) { printf("E\n"); } else if(60<=score&&score<70) { printf("D\n"); } else if(70<=score&&score<80) { printf("C\n"); } else if(80<=score&&score<90) { printf("B\n"); } else if(90<=score&&score<=100){ printf("A\n"); } else { printf("输入分数错误"); }}*//**************************************************输入三个数a,b,c要求按由小到大的顺序输出*//*void main(){ double a,b,c,max; printf("输入三个数"); scanf("%lf,%lf,%lf",&a,&b,&c); printf("排序为%lf%lf%lf",a,b,c); if(a>b) { max=a; a=b; b=max; } if(a>c) { max=a; a=c; c=max; } if(b>c) { max=b; b=c; c=max; } printf("排序为%lf%lf%lf",a,b,c);}*//**************************************************if语句的嵌套if(表达式) {if语句;}if(表达式) {if语句; }else {if语句;}就近配对*//*void main(){ int a,b; printf("please input A,B:"); scanf("%d%d",&a,&b); if(a!=b) if(a>b) printf("A>B\n"); else printf("A<B\n"); else printf("A=B\n");}*//*void main(){ int a,b; printf("please input A,B:"); scanf("%d%d",&a,&b); if(a==b) printf("A=B\n"); else if(a>b) printf("A>B\n"); else printf("A<B\n");}*/