C++研发笔记4——C语言程序设计初阶学习笔记2

        从今天开始我们开始第二模块初识C语言的学习,在本模块中我们将会涉及到一下14个内容:什么是C语言 、第一个C语言程序 、数据类型 、变量、常量 、字符串+转义字符+注释 、选择语句 、循环语句 、函数 、数组 、操作符 、常见关键字 、define 定义常量和宏 、指针 、结构体。

        当然在学习本模块的过程中,我们仅仅是浅尝辄止,我们对于每个知识点就是简单认识,并不做详细讲解。后面会针对每个模块还会有非常详细的讲解。所以我们本模块的学习目标是了解C语言的基本知识,对其有一个大致的认识。

第二部分  初识C语言

一、什么是C语言

/*
什么是语言——一种交流的工具
· 人和人交流的语言——自然语言——汉语、英语、西班牙语……
· 人和计算机交流的语言——计算机语言——C语言、C++、Python、Java……
*/

/*
C语言是一门通用计算机编程语言,广泛应用于底层开发。(底层开发为操作系统及以下的开发,以上的开发称为应用层开发)
· 电脑(硬件)——驱动层——操作系统(win/Linux/MacOS)——应用软件(微信/QQ/游戏)
· 例如Linux系统就是C语言写的,很多的驱动也是C语言开发的
· 当然C语言也并不是不能进行应用软件开发,比如早期的QQ就是用C语言写的
C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。
*/

/*
尽管C语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,以一个标准规格写出的C语言程序可在许多电脑平台上进行编译。
甚至包含一些嵌入式处理器(单片机或称MCU)以及超级电脑等作业平台。
*/

/*
二十世纪八十年代,为了避免各开发厂商用的C语言语法产生差异,由美国国家标准局为C语言制定了一套完整的美国国家标准语法,称为ANSI C,作为C语言最初的标准。
目前2011年12月8日,国际标准化组织(ISO)和国际电工委员会(IEC)发布的C11标准是C语言的第三个官方标准,也是C语言的最新标准,该标准更好的支持了汉字函数名和汉字标识符,一定程度上实现了汉字编程。
*/

/*
计算机语言的发展
· 二进制语言(机器语言)   1010100010101   计算机只能识别二进制
· 汇编语言   将部分二进制语言序列修改为注记符
· 高级语言  我们现在学习的C语言、Java语言等一系列计算机语言
为防止每一个开发商都对C语言的标准进行更改,导致每一个程序员学习的标准不一样,因从国际标准在应运而生,目前比较主流的版本是C89和C90.
*/

/*
C语言是一门面向过程的计算机编程语言,与C++,Java等面向对象的编程语言有所不同。
其编译器主要有Clang、GCC、WIN-TC、SUBLIME、MSVC(VS系列内集成)、Turbo C等。
· 编译器的作用是将C程序转化成计算机能理解的二进制语言
 */

二、第一个C语言程序

//编译环境:VS2022
//VS2022 是一个集成开发环境(IDE),是集成了编辑器、编译器、连接器、调试器等

/*
编写一个C语言程序的步骤:
1.创建项目
· 创建新项目——新项目——下一步——(进行项目名称命名,指定地址)——创建
· 注意项目名称最好要有意义,不要使用汉字命名,也不要使用特殊字符
· 创建的路径也不要含有汉字和特殊字符以及空格
· 解决方案资源管理器2.创建.c源文件
(在视图中可以调节)——源文件——添加——新建项——命名.c文件(源文件)——添加
· 平常一般我们在源文件当中进行编程
· 以.h结尾的文件称为头文件
· .cpp(c plus plus)结尾的文件是C++文件
3.写代码
*/

//写一个C语言程序,实现在屏幕上打印“Hello World!”

#include<stdio.h> //包含printf库函数的头文件
//stdio = std(standard)+i(input)+o(output)

int main() //main函数是程序的入口
// 可以通过调试(F10)证明main函数是程序的入口,所以C程序中必须包含main函数
// 同时一个项目中main函数有且仅有一个
// 一个工程中可以有多个.c源文件,但是多个源文件当中也只能只有一个main函数
// int main 中的int代表main函数执行后返回一个int(整型)类型的值
{
	printf("Hello World!\n"); //printf是一个库函数,库函数的使用需要包含头文件
	printf("Hello World!\n"); //复制整行的快捷键是Ctrl+D
	printf("Hello World!\n");
	//使用调试可以明确程序运行到了什么位置
	//当然printf函数可以打印任意你想打印的东西,包含中文和特殊的字符
	return 0; //代表main函数返回值为0,是一种int类型
}

