探索篇 | C语言基础归纳 No.1

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了探索篇 | C语言基础归纳 No.1相关的知识,希望对你有一定的参考价值。

导语

本篇博客中包含了大量的C语言基础知识,可能不太全面,但无论大家用于预习或复习,都会具备较为不错的参考价值。


01. C语言与其他计算机语言的对比:
C语言广泛的应用于底层开发,区别于应用开发(操作系统与软件间的开发,比如C++、Java等),C语言更擅长做操作系统与电脑之间(驱动层)的工作;
C语言是面向过程的语言;C++、Java是面向对象的编程语言;

02. ASCII码表ASCII码对照表

技术图片


03.主函数
我的第一个C语言代码,写代码先从主函数开始
先写一个 main() 函数

//主函数-程序的入口,所以规定 main 函数有且仅有一个
int main()            //返回 int 整型
{

   return 0;          //返回 0,表示正确返回,返回其他非零的数时,仅表示此处异常返回,无影响
}
注意:main() 函数的正确声明方法

错误或者一些过时的声明方法:
void main() { }        //符合C语言,但这种形式已经弱化了
main() { }               //胡写,这些写法可能在某些编译器上是正确的,但它不符合C语言代码的规范

其他函数:
打印函数 printf("") 用于打印、格式化输出
代码暂停 system("pause"); 用于执行一个系统命令 -- pause -- 暂停
窗口清屏 system("cls"); 用于执行一个系统命令 -- cls -- 清屏
睡眠函数 Sleep() 界面切换间停留一段时间,括号内是睡眠时长,单位:毫秒
·······等等,暂不一一列举了,之后会单独写一篇博客来聊一聊这些常用函数的概念


对应例题练习
打印输出:hello world

//使用 printf() 函数需提前声明引用头文件  <stdio.h>
//使用 system("") 函数需提前声明引用头文件  <stdlib.h>
//使用 Sleep() 函数需提前声明引用头文件  <windows.h>

#include <stdio.h>               //标准输入输出头文件
#include <stdlib.h> 
#include <windows.h>

int main()
{
   //打印函数-输出函数-库函数,使用库函数要引用头文件
   printf("hello world\n");       //打印  hello world,换行
   Sleep(1000);                   //清屏前,先让界面停留1000毫秒(即 1 秒)
   system("cls");                 //清屏
   printf("hello world\n");       //再打印一遍  hello world,换行
   system("pause");               //代码暂停
   return 0;
}

程序执行的太快,输出完之后,程序一瞬间就结束了,编译窗口一闪而过,所以我们要在结束之前让代码暂停,
观察当前在屏幕上打印了什么----->调用函数 system("pause")----->头文件:#include <stdlib.h>

system()函数,系统命令:
system("cls")                //清空窗口
system("pause")              //暂停窗口
system("shutdown")           //60秒倒计时关机命令

让屏幕休眠一秒:调用Sleep(1000)函数——1000表示1000毫秒,--->对应的头文件:#include <windows.h>

数据类型:

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

//C语言有没有字符串类型?
//答:没有,C语言两种类型(整型、浮点型);char——整型,存的是它的ASC码值

//为什么出现这么多的类型?每种类型是多大
//答:创建不同类型的变量;用下面的代码来演示每种类型的大小
#include <stdio.h>
#include <stdlib.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个字节
    system("pause");
    return 0;
}

输出结果:
技术图片

注释:

sizeof()函数 
一种内存容量度量函数,功能是返回一个变量或者类型的大小(以字节为单位)
在C语言中,sizeof()是一个判断数据类型或者表达式长度的运算符~

bit --> 比特位
byte --> 字节
-->kb --> mb --> gb --> tb --> pb   (单位换算:1024)

说起1024,难免想到有很多程序员的梗,你懂的???

话不多说,咱们继续


04. 常量和变量
不变的值C语言中用常量的概念表示;变的值C语言中用变量的概念来表示;
a. 变量
定义变量类型 变量名 = 变量初值;
技术图片


变量又分为:全局变量和局部变量

int a = 0;              //全局变量

int main()
{
    int a = 20;         //局部变量
    printf("%d\n", a);
    return 0;
}

输出结果:
技术图片

原因:当局部变量与全局变量冲突时,局部变量优先;


变量的使用
技术图片
输出结果:
技术图片


变量的作用域和生命周期:
作用域(scope),程序设计概念,
一般来说,一段程序代码中所用到的名字并不总是有效/可用的,而限定这个名字的可用性的代码范围就是这个名字的作用域。
注释:
1.局部变量的作用域是变量所在的局部范围 -----> { 代码块 };
2.全局变量的生命周期是整个工程。
技术图片
输出结果:
技术图片


全局变量的作用域
在同一工程的源文件下再添加新的 .c 文件(例 add.c),在原来的 .c 文件(例 text.c)中声明一个全局变量(例 g_val),通过关键字extern实现全局变量在工程内的随意调用;
技术图片
技术图片
输出结果:
技术图片
变量的生命周期指的是变量的创建到变量的销毁之间的一个时间段
注释:
1.局部变量的生命周期是:进入作用域生命周期开始,出作用域生命周期结束;
2.全局变量的生命周期是:整个程序的生命周期。


b. 常量
C语言中的常量分为以下几种:

  • 字面常量
  • const修饰的常变量
  • #define定义的标识符常量
  • 枚举常量

字面常量
技术图片
const修饰的常变量
技术图片
#define定义的标识符常量
技术图片
枚举常量
技术图片


以上是关于探索篇 | C语言基础归纳 No.1的主要内容,如果未能解决你的问题,请参考以下文章

C语言指针全归纳-进阶版

C语言指针全归纳-进阶版

DOM探索之基础详解——学习笔记

你知道的Go切片扩容机制可能是错的

什么是归纳定义的数据类型?

python 用于数据探索的Python代码片段(例如,在数据科学项目中)