【01 c语言常见概念】

常见概念

  1. c语言是什么?
  2. c语言的历史和辉煌
  3. 软件的选择
  4. vs创建项目简介
  5. 第一个c语言程序
  6. main函数和库函数
  7. 关键字介绍
  8. 字符和ascii编码
  9. 字符串和\0
  10. 转义字符
  11. 语句和分类
  12. 注释

1.c语言是什么

  正如语言是人与人交流的工具,同样的计算机语言就是人与计算机交流的工具,目前已知有上千种计算机语言,c语言就是其中的一种,像经常见到的c++\java\python等都是计算机语言

2.c语言的历史与辉煌

  1946年,第一台计算机由冯诺依曼发明,冯诺依曼提出了计算机基本原理
在这里插入图片描述
现代计算机的结构
在这里插入图片描述

  1962年,贝尔实验室的汤普森和丹尼斯开发了Unix系统,是用汇编语言写的,为了移植到其他计算机上,就在BCPL的基础上开发了B语言
  1972年,在B语言的基础上开发了c语言
  1973年,Unix系统用c语言重写,c语言开始广泛使用起来
  1988年,语法不一样,很多人写的c语言程序并不能通用,美国国家标准协会(ANSI)正式将c语言标准化
  一直到今天,c语言仍是最流行的语言排行的前三

3.软件的的选择

3.1 为什么使用编译器

    我们所说的代码都只是文本格式,并不能直接被计算机执行,而电脑认识的是二进制,所以需要生成可执行的二进制文件,才能被电脑运行
  c语言是一门编译型语言,代码文件后缀.c想生成可执行的二进制文件需要编译器和链接器,编译器有msvc,cl,gcc等。与之对应的java\pathon是解释型语言。解释型语言需要解释器,如果在windows平台运行就会解释为win程序,linux运行就解释为linux程序,所以解释型语言一般可以跨平台的
编译型和解释型

3.2 编译器和链接器的处理过程

在这里插入图片描述

  多个.c源文件通过编译器生成二进制的obj文件,然后用链接器连接库生成可执行程序

3.3 软件的选择

  集成开发环境(ide)是提供程序开发环境的程序,一般包括了编辑器、编译器、调试器和图形用户界面等工具,集成了代码编写、分析、编译、调试等一体化的功能
  VS2022,MSVC,安装简单,无需配置,,功能丰富,使用方便,社区版免费,但占用空间较大,应用广泛
  XCode,clang编译,苹果电脑应用的工具
  DevC++,gcc,小巧简单,不利于代码风格的养成
  Clion,CMake,编译器可以配置,但是收费的,不建议使用
  vscode并不算ide,可以自己搭建各种开发环境,常用于前端开发,教难

