C语言小白报道!和老刘一起开始学习C语言吧!

一、C语言程序的结构

(1)一个程序由一个或多个源程序文件组成。

(2)函数是C程序的主要组成部分。

(3)一个函数包括两个部分。

(4)程序总是从main函数开始执行的。

(5)程序中要求计算机完成的操作是由函数中的C语句完成的。

(6)在每个数据声明和语句的最后必须有一个分号。

(7)C语言本身不提供输入输出语句。

(8)程序应当包含注解。

以下开始细说:

1)①预处理指令 #include<stdio.h>(例如还有#define等)C语言能对源程序进行翻译之前,先由一个预处理器(又叫预处理程序、预编译器)对预处理系统进行预处理,对#include<stdio.h>指令来说,就是将stdio.h头文件的内容读进来,取代#include<stdio.h>。由预处理得到的结果与程序其他部分一起,组成一个完整的、可以用来编译的最后的源程序,然后由编译程序对该源程序正式进行编译,才得到目标程序。

②全局声明 如一会在主程序中见到的 int a,b,sum 放在main函数的前面,这就是全局申明。在函数外面声明的变量称为全局变量。如:在程序开头(定义函数之前)声明的变量,就在整个源程序文件范围内有效。在函数中声明的变量是局部变量,只在函数范围内有效。

  一个C语言程序由一个或多个函数组成,其中必须包含一个main函数(有且仅有一个main函数)。一个小程序只包含一个源程序文件,在一个源程序文件中包含若干个函数(其中有且仅有一个main函数),但是程序规模较大时,所包含的函数就会比较多,这样文件就会很大并且不利于编译和调试。为了方便编译和调试,可以使一个程序包含若干个源程序文件,每个源程序文件又包含若干个函数。一个源程序文件就是一个程序模块,即,将一个程序分成若干个程序模块。C语言的这种特点使得容易实现程序的模块化。

④函数首部

以int max (int a,int b)为例:

第一个int是函数类型,max是函数名,后两个int是函数参数类型,a,b是函数参数名。

一个函数名后面必须跟一对圆括号,括号内写函数的参数名以及类型。若函数没有参数,可以在括号中写void,也可以是空括号。例:int main(void)/int main()

⑤函数体。这是函数首部下面花括号内的部分,若有很多花括号,一般认为最外层的花括号是函数体的范围。

函数体一般包括声明部分和执行部分。

在某些情况下,可以没有声明部分,甚至可以既无声明部分也无执行部分。例:

void dump()

{}                          ————————该例选自《C程序设计》

这是一个空函数,什么也不做但也是合法的。

主函数mian不论放在整个程序中的任意位置均可。

⑦ 注释。注释放在   //     后,或者在      /*     */    之间。

二、开始实例

先来个简单的: 这是最基础的

#include<stdio.h>
int main()
{printf("This is a c program!\n");return 0;
}

以下两个逐渐复杂,涉及到部分声明、函数调用以及接收输入、打印结果等函数,值得注意的是  \n  是换行的意思,%d  是占位符,就像有个坑用%d先占住,后面的&a(&b)等,是填入前面占位坑的数。

//求两整数之和
#include<stdio.h>
int main()
{int a, b, sum;scanf_s("%d,%d", &a, &b);//输入数字sum = a + b;             //求和printf("sum is %d\n", sum);//输出return 0;                   //结束程序
}
//求两整数的较大者
#include<stdio.h>
int main()
{int max(int x, int y);//调用max函数int a, b, c;           //声明scanf_s("%d,%d", &a, &b);//接受输入的数c = max(a, b);printf("max=%d", c);return 0;
}
int max(int x, int y)
{int z;if (x < y)z = y;else z = x;return(z);}

下面我们再复杂点

#include<stdio.h>
#define Height 10//定义用户常量,在之后的程序中遇见Height自动默认为10int main()
{int calculate(int Long, int Width);printf("长方体的高度为:%d\n", Height);//可替换成自主输入int inlong;int inwidth;printf("请输入宽度:");scanf_s("%d", &inwidth);printf("请输入长度:");scanf_s("%d", &inlong);int result;result = calculate(inlong, inwidth);printf("长方体的体积是:%d", result);return 0;
}
int calculate(int inlong, int inwidth)//自定义计算体系
{int result;result = inlong * inwidth * Height;return result;
}

注意#define此处的含义。我相信,层层理解,这些都已经被大家理解了、并且很有条理。那么,不用预处理Height等于10,而换成用户输入可以做到吗?

#include<stdio.h>
//#define Height 10//定义用户常量,在之后的程序中遇见Height自动默认为10int main()
{int calculate(int inlong, int inwidth, int inheight);//printf("长方体的高度为:%d\n", Height);//可替换成自主输入int inheight;printf("请输入高度:");scanf_s("%d", &inheight);int inlong;int inwidth;printf("请输入宽度:");scanf_s("%d", &inwidth);printf("请输入长度:");scanf_s("%d", &inlong);int result;result = calculate(inlong, inwidth,inheight);printf("长方体的体积是:%d", result);return 0;
}
int calculate(int inlong, int inwidth,int inheight)//自定义计算体系
{int result;result = inlong * inwidth * inheight;return result;
}

