ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

C语言基本概念

C语言基本概念 前言本文基于windows系统vs2022配置msvc编译器进行研讨C语言的常见概念踏入编程第一步先从C语言入手。1.什么是C语言C语言是一门通用的计算机编程语言广泛应用于底层开发。用简单的话来讲就是人与计算机交流的语言其是众多计算机语言的一种还有C、Python、Go、Java等。C语言是编译性的语言需要依赖编译器才能实现相应的功能。常见的编译器有msvc、gcc、clang但是功能太过单一处理代码不方便于是出现了集成开发环境IDE比如Visual Studio 2022/2026、Dev C、Xcode他们集成了编辑器、编译器、调试器、和图形用户界面等工具具有代码编写、分析、编译、调试等功能。补充vs集成了msvcvs是windows的专属软件只能跑在windows系统上Dev C集成了gccXcode集成了clang。2.第一个C语言代码在写代码前先要能创建项目以vs2022为例在这里项目名称可以自命名位置可以自定义方便后期查看学习为主进入此界面打开解决方案资源管理器右键源文件进行新建项目新建项目后有可能显示这个紧凑模板这里可以修改源文件的名字以.cpp为后缀是c文件写c语言文件的后缀是.c这里将后缀更改一下点添加就可以写代码了如果点击显示所有模板就是下面这样同样相似操作即可开始写代码我们的第一个代码先来简单的输出一句话hello world! 来表达一下我们对世界的热爱#includestdio.hintmain(){printf(hello world!\n);return0;}那么这份热爱是怎么具体的传递出来呢我们细细道来2.1main函数简介main函数是程序的入口代码的执行都是从main函数开始执行所以其也被称为主函数。一个文件里main函数有且仅有一个一个项目如果有多个.c文件也只能有一个main函数main函数的结构int代表主函数执行结束时返回值是整数与return 0相呼应C语言默认返回0表示正常返回返回非0表示异常所以这里用return 0表示程序正常结束没有出错2.2printf用法printf函数是一个库函数功能是在标准输出设备一般指屏幕上打印信息调用该函数前需要包含一个头文件stdio.h,具体用法是#includestdio.h里面存放有该函数的声明只有编译器提前通过头文件知道有这个函数才能在main函数中使用。扩展那么什么是库函数呢标准库中的函数就是库函数标准库是由编译器厂家1根据国家标准化组织ISO标准2实现相关函数打包而成的。标准库分为两部分头文件.h和库文件.lib静态库/.dll动态库头文件里存放的是库函数的声明和相关数据类型的定义文本文件源代码形式只是说明书没有具体函数代码同一个头文件中会放一系列库函数除了有库函数的声明还有简易介绍比如 (stdio.h)中有printf、scanf等(string.h)中有strlen、strcmp等库文件里存放的是库函数真正的实现编译好的二进制机器代码形式库函数众多想要更多了解参考链接https://cplusplus.com/reference/clibrary/2.3 字符和ASCII编码在键盘上可以敲出各种符号比如a、B、1、、 空格等这些属于可见字符还有回车换行、退格、tab等按键看不见也属于字符C语言中使用可见字符时需要使用单引号英文模式括起来比如‘1’、‘a’、’ 空格等使用按键的这些字符时也需要单引号以转义字符的形式书写比如换行 ‘\n’ 等。在计算机中所有的数据都是以二进制的形式存储在内存中的字符也应该如此那就需要编码比如a’编码为010b’编码为011等美国国家标准学会ANSI对这些字符统一编码即为ASCII编码3c语言遵循ASCII编码得到ASCII码表可参考链接 https://zh.cppreference.com/w/cpp/language/ascii。常见码值a ~ z 的ASCII码值是97 ~ 122A ~ Z 的ASCII码值是65 ~ 90相同字符大小写相差320 ~ 9 的ASCII码值是48 ~ 57ASCII码值为0 ~ 31的字符无法打印在屏幕上比如换行’\n’码值为10不会打印出’\n’效果是光标移动到下一行从此再输出值⚠️0 : 数字,内存中的值是0⚠️’0’: 字符,内存中是ASCII码值,是48打印字符的两种方式:printf(%c, F);和printf(%c, 70);打印字符ASCII码值的方式printf(%d, F);字符参与运算用的是ASCII码值2.4字符串和\0C语言中用双引号(英文模式括起来一串字符称为字符串如“abcdef”、hello world等字符串打印的两种方式printf(%s, hello world);和printf(hello world);。C语言字符串末尾藏着一个字符\0比如字符串abc,表面上看是3个字符实际上有4个字符它是字符串结束标志使用库函数printf()打印字符串或strlen()计算字符串的长度时遇到\0自动停止。通过调试调取监视器可以发现字符串实际的字符数里有’\0’正常情况下遇‘\0’停止若不遇’\0’,会输出乱码以字符数组存储字符串为例存储情况输出情况及相关分析所以字符串中的’\0’有着极其重要的作用是字符串的停止开关。2.5转义字符转义字符顾名思义就是改变字符原来的意思形式为\内容, 比如‘n’是个ASCII码值为110的字符’\n’含义就变为换行了上面所说的按键的不可见的字符即为转义字符下面讲解一些转义字符。\用于表示字符常量单独输入字符,会报错无法输出原因是前两个单引号被编译器默认配对最后一个落单使用转义字符\,即可输出\用于表示一个字符串内部的双引号若是单独输出,这是一个字符直接单引号就行但是如果是在字符串中也会出现前两个默认配对最后一个落单报错的情况此时就需要转义字符\即可输出\\:用来表示一个反斜杠防止被解释为转义字符因为\内容会被编译器解读为转义字符导致无法输出\使用转义字符\\即可输出\\a系统会发出蜂鸣声\b退格符按F10启动调试接下来继续按F10逐行调试当执行完含有\b的语句时可以发现光标往前移动了一格这就是它的效果当执行下一行语句时会从光标位置覆盖原先的值如果覆盖完再输出后面要输出的值\n换行符使光标移动到下一行不一定移动到开头这里可以移动到行首的原因是windows系统下C标准库会把\n翻译为\r\n,使得输出效果为回车换行电脑上的enter键就是回车换行\r回车符按F10调试可以发现光标移动到这一行的开头这是\r的效果执行完\r语句再执行下一行输出时会挨个的覆盖原先的内容覆盖完就会有如下效果\t制表符把光标跳到下一个水平制表位4输出相应内容用来数据对齐。windows控制台5默认每8列一个制表位相当于相邻制表位连上字符共占8个格子下面两种转义字符可以理解为字符的8进制或16进制表示形式\dddddd表示1~3个8进制的数字这个整体表示的是对应的字符\xddx代表后面的数字是16进制dd是2个16进制的数字这个整体表示的是对应的字符\0null字符代表没有内容用于字符串的结束标志ASCII码值是0汇总字符的几种表示方式转义字符还有很多可参考链接https://zh.cppreference.com/w/c/language/escape2.6该代码执行流程3.语句和语句分类C语言代码是由一条条语句构成的可分为①空语句 ②表达式语句 ③复合语句 ④控制语句。3.1空语句空语句就是一个分号一个语句用于需要一条语句但不做任何事情。#includestdio.hintmain(){;//空语句return0;}3.2表达式语句表达式语句就是在表达式6后面加上分号#includestdio.hintmain(){inta10;//变量的定义初始化intb0;ba5;//表达式语句printf(%d,b);//表达式语句中的函数调用语句return0;}3.3复合语句复合语句就是代码块成对括号里的代码就构成一个代码块3.4控制语句控制语句用于控制程序的执行流程以实现程序的各种结构方式C语言支持三种结构顺序结构、选择结构、循环结构。C语言有9种控制语句如下①条件判断语句或是分支语句if语句、switch语句②循环执行语句do while语句、while语句、for语句③转向语句break语句、go to语句、continue语句、return语句选择结构中会用到条件判断语句循环结构中会用到循环执行语句这些语句帮助实现相关结构最终会帮助解决相关问题。4.注释注释是对代码的解释说明必要的注释可以帮助理清条例使代码更易于理解但是不要过度注释这样会喧宾夺主重心偏移。C语言注释有两种方式①\* *\把要注释的内容放这个中间一次可以注释多行不支持嵌套注释C语言早期注释②//把要注释的内容放在双斜杠后一次只能注释一行注释选中行快捷键Ctrlkc取消注释快捷键Ctrlku注意快捷键想要一次注释多行成//“的前提是如图全选如果像下面这样选择,会注释成”/* */注释是给人看的编译器会自动忽略。编译时注释会被替换为空格所以定义变量时int maxnum;如果写成int max/* 你好 */num;会变成int max num;编译器无法正确识别所以要正确使用注释。这一程我们大概了解了一下C语言接下来会对C语言进行更深一步的了解敬请期待比如 msvc编译器厂家微软、clang编译器厂家苹果等 ↩︎设置一系列函数的基本信息但不实现比如printf函数告诉你它的名字、功能、参数、返回类型没有具体可执行代码 ↩︎将字符转换为数字存入内存的过程是编码字符对应数字的书面内容是码表比如码表上’A’的十进制码值是65把’A’的码值65存入内存就是编码 ↩︎控制台一行上预先设定好的标记位置\t视觉效果类似tab键只不过tab键的水平制表位有时以4为倍数有时以8为倍数且在某些环境下可设置 ↩︎VS弹出的黑框windows系统自带命令解释器旧版cmd/新版PowerShell)windows控制台窗口依托windows控制台展示界面接受输入数据与显示文字接受命令并解析帮电脑启动程序exe↩︎表达式是由运算符、常量、变量、函数调用组合起来能算出一个值的式子只能是这些元素中随便几个的相关组合 ↩︎
返回列表