3.4 vs的安装方法

  1. 软件下载地址
    [vs官网] (https://visualstudio.microsoft.com/zh-hans/downloads/)
    该界面点击下载,社区版下载方法打开后会自动下载,下载成功跳出功能选择界面,编写c程序,勾选c++桌面开发,右边打钩mfc开发,代码工具可勾选帮助界面,用来查看帮助。
    在这里插入图片描述下方安装位置更改在这里插入图片描述安装完成后打开程序,若要添加功能,可在工具中修改功能
    在这里插入图片描述

4.vs创建项目简介

点击创建项目
在这里插入图片描述选择创建项目格式,先创建空项目
在这里插入图片描述修改项目名和位置后创建
在这里插入图片描述源文件处右键添加新建项
在这里插入图片描述.c结尾的是源文件,.h结尾的是头文件
在这里插入图片描述

5.第一个c语言程序

源文件中输入以下代码,功能是在控制台打印输出"hello"

#include <stdio.h>

int main()
{
	printf("hello\n");
}

crtl+F5运行,如果是有fn辅助键的,需要按fn+F5
在这里插入图片描述

6.main函数和库函数

main函数是程序的入口函数,也叫做主函数,int表示返回一个整形值,与后面的return 0相对应,需要注意以下几点:

  • main函数是程序的入口
  • 每个项目main函数有且只能有一个
  • main可以写在任何位置

main函数可以无参数,也可以有参数,默认参数如下:
int main(int argc,char* argv[],char* envp[])
printf函数功能为向标准输出设备打印,是一个库函数。为了提升开发效率,c语言标准规定了一批函数的功能和要求,由编译器厂商自己实现,这些函数组成的库叫做标准库,标准库的使用需要包含头文件

7.关键字介绍

c语言有一批保留的符号,如int等,被称为关键字

  • 关键字有特殊的意义,保留给c语言使用
  • 自己的创建的不能与关键字重复
  • 关键字不能自己创建

以下是c语言的关键字,可在中文帮助文档查询,网址:
cppreference
在这里插入图片描述

8.字符和ascii编码

计算机的数据都是以二进制存储的,那么a,b,c这些怎么存储呢,所以美国国家标准学会定义了标准的ascii编码,以数字0-127记录各种字符
在这里插入图片描述

  • 其中0-31是不可打印字符,提供部分功能
  • A-Z的ascii为65-90,a-z为97-122,对应差值为32
  • 0-9是48-57
  • \n的值是10

9.字符串和\0

 使用双引号""括起来的一串字符叫字符串,可以用%s占位符来打印,字符串默认会在结尾隐藏一个\0,表示字符串的结束

vs中输入一个字符串,然后按F10逐语句调试,按几次,当黄色箭头走过这条语句打开监视窗口输入变量展开
在这里插入图片描述在这里插入图片描述在这里插入图片描述
当我们用另一种方式定义字符串,结尾没有\0,会随机输出乱码,直到遇到\0会停止
在这里插入图片描述%s是占位符,用来输出字符串变量,占位符在后面会仔细说明

在这里插入图片描述

在这里插入图片描述

10.转义字符

printf函数中的斜杠,顾名思义,转义字符就是转变原来的意思。‘\n’这种,n是一个字符,加了斜杠就成了换行的意思
在这里插入图片描述
打印内容,abc后面一个\n转义字符,意思为换行,输出结果如下:

在这里插入图片描述
打印出abc又打印了换行,继续输出dc

常见的转义字符如下:

  • \? :书写多个连续问号时使用,防止被解析为三字母词,新的编译器取掉了
    如: “??)“打印后会被解析为一个三字母词,输出”]”
  • \’ :用来表示字符常量’>,由于printf里,打印字符格式时,’ '里的内容被解析为一个字符,所以不能打印单个引号,所以用转移字符表示打印单个引号
  • \" :同上
  • \a :触发蜂鸣器,发出警报或闪烁,或两者同时发生
  • \b :退格键,光标回退一个字符,但不删除,继续输出会覆盖光标后的内容
  • \f :光标移到下一页,现代系统反应不出来了
  • \n :换行符
  • \r :回车符
  • \t :制表符Tab,光标移动到下一个水平制表位,4个或8个空格
  • \v :垂直分隔符,光标移动到下一个垂直制表位,通常是下一行的同一列
  • \ddd :ddd表示1-3个八进制数字 比如:\130 八进制转十进制为88,ascii表为字符X
  • \xdd :表示2个十六进制数字 如: \30,转为十进制为48,为数字0
  • \0 :null字符,没有内容,ascii值为0,和数字0不同,字符串的结尾

11.语句和分类

语句可分为空语句、表达式语句、函数调用语句、复合语句和控制语句,每一条语句以分号表示结尾

空语句

一个分号就是一条空语句,不需要做任何事情

在这里插入图片描述

表达式语句

表达式后面加上分号,通常为有等号的语句
在这里插入图片描述

函数调用语句

调用函数功能的语句
在这里插入图片描述

复合语句

两个中括号构成的代码块里的所有语句称为复合语句
在这里插入图片描述

控制语句

控制执行流程的语句,有顺序、选择、循环结构,有九种控制语句
条件判断:if,switch
循环执行:do while, while,for
转向语句:break,goto,continue,return
后面会详细解释

12.注释

注释是对代码的解释说明,编译器会忽略,替换为一个空格
注释要精简易懂,程序需要必要的注释,一方面方便自己阅读,另一方面方面他人阅读,精简的注释会留下好印象

注释的形式

/**/形式的注释,C语言注释风格,可以是多行,也可以是行内,这种注释方式不能嵌套多个,会将注释符解释为注释内容
在这里插入图片描述
//的注释,C++开发后引入,注释一行内容,可以是开头,也可以是结尾

在这里插入图片描述
注释的快捷键 crtl+k+c 和crtl+k+u

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值