求讲解这个的含义 怎么输出的那些数字 求给建议 新手怎么学c语言啊 完全不知道这些代码该怎么算

#include<stdio.h>
void main()
{ int j,k,s1,s2;
s1=s2=0;
for(j=1;k<=5;j++)
{s1++;
for(k=1;k<=j;k++)
s2++;
printf("%d %d",s1,s2);

}

}

初学C语言程序设计的基本方法和技巧

C语言是一门应用最广泛的基础高级编程语言,有很多语言都是由它发展而来的,所以学习好C语言之后再学习任何一种编程语言都会轻松上手。

1 熟记基本知识点

学习C语言和学习任何一种语言的方法基本一样。我们婴儿期间咿呀学语时,从一个字开始学,然后两个,接着更多,最后我们能成句,成段,到出口成章。学习C语言的时候也一样,有些最基本的内容必须要记下来。
1.1 关键字
关键字是由C语言规定的具有特定意义的字符串。它们是写C语言的基础,如果关键字不记下来,那编程是寸步难行。
1.2 运算符
C语言中的运算符和表达式与我们数学上的运算符和表达式有相同的,也有不同的。我们在学习的时候就注意记住并弄清楚那些不同的地方。基本的语法表达式及执行过程。选择结构中的if语句和switch语句。循环语句中的for语句、while语句和do-while语句。这部分就好比是你会了许多词,然后得把这些词组成一些句子,语法的作用就是告诉你怎样说好一句话,表达清楚的意思。
1.3 常用库函数
在这里最重要有两个函数:输入函数scanf()和输出函数printf()。一个程序如果没有输入,那无论运行多少次结果都一样,那也就失去了写程序的目的了。同样一个程序如果没有输出,那运行程序有什么意义呢?当然输出的形式比较多。在初学C语言的时候主要是从屏幕上输出结果。所以这两个函数的使用方法也必须要掌握。这两个函数已经定义在stdio.h这个头文件中,不用我们自己写,它们不是C语言中的语句,所以在使用这两个函数时在源程序顶部一定要加上#include 。这是为了让我们在执行程序的时候,让计算机知道scanf()和printf()这两个函数怎么用。
掌握上面的必须要记下来的内容,相当于我们开始学说话时先听别人说,我们自己跟着学一些最基本的日常语言。这时我们就可以从一些简单的程序开始读,能把每一个程序的运行结果能自己读程序准确地执行出来,那样我们就可以开始来编写程序了。

2 掌握程序的基本结构

