zoukankan      html  css  js  c++  java
  • 第一次随笔

    1.在人生的道路上,你有没有专长的高超技能的成功经验?你有什么技能比大多人(超过70%的人更好?)

    答:说来惭愧,18年来我喜欢的东西或擅长的东西都与电脑没有太大关系,我擅长的有中国象棋,(不能说擅长,只能说爱好把)喜欢的有篮球,唱歌,看电影,打游戏。对于中国象棋,我是从小父母就有培养我思维能力,所以让我接触了中国象棋,我觉得下象棋的过程就是与对方打心理战的过程,以及智慧的博弈的过程,象棋如同战场,需要精准的计算能力以及敢于拼搏的勇气。经验而言,侃侃而谈来说,就是靠练,这我觉得是做精任何东西的基础。
    喜欢的东西我也常常付诸实践,我会隔三差五的出去打打球,去K歌,和朋友出去玩,和同学一起出去看电影,也有和基友开黑到深夜的时候=o=,我比较享受和同学们一起玩乐的感觉0.0。。。

    2.有关C语言的调查

    Q1.你是怎么学习C语言的?与你的高超技能相比,C语言的学习有什么经验和教训?到目前为止估算自己写过多少行C语言代码?理解的情况如何?

    A:我是通过课本以及上课听讲来学习C语言的,课后作业也能提升我对C语言的理解。与我的高超技能相比,我觉得我还是挺缺乏对C语言的兴趣的,没有把它当成一个兴趣来学,只把它当成了一个繁琐的任务去学习他,当然无法成就卓越。到目前为止应该写了有近1000行代码了把,对于C语言的理解只是初步,没有深深的研究过。

    Q2:学过了C语言,你分得清数组指针,指针数组,函数指针,指针函数这些概念吗?

    A:数组指针:就是指向数组的指针,比如int *p p=。。。。
    指针数组的话,就是数组元素全是指针的,这个我不怎么用到它。只是大概了解。
    函数指针:顾名思义就是指向函数的指针
    指针函数我就真不知道了- -(诚恳地说)

    Q3:学过了C语言,你明白文件和流的区别和联系吗?如何区别文本文件和二进制文件?如何编程和操作这两种文件?

    A:这个我不知道,所以我百度了一下,以下是百度的解释。
    文件:
    文件是计算机管理数据的基本单位,同时也是应用程序保存和读取数据的一个重要场所。
    存储介质:文件是指在各种存储介质上(如硬盘、可移动磁盘、CD等)永久存储的数据的有序集合,它是进行数据读写操作的基本对象。
    特性:每个文件都有文件名、文件所在路径、创建时间及访问仅限等属性。
    流:
    流:是字节序列的抽象概念,例如文件、输入/输出设备、内部进程通信管道等。流提供一种向后备存储器写入字节和从后备存储器读取字节的方式。
    存储介质:除了和磁盘文件直接相关的文件流以外,流还有多种类型。流可以分布在网络中、内存中或者是磁带中。
    文本文件与二进制文件区别
    二进制文件全都是0和1组成的,而文本文件是由字母、数字、符号等组成
    编程和操作的话,不太了解,等下学期实际操作一下。

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

    A:面向过程和程序设计就是指针对某一个大的程序将他分成几块分步调用函数解决,解决问题的方法是分析出解决问题的步骤,通过一个个函数调用来实现。
    结构化程序的概念首先是从以往编程过程中无限制地使用转移语句而提出的。转移语句可以使程序的控制流程强制性的转向程序的任一处,在传统流程图中,就是用上节我们提到的"很随意"的流程线来描述这种转移功能。如果一个程序中多处出现这种转移情况,将会导致程序流程无序可寻,程序结构杂乱无章,这样的程序是令人难以理解和接受的,并且容易出错。尤其是在实际软件产品的开发中,更多的追求软件的可读性和可修改性,象这种结构和风格的程序是不允许出现的。比如:C,FORTRAN,PASCAL等等
    结构化程序设计方法主要由以下三种逻辑结构组成:
    1)顺序结构:顺序结构是一种线性、有序的结构,它依次执行各语句模块。
    2)循环结构:循环结构是重复执行一个或几个模块,直到满足某一条件为止。
    3)选择结构:选择结构是根据条件成立与否选择程序执行的通路。
    采用结构化程序设计方法,程序结构清晰,易于阅读、测试、排错和修改。由于每个模块执行单一功能,模块间联系较少,使程序编制比过去更简单,程序更可靠,而且增加了可维护性,每个模块可以独立编制、测试。

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

    A:每一个函数就是一个模块,许多个函数耦合再一起就是一个大的程序,模块化程序设计的思路:在设计一个较大的程序时,往往把它分成若干个程序模块,每一个模块包括一个或多个函数,每一个函数实现一个特定的功能。一个C程序可由若干个其他函数构成。由主函数调用其他函数,其他函数也可相互调用。同一个函数可以被一个或多个函数任意调用多次。
    函数的调用很重要。
    我目前没有写过多个源文件的程序。以后估计会涉及到吧。

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

    A:这个我不了解。百度了一下他是什么鬼(不懂就找度娘咯)
    耦合性:也称块间联系。指软件系统结构中各模块间相互联系紧密程度的一种度量。模块之间联系越紧密,其耦合性就越强,模块的独立性则越差。模块间耦合高低取决于模块间接口的复杂性、调用的方式及传递的信息
    内聚性:又称块内联系。指模块的功能强度的度量,即一个模块内部各个元素彼此结合的紧密程度的度量。若一个模块内各元素(语名之间、程序段之间)联系的越紧密,则它的内聚性就越高。
    所谓高内聚是指一个软件模块是由相关性很强的代码组成,只负责一项任务,也就是常说的单一责任原则。
    耦合:一个软件结构内不同模块之间互连程度的度量。
    对于低耦合,粗浅的理解是:一个完整的系统,模块与模块之间,尽可能的使其独立存在。也就是说,让每个模块,尽可能的独立完成某个特定的子功能。模块与模块之间的接口,尽量的少而简单。如果某两个模块间的关系比较复杂的话,最好首先考虑进一步的模块划分。这样有利于修改和组合。
    在面向对象程序中,内聚度主要是指类内部各成分之间的联结强度.在深入剖析了类的属性与属性、方法与属性以及方法与方法之间的关系及其性质的基础上,提出了一种基于依赖性分析的内聚度度量方法,并证明了它满足优良的内聚度度量方法应该具有的性质,从而克服了已有方法只是分析了某个方面的不足,为综合评价类内聚度提供了指南.

    Q7:学过了C语言,你如何把数组A的内容复制到数组B中?如何查找整数数组A中有没有数字5?如何对整数数组A进行排序(从小到大,从大到小)?写出相应的程序。

    A:由于系统未知错误,我下载不了github,后续会解决问题将链接附上。

    //数组A复制到数组B			
    #include<stdio.h>
    
    int main()
    
    {    char a[100],b[100];  
    
      		int i; 
    
    	   gets(a);
    
    	   for(i=0;a[i]!='\0';i++)
    
    	   b[i]=a[i]; 
    
    	   b[i]='\0';
    
    	   puts(b);
    
    	   return 0; 
    
    	   } 
    
    //查找数组中有没有数字5?
    
    #include<stdio.h>
    int main()
    {    
            int a[10]; 
      		int i,s=0; 
      		for(i=0;i<10;i++)
      		{
    		  scanf("%d",&a[i]);
    	    }
    	 for(i=0;i<10;i++)
    	 {
    	 	if(a[i]==5)
    	 	{
    		 s=1;
    	 	break;
    	    }
    	 }
    	 if(s==1)
    	 printf("这个数组有5");
    	 else
    	 printf("这个数组没有5");
    	 return 0;
    }
    
    //如何对整数数组A进行排序?
    #include<stdio.h>
    int main()
    {
    int a[10];
    int i,j,t,temp;
    for (i=0;i<10;i++)           
    {
    scanf("%d",&a[i]);
    }
    for (i=0;i<=9;i++)            
    {                      
    for (j=0;j<10-i;j++)             
                                   
    {
    if (a[j]>a[j+1])           
    {
    temp=a[j];
    a[j]=a[j+1];
    a[j+1]=temp;
    }
    }
    }
    for (i=0;i<=9;i++)         
    {
    printf("%d ",a[i]);
    }
    return 0;
    }
    

    Q8:写一个程序,统计自己C语言共写了多少行代码。

    A:这个问题我目前尚不明白怎么解决,等待下学期老师的指点。

    Q9:你知道什么是断点吗?给出自己调试程序的例子。

    A:如下图所示:

    红色的那个就是断点。

    Q10:对比C语言的学习,你对《面向对象程序设计》的学习有什么具体目标?如何通过刻意训练提高程序设计能力和培养计算思维?如何通过“做中学”实现你的目标?

    A:相比于C语言的学习,我一定要正视自己,不能放松和懈怠,为自己的不努力寻找借口。编程能力的提高是需要细水长流的过程,也是需要自我砥砺,自我突破的过程。所以我要保持每天一定的练习量。在题量中寻找感觉,另外需要查阅相关书籍,提升编程能力。
    关于做中学,learn by doing,需要不断地自我深入研究,是进行自我提升的过程,我应该做到多读书,多思考,不懂及时地询问老师来解决问题,这一切的一切,需要通过题量来提升自我。

    Q11:毕业后大多数人从事的工作的要求是“提笔能写,开口能说,问策能对,遇事能办”,非常重要的技能是公文写作能力,你觉得自己写作能力如何?要怎么提高?

    A:我的写作水平- -。一直都很差劲,可能一出生就缺失了写出美文的基因,从小学到中学我的写作一直被当作反面教材来批评,我觉得我的写作能力能够提升的空间很大,今后我将多看看书,学习学习他人的美文是如何构思以及写的,多看些文豪的书籍,或许对我的写作能力有所帮助。

  • 相关阅读:
    C++基础知识(二)
    C++基础知识(一)
    RT-thread 设备驱动组件之IIC总线设备
    RT-thread 设备驱动组件之SPI设备
    RT thread 设备驱动组件之USART设备
    RT-thread 设备驱动组件之PIN设备
    RT-thread finsh组件工作流程
    C语言知识点
    RT-thread main函数分析
    堆和栈的区别
  • 原文地址:https://www.cnblogs.com/Cleveland/p/6286854.html
Copyright © 2011-2022 走看看