交易平台网站建设项目需求,个人网上银行登录,网站开发公用头部,网站开发预算报价表前言: C语言是学习编程的一门语言#xff0c;C语言概念少#xff0c;词汇少#xff0c;包含了基本的编程元素#xff0c;再后来的很多语言如#xff08;C#xff0c;Java#xff09;等都参考了C语言#xff0c;所以想要学好编程#xff0c;C语言是必不可少的一门C语言概念少词汇少包含了基本的编程元素再后来的很多语言如CJava等都参考了C语言所以想要学好编程C语言是必不可少的一门而且C语言的热门程度也是占据前首。 1.C语言是什么 在我们日常生活中人与人交流的语言为自然语言如汉语英语等。那么人与计算机交流就需要计算机语言我们已经知道了世界上计算机语言存在多种C语言只是其中的一门编程语言。当然有句话为——C生万物所以C语言是一门重要的编程语言。 C语言最初是作为Unix系统的开发工具而发明的。 2.编译和链接 C语言是一门编译型计算机语言C语言中源代码都是文本文件文本文件是无法被执行要通过编译器的编译和连接器的链接才可生成二进制的可执行文件最终文件才能被执行。C语言代码是放在.c为后缀的文件中的要得到最终的可执行程序就需要经过编译和链接两个过程。每个源文件.c单独经过编译器处理生成对应的目标文件.obj为后缀的文件。多个目标文件和库文件经过连接器处理生成对应的可执行文件.exe文件。 那么也可以在电脑中找到对应的文件使用文本打开方式就可以观察。 3.编译器的对比 那么我们大概了解了编译和链接我们也知道C语言是一门编译型的计算机语言那么我们需要依赖什么编译器将计算机语言转换成机器能够执行的机器指令以下是我们常见的C语言编译器。
如MSVC / clang / gcc 这些都是常见的编译器也有一些集成开发环境如VS2022 / DevC / clion / XCode / CodeBlocks 等等。
那么什么是集成开发环境IDE集成开发环境是用于提供程序开发环境的应用程序一般包含了代码编辑器编译器调式器和图形用户界面等工具是集成了代码的编写功能分析功能编译功能调式功能等一体化开发软件。
*VS2022集成了MSVC安装包比较大安装也简单无需要多余的配置使用起来也非常方便
*XCode集成了clang苹果电脑上的开发工具
*CodeBlocks集成了gcc比较小众需要配置环境
*DevC集成了gcc小巧过于简单适合一些竞赛使用
*Clion:是默认使用CMake,编译器可以配置要收费
那么相较于我比较推荐使用vs2022因为”好吃又实惠“下载就下社区版。
Visual Studio: 面向软件开发人员和 Teams 的 IDE 和代码编辑器 (microsoft.com) 4.写第一个C语言程序
1.创建项目
那么我们使用vs2022来编写第一个C语言代码先创建项目。
创建新项目 语言选择C因为 C和C不分家选择空项目然后下一步
项目名起得有意义就可文件位置放在知道的地方就可 如果进来左边或者右边没有解决方案管理器可以点击视图然后点击解决方案资源管理器就会出现了 点击源文件然后添加选择新建项 如果出现这个点击显示所有模板 选择C文件名称为xxx.c为后缀添加 我们可以看到生成了一个.c为后缀文件说明创建成功。
2.打印hello C语言
我们可以写一个简单代码在屏幕上输出 hello C语言 那么我们运行代码可以点击上面绿色的箭头或者使用键盘CtrlF5 或CtrlFnF5 代码就可以成功运行。 我们可以看到一些不认识的代码对于第一行的代码可以先忽略。那么其他代码我们该如何去理解接下来我们就把代码拆分。
#includestdio.h include意思为包含 , std是standard的缩写意为标准的 , i为input的缩写意为输入 , o为output的缩写意为输出 , .h为header意为头文件。
int main() int 为整型 main是主函数为函数参数。
{} 两个花括号包含着代码。
return 0 表示返回当然你也可以返回12...,但是返回0表示为正常返回。 3.main函数 每个C语言程序不管有多少行代码都是从main函数开始执行的main函数是程序的入口main函数也称为主函数。main函数前面的int表示main函数执行结束后返回一个整型int的值。所以main函数的最后写上return 0
1.main函数是程序的入口
2.在源文件中main函数有且只有一个
如何解释main函数是程序的入口我们可以通过调式看到箭头开始指向的是main函数第一行所以main函数为程序的入口。 那么如何理解main函数有且只有一个 当我多写了一个main函数可以看到报了错误所以也验证了main函数有且只有一个。
4.printf函数和库函数 在上边的代码我们可以看到要想打印hello C语言我们需要使用了一个函数为printf函数。我们可以简单了解一下printf函数printf函数是一个库函数它的功能为在标准输出设备上进行信息的打印。printf函数也可以打印其他类型的数据。
我们可以简单说明一下printf函数
1.printf函数的print意为打印的意思f为format格式。你打印数据时可以指定相对的格式如果我想打印100100为整型那么需要用%d 打印3.14浮点数需要用%f 。 那么我们也可以有不一样的打印方式在这里先简单了解一下 。 那么前边已经说明了printf函数是一个库函数。在使用库函数的时候是需要包含对应的头文件的如printf函数需要包含的头文件为
#includestdio.h
什么是库函数 库函数为为了不再重复实现常见的代码让程序员提高开发效率 C语言标准规定了一组函数这些函数由不同的编译器厂商根据C语言标准进行函数的实现提供给程序员使用这样程序员不在需要进行其他的操作去实现代码只需要引用对应的头文件就可以进行函数的使用。这些函数组成了一个库函数被称之为标准库。
库函数很多在cpluscplus可以参考 C library - C Reference (cplusplus.com)
5.关键字的介绍 什么是关键字
1.关键字有着特殊的意义是保留给C语言使用的
2.在我们写代码需要创建标识符时是不能和关键字重复的
3.关键字是不能自己创建
在C语言中关键字有32个 我们如何去理解第1点?
下图我们可以了解这些关键字是可以实现一些场景的所以我们是不能够在创建标识符与关键字重复。 如何理解第2点 我们可以通过代码看到我们创建的名字是不能和关键字重名的。我们也能理解为在古代当代帝王及本朝历代皇帝之名进行避讳所以我们创建的标识符也要和关键字避违。
如何理解第3点 这些关键字我们自己是不能够创建的C语言规定好就像生活中有些事能做而有些不能做一个道理。 如果对关键字感兴趣也可以在这里看到C 关键词 - cppreference.com
6.字符和ASCll码 什么是字符字符其实就是我们在键盘上可以敲出来的各种字符如a,b,c,%,#等等那么C语言中字符是需要英文单引号括起来如 a , b , c 等。 什么是ASCll码 在计算机中所有的数据存储都是以二进制的形式那这些字符在内存中是如何存储后来美国国家标准学会ANSI出了一个标准的ASCll编码这些字符都对应着ASCll编码的值C语言中字符就遵循着ASCll编码的方式。
1.字符A~Z的ASCll码值从65~90
2.字符a~z的ASCll码值从97~122
3.对应的大小写字符(如a和A)的ASCll码值相差值32
4.数字字符0~9的ASCll码值从48~57 我们可以将这些字符打印来观察如果是打印字符就用%c 整型就是%d来指定打印的格式。 我们也可以把上图的ASCll码值打印出来但是0-31的ASCll码值是不能够被打印出观察。 那么关于ASCll码值就简单介绍到这里也可以在cpluscplus上了解更多https://zh.cppreference.com/w/cpp/language/ascii
7.字符串和\0 前边我们已经知道了在C语言中表示字符用英文的单引号那么如何表示字符串 其实是使用英文双引号括起来的一串字符就被称为字符串如:abcd就是一个字符串 。那么打印字符串用的指定格式为%s。 那么字符串和\0它们之间有什么关系 我们可以通过调式可以知道原来字符串abcd末尾还隐藏存放着一个\0 那么\0存在的意义是什么其实\0是字符串的结束标志当我们在使用printf库函数或者使用strlen函数计算字符串的长度时遇到\0就自动停止了。所以\0是字符串的结束标志。 那么我们如何验证\0是字符串的结束标志
我创建了2个数组一个名为ch1另一个为ch2我们经过调式可以看到ch1数组是隐含着\0的但是ch2是没有\0 。 我们前边说过\0是字符串结束的标志那么我们把ch1和ch2这2个数组打印在屏幕上观察我们可以看到为什么ch1正常打印在屏幕上但是ch2却打印出乱码 我们可以这样理解
数据是存放在内存空间的那么ch1字符数组和ch2字符数组是两个不一样的内存空间ch1字符数组中的字符串是隐含着\0所以在打印时遇到\0就会自动停止但是ch2字符数组中是没有\0的为了让打印停止它需要找到\0 所以在寻找的过程中也会打印出内存中的值因为在这寻找的过程中会这一块内存不仅仅只有ch2。 那么只要我们在ch2数组中加入\0 这样在打印的时候遇到 \0 就会停止 8.转义字符 什么是转义字符其实在我们前边的代码中就运用到了转义字符如字符n是原来的字面意思但是我加了个\ ,变为了\n , 那么\ 就会把原来的字符n,转变为了\n为换行的意思。 那么C语言中都有哪些转义字符
具体有以下 那么如何理解 我们一个一个来
1.\a
当打印出来时会发出系统的响铃 2.\b
退格键光标会回退一个字符也就是回退一格 3.\f
换页将当前的光标位置移动到下一行起始位置 4.\n
换行将当前位置移动到本行开头 5.\r
将当前的位置移动到本行开头 6.\t
水平制表符跳到下一个Tab的位置C语言中Tab是可以修改的可能是4或者8这里一个Tab是8个空格 7.\v
垂直制表符用的不多 8.\
代表一个单引号 9.\
代表一个双引号如果我想打印一个双引号是不行的会报错那么加\ , 转义字符就可以打印出来 10.\
把斜杠\转义成斜杠\ 11.?
转义为问号 在一些编辑器中3个打印出来的效果为】,会把最后一个变为方括号。所以加斜杠\ 可以转义成 三个问号 12.\0
空字符NULL 13./ddd
ddd表示1~3个八进制的数字
130是8进制转换成10进制为8888对应的ASCll码值为X 14./xhh
hh 表示2个十六进制的数字
30的十六进制数为48对应的ASCll码值为0 9.注释
在C语言中我们写代码如果遇到不需要的可以进行注释掉那么应该如何进行注释
当我们遇到不需要的代码我们可以在前面加2个斜杠//就可以进行注释,但是只能注释一行 或者加/**/可以注释一行或者多行 有2种注释的方法/**/比较老一点而且注释如果不注意会有问题如我在中间末尾加了*/ 那么下边的*/ 就没有和它匹配的就会报错 一般来说建议用2个斜杠 // 这样可以注释更加安全在vs2022中的上边也有注释键 那么其实2个斜杠 // 也是可以注释多行代码的只要我们选中就可以可以使用上边的注释键进行注释或者使用快捷键注释Ctrl K C 快捷键取消注释Ctrl K U 完