编写程序一定要注意程序的结构性。学习写程序,不能开始就写代码。许多人在动手写程序的时候感到无从下笔。原因主要是:看到一个题目不知道如何去分析,它怎么才能变成一个程序呢?这是初学者在编写程序的主要问题。我在教学中采用了一种分步式的方法。
2.1 看到一个题目的时候先别想着编程序,用一个具体的实例想想不用程序你是如何解决这个问题的
例如输入三个数,输出最小值。我们用3,8,6三个数来考虑,我们一看就知道3是最小的。可是我们这一看中其实并不简单,其中有判断。我们先看第一个数3,然后已经记在我们头脑中了,再看第二个数8,3比8小,那我们还是记住3,再比较第3个数6,最后确定3是最小的。我们现在就是要把我们头脑中很快闪过的这些判断过程想清楚。
2.2 我们要弄清楚一个程序由哪些部分组成
这就好比我们写一篇文章也有一些结构。一个C程序也有其一般结构,我把它归纳成下面格式。
#include
main()
{
定义变量;int,float,char,double
输入数据;键盘输入scanf();
直接赋值;例如x=3;
处理数据;if-else;switch;for;while;do-while;
输入数据;printf();
}
第一行代码表示把标准的输入输出头文件包含在这个程序中。第二行代码是C程序的主函数,每个C程序中必须有且仅有一个main()函数。然后是函数的一对“{}”。
定义变量的意思好比买一块地,有了这块地就可以在上面盖房、种庄稼之类的。但是为了便于统一管理,比如城市已经规划好了,你在郊区买的地就只能种庄稼,在市中心买的,就只能盖房,这就是变量类型的含义了。用上面求最小值的例子。我们在三个数中求最小值。这三个是什么数,是整数还是小数?这就必须用变量类型来说明。对于上例应该定义三个整型变量用来存放三个整数,还要定义一个整型变量用来存放最小值。如:int a,b,c,min;这行代码的作用其实是要了一块内存,然后在这块内存里存东西。因为我需要一个整数,所以就用int这个关键字来声明(相当于用这块地干什么)。那么变量a,b,c是什么呢?你买了一块地,总要知道这块地在哪是吧?不然就白买了,变量就是这样一个作用。我们需要把数据存在计算机中,什么样的数就定义什么样的类型,需要存几个数就定义几个变量。
输入数据有两种方法。第一种从键盘输入,就需要用到scanf()这个函数;第二种是直接赋值。
处理数据是对于初学者来说最难的一部分,也就是把我们刚才分析过程转换成语句。这需要学好C语言的三种程序结构。
(1)顺序结构
顺序结构的程序设计是最简单的,只要按照解决问题的顺序写出相应的语句就行,它的执行顺序是自上而下,依次执行。顺序结构可以独立使用构成一个简单的完整程序,不过大多数情况下顺序结构都是作为程序的一部分,与其它结构一起构成一个复杂的程序,例如分支结构中的复合语句、循环结构中的循环体等。
(2)选择结构
对于要先做判断再选择的问题就要使用分支结构。选择结构的执行是依据一定的条件选择执行路径,而不是严格按照语句出现的物理顺序。选择结构的程序设计方法的关键在于构造合适的分支条件和分析程序流程,根据条件的结果选择对应的分支语句。选择结构适合于带有逻辑或关系比较等条件判断的计算,设计这类程序时往往都要先绘制其程序流程图,然后根据程序流程写出源程序,这样做把程序设计分析与语言分开,使得问题简单化,易于理解。程序流程图是根据解题分析所绘制的程序执行流程图。
例如上例中,把我们头脑中很快闪过的这些判断过程画成流程图即图1:

由上面的流程图再写出对应的语句就比较容易了。如下所示:
min=a;
if(min
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-10-27
这是个简单的2个for循环(for(j=1;k<=5;j++)的k应该是j吧)
j=1时候s1+1
后面在做k的循环
k为1到j,成立几次s2++几次
k结束后做printf函数输出,
后面再作j=2如此循环到j=6时候跳出
新手学c很简单 就是一个模块一个模块的学习,每个模块写好简单的代码,重点学习指针,数据结构什么的可以补充学习,然后再写一些小点的项目
第2个回答  2011-10-27
代码有两处错误,看准吧 for(j=1;k<=5;j++) 这个里面 应该是for(j=1;j<=5;j++) 还少个“}”你自己看在哪,位置不同输出就不一样。
你还是找本书学吧,想只靠网上的东西学会C是不可能的。
慢慢来
不会了再请教别人。本回答被网友采纳
第3个回答  2011-10-29
#include<stdio.h>
void main()
{ int j,k,s1,s2;
s1=s2=0;
for(j=1;k<=5;j++)
{s1++;
for(k=1;k<=j;k++)
s2++;
printf("%d %d\n",s1,s2);

}

}
显示输出1 12 33 64 105 15
是因为前一次输出跟后一次输出没有用\n或空格分开
j=1时 s1++为1,k=1 s2++为1 第一次输出1 1
第二次j=2 s1++为2,k=2 s2++2次为3 输出2 3
以此类推第三次3 6 第四次4 10
第五次5 15
可以用在printf("%d %d\n",s1,s2);这里加个\n看效果
第五次循环结束后j=6,k=6
不满足k<=5跳出循环
至于第一次为什么在K没有赋值的情况下进入循环就不知道为什么了
建议循环前给K赋值为<=5的数追问

请问为什么s2++要+2次为3?

追答

第一次S2++等于1了,第二次在第一次的基础上S2++ 两次,所以就等于3了

至于学习建议,我也是这学期刚开始学的,才学到数组
反正就是多敲敲书上的例题,先自己做,然后跟书上的答案做对比
书上如果用的了比较巧妙,简单,自己没想到的方法,就记下来

第4个回答  2011-10-27
你j,k用的很混乱,错误难免
循环直接不执行,呵呵
for(j=1;k<=5;j++)
因为k没有赋值,不知道k<=5这个的对错