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

相关推荐
zsc_1182 小时前
pvz3解码小游戏求解算法 (二)
算法
hanbr2 小时前
每日一题day1(Leetcode 76最小覆盖子串)
算法·leetcode
AI科技星2 小时前
张祥前统一场论中两个电荷定义的统一性解析
开发语言·线性代数·算法·数学建模·平面
代码地平线2 小时前
C语言实现堆与堆排序详解:从零手写到TopK算法及时间复杂度证明
c语言·开发语言·算法
小江的记录本2 小时前
【大语言模型】大语言模型——核心概念(预训练、SFT监督微调、RLHF/RLAIF对齐、Token、Embedding、上下文窗口)
java·人工智能·后端·python·算法·语言模型·自然语言处理
炘爚2 小时前
LeetCode(两两交换链表中的节点)
算法·leetcode·链表
wsoz2 小时前
Leetcode矩阵-day7
c++·算法·leetcode·矩阵
念越2 小时前
算法每日一题 Day01|双指针解决移动零问题
java·算法·力扣
不想看见4042 小时前
Merge k Sorted Lists 优先队列--力扣101算法题解笔记
笔记·算法·leetcode