一: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;
}

  • 21
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: MPI和OpenMP是两种常见的并行程序设计模型,用于实现并行计算。 MPI,全称为Message Passing Interface,是一种消息传递接口,适用于分布式内存系统下的并行计算。MPI程序由多个进程组成,每个进程拥有自己的独立内存空间,它们通过消息传递来进行通信和同步。MPI程序可以在不同的计算节点上运行,通过网络传输消息。 OpenMP是一种共享内存的并行编程模型,适用于多核系统和共享内存架构。OpenMP程序使用线程来并行执行任务,线程之间可以访问共享内存。OpenMP程序在单个计算节点上运行,并利用线程的方式实现任务的并行执行。 C语言是一种高级编程语言,非常适合并行程序设计。C语言提供了丰富的并行编程库和函数,例如MPI和OpenMP。MPI和OpenMP可以与C语言结合使用,实现并行计算。 在MPI和OpenMP并行程序设计的C语言版PDF中,我们可以学习如何使用C语言编写MPI和OpenMP程序。该PDF将详细介绍MPI和OpenMP的概念、语法和函数,以及如何在C语言中实现并行计算。通过学习该PDF,我们可以掌握使用C语言编写高效的并行程序的技巧和方法。 总之,MPI和OpenMP是两种常见的并行程序设计模型,适用于不同类型的并行计算环境。在C语言版的MPI和OpenMP并行程序设计PDF中,我们可以学习如何使用C语言编写MPI和OpenMP程序,从而实现高效的并行计算。 ### 回答2: 《MPI与OpenMP并行程序设计:C语言版》是一本以C语言为基础,介绍MPI和OpenMP并行程序设计的教材。MPI(Message Passing Interface)是一种消息传递接口,用于实现并行计算中不同节点之间的数据传递和通信。而OpenMP是一种共享内存并行编程模型,通过在代码中插入指令来实现并行化。 这本教材首先介绍了MPI和OpenMP的基本概念和工作原理。它详细讲解了MPI的通信操作和数据类型,在编写并行程序时如何使用MPI函数进行进程之间的通信。同时也介绍了OpenMP的指令和语法,以及如何在C语言程序中使用OpenMP进行多线程并行计算。 教材还特别强调了MPI和OpenMP的结合使用。它介绍了如何在一个程序中同时使用MPI和OpenMP,使得程序既能进行跨节点的并行计算,又能在每个节点的多个处理器中进行并行计算。这种结合使用可以充分发挥集群计算机的计算能力,提高程序的运行效率。 此外,教材还提供了大量的例子和实践操作,帮助读者理解并掌握MPI和OpenMP的并行程序设计。通过实践操作,读者可以学会如何在C语言中使用MPI和OpenMP编写并行程序,体会到并行计算的优势和挑战。 总的来说,《MPI与OpenMP并行程序设计:C语言版》是一本很好的教材,适合想要学习并行程序设计的C语言程序员。它全面介绍了MPI和OpenMP的概念和应用,通过实例和实践操作帮助读者掌握并行计算的基本原理和实现方法。无论是对于学术研究还是实际应用,这本书都是一本很有价值的参考书籍。 ### 回答3: MPI(Message Passing Interface)和OpenMP(Open Multi-Processing)是用于并行程序设计的两种常见的标准。MPI适用于分布式内存计算机集群,而OpenMP适用于共享内存计算机架构。 MPI提供了一套函数接口,允许程序员在多个计算节点上进行并行计算。它允许进程之间通过消息传递来交换数据和同步计算。在MPI中,可以通过创建不同的进程,并通过消息传递进行通信来实现并行计算。这使得程序能够在不同的计算节点上同时运行,从而提高了整体的计算性能。 OpenMP是一套用于共享内存并行编程的指令集,允许程序员通过在代码中添加特定的指令来实现并行计算。OpenMP采用线程并行的方式,允许多个线程同时执行程序的不同部分。在OpenMP编程中,可以通过添加预处理指令来定义并行区域,从而使多个线程同时执行其中的任务。这种方式可以有效地利用计算机的多核处理器,提高程序的执行效率。 MPI和OpenMP在不同的计算环境中起作用。如果要在多个计算节点上进行并行计算,使用MPI会更合适。MPI可以在集群中的多个计算节点之间进行通信,允许分布式计算。如果计算机具有多个核心并且共享内存,那么使用OpenMP可能更合适。OpenMP可以利用计算机的多核处理器来实现并行计算。 总结而言,MPI和OpenMP是用于并行程序设计的常见工具。选择使用哪种工具取决于计算机的架构和需要解决的问题。MPI适用于分布式内存计算机集群,而OpenMP适用于共享内存计算机架构。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值