您的位置:首页 > 编程语言 > C语言/C++

C语言学习的记忆

2016-12-18 13:13 120 查看

优于他人的技能

会玩双截棍;

我的经验就是Practice make perfect,熟能生巧;还有就是坚持不懈。

关于C语言的学习的回忆

1.我通过老师的教导和课外C语言书籍中学习,和我的技能相比,C语言更注重一种思维方式,C语言是一门可以和机器对话的语言,因此需要懂得机器的工作方式,并且按照其工作原理去思考。

2.我估计我写了3000多行代码,反正自己写的,写过的都理解。

3.通过学习C语言,我可以分清数组指针,指针数组,函数指针,指针函数;

4.其实我学习文件方面的东西比较少,但还能模糊的明白流和文件之间的联系,文本文件是按照ASCII 码来存储的,而二进制文件则是01代码存储的,在C语言里,可以通过'fp=fopen("test.txt","r");'来打开一个只读的文本文件,以及可以通过'fp=fopen("test.txt","rb");'来打开一个二进制文件。

5.“面向过程”(Procedure Oriented)是一种以过程为中心的编程思想。“面向过程”也可称之为“面向记录”编程思想,他们不支持丰富的“面向对象”特性(比如继承、多态),并且它们不允许混合持久化状态和域逻辑。就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了。

6.模块指的是C语言编写程序过程中可以看作独立个体的片段,自己没有编写过多个源文件的程序。

7.内聚:每个模块尽可能独立完成自己的功能,不依赖于模块外部的代码。

耦合:模块与模块之间接口的复杂程度,模块之间联系越复杂耦合度越高,牵一发而动全身。

目的:使得模块的“可重用性”、“移植性”大大增强

通常程序结构中各模块的内聚程度越高,模块间的耦合程度就越低

8.C语言里把数组A的内容复制到数组B中,查找整数数组A中有没有5,对整数数组A进行排序,

int a[80],b[80];

int i,p=0;

for(i=0;i<80;i++)

b[i]=a[i];

2.for(i=0;i<80;i++)

{

if a[i]==5;

{

p=1;

break;

}

}

if(p=1)

printf(“Yes!\n”);

else

printf(“No!\n”);

int j,t;

for(j=0;j<50;j++)

{

for(i=0;i<50-j;i++)

{

if(a[i]>a[i+1])

{

t=a[i];

a[i]=a[i+1];

a[i+1]=t;

}

for(j=0;j<50;j++)

for(i=0;i<50-j;i++)

{

if(a[i]<a[i+1])

{

t=a[i];

a[i]=a[i+1];

a[i+1]=t;

}

}

}

9.断点,调试器的功能之一,可以让程序中断在需要的地方,从而方便其分析。也可以在一次调试中设置断点,下一次只需让程序自动运行到设置断点位置,便可在上次设置断点的位置中断下来,极大的方便了操作,同时节省了时间。

10.我的写作能力还行,就是开口能说会道还不满意,不过,我会在后期慢慢学习。

11.写一个程序计算自己已经写过的代码行数,这有点麻烦,首先,你需要保存所有你写过的程序,其次你要将所有程序,及.c文件转成可读文本文件.txt,然后再用这段代码实现

int main()

{

FILE fp;
fp=fopen("test.txt","r");
int n=0;
char ch;
while(feof(!fp))
{
ch=fscanf(fp,"%1s",ch);
if(ch=='\n')n++;
}
printf("此代码的行数是:%d\n",n);
fclose(fp);
return 0;

}

之后就需要慢慢统计了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: