C语言程序设计
一、第一个C程序
1. 流程
- 打开Visual Studio
- 创建工程(空项目)
- 输入项目名称和位置
- 项目结构如下
- 新建源文件
- 写代码
int main() {
printf("This is my first code!\n");
return 0;
}
- 运行效果(快捷键:ctrl+F5)
2.代码分析
1. main函数
main()是程序的入口,有且只有一个。
2. < stdio.h >
C标准库:stdio .h 头文件定义了三个变量类型、一些宏和各种函数来执行输入和输出。
其中printf就是stdio.h提供的函数,如果不include这个头文件,则不能使用这些函数。
3. int 和void main()
main是一切(控制台)程序都必须有的一个入口函数;
main函数是否有返回值在绝大多数情况下无关紧要;
因为main函数体内的代码一旦运行完毕,这个程序就结束了
4. return 0 ,return 1 和 return -1
- return 0
第一个含义一般用在主函数结束时,按照程序开发的一般惯例,表示成功完成本函数。
第二个含义表示假,一般用于bool函数返回值。在C++中也可以直接用int,返回值为0时为假。宏定义ERROR 与FLASE一般为0。
- return 1
与return 0 的第二个含义相对应,表示真,正确。宏定义TRUE,OK一般为1。
- return -1
与return 0 的第一个含义相对应,表示返回一个代数值,一般用在子函数结尾。按照程序开发的一般惯例,表示该函数失败,在数据结构中,一般指数据溢出,宏定义OVERFLOW 一般为-1。
3. tips
- 如果输入一闪而过,解决办法:
二、数据类型
1. char字符类型
- 大小:1个字节
- 定义一个字符
char ch='A';
- 打印字符格式的数据
printf("%c",ch);
2. int 整型
- 大小:4个字节
int i=123;
printf("%d",i);
3. short 短整型
- 大小:2个字节
4. long 长整型
- 大小:4个字节
5. float 单精度浮点型
- 大小: 4字节
- 最多小数点后6位
float f = 1.0/3.0;
printf("%.3f\n",f);//.3f表示只输出小数点后三位
6. double 双精度浮点型
- 大小: 8个字节
- 最多小数点后
7. sizeof函数
查看数据类型的存储空间大小
三、变量分类
1.全局变量和局部变量
全局变量
- 在所有函数外部定义的变量称为全局变量;
- 它的作用域默认是从定义变量的位置到本源文件结束都有效。
局部变量:
- 在函数内部定义的变量;
- 作用域为当前函数开始到结束。
1.区别
- 作用域不同:全局变量的作用域为整个程序,而局部变量的作用域为当前函数或循环等
- 内存存储方式不同:全局变量存储在全局数据区中,局部变量存储在栈区
- 生命期不同:全局变量的生命期和主程序一样,随程序的销毁而销毁,局部变量在函数内部或循环内部,随函数的退出或循环退出就不存在了
- 使用方式不同:全局变量在声明后程序的各个部分都可以用到,但是局部变量只能在局部使用。函数内部会优先使用局部变量再使用全局变量
2. 当全局变量和局部变量同名时
优先级局部变量更高。
2. extern关键字
extern这个关键字的真正的作用是引用不在同一个文件中的变量或者函数;
extern关键字只需要指明类型和变量名就行了,不能再重新赋值。
但是在声明之后就可以使用变量名进行修改了
如果不想这个变量被修改可以使用const关键字进行修饰
报错: