C语言零基础项目驱动式学习第三天

一 while循环
二do  
while循环
三 for循环
for循环的执行顺序用如下表达式:

for(expression1;expression2;expression3)
   
    循环变量初值; 循环条件; 循环变量增量

 {   

           
expression4;
 }

      执行的顺序应该是:

1)第一次循环,即初始化循环。
     
首先执行表达式expression1(一般为初始化语句);再执行expression2(一般为条件判断语句),判断expression1是否符合expression2的条件;如果符合,则执行expression4,否则,停止执行;最后执行expression3。


2)第N(N>=2)次循环
     
首先执行expression2,判断在expression3是否符合在expression2要求;如果符合,则继续执行在expression4,否则,停止执行。最后执行在expression3。如此往复,直至expression3不满足在expression2条件是为止。


总结:
     
总的来说,执行的顺序是一致的。先条件判断(expression2),再函数体执行(expression4),最后for执行(expression3)。往复......区别在于,条件判断的对象。第一次判断时,对象为初始化语句(expression1),后续的判断对象为执行后的结果(expression3)。

//1、随机产生20个[10 ,
100]的正整数,输出这些数以及他们中的最大数,最小数

//    int max = 0, min = 100;

//    for (int i = 1; i <= 20; i++) {

//        unsigned int a = arc4random() % (100
- 10 + 1) + 10;

//        printf("%d ", a);

//        if (max < a) {

//            max = a;

//        }

//        if (min > a) {

//            min = a;

//        }

//    }

//    printf("\nmax = %d ", max);

//    printf("\nmin = %d ", min);

//2、编程将0-1000所有“水仙花数”打印出来,并打印其总个数。 “水仙花数”是一个 各个位立方之和等于该整数的三位数。

//水仙花数是一个三位数.个位units,十位tens,百位hundreds‘ digit,

//    int count = 0;

