1.宏的定义 #define MAX(X,Y)(X,Y?X:Y)
#include <stdio.h>
// 宏的定义
#define MAX(X,Y)(X>Y?X:Y)
int Max(int x, int y) {
if (x > y)
return x;
else
return y;
}
// 宏的定义
#define MAX(X,Y)(X>Y?X:Y)
int main()
{
int a = 10;
int b = 20;
//函数
int max = Max(a, b);
printf("max=%d\n", max);
//宏的方式
max = MAX(a, b);
//max=(a>b?a:b);
printf("max=%d\n", max);
return 0;
}
这里可以用函数的方法 int max = Max(a,b);
也可以用宏的定义 max = MAX(a,b) 或者 max=MAX(a>b?a:b) 真2假3;
2.输出1-100的奇数
方法一:
int main()
{
int i = 1;
while (i <= 100)
{
if (i % 2 == 1)
printf("%d ", i);
i++;
}
return 0;
}
方法二:
int main()
{
int i = 1;
for (i = 1; i <= 100; i=i+2)
{
printf("%d ", i);
}
return 0;
}
int main()
{
int i = 1;
while (i <= 100)
{
printf("%d ", i);
i = i + 2;
}
return 0;
}
3.switch语句(break 每一行都要放)
int main()
{
int day;
scanf("%d", &day);
switch (day)//括号里面放整型表达式 day定义为int
{
case 1:
printf("星期1\n");
break;
case 2:
printf("星期2\n");
break;
case 3:
printf("星期3\n");
break;
case 4:
printf("星期4\n");
break;
}
int day;
scanf("%d", &day);
switch (day)
{
case 1:
case 2:
case 3:
printf("工作日\n");
break;
case 6:
case 7:
printf("休息日\n");
break;//最后一个break尽量加上
default://处理非法的错误 没有顺序 可以放最前面
printf("输入错误\n");
break;
}
return 0;
}
求一下m 和 n 的值:
int main()
{
int n = 1;
int m = 2;
switch (n)
{
case 1:m++;//3
case 2:n++;//2
case 3:
switch (n)
{//switch允许嵌套使用
case 1:n++;//3
case 2:m++; n++; break;//这里的break只是结束了内部的switch case 3 本身没有break
//所以运行到case 4 才结束
}
case 4:m++;//m=5
break;
}
printf("m=%d n=%d", m, n);
return 0;
}
4.break和continue
int main()
{
int i = 0;
while (i <= 10)
{
i++;
if (i == 5)
continue;//跳过后面的代码 往上走 ;
//用于终止本次循环的,也就是本次循环中continue后面的代码不会再执行,而是直接跳转到while语句的判断部分
//进行下一次循环的入口判断
printf("%d ", i); //1 2 3 4 6
}
int i = 1;
while (i<=10)
{
if (i == 5)
break;//在i==5 的时候跳出循环 用于永久终止循环
printf("%d ", i);// 1 2 3 4
i++;//打印1-10的数字
}
return 0;
}
5.计算n的阶乘
#include <stdio.h>
int main()
{
int n = 0;
int ret = 1;
int i = 0;
scanf("%d", &n);
for (i = 1; i <= n; i++) //倒着来
{
ret = ret * i;
}
printf("阶乘为:%d", ret);
return 0;
}
6.计算1!+2!+3!+......10!
int main()
{
int i = 0;
int n = 0;
int ret = 1;
int sum = 0;
for (n = 1; n <= 10; n++)
{
int ret = 1;
for (i = 1; i <= n; i++)
{
ret = ret * i;
}
sum = sum + ret;
}
printf("sum=%d", sum);
return 0;
}
or
int main()
{
int i = 0;
int ret = 1;
int sum = 0;
for (i = 1; i<= 10; i++)
{
ret = ret * i;
sum = sum + ret;
}
printf("sum=%d", sum);
return 0;
}