20165231 预备做业二:学习基础和C语言基础调查

微信文章感想

读了娄老师微信公众号中的文章,老师给咱们的启示首先就是要坚持,万事开头难,可是只要肯坚持就必定会有所成就,无论是学习仍是生活方面。其中最有触动的就是减肥了,是我三四年来一直难以完成的目标。若是能够再立个flag,2018我要瘦。html

老师在文章中提到咱们之后必备的技能——五笔输入英语单词量。一个是做为单位职员必要的技能,信息化办公打字速度快就决定工做效率比别人高,领导固然喜欢一个办事效率高的人。五笔输入从小就是看着就切换的,彻底不懂其用法,小学大力提倡学习汉语拼音因此最最习惯的仍是拼音输入,为了效率我以为仍是能够去尝试一下五笔输入法;再有一个就是英语单词的积累量,做为与计算机有关专业的学生,拥有海量的单词积累很是有用。毕竟计算机是美国人发明的,操做系统,处理器,内存等等也用的美国人的,核心技术以及重要文献大多都是英文写的,程序语言大多基于英文来开发,学好英文有了大量单词积累了不至于看到一篇文献成了“睁眼瞎”。算法

我的技能

若是你有相似的技能获取的成功经验(学习,棋类,球类,乐器,艺术,游戏,......)数据库

若是游戏也算是的话我以为大多数男生都具有这个技能吧。可是对于我来讲个人游戏技能不算是比大多人好,游泳我很确信应该是我很拿手的技能。毕竟就有至关一些人还不会游泳,我在起跑线上就赢了。对于游泳的经验,我以为就是喜欢,多游多练习。小学时课业轻松,夏天周末或者暑假外公基本上晴天就会带着我去游泳馆去,一是避暑,二是锻炼身体吧,三是咱们家乡雨季多发大水,会游泳也是个保命技能吧。我学会游泳没有刻意去请教练或者跟教学班,本身去大池子里带浮力板天然而然就会。可是会了并不表明就优秀,在我学会游泳之后我就会和一些游得不错的同龄人或者大人交流切磋玩耍,天然而然就愈来愈好了。在我初中时参加游泳比赛得到丙组50米冠军,并以47秒50米的成绩刷新纪录。成功的经验大概就是得喜好,而后才能多作多练。不喜欢逼着来也不会有太多效果。编程

与老师博客中经验共通之处就是,贵在坚持。仍是那句万事开头难,我学游泳是在大泳池里学的,就靠一漂浮版,脚也触不到地,呛水,淹翻无数次。不经历一些困难磨难,就学会那还有什么意思呢。、小程序

C语言学习调查

  • 大一时人比较松懈学得并很差,绝大多数就是看看课本而后去平台刷题,前期刷的很少,大多数题都是后期为了凑平时分刷完了全部很是简单和简单题,因此基础感受非常薄弱。与我游泳技能比不值一提。我本身也不知道写过多少代码,期末刷进平台前十。让我看代码应该看得懂,写的话可能我逻辑不严密会致使错误百出。

量变是质变的必要准备,质变是量变的必然结果。数组

质变不只能够完成量变,并且为新的量变开辟道路服务器

——《马克思主义基本原理概论》微信

想要有个好的质变那就先得好好准备量变。多线程

  • 学过了C语言,你分的清数组指针,指针数组;函数指针,指针函数这些概念吗?

学完C语言,再通过大二上学期半年的洗礼,C语言感受忘得差很少了函数、数组、指针还有些印象,能知道大体干啥。架构

数组指针:重点在指针,表示它是一个指针,它指向的是一个数组。

指针函数:重点在函数,表示它是一个函数,它的返回值是指针。

函数指针:重点在指针,表示它是一个指针,它指向的是一个函数。

指针数组:重点在数组,表示它是一个数组,它包含的元素是指针。

  • 学完C语言,明白文件和流的区别和联系吗?如何区分文本文件和二进制文件?如何编程操做这两种文件?

