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的运用方法。

相关推荐
小O的算法实验室20 分钟前
2026年ACM TCH,动态救护车路径优化:结合 K-means 聚类与多目标粒子群算法两阶段策略
算法
在书中成长24 分钟前
HarmonyOS 小游戏《对战五子棋》开发第8篇 - GomokuEngine核心引擎设计(三):五子连珠判定算法
算法·华为·harmonyos
Let's Chat Coding37 分钟前
MAC 消息认证码:同时验证来源和完整性
算法·哈希算法
cc.ChenLy3 小时前
算法从入门到精通实战指南
算法
Jerry9 小时前
LeetCode 160. 相交链表
算法
Jerry10 小时前
LeetCode 19. 删除链表的倒数第 N 个结点
算法
金銀銅鐵10 小时前
费马小定理
python·数学·算法
技术不好的崎鸣同学11 小时前
[ACTF2020 新生赛]Exec 思路及解法
算法·安全·web安全
Full Stack Developme12 小时前
Java LRU 与 LFU 算法及应用
java·开发语言·算法