求七个数的最大公约数,C语言学习笔记

2020-01-05 作者:yzc216亚洲城   |   浏览(93)

求两个数的最大公约数

 

#include<stdio.h>

1逗号运算符和逗号表达式

int main()

 

{

1.1逗号表达式格式:表达式1,表达式2,表达式3,...,表达式n;

  int x,y;

 

  int n;

该表达式的功能是:先计算表达式1,再计算表达式2,最后计算表达式n,最后一个表达式的值为此逗号表达式的值。

 printf("please input x,y:n");

 

 scanf("%d,%d",&x,&y);

1.2逗号表达式的优先级:最低。

 if((x>y)&&((x%y==n)&&(n!=0)));

 

 { y=x;

1.3逗号表达式的值:

   x=n;

 

   }

例子代码:

printf("%d",n);

 

return 0;

 

}

#include "stdio.h" 

请问这个程序那里有问题,怎么运行起来就不对呢;

main(){ 

  int a,b,c; 

  a=1,b=2,c=a b 3; 

  printf("%d,%d,%dn",a,b,c); 

  c=(a ,a =b,a-b);                     /*变量c保存逗号表达式的值*/ 

  printf("%d,%d,%dn",a,b,c);           /*逗号表达式的作用为顺序求值*/ 

输出结果如下:

 

1,2,6

 

4,2,2

 

2关系运算符和关系表达式

 

2.1C语言中的真值和假值:C语言中没有逻辑型数据,所以C语言规定,用整型常量1来表示真值,所有非0的表达式和常量的逻辑值都为1,用整型常量0表示假值,只有表达式的值为0的常量和表达式的逻辑值为0。

 

关系表达式例子代码:

 

 

#include "stdio.h" 

main(){ 

  char x='m',y='n'; 

  int n; 

  n=x<y;                             /*取关系表达式x<y的值*/ 

  printf("%dn",n); 

  n=x==y-1;                          /*取关系表达式x==y-1的值*/ 

  printf("%dn",n); 

  n=('y'!='Y') (5<3) (y-x==1);       /*取关系表达式x==y-1的值*/ 

  printf("%dn",n); 

 

程序运行结果:

 

1

 

1

 

2

 

关系表达式参加算术运算:

 

 

#include "stdio.h" 

main(){ 

  int a,b,c; 

  a=b=c=10;                             /*变量a,b,c赋初值*/ 

  a=b==c; 

  printf("a=%d,b=%d,c=%dn",a,b,c);     /*注意等号与赋值号的区别*/ 

  a=(b (c >2)); 

  printf("a=%d,b=%d,c=%dn",a,b,c); 

  /*关系表达式的值可以参加运算c++>2成立,值为1和b相加值放到a中存放*/ 

  a=b>c*100; 

  printf("a=%d,b=%d,c=%dn",a,b,c); 

  /*利用关系表达式计算要注意运算的优先级*/ 

程序运行结果:

 

a=1,b=10,c=10

 

a=11,b=10,c=11

 

a=0,b=10,c=11

 

3逻辑运算符和逻辑表达式

 

3.1基本逻辑运算符包括:单目运算符!,双目运算符&&、||。

 

逻辑与运算符例子代码:

 

 

#include "stdio.h" 

#define PI 3.1415926 

main(){ 

   int  m,n; 

   int k; 

   k=(m=0)&&(m=1); 

   printf ("%d,%dn",m,k); 

   k=(m=1)&&(m=0); 

   printf ("%d,%dn",m,k); 

   k=(m=2)&&(m=1)&&(m=0);                   /*多层逻辑与运算的规则测试*/ 

   printf ("%d,%dn",m,k); 

   m=0,k=0; 

   n=k &&m ; 

   printf ("%d,%d,%dn",k,m,n); 

   m=0,k=0; 

   n=m &&k ;                             /*测试表达式k &&m 与m &&k */ 

   printf ("%d,%d,%dn",k,m,n); 

程序运行结果:

 

0,0

 

0,0

 

0,0

 

1,0,0

 

0,1,0

 

逻辑或运算符例子代码:

 

 

#include "stdio.h" 

main(){ 

  int  m,n; 

  int k; 

  k=(m=0)||(m=1);                        /*逻辑或运算的计算规则*/ 

  printf ("%d,%dn",m,k); 

  k=(m=1)||(m=0); 

  printf ("%d,%dn",m,k); 

  k=(m=2)||(m=1)||(m=0);                 /*多层逻辑或运算的规则测试*/ 

  printf ("%d,%dn",m,k); 

  m=0,k=0; 

  n= m|| k; 

  printf ("%d,%d,%dn",k,m,n); 

  m=0,k=0; 

  n= k|| m; 

  printf ("%d,%d,%dn",k,m,n);          /*测试表达式 k|| m与 m|| k */ 

程序运行结果:

 

1,1

 

1,1

 

2,1

 

0,1,1

 

1,0,1

 

逻辑与和逻辑或混合运算例子代码:

 

 

#include "stdio.h" 

main(){ 

  int m,k; 

  k=(m=0)||(m=1)&&(m=2);    /*表达式理解为(m=0)||((m=1 )&&(m=2))*/ 

  printf ("%d,%dn",m,k); 

  k=(m=2)||(m=1)&&(m=0);     /*表达式理解为(m=2)||((m=1)&&(m=0))*/ 

  printf ("%d,%dn",m,k); 

  k=(m=2)&&(m=1)||(m=0);     /*表达式理解为((m=2)&&(m=1))||(m=0)*/ 

  printf ("%d,%dn",m,k); 

  k=(m=0)&&(m=1)||(m=2);     /*表达式理解为((m=0)&&(m=1))||(m=2)*/ 

  printf ("%d,%dn",m,k); 

程序运行结果:

 

2,1

 

2,1

 

1,1

 

2,1

 

4条件运算符和条件表达式

 

4.1条件运算符"?:"是C语言中唯一的的三目运算符,优先级高于赋值运算

 

表达式语法: 表达式1?表达式2:表达式3

 

其执行顺序是:先求解表达式1,若为0则执行表达式2,否则执行表达式3。

 

例子代码:

 

 

#include "stdio.h" 

main(){ 

  char  ch; 

  scanf("%c" , &ch);     /*  输入一个字符,赋给变量ch  */ 

  ch=(ch>='A'&&ch<='Z')?(ch 'a'-'A'):ch;        /*  当字符为大写字母时,将其变为小写字母*/ 

  printf("n%c",ch); 

5sizeof运算符

 

5.1sizeof是C语言的一种单目运算符,运算对象是变量名、表达式或数据类型标示符。功能是以字节形式给出操作数的存储大小。

 

5.2语法格式:sizeof(表达式) 或sizeof 表达式 或sizeof(数据类型)

 

6取地址运算符

 

6.1取地址运算符的运算对象只能是变量,运算结果为变量的存储地址。

 

7几种运算混合运用

 

例子代码:

 

 

#include "stdio.h" 

main(){ 

  int x,y=1,z; 

  x=((9 6)%5>=9%5 6%5)?1:0;  /*((9+6)%5>=9%5+6%5)等价于(((9+6)%5)>=(9%5+6%5))其值为0*/ 

  printf(" x=%dn",x); 

  y =z=x 3;                    /* y =z=x+3等价z=x 3,y=y z*/ 

  printf(" y=%dt z=%dn",y,z); 

  x=y=z=1; 

  --x&& y||z ;               /*混合的逻辑与和逻辑或运算*/ 

  printf(" x=%dt y=%dt z=%dn",x,y,z); 

程序运行结果:

 

  x=0

 

  y=4  z=3

 

  x=0  y=1 z=2

摘自 letthinking的专栏

1.1逗号表达式格式:表达式1,表达式2,表达式3,...,表达式n; 该表达式的功能是:先计算表达式1,再计算表达式2,...

本文由yzc216亚洲城发布于yzc216亚洲城,转载请注明出处:求七个数的最大公约数,C语言学习笔记

关键词: yzc216亚洲城