心情有点复杂,不知道从何说起!先说一下自己的ID吧,因为原来是做网络优化的,是通讯网络优化,和互联网没有一丁点关系,由于工作性质的原因(长期出差在外),我决定转行做一个码农,我相信自己能做好IT这个行业。在原来的领域我做得不算差,在公司也有我的一席之地,但是随着通信行业的慢慢没落,我不希望在这条越来越黑的道路上走下去,人事需要一些改变。在我离职的时候,公司领导对我做了多方面的挽留,但是我心意已决。最终还是选择了离开。并选择了一家口碑不错的IT实训学校进行学习。
在刚进入IT行业的时候,最先学习的是C语言,我认为我每天都做到了老师们的任何要求,但是在进行阶段性测验结果出来的时候,我自己有点懵了。我认为我学习的还可以,但是事实摆在眼前说明了一切。静下心来,仔细回想学习中的一些东西,认为以下方面导致学习失误较多导致没达到预期的学习效果!
1、心态问题,一些细致入微的东西没有上心!编程这个工作性质是不允许出现任何一点差错的,哪怕是一个符号错误也会导致整个程序运行出错!所以以后一定要仔细仔细再仔细!
2、还是仔细问题!阶段性检测题中很多题知识点都没问题,但是自己没有去深入的考虑!列如倒数第二题,s=d++;d=3;问printf("s的值“),很明显是d=3的值赋给了s,但是自己却选择了s的值为4,粗心大意!
3、机试题更是让我很受伤!每天的作业能完成,但是花的时间太多了,逻辑思维有待加强!
另外说一下一些自己容易错误的要点
1、函数调用问题,特别是数组的调用问题,此题在机试第一题中很好的体现!
数组在主函数的调用时实参只需要给一个数组名称,这相当于把这个数组地址里面的值全部调给了子函数!
列如:int accept(int a[5]){
printf("请输入5个数\n");
int i;
for(i=0;i<5;i++){
scanf("%d",&a[i]);
}
return a[5];
int main(void){
int a[5];
int i;
accept (a);
sort (a);
}
主函数里得到的a[5]数组的值就是从accept 返回的函数!
再看下一项:
int sort(int a[5]){
int i,j,t;
for(i=0;i<5;i++){
for(j=i+1;j<5;j++){
if(a[i]>a[j]){
t=a[i];
a[i]=a[j];
a[j]=t;
}
}
}
return a[5];
}
主函数调用sort 函数对a[5]进行排序,排序完的数组返回给主函数!
在初写的时候没搞懂数组的调用问题,导致程序没完成而出错!
此处的要点:实参把数组a 直接给子函数就行了,相当于把a 数组地址里的所有值都赋给了形参!不需要a[N]这样的形式!一定要谨记!!(被老师鄙视了!伤心)
2、字符串输入形式为:
char a[N];
scanf("%s",a); 就可以了,这是自己容易出错的地方。切记:字符串是以'\0'结尾的,虽然没表现出来!!
3、int a=11;
a++*1/3 的值是11*1/3; 也就是该结果是3.可以把a++就看成是1个a的值!
以上是需要严重注意的!
谨以此提醒自己!好好学习!端正心态!更加努力!提升自己!