C语言编写通过学习:链接后,总结得出
一、写代码过程
编辑器:程序员写代码的过程
编译器:查看代码的语法错误,生成汇编语言
汇编语言:将生成好汇编语言生成二进制语言(目标文件)
连接器:将生成好的二进制语言+用到的库+启动代码==>可执行代码
二、完整代码分析
行注释:
//注释内容,行注释
块注释:
/*
意思:块注释(不能嵌套)
内容
*/
符号: ; 意思:C语言语句结束标志
//行注释:
#include<stdio.h>//std 标准 i输入 o输出(标准的输入输出头文件)
/* 块注释 不能嵌套
main 是程序的入口 有且仅有一个
main左边的int 代表的是函数的返回值类型
()里面函数的形参(函数外部将数据传递到函数内部的桥梁)
*/
int main(int argc,char *argv[])
{
//函数的功能都在{}里面实现
//使用任何东西 必先存在
//printf:将""中的字符串 输出到 终端上
printf("hello iot\n");//来至系统库文件
//;c语言的语句结束标记
//如果你的代码 一闪而过 可以用带阻塞的代码
getchar();
return 0;
}
三、变量、函数在不同.c文件中使用
变量
main.c
#include<stdio.h>
extern void my_printf(void);
extern int data; //声明
int main(int argc,char *argv[])
{
printf("main 中 data = %d\n",data); //100
my_printf();
}
int data = 100;
fun.c
#include<stdio.h>
extern int data; //声明data来至其他源文件
void my_printf(void)
{
printf("在fun.c中 data = %d\n",data);
}
函数
main.c
#include <stdio.h>
#include "my_fun.h"
void test01()
{
int arr[5]={0};
int n = sizeof(arr)/sizeof(arr[0]);
int max = 0,min = 0;
printf("%d",i);
//键盘给数组赋值
my_input_arr(arr, n);
//遍历该数组
my_print_arr(arr, n);
//计算数组的最大值
max = my_max(arr, n);
printf("max = %d\n",max);
//计算数组的最小值
min = my_min(arr, n);
printf("min = %d\n",min);
return;
}
int main(int argc,char *argv[])
{
test01();
return 0;
}
my_fun.c
#include <stdio.h>
void my_input_arr(int a[5], int len)
{
int i=0;
printf("请输入%d个int数据\n",len);
for(i=0;i<len;i++)
{
scanf("%d", &a[i]);
}
}
void my_print_arr(int arr[5], int len)
{
int i=0;
for(i=0;i<len;i++)
{
printf("%d ",arr[i]);
}
printf("\n");
}
int my_max(int arr[5], int n)
{
int tmp_max = arr[0];//假设第0个元素是最大的
int i=0;
for(i=0;i<n;i++)
{
if(tmp_max < arr[i])
tmp_max = arr[i];
}
return tmp_max;
}
int my_min(int arr[5], int n)
{
int tmp_min = arr[0]; //假设第0个元素是最小的
int i=0;
for(i=0;i<n;i++)
{
if(tmp_min > arr[i])
tmp_min = arr[i];
}
return tmp_min;
}
my_fun.h
//声明函数
//extern 是告诉编译器 该函数 来自于 其他文件(extern 声明函数外部可用)
void my_input_arr(int a[5], int len);
void my_print_arr(int arr[5], int len);
int my_max(int arr[5], int n);
int my_min(int arr[5], int n);