C语言代码块及块级作用域

代码块

  • 所谓代码块,就是由{ }包围起来的代码。
  • 代码块在C语言中随处可见,例如函数体、选择结构、循环结构等。
  • 不包含代码块的C语言程序根本不能运行,即使最简单的C语言程序也要包含代码块。
  • C语言允许在代码块内部定义变量,这样的变量具有块级作用域。
  • 代码块内部定义的变量, 只能在代码块内部使用,出了代码块就无效了。

代码块例子


#include <stdio.h>
//函数声明
int gcd(int a, int b);  //也可以写作 int gcd(int, int);
int sum(int m, int n);
void test_block_var();
//
int main()
{//printf("The greatest common divisor is %d\n", gcd(100, 60));//printf("The sum from 1 to 100 is %d\n", sum(1, 100));test_block_var();return 0;
}
//函数定义
int gcd(int a, int b)
{//若a<b,那么交换两变量的值if(a < b){int temp1 = a;  //块级变量a = b;b = temp1;}//求最大公约数while(b!=0){int temp2 = b;  //块级变量b = a % b;a = temp2;}//return a;
}
// 遵循 C99 标准的编译器允许在 for 循环条件里面定义新变量,
// 这样的变量也是块级变量,它的作用域仅限于 for 循环内部。
// 例如,计算从 m 累加到 n 的和
int sum(int m, int n)
{int sum = 0;//i是块级变量for(int i=m; i<=n; i++){sum += i;}//return sum;
}
//
void test_block_var()
{int n = 22;  //编号①//由{ }包围的代码块{int c= 5;int n = 40;  //编号②printf("block n: %d\n", n);}//printf("main n: %d\n", n);//printf("c: %d\n", c);  // undeclared
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/801184.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

P8794 [蓝桥杯 2022 国 A] 环境治理

P8794 [蓝桥杯 2022 国 A] 环境治理 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) #include <iostream> using namespace std; #define ll long long const int N150; const int inf0x7fffffff; int n,q; int d[N][N],l[N][N]; int t[N][N]; void floyd() {for(int k0…

nandgame中的asm编程 Escape Labyrinth(逃离迷宫)

先翻译题目&#xff1a; 逃离迷宫计算机被困在火星上的迷宫中。编写一个程序&#xff0c;让它逃离迷宫。计算机配备了连接的轮子和前方障碍物探测器。与轮子和探测器的输入/输出是内存映射在地址7FFF上&#xff1a;对外设的输出信号&#xff1a; 位 设置为1代表&#xff1a; 2…

UE4_动画基础_ 使用分层动画(Using Layered Animations)

完成在移动过程中武器发射的角色制作&#xff01; 动画混合仅仅意味着在一个角色或骨架网格体上的两个或多个动画之间进行平滑过渡。在虚幻引擎4中&#xff0c;有多种方法可以应用这种混合&#xff0c;要么通过混合空间&#xff0c;或通过实际组合两个基于加权偏差或alpha值的…

C语言的数组

一、数组的赋值 对单个元素赋值 int a[3]; a[0] 3; a[1] 100; a[2] 34;整体赋值&#xff08;不指明数组长度&#xff09; float b[] { 23.3, 100.00, 10, 0.34 };整体赋值&#xff08;指明数组长度&#xff09; int m[10] { 100, 30, 234 };字符数组赋值 char str1[] &qu…

Java数组详解

​TOC 第一章、数组的概念介绍 1.1&#xff09;数组的概念 ①数组就是用来储存数据的容器,可以存储同一种类型的数据&#xff0c;是同一种数据类型的集合。实现对这些数据的统一管理。如果数组中存储的是基本类型数据&#xff0c;我就不能往里面存引用类型数据。数组中存储的…

全量知识系统 程序详细设计 “三次演算” 再探(QA)之1 (百度文库)

说明&#xff1a;以下关于全知系统中程序详细设计的沟通是基于今天正在完成中的全量知识系统 程序详细设计之“命名法” “正文”的" 前言" 之1 “前提”篇 中提出的所有程序要求的基础上的。 Q1.这些规则 在程序被设计为 λ表达式的三个转换规则&#xff0c;分别适…

CLIPSeg如果报“目标计算机积极拒绝,无法连接。”怎么办?

CLIPSeg这个插件在使用的时候&#xff0c;偶尔会遇到以下报错&#xff1a; Error occurred when executing CLIPSeg: (MaxRetryError("HTTPSConnectionPool(hosthuggingface.co, port443): Max retries exceeded with url: /CIDAS/clipseg-rd64-refined/resolve/main/toke…

【前端】深度选择器

升级vue2项目到vue3时候发现 the >>> and /deep/ combinators have been deprecated. Use :deep() instead.这是因为项目使用的 css 扩展语言是 dart-sass&#xff0c;不支持 /deep/ &#xff08;less/node-sass&#xff09;和 >>>&#xff08;css&#xff0…

