Mike 发表于 2021-7-13 21:24:52

初始C语言

  

[*]什么是C语言:
  C语言——计算机语言——人和计算机交流的语言

[*]第一个C语言程序:
  #include<stdio.h>
  //包含一个叫stdio.h的文件
  //std-标准 standard input output
  int main()//主函数-程序的入口-不能没有main函数,有且仅有一个
  //main前面的int表示main函数调用返回一个整型值
  {
  printf("hello world\n");//函数-print function-打印函数
  //库函数-C语言本身提供给我们使用的函数
  //使用前打招呼#include
  return 0;//返回0
  }
  Ctrl+F5 运行
  F11逐语句调试

[*]数据类型:
  char; short; int;
  long; long long; float; double
  char ch = 'A';
  printf("%c\n", ch);//%c——打印字符格式的数据
  int a = 10;
  printf("%d",a);//%d——打印十进制数据
  %d 打印整型
  %c 打印字符
  %f 打印浮点数字-打印小数
  %p 以地址形式打印
  %x 打印16进制
  printf("%d\n", sizeof(char));  //1
  printf("%d\n", sizeof(short)); //2
  printf("%d\n", sizeof(int));      //4
  printf("%d\n", sizeof(long));  //4
  printf("%d\n", sizeof(long long)); //8
  printf("%d\n", sizeof(float)); //4
  printf("%d\n", sizeof(double));  //8
  bit位:一个比特这么长法位存放一个二进制位
  1byte字节=8位
  kb千字节2^10
  mb兆字节
  gb吉字节
  tb太字节
  pb拍字节

[*]变量、常量
  变量的分类:
  局部变量——定义在代码块{}之内的变量
  全局变量——定义在代码块{}之外的变量
  当局部变量和全局变量的名字相同时,局部变量优先
  
  C语言语法规定,变量要定义在当前代码块的最前面
  //计算两个数的和
  int main()
  {
  int num1 = 0;
  int num2 = 0;
  int num=0;
  scanf("%d%d", &num1, &num2);//取地址符&
  num = num1 + num2;
  printf("%d\n", num);
  return 0;
  }
  变量的作用域(scope):限定变量可用性的代码范围

[*]局部变量的作用域是变量所在的局部范围
[*]全局变量的作用域是整个工程。
  变量的生命周期:变量创建到变量的销毁之间的一个时间段

[*]局部变量:进入作用域生命周期开始,出作用域生命周期结束
[*]全局变量:整个程序
  常量分类:字面常量
  const修饰的常变量
  #define定义的标识符常量
  枚举常量
  //枚举关键字 enum
  enum Sex
  {
  MALE,//0
  FEMALE,//1
  SECRET//2
  };
  int main()
  {
  printf("%d\n", MALE);
  printf("%d\n", FEMALE);
  printf("%d\n",SECRET);
  //枚举关键字——enum
  //const常属性
  //const修饰的常变量
  const int num = 4;
  printf("%d\n", num);
  //num = 8;//error C3892: “num”: 不能给常量赋值
  printf("%d\n", num);
  return 0;
  }
  字符串类型:
  双引号引起的一串字符称为字符串
  int main()
  {
  char arr1[] = "abc";
  char arr2[] = { 'a','b','c',0 };
  printf("%s\n", arr1);
  printf("%s\n", arr2);
  return 0;
  }
  字符串的结束标志是一个\0的转义字符,不算作字符串内容。
  ‘\0’的值是0——ASCII值
  转义字符\
  \ddd ddd表示1-3个八进制的数字
  \xdd dd表示2个十六进制数字
  注释:
  注释ctrl+k+c
  取消注释ctrl+k+u
  if选择语句
  while语句
  函数
  数组
  操作符:
  移位操作符:移一个二进制位,补0  
  <<左移
  >>右移
  单目操作符
  双目操作符
  三目操作符
  C语言中表示真假:0-假;非0-真
  EOF-文件结束标志-值是-1
  计算数组的元素个数:
  个数=数组总大小/类型所占空间的大小,单位是字节
  sizeof(数组名) – 计算数组大小,单位是字节
  ~按位取反(2进制位)
  原 码            -》           反码            -》            补码
  直接按照正负写出来的二进制序列     原码符号位不变,
  其他位取反                 反码+1
  //有符号的数字存储时,正数第一位是0,负数第一位是1
  //整数在内存中存储的时候,存储的是二进制的补码
  //正数的原码、反码、补码相同
  后置++,先使用,再++
  前置++,先++,再试用
  后置--,先使用,再—
  前置--,先--,再使用
  (类型)——强制类型转换
  条件操作符
  exp1 ?exp2 :exp3
  1.static 修饰局部变量
  局部变量的生命周期变长
  2.static 修饰全局变量
  改变了变量的作用域-让静态的全局变量只能在自己所在的源文件内部使用
  除了源文件就没办法再使用了
  3.static 修饰函数
  也是改变了函数的作用域-不准确
  static修饰函数改变了函数的链接属性
  外部连接属性->内部链接属性
  //define定义标识符常量
  #define MAX 1000
  //define定义宏
  #define ADD(x,y) ((x)+(y))
  每个内存单元的大小是1个字节
  内存单元的编号成为该内存单元的地址
  &取地址符
  *解引用操作符
  有一种变量是用来存放地址的——指针变量,类型是int*/char*.....
  //指针变量存放的是地址,32/64个bit位
  32位平台上1个指针变量的大小是4个字节
  64位平台上1个指针变量的大小是8个字节
  复杂对象-结构体-我们自己创造出来的一种类型
  strcpy()——字符串拷贝-库函数-头文件string.h

  
文档来源:51CTO技术博客https://blog.51cto.com/u_15238407/3072479
页: [1]
查看完整版本: 初始C语言