C语言学习笔记-2(资料:郝斌老师C语言视频14~30)

这篇博客主要介绍了C语言的基础知识,包括CPU、内存条等硬件与程序的关系,程序运行的原理,以及C语言中的数据类型,如整型、浮点型、字符型的详细讲解,同时涉及变量的定义、初始化和存储方式。此外,还提到了常量的表示和ASCII规定。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

C语言学习笔记-2(资料:郝斌老师C语言视频14~30)

0 C语言编程预备知识

1 CPU 内存条 硬盘 显卡 主板 显示器关系

例子:电影文件存放在硬盘上,鼠标点击播放时,操作系统将硬盘上的数据调入内存条中,Cpu处理内存条中的数据,图像数据发送给显卡,然后通过显示器显示出来;主板提供了一个框架,让CPU、内存条、显卡等联系起来。

2 程序运行

编译和连接后生成一个exe程序,程序exe由系统CPU运行。

3 数据类型

1 基本类型数据

整数
  • 整型 —— int ——4Byte
  • 短整型 —— short int ——2Byte
  • 长整型 —— long int ——8Byte
浮点数
  • 单精度浮点数 —— float ——4Byte
  • 双精度浮点数 —— double ——8Byte
  • 字符 —— char ——1Byte

2 复合类型数据

  • 结构体
  • 枚举
  • 共用体
    注释:共用体现在基本不用

4 变量

变量是一种容器,变量的本质就是内存中的一段存储空间​​

5 变量初始化

初始化就是赋值;变量分配到的存储空间中有其它值,需要初始化(赋值),来达到使用的要求;VC++6.0为了提醒没有初始化,对没有初始化的变量赋值一个特别异常的值,达到提醒的作用。

6 变量的定义

  • 形式:
    数据类型 变量名 = 要赋的值​;
  • ​等价于: ​ ​​​
    数据类型 变量名;
    变量名 = 要赋的值;​​​​例子:

int i = 3;

等价于:
int i; i = 3;​​​​​

7 进制

常用计数制对照表

  • 十进制:逢十进一
  • 二进制:逢二进一
  • 八进制:逢八进一
  • 十六进制:逢十六进一

8 常量在C语言中的表示

整数

  • 十进制: 传统的写法
  • 十六进制: 前面加0x或0X(阿拉伯数字0)
  • 八进制: 前面加0 (阿拉伯数字0)

浮点数

  • 传统的写法
    float x = 3.2;
  • 科学计数法
    float x = 3.2e3;(x的值:3200)
    float x = 123.45e-2;(x的值:1.2345)​

字符

  • 单个字符用单引号括起来: ‘A’
  • 字符串用双引号括起来: “AB”
    注释:"A"也是正确的,表示’A’和’\0’的组合

9 常量在计算机存储的二进制代码形式

  • 整数是以补码的形式转化为二进制代码存储在计算机中的
  • 实数是以IEEE754标准转化为二进制代码存储在计算机中的
  • 字符的本质实际也是与整数的存储方式相同
  • 字符通过ASCII与整数对应,再进行转化

10 代码规范化

整齐

  • 像括号这一类符号需要成对敲。
  • 缩进,地位相等不缩进;属于某一个代码内部的代码需要缩进。​
  • 换行在代码之间功能不同的时候需要换行(空一行)。​​

常见程序结构


# include <stdio.h>
int main(void)
{
 //定义变量 
 //对变量进行操作 
 //​​输出值 
 return 0;
 ​​​​}

​​​

11 字节

字节就是存储数据的单位,并且是硬件所能访问的最小单位。(位通过位运算符控制)一个字节=8位​1K = 1024字节1M = 1024K1G = 1024M​​​

12 不同类型数据之间相互赋值

暂不考虑

13 什么是ASCII

  • ASCII不是一个值,而是一种规定;ASCII规定了不同的字符是使用哪个整数值去表示。
    例如:
    ‘A’ ——65
    ‘B’——66
    ‘a’ ——97
    ​​​​​​’b’ ——98
    ‘0’ ——​48
.​​# include <stdio.h>
int main(void)
{
	char ch = 'A';	// char ch = 'B';
	printf("%c\n",ch); 
	return 0;
}
.# include <stdio.h>
int main(void)
{
	char ch = 'A';// char ch = 'B';
	printf("%d\n",ch); 
	return 0;
}

14 字符的存储(本质上与整数的存储方式相同)

一元二次方程的求解

# include <stdio.h>
# include <math.h>

int main(void)
{
	//
	int a = 1;
	int b = 2;
	int c = 3;
	float delta; //delta is b*b - 4*a*c
	float x1;
	float x2;
	delta = b*b - 4*a*c;
	
	if (delta > 0)
	{
		x1 = (-b + sqrt(delta)) / (2*a);
		x2 = (-b - sqrt(delta)) / (2*a);
		printf("two answer, x1 = %f, x2 = %f\n", x1, x2);
	}
	else if (delta == 0)
	{
		x1 = -b  / (2*a);
		x2 = x1;
		printf("one answer, x1 = %f, x2 = %f\n", x1 ,x2);
	}
	else
	{
	printf("no answer \n");
	}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值