文件和流,文本文件和二进制文件等等概念已经模糊了,因而我去百度了一下

文件是计算机管理数据的基本单位,同时也是应用程序保存和读取数据的一个重要场所。

流是字节序列的抽象概念,例如文件、输入/输出设备、内部进程通讯管道等。流提供一种向后备存储器写入字节和从后备存储器读取字节的方式。

文本文件是基于字符编码的文件,常见的编码有ASCII编码,UNICODE编码等等。
二进制文件是基于值编码的文件,你能够根据具体应用,指定某个值是什么意思(这样一个过程,能够看做是自定义编码)。在C语言中,文本文件操做都是由库函数来完成的。二进制文件一共要用到三个函数,fopen,fread,fwrite。二进制读写的顺序是用fopen以二进制方式打开读写文件,而后使用fread和fwrite两个函数将数据写入二进制文件。

  • 学过了C语言,你知道什么叫面向过程程序设计吗?它解决问题的方法是什么?

“面向过程”是一种以过程为中心的编程思想,就是分析出解决问题所须要的步骤,而后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就能够了。

面向过程实际上是最为实际的一种思考方式,就是算面向对象的方法也是含有面向过程的思想.能够说面向过程是一种基础的方法.它考虑的是实际的实现.通常的面向过程是从上往下步步求精.因此面向过程最重要的是模块化的思想方法.对比面向对象,面向对象的方法主要是把事物给对象化,对象包括属性与行为.当程序规模不是很大时,面向过程的方法还会体现出一种优点,由于程序的流程很清楚,按着模块与函数的方法能够很好的组织.好比拿学生早上起来的事情来讲说这种面向过程吧.粗略的能够将过程拟为: (1)起床 (2)穿衣 (3)洗脸刷牙 (4)去学校 ,而这4步就是一步一步的完成,它的顺序很重要,你只须一个一个的实现就好了.

——源于百度知道

  • 在C语言里面,什么是模块?你写过多个源文件的程序吗?

模块化就是在设计一个较大的程序时,每每把它分红若干个程序模块,每个模块由一个函数实现一个特定的功能。一个C语言程序可由若干个其余函数构成,经过函数调用实现其程序功能。因为C语言缺少有难度的练习,我作过的模块化的程序就是四则运算计算器了,将加减乘除各写为一个函数,主函数按需求输入指定命令调用实现加减乘除功能,缺点是没法同时运算,每次运算只能算一次而后须要从新指定算法。

  • 学过了C语言,你知道什么是“高内聚,低耦合”吗?这个原则如何应用到高质量程序设计中?

内聚是从功能角度来度量模块内的联系,一个好的内聚模块应当刚好作一件事;耦合是软件结构中各模块之间相互链接的一种度量,耦合强弱取决于模块间接口的复杂程度、进入或访问一个模块的点以及经过接口的数据。

高内聚,低耦合,是软件工程中的概念,是判断设计好坏的标准,主要是面向对象的设计,主要是看类的内聚性是否高,耦合度是否低。

软件架构设计的目的简单说就是在保持软件内在联系的前提下,分解软件系统,下降软件系统开发的复杂性,而分解软件系统的基本方法无外乎分层和分割。耦合是影响软件复杂程度和设计质量的一个重要因素,为提升模块的独立性,应创建模块间尽量松散的系统,在设计上咱们应采用如下原则:若模块间必须存在耦合,应尽可能使用数据耦合,少用控制耦合,慎用或有控制地使用公共耦合,并限制公共耦合的范围,尽可能避免内容耦合。在模块划分时,要遵循“一个模块,一个功能”的原则,尽量使模块达到功能内聚。

——《百度百科》

- 数组A内容复制到数组B中

