一、程序结构
1、分类:顺序结构、循环结构、选择结构。
2、顺序结构:程序是按照先后顺序执行
3、循环结构;设置一个条件,当满足时就一直在这个条件内执行某一重复内容,当不满足时跳出,for循环、和while循环。
4、选择结构:设置一条件,满足时执行一种程序,不满足时执行另一种,两种程序只能执行其中一个。if...esle判断语句和switch...case语句。
二、数组
1、分类:一维数组、二维数组、多维数组
2、形式:类型说明符+数组名+[常量表达式],例如:int a[20]
3、特点:
所有元素是同一类型
元素内部排列是有顺序的
元素的起始位置是0,例如:int a[10],第一个元素是a[0],最后一个元素是a[9]。
数组必须声明类型,也就是有类型说明符
三、与数组和程序结构相关的例子
1、求一个三位数的各个系数,例如a=1234,分别求出打印出个位、十位、百位、千位系数。
此程序是由C语言编写,只有顺序结构。
#include "stdio.h" void main() { int a = 1234; int gw,sw,bw,qw; gw = a%10; sw = a/10%10; bw = a/100%10; qw = a/1000%10; printf("个位:%d\n",gw); printf("十位:%d\n",sw); printf("百位:%d\n",bw); printf("千位:%d",qw); }
2、整数的逆排,例如a=123456,结果要求为:654321
此程序是用C语言编写,只有顺序结构和while循环结构
#include "stdio.h" void main() { int a = 123456; int b = 0; while(a>0) { b = b*10 + a%10; a = a/10; } printf("b=%d\n",b); }
分析:这个需要清楚每位的系数如何求,然后逆向计算就得出逆序排列
3、在一个数组内实现移位循环
分析:移位循环就是数值的位置移动,即下一个值赋给上一个位置,最后一个值给第一个位置。
此程序是由python语言编写,包括了三大结构。
a = [] i = 0 while i<20: a.append(i) i += 1 print(a) j = 0 while j < 10: c = a[0] i = 0 while i<19: a[i] = a[i+1] i += 1 if i == 19: a[19] = c j += 1 print(a)
4、有十个人,编号从1到10,从第一个人开始报数,从1到3报数,当报到3时,这个人蹲下,以后不再参与报数,依次循环,最后剩下的是哪个人?
分析;此题有三个关键知识点:
第一:十个人的循环,如果看成数组,如何让循环在10以内无限次循环?
第二:如何有规律的改变数组内的值,即每循环依次就依据判断条件改变某一位置的值
第三:如何设置有效的退出循环条件
下面是由python语言编写的程序,python语言中的列表可以看成是C语言中的一维数组,包括了三大程序结构
a = [1,2,3,4,5,6,7,8,9,10] i = 0 gs0 = 0 bs = 0 while True: if a[i] != 0: bs += 1 if bs == 3: a[i] = 0 gs0 += 1 bs = 0 print(a) if gs0 == 9: break i += 1 i = i%10 i = 0 while i < 10: if a[i] != 0: print(‘下标是‘,i,‘的值是‘,a[i]) break i += 1
原文地址:https://www.cnblogs.com/thoughtful-actors/p/9477887.html