提到初学者,大家应该都熟悉,有朋友问c语言必背代码,另外,还有人想问初学者怎样自学编程,这到底怎么回事呢?事实上代码写不出来怎么办呢,今天我们就来看看初学者怎么写代码,希望大家会喜欢。
初学者怎么写代码
5.
#include<stdio.h>
void main(){
int i,j;
for ( i = 1; i <= 4; i++) {
for (j = 1; j <= i; j++) {
printf(" ");
}
printf("****\n");
}
}
}
6.
#include<stdio.h>
void main(){
int a,b,c;
printf("请输入三个数:");
scanf("%d,%d,%d",&a,&b,&c);
if (a>b&&b>c) {
printf("最大的数是:%d\n",a);
}else if (a>c&&b<c) {
printf("最大的数是:%d\n",a);
}else if (b>a&&a>c) {
printf("最大的数是:%d\n",b);
}else if (b>c&&c>a) {
printf("最大的数是:%d\n",b);
}else{
printf("最大的数是:%d\n",c);
}
}
1、找人教,找资料
新接手一个代码,怎么看最快?看书?自己调试?都不是,是找之前写这个代码的人耐心讲给你,不过工作了就发现大家不一定都这么好心。不过万一呢,万一你遇到好人了呢,先找人,再找文档。
怎么找人?查看git历史,查看代码中的注释。看开源代码怎么办呢?这个是另一个神奇技能---社会工程学,想办法通过注释和社工找到开发者的邮箱和联系方式。找到人找人教你如何运行或者发给你文档什么的。找uml设计图。
2、跑起来
想办法先把代码跑起来。为什么跑起来这么重要。跑不起来的代码没办法调试和打log。
3、断点调试,单步调试
上学的时候写hello world,当时实在没懂得gdb什么的是干什么用的,但是上了班发现模块很多会遇到一些理解不了的bug,不过断点调试然后单步调试查看当时的变量就清楚了。断点调试就是设置一个断点让代码运行到指定的地方,单步调试就是运行到你想要的地方的大概位置开始让程序一步一步跑。
4、打印各种日志
看控制台log
写文件log
自己做一个控制台
安利应该看看Effective Debugging这本书。
5、历史
大树不是一天长成的,罗马不是一天建成的。
拖进source tree,查看提交代码的历史更改。
git log会告诉你为什么这行代码这么写。
git blame for line会告诉你这个代码是谁写的。
当项目非常大的时候出于学习目的可以找最早的tag来进行理解。100.0的tag看不懂就先把tag切换到0.0.1的代码来读。
初学者请教几个java入门问题 如何写以下的代码?希望尽量简单。 谢谢
public static void main(String[] agrs){
System.out.println("正的加空格等腰三角形");
System.out.println("-------------------------------------------------");
for (int row = 0; row < 5; row++) {
for (int col = 1; col <= row; col++) {
System.out.print(" ");
}
for (int col = 5; col > row; col--) {
System.out.print("* ");
}
System.out.println();
}
System.out.println("倒的加空格等腰三角形");
System.out.println("-------------------------------------------------");
for (int row = 0; row < 5; row++) {
for (int col = 5; col > row; col--) {
System.out.print(" ");
}
for (int col = 0; col <= row; col++) {
System.out.print("* ");
}
System.out.println();
}
for (int row = 1; row < 5; row++) {
for (int col = 0; col <= row; col++) {
System.out.print(" ");
}
for (int col = 5; col > row; col--) {
System.out.print("* ");
}
System.out.println();
}
System.out.println("实的菱形");
System.out.println("-------------------------------------------------");
for (int row = 1; row <= 5; row++) {
for (int col = 5; col >= row; col--) {
System.out.print(" ");
}
for (int col = 1; col <= 2 * row - 1; col++) {
if (col == 1 || col == 2 * row - 1) {
System.out.print("*");
} else {
System.out.print(" ");
}
}
System.out.println();
}
for (int row = 1; row <= 5; row++) {
for (int col = 1; col <= row + 1; col++) {
System.out.print(" ");
}
for (int col = 1; col <= 2 * (4 - row) + 1; col++) {
if (col == 1 || col == 2 * (4 - row) + 1) {
System.out.print("*");
} else {
System.out.print(" ");
}
}
System.out.println();
}
System.out.println("空的菱形");
System.out.println("-------------------------------------------------");
for (int row = 1; row <= 5; row++) {
for (int col = 5; col >= row; col--) {
System.out.print(" ");
}
for (int col = 1; col <= 2 * row + 7; col++) {
// 判断行数是第一行要奇数打*
if (row == 1 && col % 2 == 1) {
System.out.print("*");
// 判断行数是第一行要偶数打空格
} else if (row == 1 && col % 2 == 0) {
System.out.print(" ");
// 判断行数是第一行和最后一行打*
} else if (col == 1 || col == 2 * row + 7) {
System.out.print("*");
} else {
System.out.print(" ");
}
}
System.out.println();
}
for (int row = 1; row <= 4; row++) {
for (int col = 1; col <= row + 1; col++) {
System.out.print(" ");
}
for (int col = 1; col <= 2 * (8 - row) + 1; col++) {
if (row == 4 && col % 2 == 1) {
System.out.print("*");
} else if (row == 4 && col % 2 == 0) {
System.out.print(" ");
} else if (col == 1 || col == 2 * (8 - row)+ 1) {
System.out.print("*");
} else {
System.out.print(" ");
}
}
System.out.println();
}
System.out.println("掏空的六边形");
System.out.println("----------------------------------------------");
System.out.print("请输入圆半径:");
Scanner input = new Scanner(System.in);
paint(input.nextInt());
System.out.print("请输入5位数");
int num = input.nextInt();
String numNew = num+"";
String str ="";
for (int i = 0; i < numNew.toCharArray().length; i++) {
str += numNew.toCharArray()[i]+" ";
}
System.out.println(str);
}
public static void paint(int r){
//设圆心在(r,r)处,控制台起始点为(0,0),把由此建立的直角坐标系的第四象限看成第一象限
int x = 0;//x坐标
int y = 0;//y坐标
int c = 0;//左右两个*之间的空格数
int z = 2;//用于控制纵横比,设为2刚刚好
for(int i = 0;i <= 2*r; i += 2){
//先获取每一行左边*号的坐标X
x = getX(r,y);
//打印第一个*号之前的空格和*号
System.out.print(getSpace(x) + "*");
//打印两个*号之间的空格
c = 2 * (r - x);
System.out.println(getSpace(c) + "*");
y += 2;
}
}
public static int getX(int r,int y){
//由直角三角形勾股定理可以得到圆的边上的点的横坐标x
return (int)Math.round((r - Math.sqrt(r * r -(r - y)*(r - y))));
}
public static String getSpace(int s){
String space = "";
for (int j = 0;j < s;j ++){
space += " ";
}
return space;
}
看看行不行 应该能明白吧 不明白你在问,希望能帮到你
新手如何学习编程?
刚开始学习编程语言,要怎么去做,动手编写一个编译器,学习一下较为底层的编程方式,是一种学习计算机到底是如何工作的非常有效方法。编译器通常被看作是十分复杂的工程。事实上,编写一个产品级的编译器也确实是一个庞大的任务。但是写一个小巧可用的编译器却不是这么困难。
这个秘密是,首先介绍编程入门教程,找到尽可能小的项目,然后想要的功能加入。这种方法也意味着在他那篇著名的文章中提到的“一个编译器构造的快捷方式”阿卜杜勒阿齐兹Ghuloum说。但是这种方法确实工作。只需要按照第一步操作本文中,可以得到一个真正可用的编译器。当然,它只能被编译的编程语言是非常小的子集,但它确实是一个真正的编译器可用。你可以自由地扩展这个编译器,然后了解更多,更深的了解。
从某种意义上来说这比写一个scheme的编译器要困难一些(因为必须去解析C那复杂的语法),但是在某些方面又很便利(不需要去处理运行时类型)。要写这样一个编译器,只需要从那个可用的最小的编译器开始。没有变量,没有函数调用,没有额外的依赖,甚至连if语句,循环语句都没有,一切看起来是那么简单。
踏出了编程入门教程第一步,接下去怎么做就全看自己了。可以按照文章所指导的全部做一遍,然后制作一个更加复杂的编译器。需要去写一个更加精巧的语法树来生成汇编代码。接下去的几步分别是:(1)允许返回任意的值(比如,return3; 一些可执行代码);(2)添加对“非”的支持(比如,return ~1; 一些可执行代码)。每一个额外的特性都可以教你关于C语言的更多知识,编译器到底是怎么执行的,以及世界上其他编写编译器的人是如何想的。这是构建 babyc 的方法。Babyc 现在已经拥有了if语句,循环,变量以及最基础的数据结构。
下面给大家展示一下国内最权威的.net训练营学习路线图:
初学者怎样学习编程?有哪些方法?
初学者学习编程的方法如下:
1、 打好基础
当你开始学习编程的时候,首先你要确定的东西是“基础”。要打好基础,你需要学习计算机科学。现在,我们可以在网上找到很多针对初学者的课程。互联网的确为初学者提供了便利,使你可以通过网络找到大量有用的信息。因此,你得花时间研究一下这些信息,从中选择最适合自己需求的。
2、建立耐心
作为一名程序员,要想获得成功,首先要建立耐心。它可以令你在经历了无数次打击后仍然能够站起来,让你随时作好准备应对失望。耐心可以帮助你成为一个更出色的问题终结者,它还可以提高你对计算机的认识。计算机的概念是很复杂的,它要求要灵活,耐心和努力工作去理解它。绝大多数时候,当初学者开始学习编程的时候,他们并没有正确的期望。在初学阶段,你不要期待想获得一切,寄望过于乐观是危险的。
3. 设定目标并向目标前进
设定目标是一种有力的,有激励性的方法,鞭策着你不断进步。例如,当你开始学习PHP的时候,你可以设定一个目标,要求自己完成一个简单的项目。一旦你的目标达到了,再设定另一个,并重复这个循环。 编程的学习和提高是永无止境的,因此不断地为自己设定目标,而且不要忘了你的主要目标。
4、多做项目
通过做更多的项目,你不仅可以了解你自己的局限性,而且可以提高你分析和解决问题的能力。毕竟,学习代码不完全是只学习语法,而是要学习如何使用手中的工具去解决问题。
5、参与社交编程
学习写代码从来不是“一个人在战斗”。如果你觉得不需要任何帮助就可以创建一个更大的应用软件,那么你就错了。事实上,编程是一项集体活动,如果你想坚持下来,你需要从各种社交平台上获得帮助。
6、平衡好你的学习
作为一个开发人员,能力的提升是永无止境的,而持续的无助感只是作为一个开发者的一部分而已。新技术的诞生不会令开发者轻松下来,因为他们需要不断地提升自身的能力来适应市场的要求。
作为初学者,你应该随时准备学习新的东西。即使是有经验的开发者,他们也会对自己的能力缺乏信心,因为市场上会不断有新的工具,技术和标准涌现,这需要开发者与时并进,才能跟得上变化。但这并不是说你得知道一切事情,只要了解你要了解的事情就可以了。关键是不要停止学习新的东西。
7、学习算法
当你获得一定的项目经验后,你就应该开始学习算法了。 算法是构成计算机科学的核心。无论你是正在做网页开发还是游戏开发,你总得使用算法来实现最终的结果。
初学者用什么软件写html代码?
破解软件一大堆! 要什么费啊!可以试试webstorm 和sublime (这两个也是付费,但是网上有破解的)或者是国产的Hbuilder(免费)。这些都是带有提示功能的,方便你学习!但是初学者别偷懒,即使提示出来了 也要自己打出来,别偷懒!
java初学者怎么练习编写代码
1,JDBC数据库连接
2,html静态网页设计
3,Servlet的应用
4,MVC设计思想
5,javaWEB ,jsp页面设计
6,小型项目实践
7,Struts框架学习
8,大型项目实践 以上的各个部分在实际工作应聘中缺一不可,给自己一个系统的学习计划,结合书籍和相关视频,多巧多练,必须勤动手多打代码~~
代码还是写不出来,初学者?
找教材上与要求相近的编程例子,一般稍加改动即可解决问题,要在理解的基础上改动
初学者学单片机C语言是从0到1开始写代码还是修改别人的代码学习更好?
如果是学习,建议从0到1,但也不是完全闭门造车,要学会参考别人的思想,代码的细节实现一定要亲自去实现,我就是这么过来的,虽然前期比较难比较辛苦,但是后面会感觉比别人更轻松;而且感觉自己越学越容易,我上学时很多人都是从改别人程序开始,发现到后面他们还是只能去改别人代码,没能力自己从头去实现一个功能;主要是在这样一个学习过程中,不断遇到问题,查找资料,解决问题,对于单片机的运行原理会理解更加深入;始终去修改别人代码是无法对底层原理有更加深入理解的;
做单片机就要做到写一条C语言能够知道最后大概被转化成了什么样的汇编代码,单片机又是如何运行这些代码;只有对底层有了足够的了解,你写出的代码才能高效;
初学者如何学习网页设计、写代码类?
你可以到网上搜索w3cschool,专门学网页一类的,边看边学,同时可以看一下教学视频,51rgb网的视频还是很不错的