C语言初阶基础知识笔记

保姆级教程:手把手带你复现APFNet论文的RGBT目标跟踪模型(附完整代码与数据集配置) 本文提供了一份详细的APFNet论文复现指南,涵盖从环境搭建到模型测试的全流程。通过解析多模态融合模块和渐进式训练流程,帮助读者高效完成RGBT目标跟踪模型的复现工作,特别针对训练和测试中的常见问题提供实用解决方案。 阅读详情

C 语言基础知识

  1. 源程序是由函数构成的,每个函数完成相应独立的功能

  2. 每个源文件有且仅有一个主函数(可以放在任何位置,但程序总是从主函数开始)

  3. 函数体是函数后面用花括号 { } 标识的部分

  4. 语句以分号( ; ) 结束,但预处理命令、函数头后面不能加分号

  5. 预处理命令是以 “#” 开头的语句

#include<stdio.h>

//main函数 - 主函数
//main函数是程序的入口,程序都是从main函数的第一行开始执行
int  main()
{
printf("hello bin");
return 0;
}

main 函数

每个 C 语⾔程序不管有多少⾏代码,都是从 main 函数开始执⾏的, main 函数是程序的⼊⼝, main 函数也被叫做:主函数。 main 前⾯的 int 表⽰ main 函数执⾏结束的时候返回⼀个整型类 型的值。所以在 main 函数的最后写 return 0; 正好前后呼应。

注意:即使⼀个项⽬中有多个.c ⽂件,但是只能有⼀个 main 函数(因为程序的⼊⼝只能有⼀个)

常见的错误总结:

main 被写成了 mian

main 后面漏掉()

代码中不能使用中文符号,比如括号和分号,确保是英文输入法

printf 函数

上面的代码中有一句代码如下

printf("hello bin");

代码中使⽤了 printf 函数,实现了在屏幕上的信息的打印。

printf 是⼀个库函数,它的功能是在标准输出设备(⼀般指屏 幕)上进⾏信息的打印。

上⾯的代码是使⽤ printf 函数打印字符串。只要把想要打印的⼀串字符放 在双引号中并传递给 printf 函数就可以打印。 printf 函数也可以⽤来打印其他类型的数据,⽐如:

int n = 100;
printf("%d\n",n);  //printf打印整形
printf("%c\n",n);  //printf打印字符
printf("%f\n",n);  //printf打印单精度浮点型
printf("%lf\n",n);  //printf打印双精度浮点型

占位符

这里的 %d,%c 等是占位符,会被后边的值替换掉,此处是被 n 替换掉

  • %d -- 输出十进制数

  • %c -- 输出一个字符

  • %s -- 输出一个字符串

  • %f -- 输出实数(以小数的形式输出)

  • %o -- 以八进制形式输出整数

  • %x -- 以十六进制形式输出整数

  • %u -- 输出无符号的十进制数

  • %e -- 输出以指数形式输出实数

  • %g -- 输出实数

使用 printf( )函数时的注意事项

  1. 在格式控制字符串中,格式说明应与输出项从左到右在类型上必须有一一对应,且输出项个数要相等

  2. 在格式控制字符串中,可以包含任意的合法字符(包括转义字符)

  3. 如果要输出 %,则应用两个 %% 来表示

库函数

使用库函数的时候,是需要包含头⽂件的

就相当于要拿别人东西时,跟对方提前打一声招呼

⽐如: printf 函数需要包含的就是 stdio.h 这个头⽂件, 具体的⽅法就是:

#include <stdio.h>

为了不再重复实现常⻅的代码,让程序员提升开发效率,C 语⾔标准规定了⼀组函数,这些函数再由不 同的编译器⼚商根据标准进⾏实现,提供给程序员使⽤。

这些函数组成了⼀个函数库,被称为标准库,这些函数也被称为库函数。

在这个基础上⼀些编译器⼚商可能会额外扩展提供部分函数(这些函 数其他编译器不⼀定⽀持)。

⼀个系列的库函数⼀般会声明在同⼀个头⽂件中,所以库函数的使⽤,要包含对应的头⽂件。

库函数参考链接

字符和 ASCII 编码

在键盘上可以敲出各种字符,如:a,q,@,#等,这些符号都被称为字符,C 语⾔中字符是⽤单引号 括起来的,如:'a','b','@'。

