• C语言的基础知识


    目录

    C语言的发展进程

    特点

    编译过程中的知识点

    C程序运行机制

    C语言开发注意事项

    变量

    变量注意事项

    变量的数据类型

    整数类型

     浮点数类型​编辑

    字符类型

    布尔类型

    强制数据类型转换​

    C语言的发展进程

    特点

    • 代码级别的跨平台
    • 使允许直接访问物理地址,对硬件进行操作(C语言可以用来写系统软件)
    • C语言是一个有结构化程序设计、具有变量化领域以及递归功能的过程式语言
    • C语言传递参数可以是值传递,也可以是传递指针
    • C语言中,没有对象,不同的变量类型可以用结构体组合在一起
    • 预编译处理,生成目标代码质量高,程序执行效率高

    编译过程中的知识点

    • 生成解决方案只是生成了一个.exe文件,但是并不会将文件执行
    • C语言严格区分大小写

    C程序运行机制

    • 源文件(.c文件)编译之后变成目标文件(.obj文件),同时还有C语言提供的库文件。目标文件与库文件相链接,链接之后变为可执行文件(.exe文件),运行之后,出现结果。

    C语言开发注意事项

    1. #include
    2. void main(){
    3. 语句1
    4. 语句2
    5. }
    • C程序源文件以“C”为扩展名
    • C程序的执行入口是main()函数

    变量

    变量注意事项

    • 变量表示内存中的一个存储区域
    • 该区域有自己的名称和类型
    • 变量必须先声明,后使用
    • 该区域的数据可以在同一类型范围内不断变化
    • 变量在同一个作用域内不能重名

    变量的数据类型

    整数类型

    • 在不同系统上,部分数据类型字节长度不一样,int表示2或者4
    • bit(位):计算机中的最小存储单位;byte(字节):计算机中基本存储单元;

                    1byte = 8 bit

     浮点数类型

    • 浮点型变量默认为double类型,声明float型变量时,须在后加'f' 或'F'
    • 浮点型变量:十进制数形式、科学计数法
    • 通常情况下,应该使用double类型,它比float类型更精确
    • 在输出时,默认保留小数点6位

    字符类型

    • 字符常量是用单括号(' ')括起来的单个字符
    • C中还允许使用转义字符'\'来将之后的字符转变为特殊字符型常量
    • 在C语言中,char的本质是一个整数,在输出时,是ASCII码对应的字符
    • 可以直接给char赋一个整数,然后输出时,或按照对应的ASCII码字符输出(以%c形式输出
    • char类型是可以进行运算的,相当于一个整数,因为它都对应有Unicode码

            大写A的ASCII码是65

            小写a的ASCII码是97

    • 存储:字符'a'-->码值(97)-->二进制(1100001)-->存储()
    • 读取:二进制(1100001)-->码值(97)-->字符'a'-->显示

    布尔类型

    • C99提供了一个头文件定义了bool代表_Bool
    • true代表1,false代表0.
    • 只要导入stdbool.h,就能方便的控制布尔类型了。bool flag = false;
      1. #include
      2. //宏定义
      3. #define BOOL int
      4. #define TRUE 1
      5. #define FALSE 0
      6. void main() {
      7. int isPass = 1;
      8. if (isPass) {//0表示假,非0表示真
      9. printf("未通过考试\n");
      10. }
      11. /*isPass -= 1;
      12. if (isPass) {
      13. printf("通过考试");
      14. }*/
      15. //定义一个布尔变量
      16. BOOL isOk = TRUE;//int isOk = 1;
      17. if (isOk) {
      18. printf("ok");
      19. }
      20. getchar();
      21. }

      导入

      1. #include
      2. #include
      3. void main() {
      4. //定义一个布尔变量
      5. bool isOk = true;//int isOk = 1;
      6. if (isOk) {
      7. printf("ok");
      8. }
      9. getchar();
      10. }

      强制数据类型转换

    • 当进行数据的从精度高-->精度低,就需要使用强制转换
    • 强转符号只针对于最近的操作数有效,往往会使用小括号提升优先级
    1. #include
    2. void main() {
    3. double d1 = 1.9344655;
    4. int n1 = (int)d1;//不是四舍五入,直接截断小数点后的部分
    5. int num2 = (int)1.5 * 10 + 6 * 1.5;//19
    6. int num3 = 1.5 * 10 + 6 * 1.5;//24
    7. int num4 = (int)(1.5 * 10 + 6 * 1.5);//24
    8. printf("n1=%d\td1=%.4f\n", n1,d1);//1 1.9345
    9. printf("num2=%d\n", num2);
    10. printf("num3=%d\n", num3);
    11. printf("num4=%d\n", num4);
    12. }

     

  • 相关阅读:
    Android~快捷方式兼容适配
    openstack-同一物理机中透传不同GPU时的nova配置记录
    js数组操作——对象数组根据某个相同的字段分组
    Linux性能优化--性能工具:下一步是什么
    折柱混合图的多种用法
    微软宣布 Windows 11 开始大范围推送
    winapi获取鼠标指向当前元素
    满满干货!手把手教你实现基于eTS的分布式计算器
    用文字描述给黑白照上色,这个免费网站火了!网友:比其他同类都好用
    Zbrainsoft Dose for Excel 3.6.x 插件 Crack
  • 原文地址:https://blog.csdn.net/qq_47896523/article/details/126209403