//运行代码快捷键:Ctrl+F5 / Fn+Ctrl+F5
//代码快捷注释:Ctrl+K+C
//代码快捷取消注释:Ctrl+K+U

/*
其余的main函数写法:
1.一种比较古老的写法
void main()
{
}
2.错误的写法
main()
{
}
3.正确的写法(void代表mian函数不需要参数)
int main(void)
{
	return 0;
}
4.正确的写法(包含两个参数)
int main(int argc,char* argv[])
{
	return 0;
}
*/

        本篇笔记当中我们详细讲解了什么是C语言 以及第一个C语言程序。第二部分的学习还远远没有结束,下篇笔记中我们继续从数据类型开始学习 。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/901228.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【华为路由】OSPF多区域配置

网络拓扑 设备接口地址 设备 端口 IP地址 RTA Loopback 0 1.1.1.1/32 G0/0/0 10.1.1.1/24 RTB Loopback 0 2.2.2.2/32 G0/0/0 10.1.1.2/24 G0/0/1 10.1.2.1/24 RTC Loopback 0 3.3.3.3/32 G0/0/0 10.1.2.2/24 G0/0/1 10.1.3.1/24 RTD Loopback 0 4.4.4…

大模型Transformer笔记:KV缓存

1 MHA&#xff08;Multi-Head Attention&#xff09; 最经典的多头注意力 等价于多个独立的单头注意力的拼接 对于LLM来说&#xff0c;一般都是自回归地一个一个token的输出&#xff0c;也就相当于只有Transformer的decoder input在变化&#xff0c;之前作为prompt部分的是不变…

java智能物流管理系统源码(springboot)

项目简介 智能物流管理系统实现了以下功能&#xff1a; 智能物流管理系统的主要使用者分为管理员&#xff0c;顾客&#xff0c;员工&#xff0c;店主。功能有个人中心&#xff0c;顾客管理&#xff0c;员工管理&#xff0c;店主管理&#xff0c;门店信息管理&#xff0c;门店…

【制造业&电子产品】电脑电子元件检测系统源码&数据集全套:改进yolo11-TADDH

改进yolo11-SCConv等200全套创新点大全&#xff1a;电脑电子元件检测系统源码&#xff06;数据集全套 1.图片效果展示 项目来源 人工智能促进会 2024.10.24 注意&#xff1a;由于项目一直在更新迭代&#xff0c;上面“1.图片效果展示”和“2.视频效果展示”展示的系统图片或者…

蓝桥杯题目理解

1. 一维差分 1.1. 小蓝的操作 1.1.1. 题目解析&#xff1a; 这道题提到了对于“区间”进行操作&#xff0c;而差分数列就是对于区间进行操作的好方法。 观察差分数列&#xff1a; 给定数列&#xff1a;1 3 5 2 7 1 差分数列&#xff1a;1 2 2 -3 5 6 题目要求把原数组全部…

基于Springboot+Vue的食品商城系统 (含源码数据库)

1.开发环境 开发系统:Windows10/11 架构模式:MVC/前后端分离 JDK版本: Java JDK1.8 开发工具:IDEA 数据库版本: mysql5.7或8.0 数据库可视化工具: navicat 服务器: SpringBoot自带 apache tomcat 主要技术: Java,Springboot,mybatis,mysql,vue 2.视频演示地址 3.功能 这个系…

duilib的应用 在双屏异分辨率的显示器上 运行显示不出来

背景&#xff1a;win11&#xff0c;duilib应用&#xff0c;双显示器&#xff0c;两台分辨率相同&#xff0c;分别设置不同的缩放以后&#xff0c;应用运行以后&#xff0c;程序闪一下消失或者程序还在&#xff0c;但是UI显示不出来。 原因 窗口风格设置不合理&#xff0c;所以…

记录贴 为VScode配置C语言环境

大致步骤参考这位博主的过程&#xff1a;如何在 VS Code 中编写、运行C语言程序 教程_visual studio code怎么写c语言-CSDN博客 第一步&#xff1a;安装VScode。 第二步&#xff1a;安装两个插件&#xff1a;C/C Extension Pack和code runner。&#xff08;后面我发现&#x…

django5入门【03】新建一个hello界面

文章目录 1、前提条件⭐2、操作步骤总结3、实际操作示例 1、前提条件⭐ 将上一节创建的 Django 项目导入到 PyCharm 中。 2、操作步骤总结 &#xff08;1&#xff09;在 HelloDjango/HelloDjango 目录下&#xff0c;新建一个 views.py 文件。 &#xff08;2&#xff09;在 H…