美国国家标准学会(ANSI)出台的⼀个标准 ASCII 编码,C 语⾔中的字符就遵循了 ASCII 编码的⽅式。

ASCII 编码表参考链接

我们不需要记住所有的 ASCII 码表中的数字,使⽤时查看就可以,不过我们最好能掌握⼏组特殊的数据:

  • 字符 A~Z 的 ASCII 码值 65~90

  • 字符 a~z 的 ASCII 码值从 97~122

  • 对应的⼤⼩写字符(a 和 A)的 ASCII 码值的差值是 32

  • 数字字符 0~9 的 ASCII 码值从 48~57

  • 换⾏ \n 的 ASCII 值是:10

  • 在这些字符中 ASCII 码值从 0~31 这 32 个字符是不可打印字符,⽆法打印在屏幕上观察

字符串和\0

C 语⾔中如何表⽰字符串呢?使⽤双引号括起来的⼀串字符就被称为字符串,如:"abcdef",就是⼀个 字符串。

字符串的打印格式可以使⽤ %s 来指定,也可以直接打印如下:

#include <stdio.h>
int main()
{
 printf("%s\n", "hello C");
 printf("hello c");
 return 0;
}

C 语⾔字符串中⼀个特殊的知识,就是在字符串的末尾隐藏放着⼀个 \0 字符,这个 \0 字符是字符串 的结束标志。

转义字符

\n 是⼀个转义字符表⽰换⾏的意思,我们可以简单的理解为 \ 让 n 的意思 发⽣了转变, n 本来是⼀个普通的字符,被 \ 转义为换⾏的意思。

转义字符:

  • \? : 在书写连续多个问号时使⽤,防⽌他们被解析成三字⺟词,在新的编译器上没法验证了。

  • \' :⽤于表⽰字符常量 '

  • \" :⽤于表⽰⼀个字符串内部的双引号

  • \\ :⽤于表⽰⼀个反斜杠,防⽌它被解释为⼀个转义序列符。

  • \a :警报,这会使得终端发出警报声或出现闪烁,或者两者同时发⽣。

  • \b :退格键,光标回退⼀个字符,但不删除字符。

  • \f :换⻚符,光标移到下⼀⻚。在现代系统上,这已经反映不出来了,⾏为改成类似于 \v 。

  • \n :换⾏符。

  • \r :回⻋符,光标移到同⼀⾏的开头。

  • \t :制表符,光标移到下⼀个⽔平制表位,通常是下⼀个 8 的倍数。

  • \v :垂直分隔符,光标移到下⼀个垂直制表位,通常是下⼀⾏的同⼀列。

  • \ddd :d d d 表⽰ 1~3 个⼋进制的数字。 如: \130 表⽰字符 X

  • \xdd :d d 表⽰ 2 个⼗六进制数字。 如: \x30 表⽰字符 0

  • \0 :null 字符,代表没有内容, \0 就是 \ddd 这类转义字符的⼀种,⽤于字符串的结束标志,其 ASCII 码值是 0.

转义字符参考

 

 

 

手把手教你设计T型和Π型衰减器:从分贝计算到电阻选型全攻略 本文提供了一份T型和Π型衰减器的详细设计指南,涵盖从分贝计算到电阻选型的全过程。文章以50欧姆系统为例,通过公式推导和实例演示,手把手教你计算两种经典拓扑的电阻值,并深入探讨了电阻选型、误差控制及高频应用等关键实践技巧,帮助工程师和爱好者精准实现信号衰减与阻抗匹配。 阅读详情

相关推荐

three.js中如何高效加载并播放GLB格式的3D动画

本文详细介绍了在three.js中高效加载并播放GLB格式3D动画的最佳实践。通过对比GLB与GLTF格式的优势,提供从环境搭建、模型加载到动画控制的完整解决方案,并分享性能优化技巧和常见问题排查方法,帮助开发者提升3D动画项目的开发效率和用户体验。

weixin_27890975的博客 362

【C语言】初阶完结练习题

【C语言】初阶完结练习题

m0_68662723的博客 1万+

redhawk-sc使用简介

