最近学的比较少,大前天在宿舍里搭建了一个屏幕,前天学习写的代码不小心自己把他删了,昨天把前天的代码补了起来,并且学了一些新的东西,但是昨天晚上睡着了没有时间写这个了,今天补上最近学的东西。
1.typedef 类型重定义
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
typedef unsigned int u_int;
//类型重定义
int main()
{
unsigned int num1 = 100;
u_int num2 = 100;
printf("%d\n%d", num1, num2);
return 0;
}
2.static——静态的
(1)修饰局部变量
void test()
{//修饰局部变量
static int a = 0;//这里不加上static的话结果就是 1 1 1 1 1 1 1 1 1 1,原本a除{}就销毁,现在a一直存在
a++;
printf(" %d", a);
}
int main()
{
int i = 0;
while (i < 10)
{
test();
i++;
}
return 0;
}
(2)修饰全局变量
/*static*/ int g_val = 2022;//假如这里加上了static的话就把全局变量的外部链接属性变成了内部链接属性
//其他的源文件就不能链接到这个静态的全局变量了
、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、
extern int g_val;
int main()
{
printf("%d", g_val);
return 0;
}
( 3)修饰函数
/*static*/ int add(int x, int y)
{
return x + y;
}//同上,假如这里加上static的话其他源文件也不能链接到这个静态的函数了
、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、
extern int add();
int main()
{
int a = 0;
int b = 0;
scanf("%d%d", &a, &b);
int sum = add(a, b);
printf("sum=%d", sum);
return 0;
}
3.define是一个预处理指令
(1)define定义符号
#define MAX 1000
int main()
{
printf("%d", MAX);
return 0;
}
(2)define定义宏
#define add(X,Y) ((X)+(Y)) //记得加括号
int main()
{
int a = 2;
int b = 4;
printf("%d", 4 * add(a,b));
return 0;
}
然后还有网上练的两个代码题
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
int main()
{
int i = 0;
char ch = '0';
scanf("%c", &ch);
printf(" %c\n", ch);
printf(" ");
for (i = 1; i <= 3; i = i++)
{
printf("%c", ch);
}
printf("\n");
for (i = 1; i <= 5;i++)
{
printf("%c", ch);
}
printf("\n ");
for (i = 1; i <= 3; i = i++)
{
printf("%c", ch);
}
printf("\n");
printf(" %c\n", ch);
return 0;
}
int main()
{
char ch= 0;
scanf("%c", &ch);
printf("%d", ch);
return 0;
}//给出一个字符,输出它的ASCII编码