WebGl 缩放矩阵

缩放矩阵是线性代数中的一种矩阵&#xff0c;用于描述图形在空间中沿着各个坐标轴进行均匀缩放的变换。在3D图形编程中&#xff0c;缩放矩阵通常用于调整物体的大小&#xff0c;而不改变其形状。 | x 0 0 0 | | 0 y 0 0 | | 0 0 z 0 | | 0 0 0 1 | 其中&#xff0…

2024 Rust现代实用教程:1.3获取rust的库国内源以及windows下的操作

文章目录 一、使用Cargo第三方库1.直接修改Cargo.toml2.使用cargo-edit插件3.设置国内源4.与windows下面的rust不同点 参考 一、使用Cargo第三方库 1.直接修改Cargo.toml rust语言的库&#xff1a;crate 黏贴至Cargo.toml 保存完毕之后&#xff0c;自动下载依赖 拷贝crat…

Java中自增自减,赋值,逻辑,三元运算符

自增自减运算符 在某个变量前面或者后面加一--在某个变量前面或者后面减一 可以看见&#xff0c;当a输出时&#xff0c;a是没有变化的&#xff0c;说明如果是在变量后就是先使用再增加&#xff0c;而b输出时&#xff0c;b增加了1&#xff0c;说明如果是在变量前面就是先增加再…

Android Activity 启动模式

Standard 启动模式 页面跳转顺序 MainActivity -> StandardActivity -> StandardActivity -> StandardActivity 页面栈 示例图 任务栈中只存在MainActivity时 任务栈中存在MainActivity、StandardActivity MainActivity -> StandardActivity MainActivity…

echarts给Y轴的不同轴线设置不同的颜色的样式

官方文档 option {xAxis: {type: category,data: [Mon, Tue, Wed, Thu, Fri, Sat, Sun]},yAxis: {type: value},series: [{data: [150, 230, 224, 218, 135, 147, 260],type: line,}] }; 效果&#xff1a; 需要添加参数markLine option {xAxis: {type: category,data: [M…

python实战(一)——iris鸢尾花数据集分类

一、任务背景 本文是python实战系列专栏的第一篇文章&#xff0c;我们将从分类开始由浅入深逐步学习如何使用python完成常规的机器学习/深度学习任务。iris数据集是经典的机器学习入门数据集&#xff0c;许多分类任务教程都会以这个数据集作为示例&#xff0c;它的数据量是150条…

大语言模型微调方法详解【全量微调、PEFT、LoRA、Adapter】

NLP-大语言模型学习系列目录 一、注意力机制基础——RNN,Seq2Seq等基础知识 二、注意力机制【Self-Attention,自注意力模型】 三、Transformer图文详解【Attention is all you need】 四、大语言模型的Scaling Law【Power Low】 五、大语言模型微调 文章目录 NLP-大语言模型学…

12个免费商用视频素材网站,助你打造高质量短视频!

我来啦&#xff0c;作为一个资深短视频运营&#xff01; 在剪辑了1362条片子后&#xff0c;我总结出下面的这些素材网站~ 基本上都是剪辑中常用到的&#xff0c;下载的视频也是MP4格式&#xff0c;直接就可以用&#xff0c;还有图片、音效和Pr教程推荐&#xff0c;总有一款适…

使用Llama Index与Streamlit实现一个从文本中提取专业术语和定义网页小程序

Llama Index有许多用例&#xff08;语义搜索、摘要等&#xff09;&#xff0c;并且都有很好的记录。然而&#xff0c;这并不意味着我们不能将Llama Index应用到非常具体的用例中&#xff01; 在本教程中&#xff0c;我们将介绍使用Llama Index从文本中提取专业术语和定义的设计…

迭代器边遍历边删除存在的问题

迭代器边遍历边删除存在的问题以及原理 01-问题 ​ 我们先来看看如下代码 public static void main(String[] args) {List<Integer> list new ArrayList<>();list.add(5);list.add(4);list.add(3);list.add(2);list.add(7);list.add(0);Iterator<Integer>…

CSP-J代码解析!最新2024CSP-J题解及参考代码

经过整理&#xff0c;老师已经整理了今年CSP-J复赛的题目和代码解析&#xff01; T4题目名称有误&#xff0c;更正&#xff1a;接龙&#xff01; 需要PDF版本的→malaoshi606 T1 扑克牌 poker 算法&#xff1a;模拟&#xff0c;桶数组思路&#xff1a;创建一个标记数组vis&…