新手学习C语言:第一天 基础知识储备
前因:本人是今年高考生被调剂到了空间信息与数字技术专业,因为这个专业过于冷门,导致我在网上几乎查不到什么就业数据。目前所搜集到的信息这个学科是类似于测绘工程加计算机但我对这个方向并不感兴趣我所感兴趣的方向是软件与硬件结合通过程序控制机器所以开始学习C语言开发环境搭建我选择的是VS2026。写出的第一个程序#include stdio.h int main() { printf(Hello, World!\n); return 0; }感觉所有语言的入门第一课都是Hello,Word.这个程序包含了C语言的基本结构头文件包含、主函数、输出语句和返回.我感觉这一部分还是比较好理解的就是一套固定的结构不过底层的原理我并不清楚。main函数作为一个程序的入口,尤其只能有一个.int属于数据类型,虽然我并不明白为什么int要放在main前面,但我感觉应该跟最后一句的返回值有关,希望后期学到数据结构的时候我可以解决这个问题。printf这算是我学的第一个库函数可以用来打印一些字符整数或者字符串%d整数占位符%c字符占位符%f浮点数占位符%s字符串占位符(打印出的字符串后面好像会有一个\0作为截止标志,目前我不清楚是什么原理)也可以用这种形式int a0printf(%d,a)不过要注意的是要记得引用头文件stdio.hC语言中有如下关键字:int if return char num(目前我学的内容只涉及到了前四个)除了上述这些我还学习了字符和ASCII编码的对应关系0~31这32个为不可打印字符大写的字母A-Z是6590小写字母 a - z是97到122字符09是4857。二 数据类型:主要包括基础的数据类型、类型修饰符、转义字符以及变量和常量基本的数据类型比如像是字符char浮点数 float 或 double、整形 int、布尔型 bool我感觉布尔型算是一个很精妙的设定,判断真假的功能让C语言的应用能力上升一个档次(在此之前我并未学过其他语言或许其他语言中也有类似的设定)类型修饰符比如 short、long、signed、unsigned,以及它们所对应的不同字节长度,学习的过程中我还额外补充了Sizeof的知识:查询字节的长度好像还有其他的功能不过我只用到了这个。转义字符,常见的比如像\n,\a,// 注释\ddd(可以用来表示八进制数字)\xdd(可以用来表示十六进制数字),变量和常量(也属于数据类型知识点的一部分不过内容很多所以单开一个标题)所谓变量就是一个可以通过赋值改变的量,我对它的理解就像是一个箱子箱子里面可以装各种类型的数据变量名就是这个箱子的名字箱子里面的东西随时都可以改变。而常量就是一个固定的量就像是变量这个箱子里面放着的东西有字面常量、符号常量以及 const 修饰的常变量和枚举常量枚举常量我还没学明白字面常量就是指写在代码中的值例如int a 100100就是常量符号常量则是可以通过定义来给常量起名字这里有一个令我困惑的问题我感觉符号常量和变量除了书写形式不同以外似乎是相似的定义一个a为 100和给一个变量a赋值为 100在程序运行过程中应该是没有什么差别的那为什么还要单独创造一个符号常量呢操作符主要包括算术操作符和赋值操作符这两个双目操作符以及自增自减和正负这两个单目操作符网上的资料有的说正负也属于算术操作符因为资料比较混杂我这里在理解的时候将正负单独拎出来作为单目操作符操作符的主要功能是负责表达式的计算表达式的运算顺序总体上与数学顺序相似乘除优于加减括号优于乘除C语言中所增加的就是自增、自减和正负自增自减优先于正负优先于乘除但是优先级没有括号高。C语言中还有一种独特的操作符取模操作符运算结果类似于小学所学的做商之后取余数写程序的时候用来分辨奇偶数还是挺好用的。除了优先级之外表达式的计算还涉及到结合性和隐藏的类型转换结合性大多数都是从左到右隐藏的类型转换则比较神奇我在刷题的时候曾经遇到一道很阴险的题#include stdio.h int i; int main() { i--; if (i sizeof(i)) { printf(\n); } else { printf(\n); } return 0; }我第一次做的时候以为输出的是 但正确答案其实是 这道题的陷阱便和类型转换有关不过我目前的知识储备也说不清楚为什么会这样.总结:以上便是我今天所学习的所有内容。基础的知识储备已经差不多了明天就可以开始接触分支循环和数组了。文章中所说的知识点若有错误请评论指正。