14届蓝桥杯 C/C++ B组 T5 接龙排序 (最长上升子序列DP+优化)

不难发现这是一个LIS问题&#xff0c;但是如果直接套用LIS的模版&#xff0c;在数据范围到达 1 e 5 1e5 1e5 的情况下&#xff0c;就只能够得到一半的分数&#xff0c;所以我们需要对其进行优化。 首先给出暴力的代码&#xff1a; #include<iostream> using namespace…

知识管理系统|基于Springboot和vue的知识管理系统设计与实现(源码+数据库+文档)

知识管理 目录 基于Springboot和vue的知识管理系统设计与实现 一、前言 二、系统设计 三、系统功能设计 1、前台&#xff1a; 5.2.2 文章信息 5.3.1 论坛交流 2、后台 用户管理 5.1.2 文章分类 5.2.1 资料分类 四、数据库设计 五、核心代码 六、论文参考 七、最…

Python模拟退火算法

模拟退火算法&#xff08;Simulated Annealing, SA&#xff09;是一种启发式搜索算法&#xff0c;用于在一个大的搜索空间中寻找问题的近似全局最优解。它受到物理退火过程的启发&#xff0c;通过模拟物理退火过程中的冷却来逐步减少搜索空间&#xff0c;并在一定概率下接受劣解…

2024年上半年WSK-PETS5报名及考试时间公布

4月1日&#xff0c;中国教育考试网发布了2024年上半年全国外语水平考试WSK&#xff08;PETS5&#xff09;的报名及考试通知&#xff0c;为方便关注者&#xff0c;知识人网小编特做全文转载。 国家公派留学人员全国外语水平考试&#xff08;WSK-PETS5&#xff09;成绩作为国家留…

MySql命令汇总

天行健&#xff0c;君子以自强不息&#xff1b;地势坤&#xff0c;君子以厚德载物。 每个人都有惰性&#xff0c;但不断学习是好好生活的根本&#xff0c;共勉&#xff01; 文章均为学习整理笔记&#xff0c;分享记录为主&#xff0c;如有错误请指正&#xff0c;共同学习进步。…

Python零基础从小白打怪升级中~~~~~~~流程控制语句

第三节&#xff1a;Python的流程控制语法 一、Python条件语句的语法 if 条件1:条件1成立执⾏的代码一条件1成⽴执⾏的代码二...... elif 条件2&#xff1a;条件2成立执⾏的代码三条件2成立执⾏的代码四...... ...... else:以上条件都不成⽴&#xff0c;执行的代码五以上条件都…

axios是什么?axios使用axios和ajax

Axios 是一个基于 Promise 的 HTTP 客户端&#xff0c;用于浏览器和 Node.js 环境。它是由 GitHub 用户 mzabriskie 开发的&#xff0c;并且得到了广泛的社区支持。Axios 的设计目标是提供一种简洁、易用且功能强大的 HTTP 请求方式&#xff0c;以替代传统的 Ajax&#xff08;A…

【深入理解Java IO流0x03】解读Java最基本的IO流之字节流InputStream、OutputStream

在开始前&#xff0c;我们再来回顾一下这张图&#xff1a; 本篇博客主要为大家讲解字节流。 我们都知道&#xff0c;一切文件&#xff08;文本、视频、图片&#xff09;的数据都是以二进制的形式存储的&#xff0c;传输时也是。所以&#xff0c;字节流可以传输任意类型的文件数…

2.动态库与静态库

1.库的制作 库文件是计算机上的一类文件&#xff0c;可以将库文件看做是一种代码仓库。它提供给使用者一些可以直接拿来用的变量&#xff0c;函数或类。库是一种特殊的程序&#xff0c;但是库是不能单独运行的。 库文件有两种&#xff1a;静态库和动态库 静态库: GCC进行链接…

电力相关英语单词

以下是一些与电力相关的常见单词&#xff1a; • electricity&#xff1a;电力、电能 • power&#xff1a;功率、动力 • generator&#xff1a;发电机 • transformer&#xff1a;变压器 • circuit&#xff1a;电路 • voltage&#xff1a;电压 • current&#xff1…

Jackson 各种注解使用示例

参考资料 Jackson使い方メモ 目录 一. JsonIgnore二. JsonIgnoreProperties三. JsonProperty3.1 作用于entity属性上&#xff0c;指定json对象属性名3.2 作用于entity方法上&#xff0c;指定json对象属性名 四. JsonFormat4.1 日期格式化4.2 数字格式化4.3 枚举类返回code 五.…

SSH连接不上虚拟机,可以这么做

配置环境 VMWare Ubuntu Mobaxterm 配置 在虚拟机安装 ssh sudo apt install openssh-server如果遇到镜像源等问题&#xff0c;可以进行如下操作&#xff1a; sudo apt-get update重启ssh服务 sudo service ssh restart开启默认端口 先进入sshd_config文件 vim /etc/s…