ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

【2022年研究生入学考试中国海洋大学930大题答案】简答题1:什么是全局变量?什么是局部变量?两者的区别是什么?试通过实际案例说明两者各自的应用情况。(15分) 科目:程序设计基础

2021-12-26 20:30:55  阅读:171  来源: 互联网

标签:两者 海洋大学 简答题 int 局部变量 个数 小写字母 全局变量 函数


题目

本题是中国海洋大学2022年研究生入学考试930程序设计基础简答题第1题。
题目:
1.什么是全局变量?什么是局部变量?两者的区别是什么?试通过实际案例说明两者各自的应用情况。(15分)


以下是本篇文章正文内容,欢迎朋友们进行指正,一起探讨,共同进步。——来自考研路上的lwj。QQ:2394799692

一、解题思路

思路:
1,先分别答一下全局变量和局部变量各自的含义
2,再用文字说明一下两者的区别
3,举一个局部变量的例子,我举的是冒泡排序
4,举一个全局变量的例子,我举的是求一个字符串的小写字母个数和大写+小写字母的个数

二、全局变量和局部变量各自的含义

1.局部变量

局部变量,也称内部变量,是指在一个函数内部或复合语句内部定义的变量 。局部变量的作用域是定义该变量的函数或定义该变量的复合语句。局部变量的生存期是从函数被调用的时刻算起到函数返回调用处的时刻结束。

2.全局变量

全局变量可以被本程序所有对象或函数引用,一般定义在库函数下面,一定要定义在主函数外部的上面,定义全局变量可以减去很多繁琐的定义,比如在多个函数都需要用到这个变量时,就不用定义这么多次(反正考试的时候这道题我写了3页,我现在也忘了怎么答的了)

三、两者的区别

1). 作用域不同:全局变量的作用域为整个程序,而局部变量的作用域为当前函数或循环等
2). 内存存储方式不同:全局变量存储在全局数据区中,局部变量存储在栈区
3). 生命期不同:全局变量的生命期和主程序一样,随程序的销毁而销毁,局部变量在函数内部或循环内部,随函数的退出或循环退出就不存在了
4). 使用方式不同:全局变量在声明后程序的各个部分都可以用到,但是局部变量只能在局部使用。函数内部会优先使用局部变量再使用全局变量

四、举一个局部变量的例子,我举的是冒泡排序

1.引入库

代码如下(示例):

#include<stdio.h>

2.主函数部分

代码如下(示例):

void sort(int a[], int n)
{
	for (int i = 0; i < n - 1; i++)//原则上要进行n-1趟排序
	{
		int f = 0;//用于做标识
		for(int j=n-1;j>i;j--)//从最后一个到i遍历
			if (a[j - 1] > a[j])//左边大于右边时交换
			{
				int tmp = a[j - 1]; a[j - 1] = a[j]; a[j] = tmp;
				f = 1;
			}
		if (f == 0)break;//如果本趟排序未发送交换,说明表已有序
	}
}
void main()
{
	int a[] = { 1,4,7,3,6,9,2,5,8 };
	int n = sizeof(a) / sizeof(int);
	sort(a, n);
	for (int i = 0; i < n; i++)
		printf("%d ", a[i]);
}

3.文字描述一下

冒泡排序中的局部变量f,作用是使当当前趟数已有序时,提前退出循环,优化了算法,f的作用域只限于外层for循环内使用,所以需要定义局部变量(考场上写了很多现在都忘了)

五、举一个全局变量的例子,我举的是求一个字符串的小写字母个数和大写+小写字母的个数

1.引入库

代码如下(示例):

#include<stdio.h>

2.主函数部分

int count;
void small(char a[])
{
	while (*a)
	{
		if (*a >= 'a' && *a <= 'z')
			count++;
		a++;
	}
}
void total(char a[])
{
	while (*a)
	{
		if (*a >= 'A' && *a <= 'Z')
			count++;
		a++;
	}
}
void main()
{
	char a[50] = "QQ2394799692,i like OUC!";
	small(a);
	printf("小写字母个数:%d\n", count);
	total(a);
	printf("总共字母个数:%d\n", count);
}

3.执行结果

输入:

char a[50] = "QQ2394799692,i like OUC!";

输出:

小写字母个数:5
总共字母个数:10

在这里插入图片描述


六、个人感想

难易程度:简单
这道题属于基础题,占了15分,相信大家都能拿到这15分,我写的答案只做为参考。当时在考场上记得用了差不多15分钟做这道题。

标签:两者,海洋大学,简答题,int,局部变量,个数,小写字母,全局变量,函数
来源: https://blog.csdn.net/lwj8819/article/details/122158736

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有