首页 > 其他分享 >函数,调试,循环,头文件

函数,调试,循环,头文件

时间:2024-07-07 11:41:07浏览次数:16  
标签:头文件 函数 int 代码 循环 执行 调试

1.关于函数

作用:避免代码重复 可以方便维护,因为当多个地方需要用到同样的代码时,如果要做出修改只需要改函数就能整体修改。

函数通常都会有返回值,什么类型的函数返回什么样的类型的值 函数通常分为函数声明和函数参数通常声明放在头文件中 函数定义发在C++文件中 这样做可以在别的C++文件用到相同函数时直接用#include包含头文件使用已被声明定义的函数

int Multiply(const int message)//这一行算是声明
{
return 1//代码块中的是函数定义
}//整型函数的返回值也要是整型 
void Multiply(const int message)
{
return
}//无返回类型的函数

main()//主函数是唯一可以不需要返回值的函数
函数的工作过程:
每次调用函数时,编译器会生成一个call指令穿件堆栈结构,把参数之类的放入堆栈,返回地址也压入栈,跳到二进制不同的部分执行指令,为了返回结果要回到最初调用函数前,像在内存中跳跃着执行函数。

#program once

位置:头文件第一行
作用:防止本头文件被重复包含
例子:如果一个C++文件中重复引用两次相同的文件会发生重定义错误,使用#progam once 第二次被引用的头文件在预处理阶段会被禁用 所以能够避免错误。
相同作用的代码

#ifndef _LOG_H//判断_LOG_H有没有被定义 如果没有 #endif 前的代码被保留
#define _LOG_H//定义_LOG_H
......
......
#endif

这段代码同样能避免重复引用。

关于include后用<>和“”的区别

< >:只用于编译器包含的路径 是C++的标注库 为了区别于c语言库 C++的标准库没有后缀、
" ":是基于当前c++文件的相对路径 例如"../xx.h"是在当前文件的上层目录下找到xx.h文件。
当然" "同样可以引用标准库。

关于调试

F9 设置断点
作用:设置断点后开始运行程序时会在断点处停下 便于查看
F10 逐语句运行代码
作用:按一下执行一条代码
F11:逐过程运行代码
作用:按一下执行一条代码 遇到函数会进到函数内部逐渐运行代码
shift+F11:跳出当前函数
作用:当正在函数中调试时按这个会跳出当前函数 回到函数该函数调用的位置。
在调试时代码左侧的黄箭头是指将要执行的代码。

调试的窗口设置

调出内存窗口方便查看变量的数值变化。

小技巧:当在调试循环时想看循环完成后的结果可以在循环外之后的地方设置断点再运行程序。

关于循环

for循环

写法

1.for(变量声明;条件判断;下次迭代前执行的代码)
  {
.......
.......
}

执行过程
1)变量被声明
2)条件判断是否为真 若为真则执行代码块中内容
3)执行完成后执行下次迭代前执行的代码
5)重复从2)开始执行
特点
for循环中的i变量是迭代进行的
for(int i=0;i<5;i++)这段代码中i的迭代是0,1,2,3,4
发现和数组的索引相同,可以将i变量用于数组索引中

int i=0;
for(;i<5;)
{
i++;
}

此种写法和上面那种等效 int i=0给for循环判断提供了条件 i++ 对影响条件判断的变量做修改

while循环

写法

while(bool)//为真 执行代码块 再检查 
{
}

特点
可以不用声明变量 while里敲个1直接启动

do while()循环

写法

do
{
.......
.......
}while(bool)

特点
先执行代码块中的内容再进行判断,如果为while()中的值为 真 会继续循环

  1. 控制流语句

    作用
    更好的控制循环的实际运行

    continue

    使用位置:只能在循环中使用
    作用:当循环中执行continue时 会忽略后面的代码进入该循环的下一次迭代。
    例子:
for(int i=0;i<5;i++)
 {
   if(i%2==1)//判断i是不是奇数
   {
    continue;//若为奇数就进如下次迭代
   }
  std::cout<< i <<std::endl;//最后结果是2 4  
                          //因为当i是奇数的时候直接进入下次迭代了没有执行打印命令
 }

break