#include <stdio.h>
int main()
{
    int a[10],b[10],n;
    int i = 0,j=0;
    
    printf("输入个数:\n");
    scanf("%d",&n);
    printf("输入值:\n");
    for(i = 0;i<n;i++){
        printf("%d\n",&a[i]);
    }
    for(j=0;j<n;j++){
        b[j]=a[j];
    }
    
    return 0;
}
  • 整数数组A中有没有数字5?

#include <stdio.h>
void main()
{
	int x,i,find=0;
	int a[10]={6,8,2,9,3,4,5,10,7};
	printf("输入要查找的数x: ");
	scanf("%d",&x);
	for(i=0;i<10;i++)
		if(x==a[i])
		{find=1;break;
		}
		if(find==1)
			printf("%d是数组元素\n",x);
		else
			printf("没有找到%d",x);
}

输入5,显示:5是数组元素。

  • 对整数数组A进行排序

从小到大

#include <stdio.h>
#define N 5
main()
{
 int i,j,t,a[N];
 for(i=0;i<N;i++)
 { printf("Enter No.%2d:",i+1);
   scanf("%d",&a[i]);
 }
 for(i=0;i<N-1;i++)
   for(j=0;j<N-i-1;j++)
     if(a[j]>a[j+1])
     { t=a[j];
       a[j]=a[j+1];
       a[j+1]=t;
     }
 for(i=0;i<N;i++)
   printf("%d",a[i]);
}

从大到小

#include <stdio.h>
#define N 10
main()
{
    int a[N];
    int i,j,k,t;
    for(i=0;i<9;i++)
    {       k=i;
            for(j=i+1;j<10;j++)
                if(a[j]>a[k])    k=j; 
            if(k!=i) 
            {
                t=a[k]; 
                a[k]=a[i]; 
                a[i]=t;
            }
    }
    for(i=0;i<9;i++)
            printf("%d ",a[i]);
}
  • 写一个程序,统计本身C语言共写了多少行代码

老师,我并不知道怎么用程序统计本身之前C语言写了多少代码,以前的计算都是估算。若是下学期的Java程序能够设计出这样的程序,我愿意尝试一下。

  • 你知道什么是断点吗?给出本身调试程序的例子

分解质因数程序

image

通过这一总结感受本身遗忘的太多,假期须要补习一番了。

章节提问

一、Java程序编写是在文本编辑器编写,命令运行,那怎么知道该程序的错误以及错误位置?

二、C语言的数据类型和数组与Java中的是否互通?

三、instanceof 运算符的运用有没有特殊的要求?通常用于什么状况?

四、方法与对象有没有什么联系?import 语句能够用于除了引入包中类之外的状况吗?

五、子类继承用于什么状况?面向抽象编程程序上有什么特别之处?

六、面向接口编程程序上有什么特别之处?

七、内部类、匿名类和异常类声明方法是否相同?

八、各类经常使用实用类该怎么理解?使用上有什么异同?

九、GUI程序适用于安卓系统上吗?

十、Java里的流与C语言中的流同样吗?

十一、JDBC数据库操做是不是创建服务器的基础?

十二、Java多线程是指多个任务同时进行仍是一个任务分不一样模块同时进行?

1三、Java 远程调用如何操做实现?

1四、Java绘制钟表如何让它和现实时间走得同样?

1五、Java中遍历链表与C语言是否相似?

学习目标

首先,我应该端正学习态度,明确学习是为了本身的将来,明确本身最终想要的结果。其次,学习计算机这种尖端的科学技术,就应该有锲而不舍的决心和毅力。认真听好每一次课,疑问和缺漏及时查补,坚持天天练习Java代码,作好每一次做业,在作好基本知识状况下积极作拓展,多了解一些知识。指望在《Java程序设计》学习结束后可以写出本身设计的能在安卓手机上运行的小程序。

老师在“作中学”公众号中发表的文章都是一些对生活学习将来颇有帮助的经验或者建议。仔细阅读对自个人提高有很大的帮助。

相关文章
相关标签/搜索