//    for (int i = 100; i >= 100 && i <=
999; i++) {

//        int units = i % 100 % 10;

//        int tens = i % 100 / 10;

//        int hundred = i / 100;

//        int num = units * units * units +
tens * tens * tens + hundred * hundred * hundred;

//        if (num == i) {

//            printf("%d ", i);

//            count++;

//        }

//    }

//    printf("\n%d ", count);

//    int count = 0;

//    for (int i = 1; i <= 9; i++) {

//        for (int j = 0; j <= 9; j++)
{

//            for (int k = 0; k
<= 9; k++) {

//                if
(pow(i, 3) + pow(j, 3) + pow(k, 3) == 100 * i + 10 * j + k) {

//                 
  printf("%d%d%d ", i, j, k);

//                 
  count++;

//                }

//            }

//        }

//    }

//    printf("\n%d ", count);

//3、已知abc+cba =
1333,其中a,b,c均为一位数,编程求出满足条件的a,b,c所有组合。

//    for (int i = 100; i >= 100 && i <=
999; i++) {

//        int units = i % 100 % 10;

//        int tens = i % 100 / 10;

//        int hundred = i / 100;

//        int num = units * 100 + tens * 10 +
hundred;

//        if (num + i == 1333) {

//            printf("%d + %d =
1333\n", num, i);

//        }

//    }

//    for (int i = 1; i <= 9; i++) {

//        for (int j = 0; j <= 9; j++)
{

//            for (int k = 0; k
<= 9; k++) {

//                if (i *
100 + j * 10 + k + k * 100 + j * 10 + i == 1333) {

//                 
  printf("%d%d%d + %d%d%d = 1333\n", i, j, k, k, j, i);

//                }

//            }

//        }

//    }

//4、一个球从100m高度自由落下,每次落地后反跳回原来高度的一半,再落下,再反弹。求它在第10次落地时,共经过多少米?第10次反弹多高。

//    double height = 100.0;

//    double length = 0.0;

//    for (int i = 1; i <= 11; i++) {

//        height /= 2;

//        length += 2 * height;

//        printf("第%02d次落地时,共经过 %g 米,反弹高度为 %g
米\n", i, length + 100, height);

//    }

//以上为错误代码.

//    double height = 50.0;

//    double length = 100.0;

//    for (int i = 3; i <= 12; i++) {

//        length += 2 * height;

//        height /= 2;

//        printf("第%02d次落地时,共经过 %g 米,反弹高度为 %g
米\n", i - 1, length, height);

//    }

//5、输入两个数,求最大公约数和最小公倍数。

//    printf("Please input two integers:\n");

//    int numOne = 0, numTwo = 0;

//    scanf("%d %d", &numOne, &numTwo);

//    int min = numOne > numTwo ? numTwo :
numOne;

//    printf("the smaller number is %d\n", min);

//    for (int i = min; i > 0; i--) {

//        if (numOne % i == 0 &&
numTwo % i == 0) {

//            printf("The greatest
common divisor of two integers is %d.\n", i);

//            printf("This is the
least common multiple of two integer %d.", numOne * numTwo / i);

//            break;

//        }

//    }

//用辗转相除法

//    printf("Please input two integers:\n");

//    int numOne = 0, numTwo = 0;

//    int max = 0, min = 0;

//    scanf("%d %d", &numOne, &numTwo);

//    if (numOne > numTwo) {

//        int temp = 0;

//        temp = numTwo;

//        numTwo = numOne;

//        numOne = temp;

//    }//把较小的值存在numOne中.

//    max = numTwo;

//    min = numOne;

//    int qiuYu = 1;

//    while (qiuYu != 0) {

//        qiuYu = numTwo % numOne;

//        numTwo = numOne;

//        numOne = qiuYu;

//    }

//    printf("The greatest common divisor of two
integers is %d.\n", numTwo);

//    printf("This is the least common multiple of two
integer %d.", max * min / numTwo);

C语言零基础项目驱动式学习第三天,布布扣,bubuko.com

时间: 2024-12-25 10:36:44

C语言零基础项目驱动式学习第三天的相关文章

C语言零基础项目驱动式学习第四天

//类型修饰符  数组名[数组元素个数] = {初始化}; //定义数组的时候[]中必须是常量表达式, 不可以是变量; /* int age[5] = {21, 18, 25, 20, 18}; int array[10] = {0};//代表数组中有10个元素, 每个都是0; int array1[8] = {1};//代表数组中有8个元素,第一个是1,其余的为0; int age2[2 + 3] = {0}; */ //定义数组和使用数组的最大区别是, 前面是否有类型修饰符 //使用数组元素

C语言零基础项目驱动式学习第二天

//BOOL 类型是一种非真即假的数据类型,取值只有YES和NO, //BOOL 其实是OC中得数据类型,在C语言中,认为非0即为真. //BOOL 类型规定的存储空间为一个字节. //    BOOL a = YES; //    BOOL b = NO; //    printf("a = %d, b = %d\n", a, b); //    int a = 15, b = 18; //    BOOL c = a > b; //    printf("c = %

C语言零基础项目驱动式学习第一天

引言: 智能手机(Smart Phone)是一种运算能力及功能比传统手机更强的手机.目前的操作系统基本上有以下几种: 1. Symbian Os 众所周知塞班隶属于NOKIA,Symbian开发之初的目标是保证在较低资源的设备上能长时间的运行,这导致了塞班的应用程序开发有着较为陡峭的学习路线,开发成本高,但是程序的运行的效率很高> 2.Android 开源, 联盟,Android凝聚了几乎遍布全球的力量,这是Android形象及声音能够被传到全球移动互联网市场每一个角落的根本原因.不过, 1).

教你从零基础小白开始怎么学习C语言

想窥探神秘的代码世界?最好的入口无疑就是C语言. C语言是计算机体系结构的基础,向下可以操作硬件(包括ARM,DSP,单片机等各种微处理器),还可以写驱动,写OS,写编译器.向上可以进一步的学习C++,JAVA等面向对象语言,再学习一些图形用户界面框架,比如Qt,MFC,就可做出类似于计算器.QQ等Window桌面应用,再比如Android,就可以做出微信等Android应用,再比如Unity3D,就可以做出类似王者荣耀.刺激战场等手游.想想是不是就有点小激动呢!最后,如果大家如果在自学遇到困难

零基础学Python应该学习哪些入门知识及学习步骤安排

众所周知,Python以优雅.简洁著称,入行门槛低,可以从事Linux运维.Python Web网站工程师.Python自动化测试.数据分析.人工智能等职位,薪资待遇呈上涨趋势.很多人都想学习Python,那么零基础学Python应该学习哪些入门知识呢? Python入门知识一:解释器. Python是一种面向对象的解释型计算机程序设计语言,因此想要学好Python你必须要了解解释器.由于Python语言从规范到解释器都是开源的,所以理论上,只要水平够高,任何人都可以编写Python解释器来执行

零基础快速入门web学习路线(含视频教程)

下面小编专门为广大web学习爱好者汇总了一条完整的自学线路:零基础快速入门web学习路线(含视频教程)(绝对纯干货)适合初学者的最新WEB前端学习路线汇总! 在当下来说web前端开发工程师可谓是高福利.高薪水的职业了.所以现在学习web前端开发的技术人员也是日益增多了,但是在学习web前端开发中盲目的去学习而没有一个完整的思路和学习路线也是不行的. 成为一个合格的web前端开发工程师的具备什么条件? 熟练的掌握HTML.CSS.JS.JQ等最基本的技术. 现在,只掌握这些已经远远不够了.无论是开

(转)CocosCreator零基础制作游戏《极限跳跃》三、制作游戏主场景

CocosCreator零基础制作游戏<极限跳跃>三.制作游戏主场景 刚刚我们制作了游戏的开始场景,现在我们来制作游戏的主场景.还是同样的方法,新建一个名为MainScene的场景,双击打开,修改场景的大小为480x800. 1.首先贴入游戏背景,在此我们使用了2张背景图,只需要把背景拖进层级管理器2次,修改名称为bg1,bg2即可,背景2接着背景1点上方设置位置. 2.摆放玩家主角在屏幕合适位置 3.添加金币按钮在屏幕上方 4.右键Canvas画布=>创建节点=>创建渲染节点=&

零基础大数据新手学习路线教程

大数据-数据挖掘,越来越火,90%的企业都在运用或者都想要利用大数据为其带来更便利的服务,从而大数据高端软件类人才可谓供不应求. 如何学好大数据? 第一阶段:大数据新手入门系统教程Java+MySQL+关系型数据库+阿里巴巴<码出高效>编码规约 知识点 一.Java基础入门:Java编程入门:Java编程初体验,Java运行机制; Java语法基础:Java程序的组织形式与命名规则,变量类型和定义,表达式和运算符; 程序的流程结构:分支结构,循环结构;函授:函数的定义,函数调用,函数递归定义和

编程零基础应当如何开始学习 Python?

提前说一下,这篇福利多多,别的不说,直接让你玩回最有手感的怀旧游戏,参数贴图很方便自己可以根据喜好修改哦. 本篇通过以下四块展开,提供大量资源对应. 选一个好版本 有没有看过<在下坂本,有何贵干?>那个坂本可以装B,Python的版本则是你的工作环境. 首先,在学习之前一定会考虑一个问题--Python版本选择对于编程零基础的人来说,选择Python3. 1.学习基础知识 首先,Python 是一个有条理的.强大的面向对象的程序设计语言.建议从下面课程开始: Python 教程 Python