c语言
23.5.31
-
安装VS2022以及学会使用;
-
形参什么意思
形参和实参的概念:
①形式参数:在函数定义中出现的参数,可以看做是一个占位符,它没有数据,只能等到函数被调用时接受传递进来的数据,所以成为形式参数,简称:形参。
②实际参数:函数被调用时给出的参数,包含实实在在的数据,会被函数内部的代码使用,所以被称为实际参数,简称:实参。
3.c语言注释代码的方法:
单行注释:
方法一://
主要用于注释一行代码,或者为一些代码加解释
多行注释:
方法二:/* /
用于多行代码的注释,也用于函数的说明
/
作者:
日期:
原型:
功能:
参数:
返回值:
/
方法三:#if 0 #endif
//主要用于预处理阶段,一些代码需要编译,另外一些代码不需要
//参与编译,例如:版本的选择(32位/64位),操作系统的选择(linux/unix/win)
// debug/release ,开关语句
if0 endif如何用
块注释符(/…*/)是不可以嵌套使用的。
可以使用 #if 0 … #endif 来实现注释,且可以实现嵌套,格式为:
#if 0
code
#endif
你可以把 #if 0 改成 #if 1 来执行 code 的代码。
这种形式对程序调试也可以帮助,测试时使用 #if 1 来执行测试代码,发布后使用 #if 0 来屏蔽测试代码。
-
程序的编译过程(gcc)
预处理:所有带“#”号的代码都在预处理阶段完成
(比如头文件的展开,宏替换,条件编译等)
gcc - E 1 - hello.c - o 1 - hello.i
编译 : 对c语言代码进行语法正确性和安全性的检查,
栈空间和静态区的空间的分配,将.i文件生成.s(汇编文件)
gcc - S 1 - hello.i - o 1 - hello.s
汇编 : 将汇编文件生成二进制文件(.s—>.o)
gcc - c 1 - hello.s - o 1 - hello.o
链接 : 将所有的可链接文件(.o, 库文件)共同生成一个可执行文件
gcc 1 - hello.o - o 1 - hello
#if 0 -
上课内容
程序的编译过程(gcc)
预处理:所有带“#”号的代码都在预处理阶段完成
(比如头文件的展开,宏替换,条件编译等)
gcc - E 1 - hello.c - o 1 - hello.i
编译 : 对c语言代码进行语法正确性和安全性的检查,
栈空间和静态区的空间的分配,将.i文件生成.s(汇编文件)
gcc - S 1 - hello.i - o 1 - hello.s
汇编 : 将汇编文件生成二进制文件(.s—>.o)
gcc - c 1 - hello.s - o 1 - hello.o
链接 : 将所有的可链接文件(.o, 库文件)共同生成一个可执行文件
gcc 1 - hello.o - o 1 - hello
#endif
//条件编译
#if 0
//代码1
#elif 1
//代码2
#else
//代码3
#endif
/*
c语言代码的基本组成单位:函数
c语言是一门结构性语言,数据开放,逻辑总是
从一个函数流向另一个函数
/
/
函数的基本组成:(三要素)
原型:<返回值> 函数名(形参1,形参2,…,形参n)
功能:函数具体要实现的功能
参数:分析形参的功能
返回值:分析返回值的功能
*/
//作用域:一个变量的可以被使用的范围
// 注意:在相同的作用域内,标识符不能冲突
//生命周期:一个变量从被申请空间开始到操作系统
// 将其空间回收的这一段时间
//注意:通常{}为普通变量的生命周期的范围
//在c语言中,0表示假,非0表示真
//#: 预处理标识符
//include :后面跟头文件的名称
//<>或者"“:里面写头文件的名字
//<>和”“有什么区别?
// <>和”“的寻址路径不同,<>直接从系统指定的路径中寻找
// 而”“先在用户指定的路径(默认为当前路径)中寻找,
// 找不到再去系统路径中寻找
// <>和”"的编译效率有所不同,但是运行阶段没有区别
//
//sdtio.h//标准输入输出头文件
#include <stdio.h>
//#include “stdio.h”
//main:主函数名,是整个程序的入口地址
//整个项目中,有且只能有一个main
/*
函数名:main
功能:整个进程的运行过程
参数:void:表示没有形参
返回值:int:表示程序结束的状态,返回一个整型
*/
//{}:作用域符号(通常包含一段代码块)
// 为普通变量的作用域标识符和生命周期
//全局变量:{}外部的称为全局变量
int a = 100;
int main(void)
{
//函数调用:函数名(实参);
//注意:函数调用时不需要加上返回值类型
printf(“hello world !\n”);
int a = 10;
{
int a = 20;
int b = 20;
//%d:输出32位有符号正数
printf("a = %d\n",a); //就近原则
}
//b = 30;
return 0;
}