初识C语言5

一.控制符

  1. %d 十进制有符号整数
  2. %u 十进制无符号整数
  3. %f 浮点数
  4. %e 指数形式的浮点数
  5. %ld 长整型
  6. %lf 长浮点数
  7. %x 十六进制
  8. %o 八进制
  9. %c 字符
  10. %s 字符串
  11. %p 指针的值
  12. %g 自动选择合适的表达方式
  13. %和字母之间的数字表示宽度
  14. %1d 表示输出一个十进制数
  15. %02d 表示输出两个十进制数,不够三位左边补零
  16. %7.4f 表示输出宽度为7的浮点数,小数点占一位,小数点后取四位,整数部分取两位

注意:double比float的精度高,但是占用的内存大,所有运行速度比较慢

运算的优先级:算数>关系>逻辑>赋值

二.常见关键字

  1. auto //声明自动变量:例如 int a=0;//应该为auto int a=0;被省略了
  2. break //跳出当前循环
  3. case //开关语句分支
  4. char //声明字符变量或函数
  5. const //修饰变量使之变为常变量
  6. continue //结束当前循环,进入下一循环
  7. default //开关语句中的“其他”分支
  8. do //循环语句的循环体
  9. double //声明双精度变量或函数
  10. else //条件语句否定分支(与if连用)
  11. enum //声明枚举类型
  12. extern //声明变量,引用其他文件的变量
  13. float //声明单精度浮点型变量或函数
  14. for //一种循环语句
  15. goto //无条件跳转语句
  16. if //条件语句
  17. int //声明整数型变量或函数
  18. long //声明长整型变量或函数
  19. register //声明寄存器变量(表示建议将变量的值存放在寄存器中)
  20. return //表示把程序流程从被调函数转向主函数并把表达式的值带回主函数,实现函数值的返回,返回时可附带一个返回值
  21. short //声明短整型变量或函数
  22. signed //声明有符号类型变量或函数
  23. sizeof //操作数的类型长度(以字节为单位)
  24. static //声明静态变量,修饰变量和函数
  25. struct //声明结构体变量或函数
  26. switch //用于开关语句
  27. typedef //类型重命名:typedef unsigned int u_int(将unsigned int用u_int代替)
  28. union //声明联合数据类型
  29. unsigned //声明无符号类型变量或函数
  30. void //声明函数无返回值或无参数
  31. volatile //C语言阶段暂时不学
  32. while //循环语句的循环条件

注意:define和include是预处理指令,不是关键字。、

static修饰局部变量--静态局部变量:改变了局部变量的生命周期。(本质上是改变了变量的类型)

内存分为三个区域:

栈区:存放局部变量和函数的参数

堆区:用于动态内存的分配

静态区:存放全局变量和static修饰的静态变量

void test()

{

static int a=1;//a原本出了大括号就该销毁的,但是有了static的修饰相当于全局变量,不能再次声明

a++;

printf("%d",a);

}

int main()

{

int i=0;

while(i<10)

{

test();

}

return 0;

}

输出结果为:2 3 4 5 6 7 8 9 10 11

static修饰全局变量--静态全局变量:使得这个全局变量只能在自己所在的源文件(.c)内部可以使用,其他源文件不能使用

全局变量在其他源文件内部可以被使用,是因为全局变量具有外部链接属性但是被static修饰之后,就变成了内部链接属性,其他源文件就不能链接到这个静态的全局变量了。(相当于不能被其他文件引用)

static修饰函数--静态函数:使得函数只能在自己所在的源文件内部使用,不能在其他源文件内部使用。

本质上:static是将函数的外部链接属性变成了内部链接属性。(和static修饰全局变量一样)

#define定义常量和宏

1.define定义标识符常量

define MAX 1000

2.define定义宏

#define ADD(x,y) ((x)+(y))

例如:

#include <stdio.h>

int main()

{

int sum=ADD (2,3);//将ADD(2,3)换成了((2)+(3))

pprintf("sum=%d\n",sum);

sum=10*ADD(2,3);

printf("sum=%d\n",sum);

return 0;

}

输出结果为:50

 总结:今日总学习时长6小时,目前学习到的知识都还算简单,没有特别难理解的,再接再励

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值