自学C语言

本文介绍了C语言中的基本数据类型,包括整型和字符型的详细讲解,如无符号和有符号整数的内部表示,以及位的概念和CHAR_BIT。还提到了头文件中关于数值范围的宏定义,以及typedef的作用。
摘要由CSDN通过智能技术生成


前言

记录C语言学习


一、基本数据类型

C语言提供了丰富的数据类型,数值表现都有一定的范围和特征,它们都是由数据类型决定的。

1.基本数据类型和数

算数类型是多种数据类型的统称,大体可分为两种类型:整数类数据类型浮点型。如下图:
在这里插入图片描述
其中整数类数据类型又包含三类:枚举型、字符型(表示字符)、整形(表示整数),浮点型可表示具有小数部分的数值。

数:二进制、八进制、十进制等知识点。

2.整型和字符型

2.1 整型

整型和字符型是用来表示限定范围内连续整数的数据类型。
在C语言中处理整数,可以根据用途和目的灵活使用以下数据类型:
在这里插入图片描述
即无符号整型有符号整型
声明变量时,可加上类型说明符signed或者unsigned来指定其中一种数据类型,若不加类型说明符,则默认有符号。
整数除了有符号和无符号外分类之外,还可根据可表示的值范围分为多种类型。分为4种
在这里插入图片描述
这些数据类型又有带符号和无符号的,如下图:
在这里插入图片描述
在这里插入图片描述

2.2 字符型

char型是用来保存“字符”的数据类型。
没有声明sigend或者unsigend的char,具体是哪一种编译器决定。

2.3<limits.h>

C语言编译器在头文件<limits.h>中以宏定义方式定义了字符型以及其他整型所能表示数值的最大最小值。不同编译器表示的范围不同,下图是一个大众的表示范围:
在这里插入图片描述

2.3位和CHAR_BIT

位是数据存储单元,可保存两种取值的对象,且对象中各二进制位的地址不需要表示。
位可取两种值,一种为0。0以外的值,称为“设置位
在这里插入图片描述

C语言中通过使用sizeof运算符可以判断出包括char型在内的所有数据类型长度(字节),如下图
在这里插入图片描述

2.4size_t和typedef声明

在这里插入图片描述
注意:typedef声明并不是创建新的数据类型,而是为已有的数据类型取个小名


3 整数的内部表示

3.1无符号整数内部表示

在这里插入图片描述
一般来说,n位x进制可以表示的无符号整数有,0-x^n-1,共 x^n种。

3.2有符号整数内部表示

有符号整数的内部表示因编译器而不同,最常用的表示法有补码反码符号和绝对值3种。

三种方法的共同之处就是:用最高位表示数值的符号
在这里插入图片描述

补码:在这里插入图片描述
反码:在这里插入图片描述
符号和绝对值:
在这里插入图片描述
在这里插入图片描述

零基础自学C语言,你可以按照以下步骤进行: 1. **了解基础概念**:先理解计算机科学的基础知识,如数据结构、算法和内存管理。C语言是过程式语言,对这些有基本认识有助于更好地理解。 2. **下载工具**:安装一个文本编辑器(如Notepad++)和编译器(如GCC),Windows系统上可以选用MinGW。 3. **学习语法**:C语言的基本语法包括数据类型(如int, char)、运算符、控制流(if-else, for, while)等。可以从教程中逐项学习。 4. **编写"Hello, World!"程序**:这是开始学习的第一步,创建一个简单程序输出“Hello, World!”。 5. **理解数组和指针**:这两个概念在C语言中很重要,可以通过例子逐步掌握。 6. **阅读教程和书籍**:《C Primer Plus》或《The C Programming Language》都是不错的选择。网上的免费资源如Codecademy、菜鸟教程也很实用。 7. **做实战练习**:尝试解决一些小程序题,例如计算阶乘、字符串处理等,提高编程能力。 8. **阅读他人的代码**:看别人写的C代码可以帮助理解和学习编程风格和最佳实践。 9. **调试与错误排查**:学习如何读取和理解编译器报错信息,这对自我学习非常重要。 10. **参与社区交流**:加入C语言的学习论坛或者GitHub,有问题可以向他人请教。 相关问题: 1. 学习C语言的过程中,遇到最难理解的概念是什么? 2. 如何避免常见的C语言编程错误? 3. 对于没有数学背景的人来说,学习C语言有何挑战?
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值