九,编程的三种结构

  其实只懂了前面讲的那些内容还是无法实现C语言的强大功能,除了变量和输入输出,还需要程序的结构来控制,这是属于C语言语法的内容。

  编程语言有三种结构:顺序结构,分支结构,循环结构。

  顺序结构不用多说,就是一句一句的写。前面讲过的都是顺序结构。下面主要讲一下后面两个。

一,分支结构。

  想象这样一个问题,如果我不是输出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

当然,有课本参照还是最好了,没有的话可以看上面的博客~

 

转载于:https://www.cnblogs.com/itlqs/p/4869016.html

1.2 如何理解计算机系统的层次结构? 答:从计算机系统的层次结构来看,它通常可有五个以上的层次,在每一层次(级)上都能进行程序设计。由下至上可排序为:第一级微程序设计级,微指令由硬件直接执行;第二级传统机器级,用微程序解释机器指令;第三级操作系统级,一般用机器语言程序解释作业控制语句;第四级汇编语言机器级,这一级由汇编程序支持和执行;第五级高级语言机器级,采用高级语言,由各种高级语言编译程序支持和执行。还可以有第六级应用语言机器级,采用各种面向问题的应用语言。 1.3 说明高级语言、汇编语言和机器语言的差别及联系。 答:机器语言由代码0、1组成,是计算机能直接识别的一种语言。汇编语言是面向机器的语言,它用一些特殊的符号表示指令。高级语言是面向用户的语言,它是一种接近于人们使用习惯的语言,直观、通用,与具体机器无关。 它们之间的联系:汇编语言和高级语言编写的源程序必须通过汇编或编译成机器语言程序才能在机器上运行。 1.4 如何理解计算机组成和计算机体系结构? 答:计算机体系结构是指程序员所见到的计算机系统的属性,即概念性的结构与功能特性。通常是指用机器语言编程的程序员(也包括汇编语言程序设计者和汇编程序设计者)所看到的传统机器的属性,包括指令集、数据类型、存储器寻址技术、I/O机理等,大都属于抽象的属性。 计算机组成是指如何实现计算机体系结构所体现的属性,它包含了许多对程序员来说是透明的(即程序员不知道的)硬件细节。例如一台机器是否具备乘法指令是一个结构问题,而实现乘法指令采用什么方式是一个组成问题。 1.9 画出主机框图,分别以存数指令“STA M”和加法指令“ADD M”(M均为主存地址)为例,在图中按序标出完成该指令(包括取指阶段)的信息流程。假设主存容量为256M×32位,在指令字长、存储字长、机器字长相等的条件下,指出图中各寄存器的位数。 答: (1)存数指令STA M的信。。。。。。。。。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值