数据完整性对结果的准确性有很大影响,所以一定要保证数据完整性,Redhawk-sc在跑完后,Report里有Data Integrity界面,在这个界面会看到设计数据和库文件的数据完整性,在相应的报告中会有没有覆盖到的数据情况,要对每一项仔细检查,保证输入数据没有问题。文件一般加密,用户唯一需要选择的是文件的corner。其中,cell lef除了常规的standard cell,还有如DTCD,BTSV和clamp等cell的lef,不可缺失,否则data integrity将不是100%。

weixin_48518726的博客 3134

【C语言】初阶结构体

【C语言】初阶结构体

m0_68662723的博客 1万+

Win10插网线显示未识别网络的三种解决方法

本文介绍了三种解决Win10插网线显示未识别网络问题的方法:更新或重启网络设备驱动程序、重置Winsock目录、启用Network Setup Service服务。这些方法都是基于常见的网络问题和解决方案而设计的,适用于大多数Win10用户。如果你遇到了这一问题,可以按照上述步骤进行操作,相信一定能够找到解决问题的方法。需要注意的是,在进行任何操作之前,请务必备份重要数据以防万一。此外,如果你对计算机硬件或软件不熟悉,建议寻求专业人士的帮助以避免造成不必要的损失。

nntxthml的博客 6770

MATLAB使用贝叶斯网络bnt工具箱:使用手册详解

MATLAB使用贝叶斯bnt网络工具箱:使用手册详解

WW、forever的博客 2675

C语言入门笔记之基础知识

本文主要介绍了C语言的基础知识,包括程序框架、数据类型、变量、常量、运算符和注释等内容。重点讲解了C语言的基本语法规则,如程序结构、输入输出函数printf和scanf的使用方法,以及各种数据类型的特点和适用场景。文章详细说明了变量的定义、初始化和赋值操作,介绍了枚举类型的用法,并分析了不同运算符的优先级和复合赋值的使用。最后还解释了注释的作用和写法,为C语言初学者提供了全面的基础知识参考。全文以C99标准为基础,结合实例代码帮助读者理解核心概念。

2402_87520394的博客 1776

电力系统分析 | Matlab实现源荷场景生成---蒙特卡洛法场景生成启发式同步回带削减

电力系统分析 | Matlab实现源荷场景生成---蒙特卡洛法场景生成启发式同步回带削减

前程算法屋的博客 812

C语言初阶测评题:测试你的基础知识和编程技能!!

欢迎来到这个关于C语言的初阶测评题博客!在这里,我们将为您呈现一系列考察基础知识和编程技能的问题,帮助您巩固对C语言的了解并提升编程能力。这次的测评题包含 15个选择题+2个编程题,希望大家看完能够有所收获!!🥇。

深入解析C/C++编程技巧,带你探索高效开发之路 1780

YOLOv11涨点改进| TPAMI 2026 |独家创新首发、Conv改进篇| 引入LPM 局部先验特征增强模块,更加聚焦于目标区域并抑制背景干扰,助力目标检测、图像分割、图像恢复、图像增强有效涨点

🔥本文提出了一种改进YOLOv11网络的LPM(局部先验特征增强)模块,通过构建重要性图引导特征提取过程,使模型更聚焦目标区域并抑制背景干扰。LPM模块通过注意力机制强化关键区域信息,优化特征分布,提升小目标和复杂场景下的检测性能。实验表明,该模块在保持轻量结构的同时,显著提高了检测精度和鲁棒性。文章详细介绍了LPM的结构原理、核心代码实现方法,并提供了4种改进配置方案(yolov11n_LPM.yaml等),指导用户如何集成该模块到YOLOv11网络中。这些改进方案通过多阶段特征融合逐步强化细节表达.

Ai缝合怪、助力小伙伴高效发论文 127

【Google Play 上架】内部 / 封闭 / 开放 测试全解 — “只跑一个就能上架”?不行!

Google Play新规要求个人开发者账号在2023年11月13日后必须通过封闭测试(Closed testing)才能上架应用。封闭测试需要至少12名测试者连续14天保持参与状态,而内部测试和开放测试不能替代这一要求。三类测试轨道各有特点:内部测试用于快速内部验证,封闭测试是上架必经环节,开放测试面向更广泛用户但非必需。上架流程建议先内部测试修复问题,再启动封闭测试满足14天要求,最后申请生产发布。组织账号和早期个人账号可能不受此限制。开发者应提前规划测试人群,确保持续测试周期,并关注Play Cons

