九,编程的三种结构
2015-10-11 11:43
176 查看
其实只懂了前面讲的那些内容还是无法实现C语言的强大功能,除了变量和输入输出,还需要程序的结构来控制,这是属于C语言语法的内容。
编程语言有三种结构:顺序结构,分支结构,循环结构。
顺序结构不用多说,就是一句一句的写。前面讲过的都是顺序结构。下面主要讲一下后面两个。
一,分支结构。
想象这样一个问题,如果我不是输出hello world,而是想做一个程序,输入一个数,如果输入的数是正数,就输出"hello正数",如果是0,就输出"hello 0",如果是负数,就输出"hello负数"。(为了让初学者感觉更亲切一点,讲解一般都以hello world为载体)。显然这个程序不能用顺序结构写了,这里就要用到分支结构。
先来看一下这个程序的代码吧。
因为分支里只有一句话所以可以简化一下:
其实上面的程序是比较容易理解的,下面允许我偷个懒。因为我在博客里发现有的人在与我做着同样的事,所以具体讲解分支结构的语法就由他来完成啦,特别注意学习一下逻辑符号,比如上面的==,下面是网址:
http://www.cnblogs.com/stffer/p/4851676.html
二,循环结构。
循环结构又是干什么的呢?再想象一个问题:如果我不是让你输出一次hello world,而是输出10次,100次,甚至不确定次。这样就要用到循环结构了。
下面是输出10行hello world的代码:
是不是比十句printf简洁多了?
其实循环结构的强大还不止如此。下面这个程序:输入一个数n,输出n行hello world。这个能用顺序结构写吗?显然不能。所以,循环结构的作用不只是简繁,还可以实现顺序结构无法完成的任务。下面是这个程序的代码。
还有一种循环while循环。
好吧,还是偷懒一下,下面的网址具体讲解循环结构的语法:
http://www.cnblogs.com/stffer/p/4851701.html
当然,有课本参照还是最好了,没有的话可以看上面的博客~
编程语言有三种结构:顺序结构,分支结构,循环结构。
顺序结构不用多说,就是一句一句的写。前面讲过的都是顺序结构。下面主要讲一下后面两个。
一,分支结构。
想象这样一个问题,如果我不是输出hello world,而是想做一个程序,输入一个数,如果输入的数是正数,就输出"hello正数",如果是0,就输出"hello 0",如果是负数,就输出"hello负数"。(为了让初学者感觉更亲切一点,讲解一般都以hello world为载体)。显然这个程序不能用顺序结构写了,这里就要用到分支结构。
先来看一下这个程序的代码吧。
#include<stdio.h> int main(void) { int a; scanf("%d",&a); if (a>0) { /*这里本来一句话其实不用大括号的,但是为了复习前面讲过的规范代码习惯所以加了大括号*/ printf("hello正数"); } else if (a==0) { printf("hello 0"); } else { printf("hello负数"); } return 0; }
因为分支里只有一句话所以可以简化一下:
#include<stdio.h> int main(void) { int a; scanf("%d",&a); if (a>0) printf("hello正数"); else if (a==0) printf("hello 0"); else printf("hello负数"); return 0; }
其实上面的程序是比较容易理解的,下面允许我偷个懒。因为我在博客里发现有的人在与我做着同样的事,所以具体讲解分支结构的语法就由他来完成啦,特别注意学习一下逻辑符号,比如上面的==,下面是网址:
http://www.cnblogs.com/stffer/p/4851676.html
二,循环结构。
循环结构又是干什么的呢?再想象一个问题:如果我不是让你输出一次hello world,而是输出10次,100次,甚至不确定次。这样就要用到循环结构了。
下面是输出10行hello world的代码:
#include<stdio.h> int main(void) { int i; for (i=1;i<=10;i++) { printf("hello world\n"); } return 0; }
是不是比十句printf简洁多了?
其实循环结构的强大还不止如此。下面这个程序:输入一个数n,输出n行hello world。这个能用顺序结构写吗?显然不能。所以,循环结构的作用不只是简繁,还可以实现顺序结构无法完成的任务。下面是这个程序的代码。
#include<stdio.h> int main(void) { int i,n; scanf("%d",&n); for (i=1;i<=n;i++) { printf("hello world\n"); } return 0; }
还有一种循环while循环。
好吧,还是偷懒一下,下面的网址具体讲解循环结构的语法:
http://www.cnblogs.com/stffer/p/4851701.html
当然,有课本参照还是最好了,没有的话可以看上面的博客~
相关文章推荐
- Git使用教程3:MyEclipse+Egit+GitHub实现代码托管 【上】
- 学习C++的50条忠告(转载)
- NEON 编程
- 学习编程之道
- SVN太旧 svn: Working copy 'E:\JAVA\Workspaces\uhr' is too old (format 10,created by Subversion 1.6)
- libxml编程--内存泄露
- libxml编程--内存泄露
- libxml编程--内存泄露
- Java语法糖1:可变长度参数以及foreach循环原理
- 浅谈Java中return和finally的问题
- SpringMvc学习笔记之1
- 当前目录下所有代码中查找
- libxml编程--函数总结
- libxml编程--函数总结
- libxml编程--函数总结
- lua 的安装
- 练习:获取目标文件夹下的.java文件并存储到文件中
- java对象初始化
- C#和Java在多态情况下对成员访问的比较
- 如何编写让别人能读懂的代码?