![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C语言基础
文章平均质量分 81
ycwang125
这个作者很懒,什么都没留下…
展开
-
Linux下C++和Fortran的混编
事情的起因是我需要计算多组分燃烧问题中的粘性项,实现起来非常麻烦。并且CHEMKIN中有现成的代码,但问题在于我的程序为.cpp的MPI并行代码。将Fortran代码翻译成C++代码再用也可,但是仅仅计算粘性的单独模块TRANLIB.F大概在2000行左右,改写起来很麻烦。因此!干脆将C++和Fortran混编起来吧!为此专门研究了一下怎么弄C语言和Fortran混编C语言和Fortran混编的博客还是挺多的,虽然网上好像在互相抄同一段代码。似乎最早的源头是这篇https://www.cnblogs.原创 2022-02-19 22:21:58 · 1966 阅读 · 0 评论 -
win下的Qt Creator如何在C++代码使用MPI 和 openMP
如题,我们希望在Windows下的Qt Creator中运行如下的一段并行代码:#include <math.h>#include "mpi.h"#include <iostream>using namespace std;int main(int argc, char *argv[]){ /*myid 和 numprocs分别记录某一个并行执行进程的标识和所有参加计算的进程的个数*/ int myid, numprocs; MPI_Init原创 2020-11-24 20:24:23 · 2194 阅读 · 5 评论 -
Essential C++ 学习笔记 第七章
异常处理本来觉得这章会教怎么解决常见bug之类的,结果主要讲的是跟踪代码中的异常并输出,是讲如何把程序写得更加健壮。这些代码画风给人感觉就特别像Java抛出异常就是throw这个命令,给出一个例子:inline void Traingular_iterator::check_integrity(){ if (_index>=Triangular::_max_elems) ...原创 2020-03-31 02:27:09 · 218 阅读 · 0 评论 -
Essential C++ 学习笔记 第六章
以template进行编程template翻译过来叫模板,它的本名叫做被参数化类型(parameterized type),即可以当做类型使用,但是类型本身被参数化了。而本章主要内容是利用class template实现一个二叉树。首先介绍二叉树的基本概念,树(tree)是由节点(node)以及节点之间的链接(link)组成。所谓二叉树,是指每个节点之后最多两个子节点,即左子节点(left c...原创 2020-03-30 22:50:19 · 267 阅读 · 0 评论 -
Essential C++ 学习笔记 第五章
第五章 面向对象的编程风格。前面其实已经用到了类的概念,但是并没有引入面向对象的编程,因为还没有引入继承和多态两种重要的特性。本章主要介绍这一内容面向对象编程概念首先解释继承(inheritance)和多态(polymorphism)继承定义了类之间的父子关系,父类(parent)定义了所有子类共有的接口(public interface)和私有实现(private implementat...原创 2020-03-23 23:55:25 · 366 阅读 · 0 评论 -
Essential C++ 学习笔记 第四章
本书一共七章,读完这章就过半啦~这章的题目是基于对象的编程风格。介绍对象class的实现方法。之前其实已经使用过一些class,比如说<string>和<vector>。使用方法是将string或者vector当做数据类型使用定义变量,而这个变量就被称为对象的实例,并且可以进行初始化。然后对实例进行函数操作。函数的实现包括public和private两个部分。均包含操作...原创 2020-03-15 17:48:37 · 485 阅读 · 1 评论 -
Essential C++ 学习笔记 第三章
泛型的编程风格这章,在介绍泛型的同时,还介绍了它的实现思路。将算法从数据类型,返回值类型等抽离出来,就得到了泛型算法。容量对于我这样的C++初学者来说还是有点大。啃了两遍才读了下来。STL(standard template library)翻译过来就是标准模板库,由两种组件构成:其一是容器(container),包括vector,list,set,map等。其二是泛型算法,包括find(),s...原创 2020-03-09 14:33:34 · 429 阅读 · 0 评论 -
Essential C++ 学习笔记 第二章
面向过程的编程风格传值和传址这部分内容在C语言中就已经有强调,即函数的传参的细节。目前的参数传递分成两种方式,传址(by reference)和传值(by value)。为了将两者的用法进行说明,需要先解释调用函数时,程序运行的袭击。当我们调用一个函数时,会在内存中建立起一块特殊区域,成为“程序堆栈(program stack)"。这块特殊区域提供了每个函数参数的储存空间。他也提供了函数所定...原创 2020-02-23 22:43:29 · 365 阅读 · 0 评论 -
Essential C++学习笔记 第一章
被大佬建议在阅读C++ Primer Plus之前先读这本,本书由Stanley B. Lippman著,由侯捷翻译,我手里这本应该是第四版。书里一共七章,还提供了代码和习题答案,非常适合C++入门使用。趁疫情赋闲在家,把C++也学习一个。同样也只记录笔者不熟悉,或者觉得重要的内容,C语言基础的部分太烂大街直接略过。OK!那我们开始第一章 C++编程基础isostream库首先是库iost...原创 2020-02-23 01:17:00 · 567 阅读 · 0 评论 -
结构体、公用体、枚举
结构体、公用体、枚举这三种数据类型是C语言里面相对进阶一点的,但是仍然属于C语言的范畴而不是C++结构体首先给一个最简单的用法:struct Commodity{ char Name[20]; int Price,Count; char Provenance[30];};//定义和初始化Commodity TV={“Television”,2100,30,”Fujian”};...原创 2018-11-11 22:36:32 · 217 阅读 · 0 评论 -
字符型数组和字符串的
字符型数组和字符串的使用字符型数组字符型数组的使用方法和一般的整型数组没有太大的区别,常用的定义和初始化方式如下:char c[5] = {'H','e','l','l','o'};char d[] = {'H','e','l','l','o'};另外,我们在定义字符串的长度以后,需要对所有的位置都初始化,未被初始化的元素会自动被填上空字符’\0’,例如如下两种复制实际上是等价的ch...原创 2018-11-11 21:58:18 · 1067 阅读 · 0 评论 -
C语言的预处理和宏
C语言的编译预处理和宏预处理C语言的编译系统一般都包括预处理、编译和链接等部分,C代码编译时编译器一般的处理过程如下:首先,运行预处理程序扫描源代码,对源程序中的预处理命令进行转换和处理然后,运行编译程序,把源程序编译成目标代码最后,运行链接程序,把目标代码链接成可执行文件即替换,编译,链接三个过程其中提到的预处理命令是指以**#号**开头的命令。在预处理过程中,这部分代码会被编译器...原创 2018-11-11 21:34:38 · 246 阅读 · 0 评论