// PIC_C.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//#include <iostream>int main()
{std::cout << "Hello World!\n";
}// 运行程序: Ctrl + F5 或调试 >“开始执行(不调试)”菜单
// 调试程序: F5 或调试 >“开始调试”菜单// 入门使用技巧:
//   1. 使用解决方案资源管理器窗口添加/管理文件
//   2. 使用团队资源管理器窗口连接到源代码管理
//   3. 使用输出窗口查看生成输出和其他消息
//   4. 使用错误列表窗口查看错误
//   5. 转到“项目”>“添加新项”以创建新的代码文件,或转到“项目”>“添加现有项”以将现有代码文件添加到项目
//   6. 将来,若要再次打开此项目,请转到“文件”>“打开”>“项目”并选择 .sln 文件

#include<iostream>里的定义


  1. #include 是个包含命令,就是把iostream.h这个文件里的内容复制到这个地方

iostream.h是input output stream的简写,意思为标准的输入输出流头文件。它包含: (1)cin>>"要输入的内容" (2)cout<<"要输出的内容" 这两个输入输出的方法需要#include<iostream.h>来声明头文件。 iostream.h与iostream是不同的。 #include<iostream.h>是在旧的标准C++中使用。在新标准中,用#include<iostream>。iostream 的意思是输入输出流。#include<iostream>是标准的C++头文件,任何符合标准的C++开发环境都有这个头文件。还要注意的是:在VS编程时要添加: using namespace std;

其原因是:后缀为.h的头文件C++标准已经明确提出不支持了,早些的实现将标准库功能定义在全局空间里,声明在带.h后缀的头文件里,C++标准为了和C区别开,也为了正确使用命名空间,规定头文件不使用后缀.h。因此,当使用<iostream.h>时,相当于在c中调用库函数,使用的是全局命名空间,也就是早期的c++实现;当使用<iostream>的时候,该头文件没有定义全局命名空间,必须使用namespace std;这样才能正确使用cout。

ntdll.dll

ntdll.dll是NT操作系统重要的模块。 [1]

ntdll.dll是Windows系统从ring3到ring0的入口。位于Kernel32.dll和user32.dll中的所有win32 API 最终都是调用ntdll.dll中的函数实现的。ntdll.dll中的函数使用SYSENTRY进入ring0,函数的实现实体在ring0中。 [1]

kernel32.dll

kernel32.dll是Windows 9x/Me中非常重要的32位动态链接库文件,属于内核级文件。它控制着系统的内存管理、数据的输入输出操作和中断处理,当Windows启动时,kernel32.dll就驻留在内存中特定的写保护区域,使别的程序无法占用这个内存区域。

KernelBase.dll

KernelBase.dll是一个NT内核系统的底层API接口的DLL文件,与另外一个kernel32.dll有相同的功能。这个API接口主要是对接我们常说的运行库(C++、.net framework、DirectX等)。而我们安装运行的软件是通过上述运行库,调用KernelBase.dll或kernel32.dll作为初始化执行的工作。系统执行也通过KernelBase.dll或kernel32.dll作为初始化,调用运行库运行程序。

msvcp140d.dll

“msvcp140.dll属于VC++2015运行库,也就是Microsoft Visual C++ 2015 Redistributable Package。

vcruntime140d.dll

DLL指的是动态链接库,用于处理各种程序。每台计算机上都有相当多的DLL文件,不同的程序使用不同的DLL文件,例如,VcRuntime140.dll可用于Visual Studio 2015的Visual C ++ Redistributable。

ucrtbased.dll

ucrtbased.dll is a "debug"-version of the file ucrtbase.dll, and is used for "debugging" (software testing) during software development.

Normally, debug versions of programs are not meant to be distributed. Release versions should not make use of debug dll files.

C语言一维数组的定义和引用

在C语言中使用数组必须先进行定义。一维数组的定义方式为:
    类型说明符 数组名 [常量表达式];
