目录

    • 一,什么是C语言
    • 二,第一个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语言程序

#include  int main(){   printf("Hello word");   return 0}

这段代码的功能是在屏幕上打印一个 “Hello word”。

代码解析;
第一行:头文件,在使用c语言自带的库函数之前一定要包含对应的 ,“头文件”。
第二行:main函数,在c语言中main函数是程序的入口,程序是从main函数开始执行的,main函数在程序中只能存在一个。
第三行:printf,printf是一个库函数 – c语言编译器提供的一个现成的函数,直接可以使用,其功能就是在屏幕上打印数据。
第四行:return 0 – 返回值。

这就是第一个c语言程序的内容;同学们有没有get到呢?

三,数据类型

char     //字符数据类型short    //短整型int     //整形long     //长整型long long  //更长的整形float    //单精度浮点数double    //双精度浮点数

int类型
数据类型大小是 4 字节,能表示的数值范围是
-2^(32-1) – 2^(32-1)-1 (即 -2147483648 ~ 2147483647)
打印类型是 %d ,使用格式为 int 名 = 值;

short类型
数据类型大小是 2 字节,能表示的数值范围是
-2^(16-1) – 2(16-1) -1 (即 -32768 ~ 32767)
打印类型是 %hd ,使用格式为 short 名 = 值;

long类型
数据类型大小是 4 字节,能表示的数值范围是
-2^(32-1) – 2^(32-1)-1 (即 -2147483648 ~ 2147483647)
打印类型是 %ld ,使用格式为 int 名 = 值;

long long类型
数据类型大小是 8 字节,能表示的数值范围是
-2^(63) ~ 2^(63)-1 (这个数足够大了)
打印类型是 %lld ,使用格式为 long long 名 = 值;

单精度浮点型(float)
单精度浮点型的大小是 4 字节
float v1 = 4.345;
unsigned float v1 = 4.345; 无符号的 float 数据
格式匹配符是:%f , 默认保留 6 位小数。

双精度浮点型(double)
双精度浮点型的大小为 8 字节
double v2 = 5.678;
unsigned double v2 = 5.678; 无符号的 double 数据

当然在c语言里面,肯定不止这些数据类型,比如在c99里面还引入了:Bool(布尔),long double

各种c语言数据类型在内存中所占空间的大小(单位:字节)

注:sizeof – 是一个操作符,是计算类型 / 变量所占内存空间的大小。
注:%d – 是一10进制的形式打印一个整数 , \n – 是换行

四,变量,常量

变量和常量在c语言中就是一个容器,通常是一块内存。
生活中有些值是不变的(比如:圆周率,性别,身份证号码,血型等等)
有些值是可变的(比如:年龄,体重,薪资等等)
不变的值,在c语言中用常量的概念来表示,变化的值用变量来表示。

4.1定义变量的方法

int age = 150;float wei = 42.1f;char ch ='w';

方法如下:
类型 变量名;
类型 变量名 = 初始值 (最好给一个初始值)

4.2变量的命名
只能由字母(包括大写和小写)、数字和下划线( _ )组成。
不能以数字开头。
长度不能超过63个字符。
变量名中区分大小写的。
变量名不能使用关键字。
起名字是非常讲究的,最好要有意义。

4.3变量的分类、
局部变量 ;函数内部定义的变量只在本函数范围内有效,也就是只有本函数内才能引用它们,在此函数外不能使用这些变量
局部变量出现在三种地方:
(1)在函数的开头定义的变量
(2) 在函数内的复合语句内定义的变量
(3)形式参数

全局变量; 在函数外部定义的变量就是全局变量或外部变量;全局变量为该源文件中所有函数所共有,它的作用范围是从变量定义的位置到源文件结束

#include int a=20;   //全局变量int main(){   int a=10//局部变量   printf("a=%d",a);   return 0;}  

总结:原则上变量名尽量不要冲突,当全局变量和局部变量的名字冲突的情况下,局部优先。

4.4变量的使用
写一个代码算两个数的值

#include int main(){  int num1 = 0; int num2 = 0;  int sum = 0;  printf("输入两个操作数:>");  scanf("%d %d", &num1, &num2);  sum = num1 + num2;  printf("sum = %d\n", sum);  return 0;}

注;scanf是一个输入函数。

4.5变量的作用域和生命周期
作用域
作用域(scope)是程序设计概念,通常来说,一段程序代码中所用到的名字并不总是有效/可用
的而限定这个名字的可用性的代码范围就是这个名字的作用域。

  1. 局部变量的作用域是变量所在的局部范围。
  2. 全局变量的作用域是整个工程。
    生命周期
    变量的生命周期指的是变量的创建到变量的销毁之间的一个时间段
  3. 局部变量的生命周期是:进入作用域生命周期开始,出作用域生命周期结束。
  4. 全局变量的生命周期是:整个程序的生命周期。