当前位置: 首页 > news >正文

学习c语言的第二天

1.掌握C语⾔中的基本数据类型和修饰符

1.1基本数据类型:

C语⾔提供了丰富的数据类型来描述⽣活中的各种数据。

购物的⼩票中可能包含的信息如下:

在这个⼩票当中我们包含了很多的信息,货号、品名、单位、单价、数量、⼩计。分析我们发现:
使⽤整型类型来描述整数,使⽤字符类型来描述字符,使⽤浮点型类型来描述⼩数。
下⾯盘点⼀下C语⾔提供的各种数据类型:
通过这个表格分析,我们可以看到C语言中不同的数据类型对应着现实生活中的不同信息类型,这有助于我们更好地理解数据类型的作用和选择。

1.2字符型

字符的英⽂单词是character,在C语⾔中使⽤char表⽰字符类型。

1.3整型

整数的英⽂单词是integer,在C语⾔中使⽤int表⽰整型类型。

int num; // 使用 int 创建整型变量

在C语⾔中,100、20、35 这些整数的类型就是int

1.4浮点型

float // 单精度浮点型 double // 双精度浮点型 float num1; // 使用 float 创建变量 double num2; // 使用 double 创建变量

在C语⾔中,3.145.5这些⼩数的类型默认是double类型,3.14f这种写法表⽰float类型。

1.5布尔类型

_Bool flag; // 使用 _Bool 创建布尔变量

C语⾔在C89/C90时期并没有为布尔值单独设置⼀个类型,使⽤整数0表⽰假,⾮零值表⽰真。 后来在 C99标准中也引⼊了 布尔类型 ,是专⻔表⽰真假

2.掌握ASCII字符集和转义字符理解

在C语⾔中,char类型是字符类型,⽤来表⽰字符,但也是属于整型家族的,那这些字符的值是多少呢?⽐如:'a'的值是多少?'x'的值是多少呢?这⾥的值可能根据计算机的不同⽽不同。因为不同的机器可能使⽤不同的字符集,当前我们⻅到Windows/Linux/macOS 平台上采⽤ ASCII字符集,⽽在IBM⼤型机等⽼旧或专⽤系统还使⽤EBCDIC字符集,我们主要掌握现在主流的ASCII字符集就⾏。 在ASCII字符集中规定了,128个字符的对应的数值,如下图,后来ASCII码常被扩展为256个字符,⽬的是兼容更多国家语⾔中的字符。

我们不需要记住所有的ASCII码表中的数字,使⽤时查看就可以,不过我们最好能掌握⼏组特殊的数据:
字符 A~Z 的ASCII码值从65~90,按照字⺟顺序是递增1
字符 a~z 的ASCII码值从97~122,按照字⺟顺序是递增1
对应的⼤⼩写字符(a和A)的ASCII码值的差值是32
数字字符0~9的ASCII码值从48~57,按照数字顺序是递增1
换⾏\n的ASCII值是:10
在这些字符中ASCII码值从0~31 这32个字符是不可打印字符,⽆法打印在屏幕上观察
这⾥我们通过代码看⼀下这些字符对应的数值。
#include <stdio.h> int main() { printf("%d\n", 'X'); // 打印字符'X'的ASCII码值 printf("%d\n", '#'); // 打印字符'#'的ASCII码值 return 0; }
以下为今日练习成果展示
#include <stdbool.h> #include <stdio.h> // 示例1:使用 _Bool 类型 int main() { _Bool flag = false; // false / true if (flag) printf("I like C\n"); return 0; } // 示例2:使用 bool 类型(需要包含 stdbool.h) int main() { bool flag = true; // false / true if (flag) printf("I like C\n"); return 0; } // 示例3:打印各种数据类型的大小 // %zu 是专门用来打印 sizeof 的计算结果的 int main() { printf("%zu\n", sizeof(_Bool)); printf("%zu\n", sizeof(char)); printf("%zu\n", sizeof(short int)); printf("%zu\n", sizeof(int)); printf("%zu\n", sizeof(long int)); printf("%zu\n", sizeof(long long int)); printf("%zu\n", sizeof(float)); printf("%zu\n", sizeof(double)); printf("%zu\n", sizeof(long double)); return 0; } // 示例4:打印ASCII码32-127对应的字符 int main() { int n = 0; // 循环 for (n = 32; n <= 127; n++) { printf("%c ", n); } return 0; } // 示例5:字符和ASCII码值的转换 int main() { printf("%c\n", 'a'); printf("%d\n", 'a'); // 97 printf("%c\n", 97); // 'a' return 0; } // 示例6:转义字符 \n 的使用 int main() { printf("abc\ndef"); return 0; } // 示例7:转义字符 ? 的使用 int main() { printf("(are you ok\?\?)"); // (are you ok??) -> (are you ok] return 0; } // 示例8:字符串打印 // %s 是打印字符串 int main() { /*printf("%c\n", 'x'); printf("%c\n", '\'');*/ printf("%s\n", "abcdef"); printf("%s\n", "a"); printf("%s\n", "\""); // printf("abcdef"); return 0; } // 示例9:转义字符 \\ 的使用 int main() { printf("abc\\ndef"); return 0; } // 示例10:转义字符 \a 的使用(响铃) int main() { printf("\a"); return 0; }

