初始C语言01

0、什么是C语言?

  • C语言是人和计算机交流的一种工具

C语言是一门通用计算机编程语言,广泛应用于底层开发。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。
尽管C语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,以一个标准规格写出的
C语言程序可在许多电脑平台上进行编译,甚至包含一些嵌入式处理器(单片机或称MCU)以及超级电脑等作业平台。
二十世纪八十年代,为了避免各开发厂商用的C语言语法产生差异,由美国国家标准局为C语言制
定了一套完整的美国国家标准语法,称为ANSI C,作为C语言最初的标准。 [1] 目前2011年12月8日,国际标准化组织(ISO)和国际电工委员会(IEC)发布的C11标准是C语言的第三个官方标准,也是C语言的最新标准,该标准更好的支持了汉字函数名和汉字标识符,一定程度上实现了汉字编程。

C语言是一门面向过程的计算机编程语言,与C++,Java等面向对象的编程语言有所不同。
其编译器主要有Clang、GCC、WIN-TC、SUBLIME、MSVC、Turbo C等。

初始C语言01
  • 电脑内部的结构 – C语言擅长底层开发

电脑其实是一个硬件,我们会在硬件上装操作系统如:Windows、Linux、Mac来操作硬件。在这两个之间还有驱动层,操作系统调取驱动层,来驱动硬件的工作。我们可以在操作系统上安装应用软件。操作系统之上为上层,操作系统之下为底层(下层)。C语言擅长于底层开发

初始C语言01
  • C语言的发展历程

计算机语言的发展以及二进制指令的发展如下图所示
我们把助记符命名为ADD

初始C语言01
  • C语言的国际标准

背景:C语言早期存在缺陷,不同公司对C语言进行了改造以及升级迭代而导致C语言类型五花八门。我们为了让C语言的统一,制定了C语言的国际标准

国际语言标准:ANSIC -C89/90

初始C语言01
  • C/C++是编译型语言
初始C语言01
  • 拓展:由text.c到test.exe的具体路径
初始C语言01

从C源代码到可执行文件的四个过程:预处理、编译、汇编、链接

编译器作用:把源代码转换成中间代码,链接器把中间代码和其他代码合并,⽣成可执⾏⽂件。

链接器的作⽤是,把你编写的⽬标代码、系统的标准启动代码和库代码这3部分合并成⼀个⽂件,即可执⾏⽂件。对于库代码,链接器只会把程序中要⽤到的库函数代码提取出来

  • 第一个C语言程序
//#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>  //头文件

int main()
{
    printf("hello bit\n");
    printf("he he\n");
    return 0; 
}

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

初始C语言01
初始C语言01

1、输入函数

scanf("%d%d", &a, &b);  //& - 取地址符号

2、输出函数

printf("%d\n", sum);
%d打印十进制有符号数
%c打印字符
%f打印浮点型
%p以地址形式打印
%x打印16进制数字
%s打印字符串
%zd打印内存大小
%u打印十进制无符号数

3、计算机中的单位换算

bit – 比特位只能表示 0 1
byte – 字节1byte = 8bit
kb1kb = 1024byte
mb1mb = 1024kb
gb1gb = 1024mb
tb1tb = 1024gb
pb1pd = 1024tb

4、数据类型

  • 数据类型的种类

数据类型种类繁多可以让空间使用更为灵活
他们的大小不同,表示的范围不同,那么我们在适当的时候选择适当的类型就会更加贴近

初始C语言01

1、C语言有没有字符串类型?

答案是没有。c语言中没有string类型,string是用char型数组来构造的。

C++ 中 string 模块中有string数据类型

2、long(根据编译器不同,字节也不同,C语言标准规定 sizeof(long) >= sizeof(int) )

  • 每种数据类型占据字节大小
#include <stdio.h>  
int main()
{
    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
    printf("%d\n", sizeof(long double));  //8
    return 0; 
}

%zu 表示打印一个sizeof的返回的无符号整型(sizeof的返回值由zu来打印) size_t 对应的
%d 表示打印整型

  • 类型的使用
char ch = 'w';  //字符型
int weight = 120;  //整型
float salary = 20000.0f;  //单精度浮点型

原理:

运用int 类型创建一个age变量,把20放进去 相当于 向内存申请了int大小的空间,即4个字节的空间把20放进去

5、变量

  • 概念

生活中的有些值是不变的(比如:圆周率,性别,身份证号码,血型等等)
有些值是可变的(比如:年龄,体重,薪资)。
不变的值,C语言中用常量的概念来表示,变得值C语言中用变量来表示

  • 定义变量的方法 – 整型/浮点数+变量名称+(=)赋值;
初始C语言01
  • 变量的分类

局部变量

  • 作用域:变量所在的局部范围(只在{ }中有效)
  • 生命周期:进入作用域生命周期开始,出作用域生命周期结束

全局变量

初始C语言01
  • 作用域:整个工程(一个c文件中的全局变量可以在另一个c文件中使用,要用extern声明)
  • 生命周期:整个程序的生命周期(main函数执行结束)

本文转载自,原文链接:https://blog.csdn.net/ljh86/article/details/130537197,本文观点不代表何大锤的博客立场。

(0)
何大锤的头像何大锤管理团队

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

2211932694

在线咨询: QQ交谈

邮件:hdcblog1999@163.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信
网站建设中ing......