[C语言学习]C语言程序设计基础(一)

简介: [C语言学习]C语言程序设计基础(一)

大家好这里是三岁,C语言是各类语言的基础,由于个人学习需要特别开设了C语言基础专题,内容不一定深入,都是基础知识,还是白话C语言,最简单的方式带领大家学习不是那么容易理解的C语言!(该系列应该每周末更新直到系列结束,有问题的及时留言,会马上修改!)


C语言基础知识



C语言文件后缀名说明:

*代表的是通配符


  • C语言文件:其拓展名为 *.c或者 *.cpp(c++)源文件名
  • *.h 是头文件名(包含文件)可以使用 # include <* .h>进行导入(相当于文件引用)
    (拓展:类似于python中的import


学C语言前需要了解的计算机基础知识


计算机语言


语言是沟通交流的工具(区别在于不同的语言表达方式不同)


而计算机语言也类似:

是人与计算机之间的交流的方式(工具)


计算机语言可以分为低级语言高级语言下面对内容进行了分析:


20210313193638945.png


语言三要素:语法、词汇、语义;

白话三要素:

语法:对应于C语言的一些特定语法:if、else……

词汇:对应的应该是保留的关键字

语义:就是对指定的代码的解析(a=1对应把1赋值给a)


内存

计算机内部存放中间结果的,是临时数据存放的地方。

在内存中按照字节(Byte)划分存储单元

1Byte == 8bit


类型 大小
正整数(无符号整数) 0 ~ 255
带符号数 -128 ~ 127


为什么呢?

计算机中,如果是带符号的第一位就代表了符号 0代表正的、1代表负的。

  • 无符号整数:


20210313202811370.png


带符号数


20210313203758432.png


内存地址:每个字节给予一个从0开始的顺序编号。

小知识:

设在C语言中:char * p存在一个内存中。

变量p分配的内存是__sizeof(unsigned)__B.(固定大小是4)


每保存一个数据就会给出一个地址:数据占据

如果一个数据的内容太大了(占据多个字节时):以首地址(低位地址)作为数据存储单元地址。(假设初始是128,占了6个位置那么他的地址就是128(可以理解为学号))


CPU根据内存地址范围数据(访问需要知道访问地址和访问的大小(字节数))

白话:

访问地址类似于你家的门牌号,几栋几单元

但是还是不知道你在哪个房间,还需要一个访问大小

类似于第几个房间或者是到第几个房间(简易理解不代表正确)


地址是数值(整数类型):经过符号化生成了变量

程序员通用变量访问数据(数据初始化地址)但是没有大小,这个时候就出现了数据类型


类型 首地址 大小 字节数
int a &a sizeof(int) 4
char b &b sizeof(char) 1
double c &c sizeof(double) 8


内存中的数据存放


内存的数据都是以补码的形式进行存储的。

里面分为真值原码反码补码

emmmm这个不好 解释逐个来白话


真码:有正负号的二进制(十进制、八进制、十六进制)数据

例如:12、-1902……

原码:真码的二进制值

例如 :1100、111 0110 1110

反码 :正数的反码等于原码,负数的反码是原码符号位不变其他位取反

补码:正数的补码等于反码,负数的补码是反码符号位不变其他的取反加一


正数


20210313232507588.png


负数


20210314205914159.png


C语言序论


发展史 :源于上世纪60年代末、70年代初

由B语言发展而来。

优点:效率高,可移植性较好。

C语言是结构化面向过程的编程语言。


C语言程序组成


  • C语言程序由函数组成
  • C语言中main() (主函数)是程序的入口
  • 主函数在一个程序里面有且只有一个
  • C语言面向的过程可以是:子程序、函数、模块


函数头:

函数返回值类型 函数名(形参列表)冒号

形参列表:

类型1 参数1, 类型2 参数2,……,类型n 参数n

举例:

int add(int x, int y):


函数主体: 变量申明语句、函数功能完成语句、return返回语句

  • 变量声明语句:


变量类型 变量名 = 变量初始值 (语言解析:把变量初始值赋值给属于变量类型的变量名)

  • 函数功能完成语言:


使用C语言的语法完成有关的内容

  • return返回语句:


就是把需要的计算结果进行返回用于其他函数或代码的使用。

(void类型没有数据返回,int类型有返回是整型,以此类推……)

举例:

#include<stdio.h>  // 文件引用
#define pi 3.14  // 定义pi的值为3.14
void main()  // 定义空主函数(程序入口)
{
  float area,p,r;  //变量声明语句 定义变量
  // 函数功能完成语言,通过输入输出和公示完成内容
  printf("圆的半径:");//输出内容
  scanf("%f,");//输入一个字符串类型数据
  area=(float)pi*r*r;//计算圆的面积
  printf("圆的面积:%6.2f\n",area);//输出圆的面积
  p=(float)pi*2*r;//计算圆的周长
  printf("圆的周长:%6.2f\n",p);//输出圆的周长
  return;//无返回值
}


C语言的执行


  • 编辑—— 编辑源程序(*.c 、 *.cpp)
  • 编译——生成目标程序(*.obj) 将.c文件编译成二进制代码
  • 链接——生成可执行文件(*.exe)


C语言的数据类型—非数字型


非数字类型:字符、字符串

  • 字符:用单引号括起来的一个字符
  • 字符串:用双引号括起来的若干有限个字符序列。

注:一个汉字占两个字符位

字符串内占字节空间数 = 字符数+1(多了一个’\0’)


ASCII码

美国信息交换标准代码:是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言。它是最通用的信息交换标准.

ASCII 码使用指定的7 位或8 位二进制数组合来表示128 或256 种可能的字符。

后128个称为扩展ASCII码。许多基于x86的系统都支持使用扩展(或“高”)ASCII。扩展ASCII 码允许将每个字符的第8 位用于确定附加的128 个特殊符号字符、外来语字母和图形符号


字符在C语言中存放 (或者是在C语言中的表示)是对于ASCII码的码字


image.png


经常使用的字符 对应的ASCII码
‘a’ - ‘z’ 97 - 122
‘A’ - ‘Z’ 65 - 90
‘0’ - ‘9’ 48 - 57
’ ’ (空格) 32
‘’(空) 0


转义字符


所有的ASCII码都可以用“\”加数字(一般是8进制数字)来表示。而C中定义了一些字母前加""来表示常见的那些不能显示的ASCII字符,如\0,\t,\n等,就称为转义字符,因为后面的字符,都不是它本来的ASCII字符意思了。


20210313231324479.png

  1. 区分,斜杠:"/" 与 反斜杠:"" ,此处不可互换
  2. \xhh 十六进制转义不限制字符个数 ‘\x000000000000F’ == ‘\xF’


如果'\字符'合起来表示一个特殊字符则发生转义,如果不符合则不能够表示特殊字符 应该理解为两个字符。


今天的资料就整理到这里了,非常感大家的关注,如果好就来个一键三连吧!


目录
相关文章
|
1月前
|
存储 编译器 C语言
初识C语言——详细入门(系统性学习day4)
初识C语言——详细入门(系统性学习day4)
|
1月前
|
C语言
C语言模块化程序设计
C语言模块化程序设计
21 0
|
1月前
|
C语言
【C语言】循环结构程序设计(第二部分 -- 习题讲解)
【C语言】循环结构程序设计(第二部分 -- 习题讲解)
|
1月前
|
编译器 程序员 开发工具
c语言从入门到实战——在系统学习C语言之前所需要了解的知识
C语言是一种通用的、过程式的计算机编程语言,支持结构化编程、词汇变量作用域和递归等功能,其设计提供了低级别的存取权限,并且要求程序员管理所有的内存细节。C语言的基本构成包括数据类型(如整型、浮点型、字符型等)、运算符(如算术运算符、关系运算符、逻辑运算符等)、控制结构(如顺序结构、选择结构、循环结构等)以及函数等。此外,C语言还提供了指针的概念,这是其他许多编程语言所不具备的。指针是一个变量,其值为另一个变量的地址,通过指针可以间接访问和操作内存中的数据。C语言也支持数组、结构体、联合体等复合数据类型,以及文件操作、动态内存分配等高级功能。
51 0
C4.
|
1月前
|
程序员 C语言
C语言循环结构与程序设计
C语言循环结构与程序设计
C4.
23 0
|
1月前
|
存储 文件存储 C语言
《C语言程序设计》课程设计 -- 火车票票务管理系统
《C语言程序设计》课程设计 -- 火车票票务管理系统
23 1
|
1月前
|
存储 C语言
C语言顺序结构程序设计
C语言顺序结构程序设计
21 0
|
1月前
|
存储 C语言
C语言的顺序程序设计
C语言的顺序程序设计
11 2
|
1月前
|
存储 C语言
C语言的顺序程序设计
C语言的顺序程序设计
15 0
|
1月前
|
机器学习/深度学习 人工智能 Java
学习Python语言好还是C语言好
学习Python语言好还是C语言好
21 0