为了账号安全,请及时绑定邮箱和手机立即绑定
  • i是行,j是空格,k是* i=1时,首先j循环4次空格,跳出j内循环,然后k循环1次*, 跳出k内循环,再执行i外循环 i=2时,首先j循环3次空格,跳出j内循环,然后k循环3次*, 跳出k内循环,再执行i外循环 i=3时,首先j循环2次空格,跳出j内循环,然后k循环5次*, 跳出k内循环,再执行i外循环 i=4时,首先j循环1次空格,跳出j内循环,然后k循环7次*, 跳出k内循环,再执行i外循环 i=5 不符合i<5条件,循环结束
    查看全部
  • #include<stdio.h> int main() { int a = 100; printf("%d\n",a++); /*a++意味着先将a的值也就是100给到printf,然后a自加1,于是a的值变成了101,这个101就成了下一行代码a的初始值了。*/ printf("%d\n",++a); /*++a意思是先将a的值加1(这行代码的a的初始值来自上一行的结果,所以a是101,自加1后就变成了102),将102这个值给到printf,所以第二行的结果输出是102.*/ printf("%d\n",--a); /*--a意思是先将a的值减1(这行代码a的初始值是102,减1后变成101),将101这个值给到输出。*/ printf("%d\n",a--); /*a--意思是将a这个值(即101)给到输出,然后将101自减1,得100.*/ printf("%d\n",a+1); //a的初始值100(来自上一行的结果),进行四则运算,+1得101.这里要注意!注意!进行四则运算并不改变a的值,也就是说下一行代码的a的初始值仍然是100,而非101. printf("%d\n",a);//这里不用解释 return 0; }
    查看全部
  • 【C——1.1】 1.return 0有什么用??? ——main函数之前有个int,这个是数据及类型,如果有数据类型修饰的函数,就必须有返回值 2.C语言与C++、C# 有什么区别?C语言用什么编程工具? ——C++是一种多范式的编程语言(比如可以进行面向对象编程)。C++兼容于C,但应把C++看作是与C不同的 一门语言。 ——C#是微软开发的一门语言总之,C、C++和C#是三种完全不同的编程语言。 ——简单地说,像C和C++这种编译型语言,你要写出源代码,然后经过编译器的编译、链接等过程后,就能得到可执行文件。所以,你要有个文本编辑器,用来写代码。还要有个编译器,用来将源码编译成可执行程序。不过在本站中,你只需要在网页上写出代码即可,编译的事不用你操心了。而在真实的开发中,你就需要备齐所有工具了。嫌麻烦的话可以使用所谓的“集成开发环境”(IDE),就是集文本编辑、编译器、链接器、调试器...于一身,方便易用的开发工具。 常用的IDE有: Windows下微软的Visual Studio C++ 可以在多种系统上使用的code::blocks 3.C语言小结 ——功能丰富、表达能力强、灵活方便、应用面广! ——执行效率高、可移植性好,可以用来开发应用软件、驱动、操作系统等。 ——是其它众多高级语言的鼻祖语言。 4.Visual Studio C++6.0 提供一个短小精悍IDE下载(适用于学习C语言,小于200M): ——地址:http://yunpan.cn/cKaYJLGKQNBiw (提取码:3cd0)
    查看全部
    42 采集 收起 来源:初始C语言

    2015-02-19

  • n=10,开始执行getWordNumber(10)。。。 return getWordNumber(n-1)+n为return getWordNumber(9)+10,但这里不知道其中的getWordNumber(9)是多少,于是开始执行getWordNumber(9),同理,在getWordNumber(9)中会出现return getWordNumber(8)+9,因为不知道getWordNumber(8)是多少,所以在执行getWordNumber(8)。以此类推。出现getWordNumber(1)时满足if条件得出getWordNumber(1)的值,再把getWordNumber(1)的值套入getWordNumber(2)中得出getWordNumber(2)的值,以此类推。最终返回10天的总词数。 ps:return getWordNumber(n-1)+n............中的(n-1)是为了递归调用前一天的值,后面的n是当天学习的单词量。
    查看全部
  • C语言中的32个关键字及其意思 auto 局部变量(自动储存) break无条件退出程序最内层循环 case switch语句中选择项 char单字节整型数据 const定义不可更改的常量值 continue中断本次循环,并转向下一次循环 default switch语句中的默认选择项 do 用于构成do.....while循环语句 double定义双精度浮点型数据 else构成if.....else选择程序结构 enum枚举 extern在其它程序模块中说明了全局变量 float定义单精度浮点型数据 for构成for循环语句 goto构成goto转移结构 if构成if....else选择结构 int基本整型数据 long长整型数据 registerCPU内部寄存的变量 return用于返回函数的返回值 short短整型数据 signed有符号数 sizoef计算表达式或数据类型的占用字节数 static定义静态变量 struct定义结构类型数据 switch构成switch选择结构 typedef重新定义数据类型 union联合类型数据 unsigned定义无符号数据 void定义无类型数据 volatile该变量在程序中执行中可被隐含地改变 while用于构成do...while或while循环结构
    查看全部
    37 采集 收起 来源:有名有姓的C

    2015-03-01

  • 修行千日,不若一朝悟道,悟即达。递归看似很难理解,如果直接用数学方程的方式来帮助写递归程序就简单多了。就比如这道猴子吃桃子的问题,直接从问题入手列出方程式,第一天的桃子为f(1)=(f(2)+1) * 2这就是第一天所有的桃子,其中f(2)为第二天所有的桃子,将f(1)中的1换成n,将f(2)中的2换成n+1就成了f(n)=(f(n+1)+1) * 2这样方程出来了,接下来把他变成递归程序,f(n)换成getPeachNumber(n),(f(n+1)+1) * 2换成(getPeachNumber(n+1)+1) * 2并把他放入函数体,这样一个递归函数基本就有运算部分了,然后结束条件从题面里自己找找也就能搞定了。之前看了好多遍的递归函数,每次都不知道怎么写,这次再看在纸上写思路的时候突然发现了这个方法,从中也体会到了,编程里面的函数和数学中函数的丝丝缕缕的联系。
    查看全部
  • 很多同学都卡在了getWordNumber(n-1)+n这一块,表示理解不能,说下自己的浅见。

    原例子中的getWordNumber(n-1)+n这种写法比较有误导性,我盯着这段代码看了半小时也没反应过来,但是如果把代码写成这样:

           return n+getWordNumber(n-1) ;

    是否清晰了很多?

    参数n现在要相加的是参数为(n-1)的整个getWordNumber()函数,那么这个时候就要计算getWordNumber(n-1)的值,需要走一遍函数中的if else语句才能求得。举个例子:

    当n==3的时候,要计算 getWordNumber(3),此时函数内n+getWordNumber(n-1)就变成了3+getWordNumber(3-1)。

    注意,这时getWordNumber括号里的参数n变成了实参2,但是我们现在并不知道函数getWordNumber(2)的值,需要再次把实参2代入函数中的if else语句里进行运算,此时n+getWordNumber(n-1)就变成了2+getWordNumber(2-1),此时参数n又变成了1,我们依旧不知道getWordNumber(1)的值,依旧把实参1代入函数,发现

    if(n == 1)

        {

            return 1;  

        }

    此时函数getWordNumber(1)就求得了值=1,有了getWordNumber(1)的值就能求得getWordNumber(2)=3,接下来便能求得getWordNumber(3)=6,所以getWordNumber(3-1)+3的值等于6。

    打个比方,就像用英英词典查一个单词,发现英文解释中有个单词还是不认识,于是接着用这本词典查这个不认识的词,然后发现解释里还是有一个不认识的单词,于是接着查第3次,第4次...查到最后一次终于没有不认识的单词了,一路回溯,才能知道查的第1个单词是什么意思。

    这个比方中的词典就是递归函数,单词就是函数中的参数。

    编程新手,如有误,轻拍。

    查看全部
  • int a = 3; b = 4;计算a+b%(a+b)/a+a*b-b该算式的运算结果: =3+4(3+4)/3+3*4-4 =3+4%7/3+12-4 =3+4/3+12-4 =3+1+12-4 =12
    查看全部
    33 采集 收起 来源:练习题

    2015-09-21

  • 这一节需要用到一个技巧,怎么获得一个数的百位,十位和个位。
    百位数:num/100可以获得,因为int是整数型,小数部分会省略。比如765/100的结果是7
    十位数:num%100/10。比如765%100先得到65,65/10得到6
    个位数:num%10。765%10得到5
    则可以分别得到三个位数分别是7,6,5

    查看全部
  • 因为文件hello.c的printLine()函数和test.c中的say()函数是被相互引用的,因此这两个函数都应为外部函数,在两个文件中都必须声明引用。所以小编的答案是错误的!具体代码如下: 补充:extern的主要作用不在于定义外部变量或函数,而在于引用定义,如果在其他编译器中去掉#include”test.c",不然会出现重定义(例如visual studio)。 hello.c文件中: #include <stdio.h> #include "test.c" //引用test.c文件 extern void say(); void printLine() //这里定义的方法对吗? { printf("**************\n"); } int main() { say(); return 0; } test.c文件中: #include <stdio.h> extern void printLine(); void say(){ printLine(); printf("I love imooc\n"); printf("good good study!\n"); printf("day day up!\n"); printLine(); }
    查看全部
  • auto变量结束一次循环后会进行初始化 static变量结束一次循环后会保持上次循环结束时的值 register变量是调用局部变量的值放在cpu的寄存器中 extern变量声明的是外部变量 可以调用在该函数之后定义的变量
    查看全部
    29 采集 收起 来源:变量存储类别

    2017-02-17

  • 特别要注意的是 4%7中4为被模数,当模数小于除数是等于它本身
    查看全部
    29 采集 收起 来源:练习题

    2016-08-06

  • m=2时

    n=2;n<2(为假,直接结束循环)执行下一步if(m==n)为真,输出m的值2

    m=3时

    n=2;n<3(为真);执行下一步if(m%n==0)(为假,不执行break),继续循环,n++(此时n=3),

    n=3;n<3(为假,直接结束循环)执行下一步if(m==n)为真,输出m的值3

    m=4时

    n=2;n<4(为真);执行下一步if(m%n==0)(为真,执行break,跳出循环),执行下一步if(m==n)为假,不输出m的值

    以此类推

    因为任何数都能被1和本身整除,所以n的初始值为2,n<m

    m除以n,比如12能被2,3,4,6整除,而当除到2的时候就已经知道不是质数了,没必要再循环下去了,所以用break跳出循环


    查看全部
  •  printf("x%%y=%d\n",  x%y   ); 多加一个%,只有一个的话,系统会认为是格式符号,两个%%意思是告诉系统,这里是个%。

    查看全部
    26 采集 收起 来源:算术运算符

    2018-06-23

  • char:用于储存单个字符。例如:chaer sex=M(字符型) int:储存整数。例如:int height=18(整形) float:用于储存小数。例如float price=11.1(单精度浮点型) double:储存为数更多的小数。example:double pi=3.1415926
    查看全部
    23 采集 收起 来源:基本数据类型

    2016-08-02

首页上一页1234567下一页尾页

举报

0/150
提交
取消
课程须知
本教程仅仅是C程序设计的入门教程
老师告诉你能学到什么?
什么是程序; 什么是程序结构; 什么是函数; 什么是数组.

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!