一:C语言常见概念(1)

1.C语言是什么?

人和人交流使用的是自然语言,如:汉语、英语、日语

那人和计算机是怎样交流的呢?使用计算机语言。

目前已知已经有上千种计算机语言,人们是通过计算机语言写的程序,给计算机下达指令,让计算机工作的。

c语言就是众多计算机语言中的一种,当然c++/java/go/python都是计算机语言。

2.C语言的历史与辉煌

C语言最初是作为Unix系统地开发工具而发明的。

2.1发明B语言

1969年,贝尔实验室的肯·汤普森与丹尼斯·里奇一起开发了Unix操作系统。Unix是用汇编语言写的,为了而移植到其他计算机,汤普森就在BCPL语言的基础上发明了B语言。

2.2发明C语言

1972年,丹尼斯·里奇和布莱恩·柯林汉又在B语言的基础上重新设计了一种新语言,这种新语言取代了B语言,所以称为C语言。

2.3Unix系统使用C重写

1973年,整个Unix系统都使用C语言重写。此后,这种语言开始快速流传,广泛用于各种操作系统和系统软件的开发。

2.4C语言标准化

1988年,美国国家标准协会(ANSI)正式将C语言标准化,标志着C语言开始稳定和规范化。

2.5至今

一直到今天C语言还是在广泛的使用,在计算机语言的排行榜上霸占前三名。

TIOBE Index - TIOBE计算机语言流行榜单

3. 编译器的选择

3.1编译和链接

C语言是一种编译型计算机语言,C语言源代码都是文本文件,文本文件本身无法执行,必须通过编译器翻译和链接器的链接,生成二进制的可执行文件,可执行文件才能执行。

C语言代码是放在.c为后缀的文件中的,要得到最终运行的可执行程序,中间要经过编译和链接两个过程。 

·一个工程里一般会有多个源文件组成。

每个源文件单独经过编译器处理生成对应的目标文件(.obj为后缀的文件)

多个目标文件和库文件经过链接器处理生成对应的可执行文件(.exe文件)

3.2编译器的对比

C语言是一门编译型的计算机语言,需要依赖编译器将计算机语言转化成机器能够执行的机器指令。那我们常见的C语言编译器都哪些呢?

比如:msvc,clang,gcc就是一些常见的编译器,当然也有一些集成开发环境。如:VS2022,XCode,CodeBlocks,Devc++,Clion等。

集成开发环境(IDE)用于提供程序开发环境的应用程序,一般包括代码编辑器,编译器,调试器和图形用户界面等工具。集成了代码编写功能,分析功能,编译功能,调试功能等一体化的开发软件服务器。

VS2022继承了MSVC(安装包较大一些,安装简单,无需 多余配置,使用起来非常方便)

XCode继承了clang(苹果电脑上的开发工具)

CodeBlock集成了gcc(这个工具比较小众,需要配置环境,不太推荐)

DevC++集成了gcc(小巧,但是工具过于简单,对于代码风格的养成不太好,一些竞赛使用)

Clion是默认使用CMake,编译器是可以配置的(工具是收费的)

3.3VS2022的优缺点

优点:

VS2022是一个主流的集成开发环境,企业中使用较为普遍

VS2022包含了:编辑器+编译器+调试器,功能强大 

直接安装即可使用,基本不用额外配置环境,上手容易

默认界面是中文,初学者友好

缺点:

功能丰富,安装包大,占用空间多

4.VS项目 和 源文件,头文件介绍

在VS上写代码,是需要创建项目的,直接新建项目就可以了。

在项目中就可以添加源文件和头文件。

C语言把.c为后缀的文件称为源文件,把.h为后缀的文件称为头文件。

5.第一个C语言程序

#include<stdio.h>
int main()
{
printf("Hello world\n");
return 0;
}

VS2022编写C代码的过程并运行出结果

VS2022运行C代码的快捷键为ctrl+f5

6.main函数

每个C语言函数不管有多少行代码,都是从main函数开始执行的,main是程序的入口,main函数也被叫为主函数。main前面的int表示mian函数执行结束的时候,返回一个整型类型的值,所以main函数的最后写return 0,正好前后呼应。

main函数是程序的入口

main函数有且只有一个

即使一个项目中有多个.C文件,但是只能有一个main函数。因为程序的入口只能有一个。

7.printf和库函数

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

printf("Hello world\n");

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

这里简单的介绍一下printf,printf是一个库函数,它的功能是在标准输出设备(一般指屏幕)上进行信息的打印。上面的代码是使用printf函数打印字符串,只要把想打印的一串字符放在双引号中并传递给printf函数就可以打印。

printf函数也可以也可以用来打印其他类型的数据,比如:

int n = 100;
printf("%d\n",n);
printf("%c\n",'q');
printf("%lf\n",3.14);

这里的%d,%d是占位符,会被后面的值替换。

库函数的时候,是需要包含头文件的,比如:printf函数需要包含的就是stdio.h这个头文件,具体的方法就是:

#include<stdio.h>

那什么是库函数呢?

为了不再重复实现常见的代码,让程序员提高开发效率,C语言标准规定了一组函数,这些函数再由不同的编译器厂商更具标准进行实现,提供给程序员使用。这些函数组成了一个函数库,被称为标准库,这些函数也被称为库函数在这个基础上一些编译器厂商可能会额外扩产提供部分函数。一个系列的库函数一般会声明在同一个头文件中,所以库函数的使用,要包含对应的头文件。

8.关键词介绍

C语言中有一批保留的名字的符号,比如:int、if、return,这些符号被称为保留字或关键字。

关键字都有特殊的意义,是保留给C语言使用的。

程序员自己在创建标识符的时候是不能和关键字重复的。

关键字也是不能自己创建的。

C语言的32个关键词如下:

auto break case char const continue default do double else enum extern
float for goto if int long register return short signed sizeof static
struct switch typedef union unsigned void volatile while

9.字符和ASCII编码

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

计算机中所有的数据都是以二进制的形式存储的,那这些字符在内存中分别以什么样的二进制存储呢?如果我们每个人自己给这些字符中的每个字符编一个二进制序列,这个叫做编码。为了方便大家互相通信,不造成混乱,后来美国国家标准学会(ANSI)出台了一个标准ASCII编码,C语言中的字符就遵循了ASCII编码的方式。

几组特殊的ASCII码

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

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

对应字母大小写的ASCII码值的差值是32

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

换行\n的ASCII码值:10

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

单个字符的打印可以使用%c来指定格式

#include<stdio.h>
int main()
{
    printf("%c\n",'A');
    printf("%c\n",65);
    return 0;
}
#include<stdio.h>
int main()
{
    int i =0;
    for(i=32,i<=127,i++)
    {
        printf("%C",i);
        if (i%16==15)
            printf("\n");
    }
    return 0;
}

  • 28
    点赞
  • 34
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值