C语言期末复习不挂科(快速入门)(和bug郭一起学C系列1)(1)

简介: C语言期末复习不挂科(快速入门)(和bug郭一起学C系列1)(1)

什么是C语言

C语言是一门通用计算机编程语言,广泛应用于底层开发。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。


像英语,汉语一样,属于交流的语言,不过是人和计算机交流的语言。

C语言是一门面向过程的计算机编程语言,与C++,Java等面向对象的编程语言有所不同。


语言的发展

image.png


机器语言

第一代计算机语言称为机器语言。机器语言就是 0/1 代码。计算机只能识别 0 和 1。在计算机内部,无论是一部电影还是一首歌曲或是一张图片,最终保存的都是 0/1 代码,因为 CPU 只能执行 0/1 代码。


汇编语言

首先这么像机器语言编写肯定是可以的,但是这样太麻烦,而且很不好理解,所以后来就出现了汇编语言。


汇编语言就是将一串很枯燥无味的机器语言转化成一个英文单词。比如说:add 1, 2;

add 就是一个英文单词,这样看起来就稍微有一些含义了,即 1 和 2 相加。这个就是汇编语言。


C语言历史

C语言是由B语言发展而来,而后大多公司都使用C语言,不同的公司对C语言有自己的发展,和改进,而后出现不同的标准。

为了统一标准 美国国家标准协会(ANSI)先后C89 C99 C12等标准。目前比较权威的为c99。

而后在C语言的基础演变了C++,java 等面向对象的语言。


C语言的优势

广泛应用于底层开发。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。C语言偏向于底层开发,如操作系统。


1、广泛用于底层开发

2,可移植性强,跨平台性

3,其编译器(将C语言转换成计算机语言)主要有Clang、GCC、WIN-TC、SUBLIME、MSVC、Turbo C等。

如VS(IDE集成开发环境)用的就是MSVC编译器。


第一个C语言程序

看了C语言的历史你肯定迫不及待想自己写一个C语言程序吧。


C语言环境的配置

APP推荐建议

VS2019下载地址

下载vs2013及以上版本环境


安装教程推荐

B站比特鹏哥教程如下

VS2019安装教程

image.png


第一个C程序

相信看了安装教程,你已经安装好了VS2019并且成功的创建第一个C语言项目吧。

那我们来写第一个C语言程序吧!

在屏幕中输出Hello world!

是不是很神奇,短短6行代码便实现了我们想要实现的功能。

其实编程语言的出现,代码就是描述我们生活中的实际问题的!


注意事项

1, 一个项目中有且仅有一个主(main)函数

2,{ 是程序的入口 表示程序开始,} 便是程序的出口表示程序结束

3,因为printf是在stdio.h库中的,就好比生活中你使用别人的东西 ,使用了printf函数前需要向stdio.h打招呼所以 main 函数上面要包含库函数<stdio.h>

4 ,main前有一个int 说明该函数的返回值是整型(这些我们待会会学到,先记住)与最后一行代码return 0相呼应;

记住上面便能实现自己第一个C语言程序了快去试试吧!


数据类型
//整型
  //即数学中的整数   
    short 
    int
  long 
  long long 
//浮点型
 //数学中的小数(小数点可浮动)
   float  
   double

整型 可以表示生活中的 年龄 ,人数等整数数据

而浮点型 可以表示 生活中的体重,身高等带有小数的数据


想必你会疑问 :为什么会出现怎么多数据类型呢?

首先我们先来测试一下它们这些类型的内存大小

我们先来认识一个C语言运算符吧


sizeof()用来计算类型或者类型所创建变量所占内存空间大小(Byte)


计算机内存大小的单位

一个二进制位的0或1一位定义为1bit

image.png


image.pngimage.png

注:C语言规定sizeof(long)>=sizeof(int) 即可

所以long类型在不同平台的大小不同,4/8


整型

根据生活中数据范围不同选择不一样的数据类型,合理的利用内存空间

比如 一个人的年龄 最多不超过500 所以用short短整型即可


浮点型

表示精度的不同,即小数点后面 位数长度不同

根据你的数据精度不同,合理选择浮点类型

常量和变量

顾名思义 常量就是不变的量,变量可以改变的量


常量

不可改变的量

如人的性别,身份证号码等等…


字面常量

66;
3.14
999
//*这些都是字面常量*

const修饰的常变量

const 修饰变量使改变量具有常属性(不可修改)


