C语言入门教程:程序结构与算法举例

开启自今日起,会对着C语言给出一系列教程,要是各位正处于学习C语言阶段,那就赶忙来关注【零基础玩嵌入式】一块儿学习哟!

一、程序

把为达成特定目标或者解决特定问题,以计算机语言编写而成的命令序列集合称作程序,它是为实现预期目的而去操作的一系列语句与指令,用于编写得让计算机能够执行的程序的语言被叫做程序设计语言,程序设计语言可以分作:

plaintext 复制代码
机器语言
汇编语言
高级语言
完成两数相加的操作:
机器语言:1011111000100110011 ......
汇编语言:add ax, bx 
高级语言:C=A+B

即便高级语言程序(即源程序)编写起来挺便利,然而计算机没办法直接去执行它,非得经过一番加工之后才能够被计算机执行。而这种加工过程能够划分成:

编译

源程序以逐句翻译、逐句执行的方式进行,解释过程不会产生目标程序,大概是翻译掉一格就执行一格,一边翻译一边执行。

二、算法举例

那有两个杯子,一个是A杯,另一个是B杯,A杯本来是放着酒的,B杯本来是放着醋的,现在需要把它们进行交换一番,就是让A杯原来放酒的现在改成放醋,而B杯原本放醋的现在改成放酒。

plaintext 复制代码
自然语言:
根据常识,必须增加一个空杯C作为过渡,其操作步骤如下:
步骤1:将A杯中的酒倒在C杯中。
步骤2:将B杯中的醋倒在A杯中。
步骤3:将C杯中的酒倒在B杯中。
这就是以后要用到的交换两个变量的值的方法

伪代码表示的算法如下:

plaintext 复制代码
input A and B
  C←A
  A←B
  B←C
  print A and B

C语言程序

plaintext 复制代码
#include   
int main(void)         
{
  int a, b, c;          
  printf("Please input a and b:\\n");  
  scanf("%d%d", &a, &b);      /*输入变量a和b的值*/
  c = a;           /*交换a和b*/
  a = b;        
  b = c;  
              /*输出a和b的值*/
  printf("a = %d  b = %d", a, b)  
  return 0;
}

三、C语言结构

那种用"/ "以及" /"括起来的内容,被称作注释,它具备的作用是针对程序予以说明,进而提高程序的可读性,在编译这个行为发生时,注释是将会被忽略掉的。

四、执行过程

五、书写规则

C程序由一个或多个函数构成,其中必定有一个且仅有一个main( )函数,不管这个函数处于何种位置,程序皆从它起始执行,main( )函数能够调用别的函数,然而别的函数无法调用main( )函数。

在一个函数内,语句的执行顺序是从上到下的。

C语言写程序,书写形式超自由,一行能写好多条语句,每条语句都以分号完毕,为了程序格式清晰,最好一行就写一条语句。程序里的所有标点符号全是英文符号。

C语言,对大小写进行严格区分,也就是说,大写字母"A",与小写字母"a",会被当作是不一样的符号。

六、开发过程

plaintext 复制代码
要根据实际问题确定解题思路
根据思路或数学模型编写程序
编辑源程序
调试与测试
运行

这篇文章暂且介绍到这儿,下一篇文章,我们着手讲解C语言那用于编译的环境,以及VC的运用方法。

相关推荐
谭欣辰5 小时前
LCS(最长公共子序列)详解
开发语言·c++·算法
m0_629494735 小时前
LeetCode 热题 100-----17.缺失的第一个正数
数据结构·算法·leetcode
Cando学算法5 小时前
鸽笼原理(抽屉原理)
c++·算法·学习方法
Tisfy5 小时前
LeetCode 0796.旋转字符串:暴力模拟
算法·leetcode·题解·模拟·字符串匹配
BlockChain8885 小时前
AI+区块链深度探索:算法与账本的共生时代
人工智能·算法·区块链
生成论实验室5 小时前
《源·觉·知·行·事·物:生成论视域下的统一认知语法》第一章 源:不可言说的生成之源
人工智能·科技·算法·生活·创业创新
2zcode6 小时前
基于低光照增强与轻量型CNN道路实时识别算法研究(UI界面+数据集+训练代码)
人工智能·算法·cnn·低光照增强·自动驾驶技术
小雅痞6 小时前
[Java][Leetcode middle] 209. 长度最小的子数组
java·算法·leetcode
做时间的朋友。6 小时前
精准核酸检测
java·数据结构·算法
冯诺依曼的锦鲤6 小时前
从零实现高并发内存池:TCMalloc 核心架构拆解
c++·学习·算法·架构