技术小甜甜:传播可落地技术,帮助个人和企业降低解决真实场景问题的成本 2796

【C语言初阶笔记】初识c语言

1.什么是c语言 C语言是一门面向过程的计算机编程语言,与C++、Java等面向对象编程语言有所不同。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、仅产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。C语言描述问题比汇编语言迅速、工作量小、可读性好、易于调试、修改和移植,而代码质量与汇编语言相当。C语言一般只比汇编语言代码生成的目标程序效率低10%-20%。因此,C语言可以编写系统软件。 (1) 语言组成 数据类型 C的数据类型包括:整型(short、int、lon

ljp 3621

Unreal 从入门到进阶 之 如何实现Pixel Streaming

Unreal Engine 5 (UE5) 的 Pixel Streaming 是一项基于云端的实时流媒体技术,允许将 UE5 应用的高质量图形渲染结果通过 WebRTC 协议传输到用户的浏览器或轻量级设备,同时将用户输入(如鼠标、键盘、触控)回传到服务器处理。UE的插件相对比较好用,但是就是环境下载总是失败。希望这篇文章对你有所帮助。

TxNet 1368

C语言初阶—笔记

C语言是一门通用计算机编程语言,广泛应用于底层开发C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言尽管C语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,以一个标准规格写出的C语言程序可在许多电脑平台上进行编译,甚至包含一些嵌入式处理器(单片机或称MCU)以及超级电脑等作业平台。

Annals1213的博客 998

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

【C语言初阶】一、初识C语言

热爱之所以有力量,就在于你坚持它就好,永远不要去想它会有什么结果。

Anya-.-的博客 4504

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

C语言初阶秘籍5

C语言20000字超级详细无敌全面必备秘籍,不看后悔,呕心沥血之作!!!!!

ZYS922的博客 1293

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

C语言初阶指针详解【初阶--4--】

这篇笔记介绍了C语言中指针的基本概念和操作,包括指针定义、类型、野指针、指针运算、数组与指针的关系、二级指针和指针数组。强调了指针是内存地址的表示,指针类型决定了解引用时访问的字节数和步长。讨论了野指针的风险和避免方法,以及指针在数组操作中的应用。最后,介绍了二级指针和指针数组的使用,包括如何通过指针数组模拟二维数组。

隼玉的博客 1455

C语言初阶学习笔记

例如代码for (i = 0;i < 9;j < 9 - i;我们在栈区创建了一个数组我们想要返回数组,但是当函数运行结束后函数所占用的空间会释放,导致数组arr释放,虽然返回了arr但是由于内存的释放返回了一些没有定义的,导致出现错误,想要解决这个问题,只需要我们将数组arr改为全局变量即可。

Infernal_Puppet的博客 555

【C语言初阶】循环语句 —— dowhile语句

本节给出了C语言循环结构中的do while语句,给出了在do while语句中使用break和continue的不同情况;最后给出了几道使用循环结构的常见练习题目。

共同学习,相互分享。 2705

C语言初阶——测试

C语言初阶阶段测试

2302_76409728的博客 1635

c语言的入门与初阶学习笔记

c语言学习(入门和初阶)

2301_79857592的博客 986

C语言——指针从初阶到进阶

本文讨论了关于指针的相关问题,欢迎大家阅读指针

2501_90507065的博客 6155

C语言指针(初阶)

嘻嘻,家人们,今天咱们剖析一下指针,好啦,废话不多讲,开干!

ABWSO的博客 2994

【超详细】C语言【初阶】笔记【已完结】

本文涵盖了C语言的基本语法、数据类型、运算符、控制结构(如if语句、循环)、函数、数组和指针等概念

隼玉的博客 1211

[C语言]初阶指针和结构体

pointer and struct

qq_66767938的博客 2594

初阶C语言(一)-初识C语言

关于初阶C语言数据类型、变量、常量的相关介绍

qq_73121173的博客 496
下一篇: C语言初阶笔记-第二部分
'撒野奔跑.
博客等级 码龄4年 185粉丝 19原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

'撒野奔跑.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值