c语言学习篇二【基础语法】
2024-10-21 05:04:19
一、定义常量:
使用 #define 预处理器。
使用 const 关键字。
#include <stdio.h>
int main()
{
const int LENGTH = 10;//const 声明常量要在一个语句内完成
const int WIDTH = 5;
const char NEWLINE = '\n';
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\n", 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("先赋值后运算:\n");
printf("Line 1 - c 的值是 %d\n", c ); //10
printf("Line 2 - a 的值是 %d\n", a ); //11
a = 10;
c = a--;
printf("Line 3 - c 的值是 %d\n", c ); //10
printf("Line 4 - a 的值是 %d\n", a ); //9 printf("先运算后赋值:\n");
a = 10;
c = ++a;
printf("Line 5 - c 的值是 %d\n", c ); //11
printf("Line 6 - a 的值是 %d\n", a ); //11
a = 10;
c = --a;
printf("Line 7 - c 的值是 %d\n", c ); //9
printf("Line 8 - a 的值是 %d\n", a );//9
if (a==c){
printf("gungungungun \n" );
}else{
printf("ppppppppppp \n" );
} }
#include <stdio.h>
int A=10;
int B=20;
char buy;
int sum,number; int main(){
printf("以下是本店的商品及价格:\n A 商品每个十元;\n B 商品每个二十元;\n\n");
printf("请输入你所需的产品(A 或 B):");
scanf("%c",&buy);
printf("请输入所需的数量:");
scanf("%d",&number);
sum=buy=='A'?A*number:B*number;
printf("\n你所需要的%d个%c商品总共%d元。\n",number,buy,sum);
return 0;
}
最新文章
- 《JavaScript高级程序设计》 - 读书笔记 - 第5章 引用类型
- 巧用margin/padding的百分比值实现高度自适应(多用于占位,避免闪烁)
- pod install 和 pod update的区别
- Android WebView Memory Leak WebView内存泄漏
- webkit特有的css属性
- BZOJ3560 : DZY Loves Math V
- STL--map
- python语法笔记(三)
- Java并发编程(一) 两种实现多线程的方法(Thread,Runnable)
- a 标签 跳转4种类型
- WinCE的开发流程
- .NET分布式事务处理总结【下】 - 包含MSMQ的分布式事务处理
- 剑指offer——已知二叉树的先序和中序排列,重构二叉树
- ASP.NET自定义控件组件开发 第二章 继承WebControl的自定义控件
- ubuntu突然卡住
- 代码走查工具StyleCop建议采用的规则总结
- 「LINUX资料」简单实用命令less和vi(三)
- phpcms v9 搜索结果列表页时间显示1970问题解决方案
- hdu 5122(2014北京—dp)
- 28BYJ-48步进电机