const int height=175;//创建了一个int类型的变量 const修饰后
                     // height不可改变
         height=200;  //err

但是该量还是变量只不过有了常量的不可修改属性

image.png

代码中的两个错误

错误1,const 修饰的常量不可修改

错误2,const 本质还是变量不可定义数组长度


#define定义的常量

image.png

使用方法

#define MAX 100

#define +空格+常量名+空格+字面常量

注:常量名习惯大写


枚举常量

生活中有一些值可以一一列举

比如 :性别,三元色等等;


enum sexa  //枚举类型
{
   male,  //枚举常量
   female
};

enum sexa 就是枚举类型和int一样属于一种数据类型

image.png

该类型只有两种枚举常量可以选择 male和female

使用时赋值其他未定义的枚举常量会报错

image.png


每个枚举常量有自己的值 规定第一个值为0然后从上到下依次加一;

设置枚举常量可以赋初始值

image.png

变量

可以改变的量


定义变量的方法

类型 +变量名+常量;


int age=10;
    age=13;//可以修改
float pai=3.14;
char ch='w';

变量的分类

局部变量

定义在{}内的变量为局部变量

全局变量

定义在main函数外且不在{}内的变量

eg:


 

int glab=4;//全局变量
   int add(int x, int y)
   {
      int sum=0;
      // 局部变量
   }
   int main()
   {
      int a=6;
       // 局部变量
   }

是否想过当局部变量和全局变量同名时会怎样?image.png

看到上面的结果想必你有了答案!

总结

image.png

上面的局部变量a变量的定义其实没有什么问题的!


当局部变量和全局变变量同时存在时采用局部优先原则


变量的作用域及生命周期

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


简单的说作用域就是该变量存在的范围 出了该范围该变量就失效


局部变量的作用域在它的局部范围即在{ }

全局变量的作用域在整个工程


int main()
  {
    int b=1;
    {
    int a=12;
    // a的作用域
    }  
   // b的作用域
  }

可以看到全局变量的作用域是整个工程!

生命周期


变量的生命周期指的是变量的创建到变量的销毁之间的一个时间段


局部变量的生命周期是:进入作用域生命周期开始,出作用域生命周期结束。

全局变量的生命周期是:整个程序的生命周期。

目录
相关文章
|
2月前
|
存储 编译器 C语言
C语言难?深度剖析第一段C语言代码—带你快速入门C语言
C语言难?深度剖析第一段C语言代码—带你快速入门C语言
42 0
|
2月前
|
机器学习/深度学习 人工智能 C语言
【c语言基础题】— —第五版,可当作日常练习和期末复习,有奇效哟!
【c语言基础题】— —第五版,可当作日常练习和期末复习,有奇效哟!
42 1
|
2月前
|
算法 Java C语言
【c语言基础题】— —第一版,可当作日常练习和期末复习,有奇效哟!
【c语言基础题】— —第一版,可当作日常练习和期末复习,有奇效哟!
78 0
|
2月前
|
程序员 C语言 CDN
【c语言基础题】— —第三版,可当作日常练习和期末复习,有奇效哟!
【c语言基础题】— —第三版,可当作日常练习和期末复习,有奇效哟!
80 0
|
29天前
|
存储 编译器 C语言
【C语言期末不挂科——指针进阶篇】【上】
【C语言期末不挂科——指针进阶篇】【上】
|
2月前
|
人工智能 网络协议 BI
【c语言基础题】— —第七版,可当作日常练习和期末复习,有奇效哟!
【c语言基础题】— —第七版,可当作日常练习和期末复习,有奇效哟!
19 0
|
2月前
|
人工智能 网络协议 BI
【c语言基础题】— —第六版,可当作日常练习和期末复习,有奇效哟!
【c语言基础题】— —第六版,可当作日常练习和期末复习,有奇效哟!
24 0
|
2月前
|
C语言 wax
【c语言基础题】— —第四版,可当作日常练习和期末复习,有奇效哟!
【c语言基础题】— —第四版,可当作日常练习和期末复习,有奇效哟!
90 0
|
2月前
|
机器学习/深度学习 C语言
【c语言基础题】— —第二版,可当作日常练习和期末复习,有奇效哟!
【c语言基础题】— —第二版,可当作日常练习和期末复习,有奇效哟!
81 0
|
3月前
|
C语言
C语言部分期末答案(来自PTA)
C语言部分期末答案(来自PTA)