C语言基础:第1天笔记
C语言基础
预备知识
计算机的组成
计算机组成
- 计算机:能进行计算和逻辑处理的设备
- 硬件:组成计算机的各种物理部件。(内存条,CPU,鼠标)
硬件=电子设备+单片机编程(单片机,微控制器)+集成电路(原理图PCB设计)+嵌入式系统
-
软件:计算机中运行的程序和数据
软件=系统软件(Linux系统)+应用软件+编程语言(C/C++)+算法和数据结构
计算机的六大部件
-
中央处理器(CPU):控制+计算
-
内存:程序运行时 ,临时存储数据
-
输入设备:向计算机输入数据(键盘,扫码枪)
-
输出设备:将计算机数据进行输出(显示器,打印机)
-
外存储:永久数据(文件)的存储(磁盘)
-
网络:提供存储
计算机的工作原理
- 存储程序
- 程序控制
计算机的语言
- 机器语言:最底层的语言,通常由0和1构成,直接作用于硬件。
- 汇编语言:充当翻译
- 高级语言:C/c++,java,python,php,c#,GO
C语言简史与特点
C语言简史



-
生成目标代码质量高,程序执行效率高,运行速度快。
C语言程序的开发过程
开发的三个步骤
-
编辑:程序员向.c文件写入源代码(程序员)
-
编译:将源文件(.c)编译成可执行程序(二进制)(编译器)
-
运行:运行可执行程序(操作系统)

-
C语言程序的编辑过程
本章节简单了解,后续章节讲解细节
编辑过程分为四个步骤:
- 预处理 # include
- 编译
- 汇编
- 链接

