// 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. 总结网络执法官,p2p终结者等网管软件使用arp欺骗的防范方法
  2. 很多人很想知道怎么扫一扫二维码就能打开网站,就能添加联系人,就能链接wifi,今天做个demo(续集)...
  3. 每日一皮:男人有三宝「胡子、发型和肌肉」...
  4. Linux内核省电社区,Linux 内核社区补丁对比
  5. 批量(导入导出)迁移AD中的用户信息和密码到新环境中,同时保持用户在MOSS中的权限【addusers,ldifde,copypwd,UserInfo,tp_SystemID】...
  6. 将Java 8流解析为SQL
  7. 线程并发库和线程池的作用_并发–顺序线程和原始线程
  8. PHP通过PDO连接Microsoft Access数据库
  9. mysql 树排序_mysql按树深度排序
  10. python函数调用执行的四个步骤_如何调用python函数
  11. 使用 C# 生成 EMF 矢量图形文件
  12. python 基于onvif协议 修改摄像头分辨率亮度等操作(window版本
  13. 《python深度学习》笔记(八):回归问题
  14. 设置Button图片位置
  15. spreadjs学习笔记
  16. JS实现拼音(字母)匹配(搜索)汉字(姓名)
  17. VMware ESXi 8.0 Unlocker OEM BIOS 集成网卡驱动和 NVMe 驱动 (集成驱动版)
  18. 一款Java神仙接私活项目,吊到不行!
  19. 怎么做一个可执行的生产计划排程?
  20. 工作必备Git保姆级教学

热门文章

  1. PHP 学习总结之变量
  2. 英特尔Optane固态硬盘年内问世 性能暴增
  3. dedecms调用当前栏目的子栏目怎么操作
  4. hdu 1599(Floyd求最小环)
  5. [题解](双向bfs)hdu_3085_Nightmare Ⅱ
  6. SecureCRT 6.7 vim高亮
  7. git 出现 fatal: refusing to merge unrelated histories 错误
  8. Python学习笔记007_图形用户界面[EasyGui][Tkinter]
  9. TListBox的项目个数
  10. webservice(基础)