PS:scanf在该软件版本只能用scanf_s,不然会说不安全,具体原因不是很清楚欸

C语言(二)C语言程序结构及简单的C程序举例相关推荐

  1. 计算器的程序代码java_java 简单的计算器程序实例代码

    java 简单的计算器程序 实现实例: import java.awt.*; import java.awt.event.*; import javax.swing.*; public class c ...

  2. 多个 小程序_最简单的小程序制作方法,不会代码也能撸一个

    前言 / 小程序从17年上线到现在已经构造了新的开发环境和开发者生态,现在已经有超过150万的开发者加入到开发,小程序应用数量超过100万,覆盖200多个行业.虽然开发难度较app减少了很多,但是对于 ...

  3. python经典程序实例-Python简单基础小程序的实例代码

    1 九九乘法表 for i in range(9):#从0循环到8 i += 1#等价于 i = i+1 for j in range(i):#从0循环到i j += 1 print(j,'*',i, ...

  4. python简单程序实例-Python简单基础小程序的实例代码

    1 九九乘法表 for i in range(9):#从0循环到8 i += 1#等价于 i = i+1 for j in range(i):#从0循环到i j += 1 print(j,'*',i, ...

  5. matlab简单的程序,一段简单的matlab程序 - 程序语言 - 小木虫 - 学术 科研 互动社区...

    原程序是可以运行的,为全面理解程序内容,我将分以下几个部分进行分析: 1."for x=varx"怎么理解? 请参看Matlab关于for函数的帮助文件: Syntax:for i ...

  6. python程序结构框架_Python——Flask框架——程序的基本结构

    一.安装 pip install flask 二.初始化 from flask importFlask app= Flash(__name__) 三.路由:处理URL和函数之间的关系的程序称为路由 ( ...

  7. Python学习笔记4_海龟绘图和python程序结构的简单认识

    图形化程序设计 一.海龟绘图 1.一些绘图常见的指令: #显示箭头 turtle.showturtle()#写字符串 turtle.write("你好 世界")#画笔大小 eg:大 ...

  8. python程序加密_Python简单的加密程序:如何循环Z回到A

    我会推荐使用模数运算符来做你想要的.在python中是%字符.在模数学中. X%Y告诉我们X/Y的剩余部分是什么.例如. 27%26是1.使用这个你可以得到你想要的包装.这里是一个代码示例位,如果我们 ...

  9. Java Web程序结构

    简单的WEB程序结构 ----------------------------------------FIRST---------------------------------------- 认识简 ...

  10. 二叉排序树查找的c语言程序,C语言二叉排序(搜索)树实例

    本文实例为大家分享了C语言二叉排序(搜索)树实例代码,供大家参考,具体内容如下 /**1.实现了递归 非递归插入(创建)二叉排序(搜索)树: 分别对应Insert_BinSNode(TBinSNode ...

最新文章

  1. jquery $.proxy使用 Jquery实现ready()的源码
  2. IaaS,PaaS和SaaS,又衍生出CaaS,NaaS和MaaS
  3. 两个很有用的进程间通信函数popen,pclose
  4. python eval函数_Python eval 函数妙用
  5. java项目命令编译,打包,运行
  6. 微软官方上线 Python 教程
  7. rem和mod的区别
  8. Tsys1.1使用经验(汇集中)
  9. Vue——B站黑马程序员教程
  10. 2012安装oracle11g教程,Windows Server 2012 安装oracle11g(图文教程)
  11. 【时间序列】python与时间序列-基本案例教程1(1.47万字,19个图,阅读需要37分钟)...
  12. unity打开内嵌游戏网页
  13. mac下Charles https抓包乱码,手机不能上网解决
  14. u-boot编译错误1:dtc: not found make
  15. NLP自然语言处理系列-词汇挖掘与实体识别
  16. 古墓丽影10linux,《古墓丽影:崛起》Linux 版上架 Steam
  17. Wireshark分析sql布尔盲注流量包
  18. Linux-看门狗应用程序watchdog
  19. android ndk x86 arm,NDK r21编译FFmpeg 4.2.2(x86、x86_64、armv7、armv8)
  20. LTC逆袭活跃地址一周增长84! ETH、BTC、BCH每秒交易均呈负增长! 以太坊网络传播时间再缩短| 数据周榜...

热门文章

  1. linux 微信机器人,开源Linux操作系统的机器人(组图)
  2. C语言嵌入式系统编程修炼之软件架构篇
  3. 唐宇迪学习笔记2:Python数据分析处理库——pandas
  4. MySQL的存储函数与存储过程的区别
  5. mdt 计算机名_MDT通过PowerShell脚本自定义变量(自定义计算机名)
  6. Android隐藏桌面图标实现
  7. Tensorflow-(4)使用Tensorflow加载csv,pandas dataframes,图像,文本文件
  8. 邹博机器学习代码分析(1)-线性回归
  9. NXP iMX8系列处理器核心性能对比测试
  10. charset参数 sqluldr2_SQLULDR2