c语言复习一

计算机只认识二进制

程序要运行的时候,都要先被加载到内存
C语言为编译型语言(编译就是把文本类型的文件变为计算机能认识的二进制文件,后缀为.exe的可执行文件),面向过程(需要一个功能就写一个功能,然后调用)

main函数是程序的入口,一个工程中main函数有且仅有一个。

内存是一个大的整块,为了合理使用内存,就有了数据类型;
变量是开辟内存空间,合理的使用内存

C语言没有字符串类型
printf("%d\n", sizeof(char)); sizeof(关键字不是函数)是来进行类型大小计算的char 1个字节,short2个字节,int,long,float4个字节,long long ,double8个字节

== sizeof求字符串的大小(占用的空间)的时候会将结束符“\0”也计算进去,而strlen(是函数)函数计算的是字符串的长度,不包括结束符"\0" ==

当局部变量(代码块内)和全局变量(代码块外)同名的时候,局部变量优先使用(就近原则)。

  1. 局部变量的作用域是变量所在的局部范围。

  2. 全局变量的作用域是整个工程。

  3. 局部变量的生命周期是:进入作用域生命周期开始,出作用域生命周期结束。

  4. 全局变量的生命周期是:整个程序的生命周期。

常量分类
1、字面常量:1,‘a’
const 修饰的常变量: const float pai = 3.14f;
#define 定义的标识符常量:#define MAX 100
枚举常量

int main()
{
    char arr1[] = "bit";//长度为4,有结束标志\0,默认添加的
    char arr2[] = {'b', 'i', 't'};//不确定,没有\0,就不知道何时结束,所以不确定
    char arr3[] = {'b', 'i', 't''\0'};//4,已经有了结束符就不会在默认添加了
    return 0; }
    

转义字符(特殊转字面值,字面值转特殊)
在这里插入图片描述

 printf("%d\n", strlen("c:\test\328\test.c"));//输出的长度为14

for循环的执行顺序
在这里插入图片描述

  • 函数就是实现某一个功能的方法(也叫子程序,要先声明后使用),需要一个功能,就可以写一个对应的函数(面向过程(走一步看一步),同时可以解耦合,便于代码的维护),
  • c函数的默认返回值类型为int型。
  • 函数只有在被调用的时候才会运行,否则不运行,函数内部的所有临时变量都不存在。
  • 函数调用的时候如果传参数了,就要发生形参实例化,也就是说,函数调用,要形成参数的拷贝

求数组元素的个数

int num = sizeof(arr) / sizeof(arr[0]);// 前面求得是数组的总大小,后面是每个元素的大小

关键字(32个)

auto  break   case  char  const   continue  default  do   double else  enum   
extern float  for   goto  if   int   long  register    return   short  signed
sizeof   static struct  switch  typedef union  unsigned   void  volatile  while

typedef 顾名思义是类型定义,这里应该理解为类型重命名。

//将unsigned int 重命名为uint_32, 所以uint_32也是一个类型名
typedef unsigned int uint_32;
int main()
{
    //观察num1和num2,这两个变量的类型是一样的
    unsigned int num1 = 0;
    uint_32 num2 = 0;
    return 0; }
  • static修饰局部变量改变了变量的生命周期(但作用域不变),让静态局部变量出了作用域依然存在,到程序结束,生命周期才结束(变成了全局属性)。
  • 一个全局变量(全局变量是可以在其他文件中使用的,但要先声明)被static修饰,使得这个全局变量只能在本源文件内使用,不能在其他源文件内使用(改变了作用域)。
  • 一个函数被static修饰,使得这个函数只能在本源文件内使用,不能在其他源文件内使用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值