其中,类型说明符是任一种基本数据类型或构造数据类型。数组名是用户定义的数组标识符。方括号中的常量表达式表示数据元素的个数,也称为数组的长度。例如:

  1. int a[10]; /* 说明整型数组a,有10个元素 */
  2. float b[10], c[20]; /* 说明实型数组b,有10个元素,实型数组c,有20个元素 */
  3. char ch[20]; /* 说明字符数组ch,有20个元素 *

FILE *fp;是什么意思?

FILE *fp 是声明,声明fp是指针,用来指向FILE类型的对象。

*fp是指向文件结构体的指针变量,通过fp可找到存放某个文件信息的结构变量,根据这个结构变量的信息找到该文件,实施对文件的操作。fp通常被成为一个指向文件的指针。

fopen()是一个常用的函数,用来以指定的方式打开文件,其原型为:
    FILE * fopen(const char * path, const char * mode);

【参数】path为包含了路径的文件名,mode为文件打开方式。

mode有以下几种方式:

打开方式 说明
r 以只读方式打开文件,该文件必须存在。
r+ 以读/写方式打开文件,该文件必须存在。
rb+ 以读/写方式打开一个二进制文件,只允许读/写数据。
rt+ 以读/写方式打开一个文本文件,允许读和写。
w 打开只写文件,若文件存在则长度清为0,即该文件内容消失,若不存在则创建该文件。
w+ 打开可读/写文件,若文件存在则文件长度清为零,即该文件内容会消失。若文件不存在则建立该文件。
a 以附加的方式打开只写文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾,即文件原先的内容会被保留(EOF符保留)。
a+ 以附加方式打开可读/写的文件。若文件不存在,则会建立该文件,如果文件存在,则写入的数据会被加到文件尾后,即文件原先的内容会被保留(原来的EOF符 不保留)。
wb 以只写方式打开或新建一个二进制文件,只允许写数据。
wb+ 以读/写方式打开或建立一个二进制文件,允许读和写。
wt+ 以读/写方式打开或建立一个文本文件,允许读写。
at+ 以读/写方式打开一个文本文件,允许读或在文本末追加数据。
ab+ 以读/写方式打开一个二进制文件,允许读或在文件末追加数据。
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
int main()
{FILE* fstream;char msg[100] = "Hello!I have read this file.";fstream=fopen("test.txt","at+");if(fstream==NULL){printf("open file test.txt failed!\n");exit(1);}else{printf("open file test.txt succeed!\n");}fclose(fstream);return 0;
}

c语言 clock() 计算函数的执行时间

clock(): 捕捉从程序开始运行到clock()被调用时所耗费的时间。这个时间单位是clock tick,即“时钟打点”。
常数CLK_TCK:机器时钟每秒所走的时钟打点数。

#include<stdio.h>
#include<time.h>clock_t    start,   stop;
/*  clock_t是clock()函数返回的变量类型  */
double   duration;
/*  记录被测函数运行时间,以秒为单位  */
int main()
{
/*  不在测试范围内的准备工作写在clock()调用之前  */
start = clock();        /*  开始计时  */
MyFunction();       /*  把被测函数加在这里  */
stop = clock();     /*  停止计时  */
duration = ((double)(stop - start)) / CLK_TCK;
/*  计算运行时间  */
/*  其他不在测试范围的处理写在这里, 例如输出duration的值  */
return 0;
}

C语言gmtime()函数:获取当前时间和日期

void stime(void) {unsigned long long a = 0;char timeStr[14];time_t timer;struct tm* tblock;time(&timer);tblock = gmtime(&timer);a = (tblock->tm_year + 1900) * 100;a = (a + tblock->tm_mon + 1) * 100;a = (a + tblock->tm_mday) * 100;a = (a + tblock->tm_hour + 8) * 100;a = (a + tblock->tm_min) * 100;a = (a + tblock->tm_sec);//sprintf(timeStr, "%llu", a);printf("现在时间是 %d 年 %d 月 %d 日 %d 时 %d 分 %d 秒.\n", \tblock->tm_year + 1900, tblock->tm_mon + 1, tblock->tm_mday, \tblock->tm_hour + 8, tblock->tm_min, tblock->tm_sec);//printf("a = %llu\n", a);//printf("timeStr = %s\n", timeStr);
}

C语言fabs()函数:求双精度浮点数的绝对值

C语言 fabs() 函数用于求双精度浮点数的绝对值。

头文件:math.h

语法/原型:

double fabs(double x);

参数 x 是求绝对值的数。

返回值:参数 x 的绝对值。

【实例】使用C语言 fabs() 函数求3和-4的绝对值。

  1. #include<stdio.h>
  2. #include<math.h>
  3. int main()
  4. {
  5. double a=3.3, b=-4.4; //为变量赋初值
  6. double c =fabs(a); //求a的绝对值
  7. double d = fabs(b); //求b的绝对值
  8. printf("%lf\t%lf\n", c, d);
  9. return 0;
  10. }

运行结果:
3.300000        4.400000

相关函数:

  • abs():求整数的绝对值。