C语言的基本结构
一个简单的c语言程序
功能:要求在控制台输出"hello world"
结构程序分析:
-
注释:
代码中起到解释说明的文字(提高代码可读性),或者对代码进行屏蔽,注释不会被执行,他在预处理阶段被删除了
-
预处理指令:
程序中包含的某一文件内容(#include <stdio.h>)
-
主函数:
c程序的入口函数,一个c文件有且仅有一个主函数(main函数)
-
函数首部(函数头)/函数说明
说明函数类型,函数头由函数名和函数参数构成,举例:
int main(int argc,char *argv[]) -
函数体
包括变量说明和语句执行部分,举例
{..} -
函数调用语句:
比如格式输出函数:printf(),输出
C语言编码规范要求
C语言在编码的时候,需要遵循如下规范:
- 常用缩进的书写格式(一般缩进2~4个字符,推荐4个字符,咱们使用的Linux默认是4个)
- 要有足够的注释(添加必要的注释,使代码更好理解)
- 要有合适的空行(一般预处理命令和函数之间,全局变量和函数,函数和函数之间,使代码结构更加清晰)
{}对齐(c和c++中“{“和”}”都需要独占一行,千万不要受java影响)- 函数体内采用分层缩进和模块化的书写方式。
- 不把多条语句写在程序的同一行上
- 命名:变量或者函数命名要尽可能包含更多含义。但不能太长
C语言程序设计的特点
C语言程序在设计的时候,需要注意以下细节:
- C语言程序由一个或者多个函数组成,但有且仅有一个主函数(main函数):main函数是程序的入口函数,可置于程序的任意位置,但是建议放在所有函数的最下面。
- 程序中可以有预处理指令(如:#include指令 )预处理指令通常在程序的最前面。
- 每个语句以分号结尾:
预处理命令,函数头,函数,分支循环后面的花括号后面不能添加分号 - 函数体由一对花括弧
{}括起来 - 包含在/…/内的文本为注释内容
- 一行可以写几个语句,
-
程序区分大小写:一般变量,语句等用小写字母书写:符号常量,宏名等用大写字母书写
-
标识符(变量名、数组名、函数名等)和保留字(int、double、main、if等)之间必须加空格,举例:int age;
C语言中的注释
在c语言用,注释一般分为两类,单行注释和多行注释
注释的作用:给代码添加解释说明性文字,提示代码可读性,同时也可以使用注释屏蔽代码。
单行注释
说明:单行注释使用双斜杠//…表示。我们一般用于常量、变量、函数调用等
语法:
//注释的内容
范例:
//预处理指令,引入的系统的标准输入输出率(标准io中的外设io)
#include <stdio.h>
int main()
{
//像控制台打印输出一句话
printf("hello world\n");
return 0;
}
多行注释
说明:多行注释使用斜杠星花/*..*/表示。可以占多行,但不能嵌套。我们一般用于函数,文件头说明等。
语法:
/*
要注释
的内容
*/
范例:

注意:由多行注释衍生出的更细致的注释,我们称之为文档注释
范例

/**
*主函数
*@author 开发者
*@param 参数
*return 返回值
*/
int main()
{
......
}
数据类型
定义
数据类型其实是固定大小内存的别名。并且描述了一个变量存放什么类型的数据。简单来说,就是组织和操作数据
数据:计算机要处理的数据(数字、字符串、文字、符号、图片、音频、视频等)
-
数据类型不仅帮我们组织和操作数据,还决定了程序如何有效的利用内存
-
了解数据类型的内存需求是理解计算机管理和操作数据的关键
小贴士:
程序的运行需要用到内存。
内存存储容量单位
字节:计算机存储的一种单位(C语言中一般都是以字节为单位进行存储空间的计算),一般应用层最小存储单元的表示
比特位:二进制(0,1)计算机是以二进制的方式进行存储的,我们应用层可以通过位运算进行位的操作

数据类型的分类和计算方法
数据类型分类
-
基本类型
-
数值类型
-
整型:
- 短整型:short(short int)
- 基本型:int
- 长整型:long(long int)
- 长长整型:long long(long long int)
-
浮点型:
- 单精度型:float
- 双精度型:double
- 长双精度型:long double
-
字符类型:char
-
-
-
构造类型(用户自定义)
- 结构体:struct
- 联合体/共用体:union
- 枚举类型:enum
-
指针类型:*(解引用符)/&(取地址符)
-
空类型:void
数据类型在内存中的大小

注意:
1.因为C语言没有byte这个单位,所以我们一般用char来表示字节1char=1byte
2.C语言本身并没有提供布尔类型,但是后期提供了一个bool的库,从而让我可以向使用其他语言一样使用bool
小贴士
获取某个数据类型或者变量所占的字符:sizefo(某个数据类型后者变量名)
printf("true size:%d\n",sizeof(true));//true size:4 解释:true占4个字节,bool的底层是int类型的0和非0 printf("false size:%d\n",sizeof(false));//true size:4解释:true占四个字符 printf("bool size:%d\n",sizeof(bool));//bool size:1 解释:占一个字节总结:
- 数据类型在内存中所占的字节数和C语言的变异系统有关。
- 计算某个数据类型所占的字节数可以用sizeof
- 布尔类型要添加
#include <stdool.h>,大家也可以使用int类型的0表示假非0则真
课堂练习
校验各个数据类型子啊内存中的大小
常量与变量
在C语言中,数据的基本表现形式是常量和变量,不管是常量还是变量,都是需要在内存中申请一块空间用于数据的存放
常量
整型常量可以用十进制、八进制、十六进制三种形式表示。
- 十进制常量:由0~9的数字组成,没有前缀,不能以0开头(举例:99.218)
- 八进制常量:以0为前缀,其后由0~7数字组成,没有小数部分。(举例:021,077)
- 十六进制常量:以0x或者0X为前缀,其后由数字0~9的数字和A到F,没有小数部分(举例:0x00f0f000)
整型常量中的长整数型数据可用L或者l作为后缀(举例:long num=123L)
-
整型常量的分类
- 有符号与无符号基本整型常量
- 有符号与无符号长整型常量
- 有符号与无符号短整型常量
-
整型常量的表示
- 十进制表示,可以使用10个数字符号0~9以及-和+,如:123,-90
- 八进制表示:以0开头,可以使用7个数字符号0~7以及+和-,如0123,-011
- 十六进制表示:以0x或0X开头,可以使用0~9以及A到F(a到f)如:0x12,-0x12
浮点型常量
C语言中浮点数就是平常所说的实数(实数型 ),有两种表现形式:
-
十进制小数形式:如0.123,-17.8
-
指数形式(科学计数法)如:1230可以表示为1.23∗1031.23*10^31.23∗103也可以表示为:1.23e3
指数形式(科学计数法)如:1230可以表示为1.23∗1031.23*10^31.23∗103也可以表示为:1.23e3
字符常量
用单引号''括起来的一个字符,如‘a’、‘3’、‘—’等,比如:'齐’就不是字符,一个汉字所占的字节数超过一个字符。中文符号当成汉字理解。英文输入法下输入的字母,数字,符号都是单字符
转义字符常量:以反斜杠\开头的字符序列,表示控制以及不可见字符,如

字符串常量
说明:在C语言中,是支持字符串常量的,但是不支持字符串变量。字符串变量需要使用字符数组或者字符指针来实现
-
用一对双引号“”括起来的字符序列,如:“How do you do?yuyuan”,“yueqian”,“12”,“true”,
-
可以输出一个字符序列,如:printf(“%s”,“hello world\n”);perintf(“hello world\n”);
,

符号常量
定义一个标识符来代表一个常量
-
如:用PI代表圆周率π,就是3.1415926
好处:
-
增加可读性
-
增强了可维护性
定义符号常量:
-
用编译预处理指令
#define -
格式:
-
#define 标识符 字符串标识符和字符串之间用空格隔开
句末不用分号
标识符的命名采用大写,如果有多个单词,使用下划线分隔,举例:MAX_VAL,MIN_VAL
-
-

2212

被折叠的 条评论
为什么被折叠?



