预处理
#include<stdio.h>
#define PI 3.1415926
void main()
{
double s;
int r;
printf("Please enter the radius:");
scanf("%d", &r);
s = PI * (r * r);
printf("%g", s);//%g=%f或者%e
}
//Please enter the radius : 5
//78.5398
(二)
#include<stdio.h>
#define PI 3.1415926
#define String "Circle";//加了分号是错误的
void main()
{
}
(三)
#include<stdio.h>
#define PI 3.1415926
void fun();
void main()
{
double s;
int r;
printf("Please enter the radius:");
scanf("%d", &r);
s = PI * (r * r);
printf("圆的面积为:%g\n", s);
fun();
}
//#undef PI
//如果添加了上面的语句,下面会接收不到PI的值,这样会导致程序报错
void fun()
{
printf("PI=%g\n", PI);
}
(五)
#include<stdio.h>
#define PI 3.1415926
#define S PI * (r * r)//嵌套
void fun();
void main()
{
double s;
int r;
printf("Please enter the radius:");
scanf("%d", &r);
s = S;
printf("圆的面积为:%g\n", s);
fun();
}
void fun()
{
printf("PI=%g\n", PI);
}
#include<stdio.h>
#define PIN1 char *//char*是一个指针型的字符
typedef char* PIN2;
void main()
{
PIN1 x, y;//char *x,char y
PIN2 a, b;//char *a,char *b
printf("#define:%d %d\n", sizeof(x), sizeof(y));
printf("typedef:%d %d\n", sizeof(a), sizeof(b));
}
(八)
#include<stdio.h>
#define P printf
#define D "%d\n"
#define F "%.2f\n"
void main()
{
int a = 5;
float b = 3.8;
P(D, a);
P(F, b);
}
//5
//3.80
#include<stdio.h>
#define MAX(a,b) (a>b)?a:b
void main()
{
int a, b;
scanf("%d %d", &a, &b);
int max;
max = MAX(a, b);//max=(a>b)?a:b
printf("max=%d\n", max);
}
//10 100
//max = 100
#include<stdio.h>
#define SQ(y) (y)*(y)
void main()
{
int a;
int sq;
scanf("%d", &a);
sq = SQ(a + 1);
/((3+1)*(3+1))
//=4*4
//16
printf("sq=%d\n", sq);
}
//3
//16
#include<stdio.h>
#define SQ(y) (y)*(y)
void main()
{
int a;
int sq;
scanf("%d", &a);
sq = 160/SQ(a + 1);
//=160/(3+1)*(3+1)
//=160/4*(3+1)
//40*(3+1)
//160
printf("sq=%d\n", sq);
}
//3
//160
加扩号
#include<stdio.h>
#define SQ(y) ((y)*(y))
void main()
{
int a;
int sq;
scanf("%d", &a);
sq = 160/SQ(a + 1);
//=160/((3+1)*(3+1))
//=160/16
//10
printf("sq=%d\n", sq);
}
//3
//10
#include <stdio.h>
void main()
{
int i = 1;
int SQ(int y);
while (i <= 5)
{
printf("%d\n", SQ(i++));
}
}
int SQ(int y)
{
return((y)*(y));
}
//1
//4
//9
//16
//25
#include <stdio.h>
#define SQ(y) ((y)*(y))
void main()
{
int i = 1;
while (i <= 5)
{
printf("%d\n", SQ(i++));
//(1)*(1)=1 1++=2 2++=3
//(3)*(3)=9 3++=4 4++=5
//(5)*(5)=25
}
}
//1
//9
//25
#include<stdio.h>
#include<string.h>
int main()
{
char str[] = "I Love You!";
printf("sizeof str=%d\n", sizeof(str));
printf("strlen str=%d\n", strlen(str));
return 0;
}
//sizeof str = 12 包含字符串最后一个字符\0
//strlen str = 11 不包含字符串最后一个字符\0
strcpy
#include<stdio.h>
#include<string.h>
int main()
{
char str1[] = "Remember ONE";
char str2[] = "Remember TWO";
char str3[100];
strcpy(str1, str2);/* 复制 str2 到 str1 */
strcpy(str3,"Copy Successful");/* 复制 Copy Successful 到 str3 */
printf("str1:%s\n",str1);
printf("str2:%s\n",str2);
printf("str3:%s\n",str3);
return 0;
}
//str1:Remember TWO
//str2 : Remember TWO
//str3 : Copy Successful
注意:str1和str2的字符数组长度一定要相同,str3的字符数组长度也要大于要复制字符数组的长度,如果长度不相同会出现报错的情况
strncpy
#include<stdio.h>
#include<string.h>
int main()
{
char str1[] = "Remember ONE";
char str2[30];
strncpy(str2, str1,8);
str2[8] = '\0';//追加一个结束符
printf("str2=%s\n", str2);
return 0;
}
//str2=Remember
strcat
#include<stdio.h>
#include<string.h>
int main()
{
char str1[15] = "Hello ";//这里要设置长度,vs2019会溢出
char str2[] = "World!";
strcat(str1, str2);
printf("str1:%s\n", str1);
return 0;
}
//str1:Hello World!
strncat
#include<stdio.h>
#include<string.h>
int main()
{
char str1[15] = "Hello ";//这里要设置长度,vs2019会溢出
char str2[] = "World!";
strncat(str1,str2,5);
printf("str1:%s\n", str1);
return 0;
}
//str1:Hello World
strcmp
#include<stdio.h>
#include<string.h>
int main()
{
char str1[] = "Fly";
char str2[] = "Fly";
if (!strcmp(str1, str2))//strcmp(str1, str2) 返回为0 取反为1
{
printf("两个字符串完全一致\n");
}
else
{
printf("两个字符串存在差异\n");
}
return 0;
}
//两个字符串完全一致
strncmp
#include<stdio.h>
#include<string.h>
int main()
{
char str1[] = "Fly";
char str2[] = "Fly!";
if (!strncmp(str1, str2,4))//strcmp(str1, str2) 返回为0 取反为1
{
printf("两个字符串完全一致\n");
}
else
{
printf("两个字符串存在差异\n");//加了!
}
return 0;
}
//两个字符串存在差异
#include <stdio.h>
#include <string.h>
#define STR(s1,s2,s3,sum) strcat(strcat(strcat(sum,s1),s2),s3);
void main()
{
char str1[] = "How ";
char str2[] = "are ";
char str3[] = "you!";
char str4[40] = "";
STR(str1, str2, str3, str4);
printf("str1:%s\nstr2:%s\nstr3:%s\nsum:%s\n", str1, str2, str3, str4);
}
//str1:How
//str2 : are
//str3 : you
//sum:How are you!