如果这篇文章对您有帮助,欢迎点赞、收藏!您的支持是我持续创作的最大动力!

http://www.jsqmd.com/news/1284644/

相关文章:

  • 基于Matlab/Simulink的直流电机双闭环调速系统仿真建模与参数整定
  • 5分钟掌握OBS多平台直播:obs-multi-rtmp插件一键推流完整指南
  • 无意间发现一个新人小福利,分享给大伙刚注册能拿到一张 8 元无门槛券,不用凑单。
  • 植物冠层参数全解析:从LAI测量到遥感反演的技术实践
  • 从冰河木马解析C/S架构远程控制原理与网络安全防御演进
  • 从零开始构建AI Agent:核心架构与实战指南
  • Git 常用命令与避坑指南
  • 吴恩达提示词工程课程:从基础到实战的AI交互指南
  • 硬纸板与面包线:零基础电子制作入门与创意实践
  • STM32烧录方式全解析:从ISP、ICP到SWD/JTAG,新手到量产必备指南
  • ESP32开发框架对比与实战指南:Arduino、ESP-IDF、MicroPython全解析
  • 3步搞定微信网页版访问限制:wechat-need-web浏览器扩展完整指南
  • GetQzonehistory:5分钟搞定QQ空间数据备份的终极指南
  • 企业级上网行为管理实战:从部署模式到策略配置的完整指南
  • 西门子PLC工程实例源码:从300套精选资源到工程思维实战提升
  • Unity主程进阶:2个月系统构建架构、性能与工程化核心能力
  • 贝叶斯框架:概念、历史、内容与展望!
  • DeepSeek+RAGFlow搭建本地私有知识库:30分钟部署实战指南
  • # BOSS直聘企业管理系统后端实现详解:从注册到审核的完整流程
  • STM32实现SPWM生成正弦波:从原理到硬件滤波实战
  • 协同过滤算法全解析:从核心原理到工程实践与优化策略
  • 嵌入式OLED显示实战:从驱动到波形与菜单的完整实现
  • 冷库维护常见问题与专业解决方案
  • 074、LLC谐振变换器的励磁电感设计
  • 影子寄存器:改ARR下个周期才生效,防波形“断片”
  • 2026年7月鹤壁全屋定制/汤阴橱柜定制厂家推荐评估_汤阴务美全屋定制 - 行业平台推荐
  • Play Integrity API Checker:Android设备完整性检测的终极实战指南
  • Allegro DRC检查哪些必须修改
  • Apache Doris实战:部署调优与生产运维指南
  • 大模型应用开发实战:从提示词工程到企业级部署全流程