一、定义常量:
使用 #define 预处理器。
使用 const 关键字。
#include <stdio.h> int main() { const int LENGTH = 10;//const 声明常量要在一个语句内完成 const int WIDTH = 5; const char NEWLINE = ' '; int area; area = LENGTH * WIDTH; printf("value of area : %d", area); printf("%c", NEWLINE); return 0; }
二、存储类
存储类定义 C 程序中变量/函数的范围(可见性)和生命周期。
auto:存储类是所有局部变量默认的存储类。
register:定义存储在寄存器中而不是 RAM 中的局部变量
static:存储类指示编译器在程序的生命周期内保持局部变量的存在,而不需要在每次它进入和离开作用域时进行创建和销毁
extern:存储类用于提供一个全局变量的引用,全局变量对所有的程序文件都是可见的。当您使用 extern 时,对于无法初始化的变量,会把变量名指向一个之前定义过的存储位置。
extern 修饰符通常用于当有两个或多个文件共享相同的全局变量或函数的时候
#include <stdio.h> void func1(void); static int count =10; int main() { while (count--){ func1(); } return 0; } void func1(void){ static int thingy =5; thingy++; printf(" thingy 为 %d , count 为 %d ", thingy, count); } 结果: thingy 为 6 , count 为 9 thingy 为 7 , count 为 8 thingy 为 8 , count 为 7 thingy 为 9 , count 为 6 thingy 为 10 , count 为 5 thingy 为 11 , count 为 4 thingy 为 12 , count 为 3 thingy 为 13 , count 为 2 thingy 为 14 , count 为 1 thingy 为 15 , count 为 0
三、C 运算符 a++、a--【先赋值后运算】
++a,--a【先运算后赋值】
#include <stdio.h> int main() { int c; int a = 10; c = a++; printf("先赋值后运算: "); printf("Line 1 - c 的值是 %d ", c ); //10 printf("Line 2 - a 的值是 %d ", a ); //11 a = 10; c = a--; printf("Line 3 - c 的值是 %d ", c ); //10 printf("Line 4 - a 的值是 %d ", a ); //9 printf("先运算后赋值: "); a = 10; c = ++a; printf("Line 5 - c 的值是 %d ", c ); //11 printf("Line 6 - a 的值是 %d ", a ); //11 a = 10; c = --a; printf("Line 7 - c 的值是 %d ", c ); //9 printf("Line 8 - a 的值是 %d ", a );//9 if (a==c){ printf("gungungungun " ); }else{ printf("ppppppppppp " ); } }
#include <stdio.h> int A=10; int B=20; char buy; int sum,number; int main(){ printf("以下是本店的商品及价格: A 商品每个十元; B 商品每个二十元; "); printf("请输入你所需的产品(A 或 B):"); scanf("%c",&buy); printf("请输入所需的数量:"); scanf("%d",&number); sum=buy=='A'?A*number:B*number; printf(" 你所需要的%d个%c商品总共%d元。 ",number,buy,sum); return 0; }