the third。

  • 设计一个程序,实现交换两个数。

方法一:加减法

#include <stdio.h>
int main ( )
{
int a=6,b=8;
printf ("a=6 b=8\n");
   a=a+b;
   b=a-b;
   a=a-b;
printf ("a=%d b=%d",a,b);
return 0;
}

方法二:异或法( 按位异或法)
按位异或指的是按照二进制序列异或,相同为0,相异为1。

#include <stdio.h>
int main ( )
{
int a=6,b=8;
printf("a=6 b=8\n");
a=a^b;
b=a^b;
a=a^b;
printf ("a=%d b=%d",a,b);
return 0;
}

注:写代码时,头文件<stdio.h>中,不能够有空格键。

  • 求两个数的最大公约数。
#include <stdio.h>
int main ( )
{
int a=0,b=0;
int c=0;
printf ("请输入两个整数:\n");
scanf ("%d%d",&a,&b);
   while (a%b)
  {
    c=a%b;
    a=b;
    b=c;
  }
  printf ("%d",b);
  return 0;
}

注:while (a%b) 相当于 while (a%b!=0)
最大公倍数=两个数的乘积除以这两个数的最大公约数。

  • define 定义的常量:数字,整型,字符串,代码等。
    #define Loop for ( ; ; ) { printf (“hehe\n”); }
    相当于
    #include Loop for ( ; ; )
    {
    printf (“hehe\n”);
    }

  • define 定义的宏。
    函数定义的两个数相加:
    int ADD ( int x, int y )
    {
    return x+y ;
    }
    用宏定义,实现两个数相加:
    #define ADD ( x,y ) x+y
    int sum = ADD ( a, b )

    注:当实参传给形参时,形参是实参的一份临时拷贝,对形参的修改不会改变实参。

用宏定义实现两个数相乘:

#define MUL (x,y) x*y
printf ("%d\n",MUL(1+2,1+2));

该代码的结果为5.

  • sizeof (int */ char */ double *)的结果为4.
    在32位的平台上,这几种类型的大小全为4.

  • printf ("%p\n",&num);
    &mun 中取的是第一个字节的地址.

  • getchar 的返回值为 int.

  • 在switch语句,case决定入口,break决定分支,在switch语句的后面,一定要为整型表达式;在case语句之后,一定要为整型常量表达式。

  • for (x=0,y=0;x<2,y<5;++x,y++)
    在逗号表达式中,要按照顺序从左向右以依次计算,但是其中采取自右向左的结合性,
    因此,该代码块的结果为5.

  • 在for (i=0,k=0;k=0;i++,k++)中,程序不执行。
    原因:k=0不是一个判断,而是赋值,k=0为假,不循环。

猜你喜欢

转载自blog.csdn.net/Darling_sheeps/article/details/82846786