1、 C语言中循环和分支的应用尤为广泛,也存在很多不可忽视的细节,例如对于初学者来说选择分支中最容易分不清楚的就是悬空else与if配对的问题,分析不清楚代码之间的关系就无法写出相应的程序代码,也不利于后期代码修改。没有太多捷径可走,只有多练多敲,多思考才能熟练掌握。另外循环结构的应用更是为我们解决冗杂的问题提供了快捷的方法,但在平时的练习也踩过很多坑,碰过很多雷。曾在一个while循环程序中发现原来输入的数据是存在空白缓冲区的,在写一些程序时要考虑空白缓冲区的影响,不然程序运行中就会存在bug。循环分支让我们知道细节决定成败,熟能生巧的程序铁律。
2、再分享几个简单有趣的代码实例,可以参考学习强化循环分支结构:第一个是从字符串两端向中间的覆盖输出显示,第二个是二分查找算法的数据查找,两个都充分体现了循环分支的使用和细节。
代码1:
#include<stdio.h>
#include<stdlib.h>
#include<Windows.h>
#include<string.h>
int main()
{
char arr[] = { "欢迎来到我的世界, 风雪有你!!!" };
char arr1[] = { "****" };
int left=0;
int right=strlen(arr)-1;//计算字符串最右边的下标
while (left <=right)
{
arr1[left] = arr[left];//左覆盖
arr1[right] = arr[right];//右覆盖
printf("%s\n", arr1);
Sleep(100);
system("cls");
left++;
right--;
}
printf("%s\n", arr1);
return 0;
}

代码2:
#include<stdio.h>
int main()
{
int arr[10] = { 1,2,3,4,5,6,7,8,9,10 };
int sz = sizeof(arr) / sizeof(arr[0]);//计算数组元素长度
int right=sz-1;//计算最右边元素下标
int left=0;
int k = 6;

while (left <= right){    int mid = (right + left) / 2;//找中间下标    if (arr[mid] < k)    {        left = mid + 1;    }    else if (arr[mid] > k)    {        right = mid - 1;    }    else    {        printf("终于找到了,下标是%d\n", mid);        break;    }}if (left > right){    printf("找不到数据\n");}return 0;

}

©著作权归作者所有:来自51CTO博客作者很菜的Jason的原创作品,如需转载,请注明出处,否则将追究法律责任

更多相关文章

  1. git常用命令
  2. 10 个Linux Awk文本处理经典案例
  3. shell 双多分支if条件句语法
  4. 太方便了!IntelliJ IDEA 中如何直接使用 Git 呢?
  5. 学习C语言第四天(循环语句练习题)
  6. 航电oj2016-2017 参考代码
  7. 我的第20个代码
  8. shell单分支if条件句语法详解与生产案例详解
  9. 令我匪夷所思的“bug”

随机推荐

  1. Android TabWidget/TabHost的使用
  2. linux安装安卓开发工具android studio
  3. Android学习笔记系列
  4. Android Studio Gradle Connection reset
  5. ANDROID ADB工具使用
  6. android中eclipse查看源代码
  7. 禁止手机横竖屏
  8. 通过XML设置屏幕方向(android:screenOrie
  9. Android 2.3 r1 中文API (78)—— ViewAnim
  10. Android高效率编码-第三方SDK详解系列(二