• HOMEWORK-2


    没什么超乎常人的技能吧,我想。关于C的学习之前一直是自学,上了大学也是吃老底(上一篇提到了),因为这个学期一直在学matlab,C除了帮人写过作业教过课自己也没写点什么。

    • 指针的概念还算清楚,毕竟经常用嘛。stream的概念是在大学接触的,我形容不了,结构上就是个连续没有绝对位置的序列,对数据一视同仁。
    • 将问题分解成一个一个的步骤,按部就班的做就是面对过程编程。之前上课讲的就是这样的。
    • 在一个文件中提模块,肯定要提及static关键字的含义。这是之前上课被严重忽视的内容(反正我们老师没讲)。在网上看了许许多多解释,很多人认为是一个静态变量区(不知道侧重点是啥)。我能理解的是模块编程的模块,将程序的各个功能划分后通过调用实现,这样能做到在之后的修改中方便维护。同样的在一个项目中可以通过多个子程序实现目标。在java学习中曾听学长讲过一个图书管理系统的结构,初步有个了解。在C中写过.h文件来支持程序。在matlab中经常调用C的程序,如果说C编写的程序是为了实现某个功能,那对于我matlab想做的最终实现的而言C就是一个模块。
    • “高内聚,低耦合”是面对对象编程中的特点,我需要进一步学习。
    • 公文写作能力正是我欠缺的,希望通过写博客等方式加以锻炼,避免我每年写工作总结报告格式都要询问他人。

    数组复制

    方案一

    #include<stdio.h>
    #include<string.h>
    
    int main()
    
    {
    	int a[10]={6,5,4,3,7,8,9,1,0,2};
    	int b[10];
    	int i;
    	for (i=0;i<10;i++)
    	printf("%d ",a[i]);
    	printf("
    ");
    	memcpy(b,a,sizeof(int)*10); 
    	for (i=0;i<10;i++)
    	printf("%d ",b[i]);
    }
    

    方案二

    void copy(int a1[],int a2[])
    {
    
     int i;
     for (i=0;i<10;i++)
      a2[i]=a1[i];  
     return; 
    }
    

    查询

    int a[10]={6,5,4,3,7,8,9,1,0,2};
    int b[10];
    void check(int k,int t)
    {
    	if (t == 0) {printf("Nope
    "); return;	}
        if (a[t] == k) {printf("Yes %d
    ",t+1); return;	}
        check(k,t-1);
     } 
    

    排序

    int comp(const void*a,const void*b)
    {
    return *(int*)a-*(int*)b;
    }
     qsort(a, length(a), sizeof(type), comp);
    

    统计文件个数

    用system函数调用dos命令dir查找相关文件个数,之后逐个打开统计回车符个数。Linux调用find命令 find / -type f -name "*.cpp"

  • 相关阅读:
    Dynamics CRM The difference between UserId and InitiatingUserId in Plugin
    Dynamics CRM2013 6.1.1.1143版本插件注册器的一个bug
    Dynamics CRM2013 从subgrid中打开快速创建窗体创建数据
    求逆元 HDU1576
    多个数的最小公倍数 HDU1019
    快速幂 HDU3003
    扩展欧几里德算法求逆元1
    筛法求素数 函数模板
    矩阵模板
    快速幂取模函数 递归模板
  • 原文地址:https://www.cnblogs.com/ikari/p/6388572.html
Copyright © 2020-2023  润新知