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;
}
之后就需要慢慢统计了。
相关文章推荐
- C语言个人学习笔记
- [转]怎样学习C语言
- C语言学习零碎整理(5):关于char指针p和char s[]的区别
- [C语言学习]作业二
- [C语言学习]作业六
- [C语言学习]作业三
- c语言学习零碎整理(7):数组名是指针吗?
- 好多关于C语言,VC++学习的资料
- [C语言学习]作业一
- 自己学习C语言的一点心得
- c语言学习零碎整理(1):缓冲区
- C语言学习零碎整理(3):sprintf函数
- C语言学习零碎整理(6):怎样使用命令行参数
- c语言学习零碎整理(2):结构体对齐问题
- ……精通C语言(引导学习一门编程语言)
- 怎么学习C语言[转帖]
- 学习C语言的认知、态度
- C语言心得:关于printf()的二次学习
- [C语言学习]作业五
- [C语言学习]作业七