20165235 Learning Basics and C-language basic survey
- First question: What skills do you have that are better than most people (more than 90%)? Feeling very difficult to answer this question, in fact, I am interested in a lot of things, if you want to come up with a more prominent skills, I feel that is chess and calligraphy. I dare say it is better than most people, but it is relatively good among amateurs.
- What are your successful experiences with the acquisition of this skill? The first most important thing to acquire this skill is the interest in it, because interest is the best teacher of the person. Because my love of chess and calligraphy led me to want to study. The second is to insist, if you want to really master a skill will have to adhere to practice, and constantly improve their skills.
For the third question: what are the similarities with the learning experience in the teacher's blog? In the teacher's blog, "Excellent teaching methods---Coaching and doing high school" also contains relevant content
Skill enhancement should be "deliberately trained"
Low-level repetition doesn't work, and training time is no longer useful.
To get rid of "comfort zone", go to "learning area" to learn
We have to step into the panic zone.
--Quoting from "excellent teaching methods---Coaching and doing high school"
Each of us should learn to "do high school (learning by Doing)" to practice repetitive exercises for a particular technology or skill, to be proficient in it, and to think in the course of the practice in order to translate what you have learned into your own knowledge.
A survey on C language learning
- How do you learn C language? (Homework, experiment, textbook, others), what are the experiences and lessons of C language learning compared to your superb skills? In the study of C language in the first class when the serious listening, and then after class to do some exercises (knock over the code on the textbook or do campus online questions), in the classroom as much as possible to absorb for their own things. Want to learn a skill the most important thing is to continue to practice, to ensure the amount, because quantitative change is the precondition of qualitative change, but also can not be ignorant of the amount of seeking, but also to ensure that every practice is effective.
- How many lines of C code have you written so far? What is the understanding? Quantitative change caused qualitative change, how to balance the quality and quantity? I may have written at least 3000 lines or more, but there are some rare places, but overall it's good. In every C language practice to maintain the amount, but also can not only guarantee the quantity, also must pay attention to the quality, in the effective many times the practice can have the harvest.
- Learned the C language, you divide the array pointer, pointer array, function pointer, pointer function these concepts?
- Array pointers: pointers to arrays
- Array of pointers: Elements inside an array are pointers, arrays of pointers are stored
- function pointer: A pointer to a function containing the address of the function, calling the function
- Pointer function: When a function declares its return value as a pointer, returns an address to the function for an expression that requires a pointer
- Have you learned the C language, do you understand the differences and connections between files and streams? How do I differentiate between text files and binaries? How do I programmatically manipulate these two files? I do not know about this knowledge, I will go through Baidu to understand.
- Have you learned C language, do you know what is process-oriented programming? What is the way it solves the problem? Process-oriented programming is the main goal of what is happening to program, the solution is to solve the problem of the process of programming to solve.
- What is a module in C language? Have you ever written a program for multiple source files?
module is to separate the program according to the responsible part, split into multiple parts, and then assembled into a complete program. The source file program has not been written.
Have you learned the C language, do you know what is "high cohesion, low coupling"? How does this principle apply to high-quality programming? High cohesion refers to the elements of a module close, low coupling refers to the module between the independence of strong, we should try to meet this basic principle in the design, so that the function of each module independent, program design ideas clear. From "What is" high cohesion, low coupling "
- Having learned C, how do you copy the contents of array A into array B? How do I find the number 5 in an integer array a? How do I sort an integer array a (small to large, from large to small)? Write the appropriate program.
Array A is copied to array B:
#include <stdio.h>#include <stdlib.h>main(){ char a[200] = "\0",b[200] = "\0"; int i; printf("Input:\n"); scanf("%s",a); for(i = 0;a[i] != ‘\0‘;i++) { b[i] = a[i]; } printf("%s\n",b);}
Find out if 5 exists:
#include <stdio.h>#define N 100int main(){ char a[N] = "\0"; int i; printf("Input:\n"); scanf("%s",a); for(i = 0;a[i] != ‘\0‘;i++) if(a[i]==5) printf("5 is existent."); return 0;}
Ascending as follows, descending the same
#include<stdio.h>main(){ int i, j, temp, a[10]; printf("ten numners:\n"); for (i=0;i<10;i++) scanf("%d",&a[i]); printf("\n"); for (j =0; j<9;j++) { for (i=0;i<9-j;i++) { if (a[i]>a[i+1]) { temp =a[i]; a[i]=a[i + 1]; a[i+1]=temp; } } } printf("The sorted numbers:\n"); for (i = 0; i < 10; i++) printf("%d ", a[i]); printf("\n");}
- Write a program that counts how many lines of code your C language has written.
First I don't know how to write this code, I think I can calculate "/0" or ";" The number of. I learned the code of other people on Baidu, first to seize a keyword EOF, which is a computer term for the end of the abbreviation of file, in the operating system to indicate that the data source no more data can be read. A data source is often called a file or stream. Can be understood as line breaks.
#include<stdio.h>int main(){ int n = 1; int c; while((c = getchar())!=EOF) { if(c == ‘\n‘) n++; } printf("%d\n",n); return 0;}
- How do I write and save a source file in Java? How to correctly understand the anti-compilation?
- How to correctly understand two arrays of the same type if they have the same reference, they have exactly the same elements?
- How to use the "XOR" operation correctly?
- What is the difference between a struct in a class and a C language?
- The use meaning of abstract class and the inability to understand the open and closed principle
- What is the difference between an abstract class and an interface?
- Use the Try~catch statement to handle the difference between an exception and a C language Case~default statement?
- How does an integer class invoke its class?
- JFrame () How to create a window
- How is the byte input (out) stream connected to the character input (out) stream?
- How to connect to a MySQL database
- What is the difference between a process and a thread?
- How do I read the resources in the URL?
- How do I perform a Boolean operation on a graph?
- The use of linked lists (difficulties).
- First, think independently and learn to solve problems on your own. Really can not solve the problem through the network, teachers, classmates and so on to solve.
- To learn a lot of code, try to put the code on the textbook to knock over, which can be born skillfully, strengthen the understanding of the code.
- Independent to write some code to solve some practical problems, usually also to see some of the algorithm books, learning some algorithms, enhance their code writing ability. Read more about the major of the book, strengthen their professional knowledge.
To learn to adhere to, and strict demands on themselves, only in this way to learn something.
The most effective way to get started with programming is to actively tap the code.
--Quote and active tapping code, using JUnit to learn Java
20165235 Learning Basics and C-language basic survey