学习基础和C语言基础调查
技能的学习
说到比大多数人都擅长的技能,我可能是最有发言权的人了。从小我就因为不愿意出门和别的小朋友玩被妈妈强制报名了一系列的特长班,各个方面无所不包。其中我最喜欢的当属书法。不仅是因为和教书法的老师关系好,更多的我沉醉于用毛笔的笔锋转碾之间一笔勾勒出的美妙。书法的学习没有捷径可走,每个人都要从端正的楷书开始,从“一”开始,练习每一个笔画的书写。这一点上和娄老师练习挥拍动作有异曲同工之妙。学习完楷书之后,再临摹行书、隶书、篆书等等,练得其实就是对毛笔的把控。你说一个人照着字画画,谁不会呢;但是要用毛笔一笔一画地写出这个字,不在笔画上填填补补,不是一两天的学习就能做到的。就像用拍子把乒乓球打到对面球桌上,谁不会呢;但是要打的有力度,有角度,还能接得下快速袭来的球,是一天两天的学习就能做到的么?
当然,一味的临摹并不会造就大家,真正的水平会随着时间的积累沉淀,慢慢的变成自己的东西,。有三四年没有动毛笔的我上了大学之后再次提笔,写的竟然比小时候写的还要好。年龄的增长也会带来质的改变,从“写字”变成“书法”,对字的结构和美感有了更深的认识。本周我几乎所有的时间都在写对联,从最初的生涩不敢提笔,到前几天每天从上午再到下午两点写到九点丝毫没有停歇,沉醉于其中无法自拔。我们那里小有名气的书法家申老师这样说:“如此才算入了道了。”
C语言学习情况
- C语言的学习有什么经验和教训?
C语言的学习主要依靠老师提供的作业系统,在上面不停地练习,参考答案给出的代码,学会各种各样优秀的算法和语句,再投入到下一次的练习中。和书法的学习一样,从临摹学习,渐渐地变成自己的东西。只是相对于书法的学习,我对C语言的学习并没有如书法般热爱,并未进行大量与持久的训练,现在脑子里已经不剩多少东西了。
- 自己写过多少行C代码?理解的情况如何?量变引起质变,如何平衡质和量?
估计写过3000行左右的代码,但是很多都是重复的、简单的、为了刷分所做的无用功,对于更加困难的、难理解的题目以及代码算法不敢于尝试。所谓量变也未引起质变,只是一个比较平庸的C语言使用者。
- 数组指针:本质是指针,是指向数组的指针。
指针数组:数组元素全为指针的数组,本质是数组。
函数指针:并不清楚。查阅资料后解释为“指向函数的指针变量”。
指针函数:返回值为地址的函数。
- 你明白文件和流的区别和联系吗?如何区分文本文件和二进制文件?如何编程操作这两种文件?
并不理解,以下概念参考自百度百科
流:流就是一个类的对象,很多文件的输入输出操作都以类的成员函数的方式来提供。
文件:文件是计算机管理数据的基本单位,同时也是应用程序保存和读取数据的一个重要场所。每个文件都有文件名、文件所在路径、创建时间及访问仅限等属性。
并不会区分文本文件与二进制文件,也不会编程实现。
- 你知道什么叫面向过程程序设计吗?它解决问题的方法是什么?
是一种以过程为中心的编程思想。这些都是以什么正在发生为主要目标进行编程,不同于面向对象的是谁在受影响。
逐步实现。分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了。
- 什么是模块?你写过多个源文件的程序吗?
将程序根据功能划分为各种各样的模块,最后再将模块拼接成完整的程序。
没有写过。
- 你知道什么是“高内聚,低耦合”吗?这个原则如何应用到高质量程序设计中?
并不知道,看过参考资料后仍一头雾水,C语言基础并不扎实。
- 你如何把数组A的内容复制到数组B中?
#include <stdio.h> #define N 20 int main() { int i; char A[N] = "\0",B[N] = "\0"; printf("Input:\n"); scanf("%s",a); for(i = 0;a[i] != ‘\0‘;i++) { b[i] = a[i]; } printf("%s\n",b); return 0; }
- 如何查找整数数组A中有没有数字5?
#include <stdio.h>
main()
{
int A[5]={1,9,6,5,4};
int i;
for(i=0;i<5;i++)
{
if(A(i)==5)
{
printf("数组中有数字5");
break;
}
}
}
- 如何对整数数组A进行排序(从小到大,从大到小)?
#include <stdio.h> main() { int A[5]={1,9,6,5,4}; int i.j; for(i=0; i<5; i++) for(j=0; j<4-i; j++) if(A[j]>=A[j+1]) { temp=A[j]; A[j]=A[j+1]; A[j+1]=temp; } for(j=0; j<5; j++) { printf("%d\n",A[j]); } }
若要从大到小,
将以上程序中“if(A[j]>=A[j+1])”改作“if(A[j]<=A[j+1])”即可。
- 写一个程序,统计自己C语言共写了多少行代码
并不会。没有思路。之前写的代码也没有留存。
- 你知道什么是断点吗?
设置断点后,程序自动编译时会在断点处停止。可通过断点的设置检查程序中的错误。
- 快速阅读一下PPT,每章提出一个问题
- Java的优越性实际体现在现实应用中是怎样?
- Java中数据结构类型与C有很多的相同之处,具体学习时如何过度?
- instanceof运算符的作用是什么?
- 当实体对象作为参数时是值传递还是引用传递?
- 子类和父类的面向对象之间的转换关系是什么?
- import语句的用法在PPT中例子不足,不能看懂。
- 断言功能能否使用if语句实现。如何在代码运行时关闭断言语句。
- 引用和实体的区别是什么?
- 如何判断各种事件类型。
- 流的使用方法是什么。
- JDBC连接的方法,查询功能的实现。
- 线程创建的两种方法并不能很好地理解。
- 为什么UDP的信息传递安全性更差。
- 布尔运算就是图形搜索引擎的基础么?
- 集合的使用不是很懂。
关于Java的学习
就和书法的学习一般,我希望自己能够沉浸于其中,多加练习,并不止步于普通的编程语言,更深刻地理解java的优越性。
以大量的训练为基础,加之适当地指点与突破。C语言的学习对我来说总体上是失败的,总觉得并没有在脑子里留下什么东西。java的学习中定不会重演。
原文地址:https://www.cnblogs.com/jph596299009/p/8413854.html