C 语言学习-注释 [1
学习C语言课程已经有一段时间,今天开始通过以博客的形式进行记录。
在写博客之前,我也了解过其他平台,”****”更像一个贴吧性质的网站,答疑居多,主要是大学生群体,”博客园”的页面布局和编辑风格比较老旧,但干货挺多的,适合查阅相关资料,还有“开源中国”,这个我没有太多了解,相比之下,我觉得"51CTO"更加简明,分区明确,方便编程人员和编程爱好者。
接下来就开始进入正题。
首先,在学习C语言之前,能够找到分享和存储项目代码的平台是很重要的,"github"是一个很好的选择,网址链接如下:github网址,因为服务器架设在国外的缘故,对网络要求高,访问慢,(欢迎提供快速登录渠道!)这里我之前注册github的浏览器是360极速浏览器。(补充:存储代码的网站还有:gitee网站,服务器在国内,访问快,注册简单,就不再叙述。)
一、先创建一个github账户
下面是个人github账户的创建方法:
第一步:打开github页面,点击【sign up】
第二步:填写账户信息。
第三部:点击【Create an account】
第四步:选择共有仓库,接着点击【continue】
第五步:填写完【Step3】后,点击【Submit】
第六步:界面如下,账户创建成功。
二、使用一些辅助工具
*印象笔记和有道云笔记-可以随时将自己的想法记录下来方便查阅,最近我也在看一个高效笔记术视频课程,受益良多,推荐观看,提高笔记效率。
*X-mind思维导图,可以系统整理学习框架,方便总结。
三、认识C语言
1-什么是C语言呢?
c语言是一门面向过程、抽象化的通用程序设计语言,广泛应用于底层开发。
C语言具有高效、灵活、功能丰富、表达力强和较高的可移植性等特点,在程序设计中备受青睐。C语言编译器普遍存在于各种不同的操作系统中,其设计也影响了Java、Python等编程语言。
二十世纪八十年代,美国国家标准局为了避免各开发厂商用的C语言语法产生差异,给C语言制定了一套完整的美国国家标准语法,称为ANSI C。作为C语言最初的标准。2011年12月8日,国际标准化组织(ISO)和国际电工委员会(IEC)发布的C11标准是C语言的第三个官方标准,也是C语言的最新标准,该标准更好的支持了汉字函数名和汉字标识符,一定程度上实现了汉字编程。
C语言编译器普遍存在于各种不同的操作系统中,例如Microsoft Windows, Mac OS X, Linux, Unix等。C语言的设计影响了众多后来的编程语言,例如C++、Objective-C、Java、C#等。
计算机编程语言,与C++、Java等面向对象编程语言有所不同。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、仅产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。C语言描述问题比汇编语言迅速,工作量小、可读性好,易于调试、修改和移植,而代码质量与汇编语言相当。C语言一般只比汇编语言代码生成的目标程序效率低10%~20%。因此,C语言可以编写系统软件。
这里我推荐初学者可以看看《啊哈,C语言》和谭浩强教授的《C语言程序设计》,前一本让自己产生编程的兴趣,后一本是熟悉C语言的一些基础知识,构造框架,进而为读懂更高级的C语言相关书籍打下基础。
2-怎么写C语言代码呢?
(1)写C语言代码就需要:编译器。
常见的编译器主要有:Clang,GCC,WIN-TC,MSVC,TurboC等。
我使用的是VS2010这个集成开发环境——集成了MSVC这样的编译器,编写、编译C语言代码。
(2)具体步骤包括:
*创建一个项目
*创建一个源文件
*写代码
*编译代码、运行
【1】新建项目,在Visual C++栏目中选择-空项目,设置名称和保存路径。
【2】创建源文件,设置路径和文件名,设置为“.c”文件。
(3)写一个C语言程序。
#include <stdio.h>
int main()
{
printf("Hello World!\n");
return 0;
}
运行快捷键设置: 程序运行 -> Ctrl+Fn+F5/ Ctrl+Fn/ 菜单->调试->[开始执行不调试]
"stdio.h"是头文件,
“main”是主函数,为程序的入口;
“printf”是一个库函数,在屏幕上打印信息;
“return 0”表示程序的结束。
【注意】
1、一个工程有且只有一个“main”函数;
2、一个工程可以有多个“.c”文件;
3、多个.c文件中只能有一个"main"函数。
(4)数据类型
用下面代码输出数据类型的字节大小。
printf("%d\n", sizeof(char));
printf("%d\n", sizeof(short));
printf("%d\n", sizeof(int));
printf("%d\n", sizeof(long));
printf("%d\n", sizeof(long long));
printf("%d\n", sizeof(float));
printf("%d\n", sizeof(double));
"sizeof"的单位为字节(byte),
计算机中的单位, bit-比特位; byte-字节=8bit; kb-1024byte; mb-1024kb; gb-1024mb;
tb-1024gb; pb-1024tb
(5)常量和变量
常量:值不变的量-圆周率,性别,身份证号,血型等;
变量:年龄,体重,工资等。
【1】变量的定义:
int age = 20;
char ch = 'w';
double weight = 75.3;
【2】变量的分类
变量分为:局部变量和全局变量。
对“global”定义为全局变量,对整个函数都适用,{}中“local”和“global”为局部变量,仅在{}中适用。
【注意】当局部变量和全局变量同名时,局部变量优先使用。
【变量的使用】
int num1 = 0;
int num2 = 0;
int sum = 0;//变量都需要定义在最前面
printf("输入两个数:");
scanf("%d%d",&num1,&num2);
int sum = 0;//
sum = num1 + num2;
printf("sum = %d\n",sum);
【3】变量的作用域和生命周期
作用域->作用域(scope) 是程序设计概念,通常来说,一段程序代码中所用到的名字并不总是有效/可用的而限定这个名字的可用性的代码范围就是这个名字的作用域。
1.局部变量的作用域是变量所在的局部范围。
2.全局变量的作用域是整个工程。
生命周期->变量的生命周期指的是 变量的创建到变量的销毁之间的一个时间段。
1.局部变量的生命周期是:进入作用域生命周期开始,出作用域生命周期结束。
2.全局变量的生命周期是:整个程序的生命周期。
【4】常量
C语言中的常量和变量的定义的形式有所差异。
C语言中的常量分为以下以下几种:
●字面常量
●const修饰的常变量
●#define 定义的标识符常量
●枚举常量
上一篇: 用 C 语言编写操作系统有什么好处
推荐阅读
-
C 语言学习-注释 [1
-
35 岁实现财务*,腾讯程序员手握2300万提前退休?-1000万房产、1000万腾讯股票、加上300万的现金,一共2300万的财产。有网友算了一笔账,假设1000万的房产用于自住,剩下1300万资产按照平均税后20-50万不等进行计算,大约花上26-60年左右的时间才能赚到这笔钱。也就是说,普通人可能奋斗一辈子,才能赚到这笔钱。在很多人还在为中年危机而惶惶不可终日的时候,有的人的35岁,就已经安全着陆,试问哪个打工人不羡慕?但问题是有这样财富积累必然有像样的实力做靠山。没有人可以不劳而获。 看到这里,肯定有人说,那么对于普通人来说,卷可能真就成了唯一的出路。但是卷也有轻松的卷,“偷懒”的卷法,对于程序员而言,刨除掉一时无法改掉的开会传统占用的大部分时间,如何把有限的时间和精力放在真正重要的架构设计、需求设计上,而不是重复的造*,编码、改bug、手动测试。因此在科技改变生活的今天,学会使用AI工具成为程序员们的必备技能。 以全栈式全自动的软件开发工具飞算SoFlu软件机器人为例,作为全球首款面向微服务架构设计和最佳实践的软件机器人,SoFlu软件机器人改变了原来手工编码的作业模式,通过可视化拖拽方式以及参数配置就能实现等同于编写复杂代码的业务逻辑,在设计业务逻辑时就完成了微服务应用开发,做到“业务即图,图即代码”,实现“软件开发,十倍提效”。 而作为飞算SoFlu软件机器人的一个重要组成部分,FuncGPT(慧函数)支持所有类型函数创建。通过自然语言描述Java函数需求,实时生成高质量、高可读性的Java函数代码。生成代码可直接复制到IDEA,或一键导入Java全自动开发工具函数库。 FuncGPT(慧函数)具有五大核心能力: ● 自然语言:通过自然语言即可生成函数,降低软件开发门槛。 ● 秒级函数开发:全自动秒级开发函数,秒级完成,效率千倍提升。 ● 一站式函数开发应用:函数生成即可直接应用,效率、安全有保障。 ● 质量可靠:生成的函数代码符合业界规范、具备良好的可读性,符合最优解。 ● 灵活生成:可以根据开发人员的具体需求生成并支持调整和修改。 以“将文件流转换为File对象”这个需求为例,以下是FuncGPT(慧函数)秒级生成的代码: / 类名:FileConverter // 函数名:convertStreamToFile // 函数功能:将文件流转换为File对象 // POM依赖包:无 import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; public class FileConverter { /** * 将文件流转换为File对象 * @param inputStream 文件流 * @param filePath 文件路径 * @param fileName 文件名 * @return 转换后的File对象 * @throws IOException 如果发生I/O异常 */ public static File convertStreamToFile(InputStream inputStream, String filePath, String fileName) throws IOException { File file = new File(filePath + File.separator + fileName); // 创建File对象 try (FileOutputStream outputStream = new FileOutputStream(file)) { // 创建文件输出流 byte buffer = new byte[1024]; int bytesRead; while ((bytesRead = inputStream.read(buffer)) != -1) { // 从文件流读取数据并写入文件 outputStream.write(buffer, 0, bytesRead); } } return file; // 返回转换后的File对象 } } // 函数示例 // 将文件流转换为File对象示例 // 入参:inputStream,文件流 // 入参:filePath,文件路径 // 入参:fileName,文件名 // 出参:file,转换后的File对象 // 调用示例: // InputStream inputStream = new FileInputStream("example.txt"); // String filePath = "C:\\Users\\User\\Documents"; // String fileName = "example.txt"; // File file = FileConverter.convertStreamToFile(inputStream, filePath, fileName); // System.out.println(file.getAbsolutePath); // 输出结果:例如,将文件流转换为File对象后,文件的绝对路径为:C:\Users\User\Documents\example.txt // 则输出结果为:C:\Users\User\Documents\example.txt 通过分析,不难发现以上代码:
-
一气之下,我只用一行代码就解决了约瑟夫环问题,面试官一头雾水_约瑟夫问题 c 语言(1)
-
用 C 语言读取控制台的上下左右箭头键命令--方法 1
-
C 语言教程学习 - 54 课时总结 - 已完成
-
C 语言教程学习第 1-13 节
-
系统学习 C 语言的方法
-
2.资料下载:C 语言学习
-
C 语言教程学习第 23-25 节
-
C 语言 - 第 1 章 语言教程