[C++学习笔记]C++常见问题大全(一)相关推荐

  1. [C++学习笔记]C++常见问题大全(二)

    C语言中unsigned和signed在声明时有什么作用. 1.unsigned的作用就是将数字类型无符号化, 例如 int 型的范围:-2^31 ~ 2^31 - 1,而unsigned int的范 ...

  2. 学习笔记 Keras:常见问题

    目录: 目录: 常见问题 如何引用Keras? 如何使Keras调用GPU? 如何在多张GPU卡上使用Keras? 数据并行 设备并行 "batch", "epoch&q ...

  3. linux 的学习笔记-linux 指令大全

    1. find 基本语法参数如下: find [PATH] [option] [action]# 与时间有关的参数: -mtime n : n为数字,意思为在n天之前的"一天内"被 ...

  4. Linux命令篇 linux命令大全简洁明了 linux学习笔记

    Linux命令篇 linux命令大全简洁明了 linux学习笔记 Linux 命令大全 文章目录 Linux 命令大全 一. 常用的基础命令 查看目录: 切换目录: 创建和删除: 拷贝和移动文件: 查 ...

  5. 怎么传日期参数_时间序列amp;日期学习笔记大全(下)

    作者:湛林 来源:凹凸数据 时间序列&日期学习笔记大全(上) 建议收藏 9. 日期 时间的组成 dt.方法,具体参数及含义详见附件 # 可以通过s.dt.time 获得各种信息s.dt.yea ...

  6. can总线配置读入是什么意思_STM32学习笔记—CAN总线收发数据常见问题分析

    CAN,Controller Area Network(控制器局域网络),在汽车电子.工业控制领域的应用比较多,通常用于局域组网. 这是第9篇学习分享文章,<STM32学习笔记>之CAN总 ...

  7. VLAN学习笔记大全(1)

    <?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />  VLAN学习 ...

  8. input内容右对齐_STM32学习笔记—DAC基础内容及常见问题

    DAC,Digital-to-Analog Converter(数模转换器),DA转换和AD转换有着同样重要的作用,在许多场合都能看到DAC的应用. 今天是第8篇分享,<STM32学习笔记> ...

  9. SLAM学习笔记(十九)开源3D激光SLAM总结大全——Cartographer3D,LOAM,Lego-LOAM,LIO-SAM,LVI-SAM,Livox-LOAM的原理解析及区别

    本文为我在浙江省北大信研院-智能计算中心-情感智能机器人实验室-科技委员会所做的一个分享汇报,现在我把它搬运到博客中. 由于参与分享汇报的同事有许多是做其他方向的机器人工程师(包括硬件.控制等各方面并 ...

最新文章

  1. 二叉树中和为某一值的路径
  2. springboot学习笔记:12.解决springboot打成可执行jar在linux上启动慢的问题
  3. php 日志处理类,php中自定义日志处理类(类似于java中的log4j)
  4. 计算机作文1500字,写科技的作文1500字
  5. android git提交整个项目_使用子模块和子树来管理 Git 项目 | Linux 中国
  6. 第二章 个体软件过程
  7. 人工玻璃体-技术指标汇总(持续更新中)
  8. 反向输出dna序列_蛋白质序列反向(逆向)翻译成DNA序列-在线工具
  9. 【CSS】当图片加载缓慢时,图片如何自适应高度
  10. jQuery EasyUI API 中文文档 - 布局(Layout)
  11. apache多域名绑定手记
  12. 安卓设置keychain_Android 7.0 SEAndroid app权限配置方法
  13. shl归纳推理测试题库_逻辑推理测试题及答案-shl逻辑推理测试题目及答案
  14. 分类网络 resnet
  15. python evn安装模块pip
  16. 基于Transformers库的BERT模型:一个文本情感分类的实例解析
  17. 快速识别区块链中的骗局
  18. 从句中that可以省的情况
  19. 如鱼饮水,冷暖自知。
  20. 群晖NAS搭建web服务器,并发布公网可访问 3/4

热门文章

  1. 承担集团数万应用、研发人员日常工作,阿里持续交付平台的设计、迭代之道...
  2. Modernizr.js-检测浏览器对HTML5和CSS3的支持程度
  3. 一名普通程序员的自我诊断书
  4. 《终于有人说出来了——Java不适合于作为主要编程教学语言》我的看法
  5. poj 3680 Intervals(离散化+费用流)
  6. hdu 5101(二分)
  7. nyoj 61 传纸条(一) (双线动归)nyoj 探寻宝藏
  8. 贪心算法之——过河问题(nyoj47)
  9. NYOJ 682 初学者的烦恼
  10. NYOJ 119 士兵杀敌(三)