在开始学习C语言的第二天,我对数据类型、变量的工作域和作用域,以及全局变量和局部变量的区别有了更深入的了解。为了巩固这些概念,我进行了一些编程练习。
一、初识数据类型
数据类型是编程中的基本概念,它定义了变量可以存储的数据的种类。在C语言中,有几种基本的数据类型,包括整型、浮点型、字符型等。每种数据类型都有其特定的存储需求和取值范围。
编程练习示例:创建一个程序,声明并初始化不同类型的变量:
#include <stdio.h>
int main() {
int integerVar = 100;
float floatingVar = 331.79;
char charVar = 'W';
double doubleVar = 8.44e+11;
return 0;
}
通过这个示例,我熟悉了不同类型的变量声明和初始化方法。
二、认识变量的工作域和作用域
变量的作用域决定了变量在代码中的可访问性,而变量的工作域则决定了变量在程序运行期间的存续时间。理解变量的作用域和作用域对于避免常见编程错误至关重要。
编程练习示例:创建一个包含函数和局部变量的程序:
#include <stdio.h>
void functionExample() {
int localVar = 20;
printf("局部变量: %d\n", localVar);
}
int main() {
int globalVar = 10;
functionExample(); // 调用函数,输出局部变量值
return 0;
}
在这个示例中,我理解了局部变量和全局变量的作用域和工作域。在函数functionExample中,局部变量localVar只能在函数内部访问,而在main函数中访问的是全局变量globalVar。
三、全局变量和局部变量的区别
我还学习了全局变量和局部变量的区别。全局变量在整个程序中都可见,而局部变量仅在其定义的函数或代码块中可见。理解这两种变量的使用场景和限制有助于我更好地编写模块化、可读性强的代码。
编程练习示例:编写一个程序,使用全局变量和局部变量实现两个数的相加:
#include <stdio.h>
// 全局变量声明
int num1 = 5;
int num2 = 10;
int sum; // 全局变量用于存储结果
void addNumbers() { // 函数内部使用局部变量进行计算并更新全局变量sum的值
int tempNum1 = num1; // 局部拷贝全局变量num1的值到局部变量tempNum1中,避免直接修改全局变量的值导致错误或不可预期的行为。
int tempNum2 = num2; // 同上,将全局变量num2的值拷贝到局部变量tempNum2中。
sum = tempNum1 + tempNum2; // 计算两个数的和并存储到全局变量sum中。这里使用了局部变量进行计算,但结果是存储在全局变量中的。
}
int main() { // 主函数中访问全局变量sum的值并输出结果。注意这里不能直接修改全局变量的值,否则可能导致错误或不可预期的行为。如果要修改全局变量的值,需要在函数内部通过适当的方式(如调用其他函数或使用全局变量的指针)来实现。) {
addNumbers(); // 调用函数来执行计算并将结果存储到全局变量sum中。这里使用了局部变量进行计算,但结果是存储在全局变量中的。) {
printf("两个数的和是:%d\n", sum); // 输出全局变量sum的值,即两个数的和。这里使用了全局变量sum的值,因为它是全局可访问的。) { return 0; } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } }
四、心得和体会
第二天学习,说一说学习的过程吧,主要是买书和看某站的视频课程,一般是先看一遍书,再看一遍视频,最后再把听不懂的地方在书上翻一翻。其实最难的不是听不懂,而是知道如何实现的情况下总想弄清楚原理,因为视频课讲的比较笼统,所以总是觉得不好理解,只能是自己亲自上手打出来代码运行一下才能真正明白。
今天又学会了一点新知识,虽然只是一小点知识,但也成就感满满,又是充实的一天呢,另外跟一起学习的小伙伴了解到了gitee代码托管平台,以后有机会可以尝试用一下!
加油加油!!!