栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C语言基础:概述、变量

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C语言基础:概述、变量

第一章 C语言概述 C 程序运行机制 C 程序运行机制
  1. 编辑:.c 源文件
  2. 编译:.obj 目标文件
  3. 链接:.obj + 库文件 生成可执行文件:exe
  4. 运行:点击 .exe 文件即可执行
C 程序开发注意事项
  1. C 程序的主题结构说明

    #include...
    int main()
    {
        语句;
        return 0;
    }
    
  2. C 程序源文件以 c 为扩展名

  3. C 程序的执行入口是 main 函数

  4. 严格区分大小写

  5. C 语言有一条条语句构成,每个语句都以 ; 结束

  6. 大括号都是成对出现

C 转义字符 常见转义字符

注释 单行注释
// 注释
多行注释
 
使用细节 
  1. 注释的地方不被执行
  2. 不能嵌套注释
规范代码风格 注释
  1. 注释函数用块注释
  2. 注释语句用单注释
缩进和留白
  1. tab右移,shift + tab左移

  2. 运算符左右需加一个空格

  3. 代码格式化快捷键ctrl+alt+L

  4. 块风格

    int max(int a, intb){
        if(a>b){
            return a;
        }else{
            return b;
        }
    }
    
  5. 次行风格

    int max(itn a, int b)
    {
        if(a>b)
        {
            return a;
        }
        else
        {
            return b;
        }
    }
    
第二章 变量 变量使用的基本步骤
  1. 声明变量:int num
  2. 赋值:num = 5506
  3. 使用:365 * num

也可以一步到位:int num = 5506

变量使用注意事项
  1. 变量表示内存中的一个存储区域,不同的数据类型,占用的空间大小不一样
  2. 在该区域有自己的名称和类型
  3. 变量必须向声明,后使用
  4. 该区域的数据可以在同一类型范围内不断变化
  5. 变量在同一个作用域内不能重名
  6. 变量三要素:变量名 + 值 + 数据类型
变量的数据类型
  1. 每一种数据都定义了明确的数据类型,在内存中分配了大小不同的内存空间(使用字节来表示)

  2. 数据类型

  3. 数据类型总结

    • 在C语言中,没有字符串类型,而是使用字符数组表示字符串
    • 在不同的系统上,部分数据类型字节长度是不一样的
整数类型 整型的类型

整型的使用细节
  1. 各种类型的存储大小与操作系统、系统位数和编译器有关

  2. C语言的整型类型,分为符号 signed 和无符号 unsigned 两种,默认是 signed

  3. C语言中整型常声明为 int 型,除非不足以表示大数,才使用 long long

  4. bit(位):计算机中的最小存储单位,byte(字节):计算机中的基本存储单位

    1 byte = 8 bit

浮点类型 浮点类型的分类

说明:

  1. 浮点数在机器中的存放形式,浮点数=符号位+尾数位,浮点数是近似值
  2. 浮点数的位数部分可能丢失,造成精度损失
浮点型的使用细节
  1. 浮点型常量默认是 double 型,声明 float 型常量时,须加 f 或者 F
  2. 浮点数常量的表示形式:
    • 十进制
    • 科学计数法
  3. 通常情况下,应该使用 double 型,因为它比 float 型更精确
字符类型 char 字符说明

字符类型可以表示单个字符,字符类型是 char,char 是 1 个字节(可以存放字母或者数字)。多个字符常委字符串,在C语言中,使用 char 数组表示,数组不是基本数据类型,而是构造类型。

字符类型使用细节
  1. 字符常量使用单引号 ' ' 括起来的单个字符
  2. C语言允许使用转义字符 来将其后的字符转变为特殊的字符常量
  3. 在C语言中,char 的本质是要给整数,在输出时,是 ASCII 码对应的字符
  4. 可以直接给 char 赋一个整数,然后输出,会按照对应的 ASCII 字符输出对应的字符
  5. char 类型是可以进行运算的,相当于一个整数
字符类型本质探究
  1. 字符型存储到计算中时,需要将字符对应的 ASCII 值找出来
    • 存储:字符 a ——>码值(97)——> 二进制(1100001) ——> 存储
    • 读取:二进制(1100001) ——> 码值(97)——> 字符 a ——> 读取
  2. 字符和码值的对应关系时通过字符编码表来决定的
布尔类型 基本数据类型的转换 自动转换 按照精度带下排序

数据类型自动转换规则

自动转换类型细节说明
  1. 字节小的转换成字节大的
  2. 精度小的转换成精度大的
  3. 有符号的转换成无符号
  4. 赋值号 = 两边,右边转换成左边,右边的可能损失一部分数据
强制类型转换

可将精度高的转成精度小的,但可能会造成精度降低或者溢出

格式:
(类型名)表达式
int(3.5)
强制类型转换细节说明
  1. 精度高 ——> 精度低,需要使用强制转换
  2. 强制符号只针对最近的操作数有效,往往使用小括号提升优先级
指针入门 指针

指针就是一种动态的变量,其目的就是为了方便更改变量。指针表示的是一个地址,什么地址呢?就是变量的地址。

通过上图可知变量 a=5506的地址为 xxx,而指针 ptr=&a 表示 ptr 存储了变量 a 的地址。若要通过指针访问变量的值,应这样写:&ptr。

通过上述的我们可以发现所谓的指针其实也是一个变量,只不过这个变量存储的是其他变量的地址。那么如此的话,多了个变量且不是多余的?

例子

#include 
int main(){
	int a = 5506;
	int *ptr = &a;
	printf("a的值:%dn", a);
	printf("通过指针访问a的值:%dn", *ptr);
	printf("通过指针访问a的地址(或者说是指针本身存放的值):%dn", ptr);
	printf("通过取值符取出a的地址:%dn", &a); 
	return 0;
}
指针细节说明
  1. 基本类型,都有对应的指针类型
  2. 有指向数组的指针、指向结构体的指针、指向共用体的指针
值传递和地址传递
  1. 默认传递值的类型:
    • 基本数据类型
      • 整型
      • 浮点
      • 字符
    • 结构体
    • 通用体
  2. 默认传递地址的类型
    • 指针
    • 数组
  3. 值传递和地址传递使用的特点
    • 值传递:值传递只是简单的拷贝,并不会改变原来的值
    • 地址传递:地址传递会改变原来的

      地址传递和值传递的实例:
 #include
     int main()
     {
     	int a = 1, b;
     	// 值传递,不改变原来值的大小,即a的大小 
     	printf("---值传递---"); 
     	b = a;
     	printf("a = %d, b = %dn",a , b);
     	b = 2;
     	printf("a = %d, b = %dn",a , b);
     	b = 3;
     	printf("a = %d, b = %dn",a , b);
     	// 地址传递,改变原值
     	printf("---地址传递---n");
     	int *p1 = &a;
     	int *p2 = p1;
     	printf("未更改前:a = %d n", a);
     	*p2 = 12;
     	printf("改变 *p2 的值后:a = %dn", a); 
     	return 0;
     }
     
     
     结果:
     ---值传递---a = 1, b = 1
     a = 1, b = 2
     a = 1, b = 3
     ---地址传递---
     未更改前:a = 1
     改变 *p2 的值后:a = 12

本人小白一枚,有什么地方有错还望您能帮我指出,再次感激不尽。
本文参考尚硅谷的C语言课程,在哔哩哔哩上可以看,网址如下:https://www.bilibili.com/video/BV1qJ411z7Hf?spm_id_from=333.999.0.0

与君共勉
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/384336.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号