使用位置:循环中或者在switch选择语句中
作用:执行该代码时跳出循环
例子:

while(1)
{
int i=1;
i++;
if(i>5)//当i>5时hui执行break语句跳出循环
break;
}

return

使用位置:任何地方
作用:执行该语句是会退出函数并返回值;

标签:头文件,函数,int,代码,循环,执行,调试
From: https://www.cnblogs.com/WZline/p/18288286

相关文章

  • 001,函数指针是一种特殊的指针,它指向的是一个函数地址,可以存储函数并作为参数传递,也可
    函数指针是一种特殊的指针001,函数指针是一种特殊的指针,它指向的是一个函数地址,可以存储函数并作为参数传递,也可以用于动态绑定和回调函数文章目录函数指针是一种特殊的指针前言总结前言#include<iostream>usingnamespacestd;intadd(inta,intb){ return......
  • 常用函数:其他类型函数
    1、聚合函数:group_concat功能:用于在分组时,将指定字段的值进行合并拼接成一个字符串场景:分组聚合、行列转换语法:group_concat([distinct]col[orderbycol][separator分隔符])distinct:对元素的值进行去重orderby:按照某一列的值进行排序separator:用于指定分......
  • 06.函数
    Go语言中的函数是代码组织和复用的基础,函数的定义和调用非常简单明了。下面是Go语言中函数的基础语法和一些关键概念:函数的定义在Go语言中,函数的定义包括函数名、参数列表、返回值类型和函数体。语法格式如下:func函数名(参数列表)返回值类型{函数体} 示......
  • 快速排序的思路及核心函数
    Quick_Sort###思想选取数组段内的任意一个值$x$(可以是左边界值`a[r]`,右边界值`a[l]`,中间值`a[(l+r+1)/2]`)。进行排序,在数组段内,将比$x$小的数都放在$x$的左边,比$x$大的数都放在$x$的右边(双指针)。不断递归处理数组段的左右两段,使得任意一个数的左边都比它小,右边......
  • 数组的键值操作函数学习
    <?php$url='http://chlop.io?www=23233s&timestamp=23232';//&timesXecho'<hr>';echoparse_url($url)['query'];echo'<hr>';echohtmlspecialchars(parse_url($url)['query']);echo......
  • 力扣第7题:整数反转 字符串函数综合运用(C++)
    给你一个32位的有符号整数 x ,返回将 x 中的数字部分反转后的结果。如果反转后整数超过32位的有符号整数的范围 [−231, 231 −1] ,就返回0。假设环境不允许存储64位整数(有符号或无符号)。示例1:输入:x=123输出:321示例2:输入:x=-123输出:-321示例3:......
  • python速通(函数)
    (网页的生成)牛客网的某个网页基本已经写好了,最后一步为了适应手机的尺寸,需要将高度增加一倍。为了适用于多个网页,牛牛希望你能将这个功能定义为一个函数,函数输入网页高度h,输出增加后的结果。defiheight(h):returnh*2h1,h2=map(int,input().split())print(iheight......
  • c++所有头文件.h
    代码:(包括c++12的非标准头文件)#ifndef_EW_H_#define_EW_H_#include<tchar.h>#include<synchapi.h>#include<algorithm>#include<bitset>#include<cctype>#include<cerrno>#include<clocale>#include<cmath>#inc......
  • C++初学者指南-4.诊断---用gdb调试
    C++初学者指南-4.诊断—用gdb调试幻灯片gdb/前端gdbGNU的命令行调试器cgdb基于终端的gdb前端Linux安装:sudoapt-getinstallcgdbgdbgui基于浏览器的gdb前端网址:https://gdbgui.com/安装:sudopipinstallgdbguiQtCreator可以连接gdbVisualStudioCode可以连接gdbV......
  • gdb安装调试,多系统下的安装使用(Ⅳ)
    1.gdb是什么?为什么要熟悉gdb调试?         gdb(GNU调试器)是一个强大的调试工具,允许开发者在程序运行时检查和修改变量的值,单步执行代码,设置断点,以及查看程序的状态。可以比较偏激的说如果是关注于linux下的开发和研究,基本上离不开gdb调试的。2.在各平台下的gdb下载......