2021-06-06C语言初阶(新手必看)


前言

由于昨天我简单的写了一些自己学习C语言过程中我自己觉得有必要记录下来的东西,我发现我所要注意的东西远远不止那些,所以我今天决定在写一期博客来梳理一下知识点。这一期主要是写的是我所碰到的问题、我的疑问,有关于字符串、数组、局部变量等问题。

变量

局部变量

局部变量,也称内部变量,是指在一个函数内部或复合语句内部定义的变量。
局部变量的生存期:从函数被调用的时刻算起到函数返回调用处的时刻结束。
局部变量的作用域是定义该变量的函数或定义该变量的复合语句。也就是说,局部变量只在定义它的函数或复合语句范围内有效,只能在定义它的函数或复合语句内才能使用它们。

全局变量

全局变量也称外部变量,它是在函数外部定义的变量。它不属于哪一个函数,而是属于一个源程序文件:其作用域是整个源程序。
几乎程序中的所有函数都能使用全局变量,客观上全局变量就起到了在函数间传递数据的作用,甚至可以减少形参和实参的数量。当然在享用它的好处时,也要慎重,避免全局变量过多带来的降低函数通用性及存储空间的浪费。

局部变量与全局变量的区别

局部变量
作用域:函数体内{}
生命周期:当函数被调用的时候,变量诞生了;当函数运行结束的时候,变量消失了。
全局变量
作用域:整个工程当中
生命周期:当程序运行的时候,存在了;当函数运行结束的时候,消失了。

代码如下(示例):

int jieChen(int n) {
	int i = 1;
	int pro = 1;
	if (i > n) {
		return pro;
	}
	else {
		jieChen(n-1);
		pro = pro *n;
		return  pro;
		;
	}
}
int main() {
	int n = 0;
	scanf("%d", &n);
	printf("%d",jieChen(n));
}

上述是用递归函数求n的阶乘,不过代码有些繁琐,而且我觉得局部变量pro用法也用错,但是我的找不出。所也我只能将pro给去掉。去掉之后的代码是这样的:

int jieChen(int n) {
	int i = 1;
	if (i > n) {
		return 1;
	}
	else {
		return  jieChen(n - 1)*n;
	}
}
int main() {
	int n = 0;
	scanf("%d", &n);
	printf("%d",jieChen(n));
}
int jieChen(int n) {
	int i = 1;
	if (i > n) {
		return 1;
	}
	else {
		return  jieChen(n - 1)*n;
	}
}
int main() {
	int n = 0;
	scanf("%d", &n);
	printf("%d",jieChen(n));
}

sizeof和strlen

sizeof:sizeof是运算符,可以以类型、函数、做参数
strlen:strlen是函数,只能以char*(字符串)做参数。而且,要想得到的结果正确必须包含 ‘\0’
例如: charn=“abcdefg”;
strlen(n)
strlen(char
)函数求的是字符串的实际长度,它求得方法是从开始到遇到第一个’\0’,如果你只定义没有给它赋初值,这个结果是不定的,它会从aa首地址一直找下去,直到遇到’\0’停止。这个解释在数组中有更好的解释:
char[]={‘a’,‘b’,‘c’,‘d’,‘e’}和char[10]={‘a’,‘b’,‘c’,‘d’,‘e’}两者用strlen函数实现起来结果是不一样的,区别就是前者[]里没有传入参数也就是说没有默认的\0,这就跟前面讲的一样,strlen只认\0,没有它函数就无法正常结束,所以前者用strlen来实现求长度是不现实的,而后者则使用了[10],这种数组的特点就是前面规定了的hello占5个长度,但是后面五个位置全部都由\0代替.

### 回答1: 为了下载TREC06C数据集,您可以按照以下步骤进行操作: 1. 首先,您需要打开网页浏览器并访问TREC官方网站。您可以在搜索引擎中输入"TREC官方网站"来找到该网站。 2. 在TREC官方网站上,您可以找到与TREC06C数据集相关的信息和资源。您可以使用网站上的搜索功能,搜索TREC06C数据集。 3. 在搜索结果中,您可能会看到有关TREC06C数据集的页面或链接。请点击相关链接以获取进一步的信息。 4. 在相关页面上,您可能会找到关于TREC06C数据集的描述、下载链接或访问权限的说明。请根据页面上的引导,选择适合您的下载选项。 5. 请注意,有些数据集可能需要您注册或登录才能进行下载。如果需要注册,请按照页面上的要求进行注册。 6. 一旦您找到适合的下载选项并完成相关步骤,您可以点击下载链接或按照页面上的说明进行下载。 7. 下载时间可能会根据您的网络连接速度和数据集的大小而有所不同。请耐心等待下载完成。 8. 下载完成后,您可以查看下载的文件,并根据需要进行相应的数据分析或研究。 希望以上信息对您有所帮助,祝您成功下载TREC06C数据集! ### 回答2: TREC06C是一个公开的数据集,用于信息检索和文本分类的研究和评估。它是2006年美国国家标准技术研究所(NIST)举办的TREC竞赛中使用的数据集。 要下载TREC06C数据集,首先需要在NIST的TREC网站上注册一个账号。注册完成后,根据网站上的指引,选择TREC06C数据集并查找下载链接。 在下载链接中,可能会有不同格式的数据集可供选择,如原始文本、索引文件或预处理的数据等。根据自己的需要选择合适的数据格式并下载。 一旦下载完成,就可以开始使用TREC06C数据集进行研究和评估了。可以根据数据集的文档来了解数据的结构和标记方式,这有助于更好地理解和处理数据集。 在进行研究和评估过程中,可以使用TREC06C数据集来构建文本分类模型、评估信息检索算法的性能,或者进行其他相关的任务。可以根据自己的具体需求和研究目标来利用数据集,并按照科研的规范进行实验和分析。 总之,下载TREC06C数据集需要在NIST的TREC网站上注册账号,找到对应的下载链接,并选择合适的数据格式进行下载。通过合理利用数据集进行研究和评估,可以提高信息检索和文本分类等领域的研究成果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值