展开全部
相对于其他编程语言,C语言还是比较难的。初学者需要注意一下几点:
一是学习顺序
先从熟悉简单的C语言语法开始入门,然后再循序渐进,学习C++语法,WIN32、MFC、QT、网络编程,数据库、数据结构、算法、COM、STL等。构建一个完整的C语言知识体系。这需要一个比较漫长的学习积累的过程。语法入门部分大概2-3个月,其他部分需要学习和工作中慢慢理解和消化了。
c11.jpg
二是学习方法
人的知识80%是通过眼睛获取的,但是学习编程有所不同,除了看书、看视频之外,关键是要勤动手,勤动脑。通过做大量的练习、项目实战不断积累代码量。只有代码量足够多了,项目做的多了,才能算是真正学会了。项目能否完成,就是衡量是否学会的唯一标准。后期就是代码的质量和优化问题了,这个只能在项目工作中慢慢积累经验了。
c12.jpg
最后强调一点
很多人学不会编程是因为掉坑里了。就是教程或者书上的知识点之间跨越太大,作为一个初学者很难自己摸索出来,前面的知识点没有掌握,接着学习后面的知识,肯定是学不会了。目前绝大多数编程书籍和教程或多或少都有这样的弊端。自学能力比较强的人可以通过各种方法,参考各种网上的资料自己解决。但是大多数自学能力不是很强的人,只能依赖老师、同学、同事或者朋友帮忙指导,或者报名培训机构,老师指导完成了。
学习编程通常需要一些好的学习资料,包括纸质的书籍,视频教程,课件,项目练习,代码。零基础入门的书籍推荐《明解C语言》、《C Primer Plus》,还有一本非常特别的汇编和C语言正向逆向结合的书编程达人内部教材《汇编、C语言基础教程》也非常不错,讲解汇编和C语言的本质非常透彻,非常细致。视频资料也是特别多了,各种视频网站、论坛、自媒体都有,比如网易课堂、腾讯课堂、慕客网这些。还有一些论坛,比如CSDN、编程中国等。最重要的一点就是答疑服务,推荐爱达人的网站也很不错,从零基础入门到应用课程,配套的视频、课件、代码、项目、答疑服务都有,还可以兼职接单,学以致用。
一是学习顺序
先从熟悉简单的C语言语法开始入门,然后再循序渐进,学习C++语法,WIN32、MFC、QT、网络编程,数据库、数据结构、算法、COM、STL等。构建一个完整的C语言知识体系。这需要一个比较漫长的学习积累的过程。语法入门部分大概2-3个月,其他部分需要学习和工作中慢慢理解和消化了。
c11.jpg
二是学习方法
人的知识80%是通过眼睛获取的,但是学习编程有所不同,除了看书、看视频之外,关键是要勤动手,勤动脑。通过做大量的练习、项目实战不断积累代码量。只有代码量足够多了,项目做的多了,才能算是真正学会了。项目能否完成,就是衡量是否学会的唯一标准。后期就是代码的质量和优化问题了,这个只能在项目工作中慢慢积累经验了。
c12.jpg
最后强调一点
很多人学不会编程是因为掉坑里了。就是教程或者书上的知识点之间跨越太大,作为一个初学者很难自己摸索出来,前面的知识点没有掌握,接着学习后面的知识,肯定是学不会了。目前绝大多数编程书籍和教程或多或少都有这样的弊端。自学能力比较强的人可以通过各种方法,参考各种网上的资料自己解决。但是大多数自学能力不是很强的人,只能依赖老师、同学、同事或者朋友帮忙指导,或者报名培训机构,老师指导完成了。
学习编程通常需要一些好的学习资料,包括纸质的书籍,视频教程,课件,项目练习,代码。零基础入门的书籍推荐《明解C语言》、《C Primer Plus》,还有一本非常特别的汇编和C语言正向逆向结合的书编程达人内部教材《汇编、C语言基础教程》也非常不错,讲解汇编和C语言的本质非常透彻,非常细致。视频资料也是特别多了,各种视频网站、论坛、自媒体都有,比如网易课堂、腾讯课堂、慕客网这些。还有一些论坛,比如CSDN、编程中国等。最重要的一点就是答疑服务,推荐爱达人的网站也很不错,从零基础入门到应用课程,配套的视频、课件、代码、项目、答疑服务都有,还可以兼职接单,学以致用。
展开全部
您好!
第一题:
int x = 0177;
这条语句中的0代表的是8进制数177,转换成10进制:7+7×8+1×64=127。
所以
1,输出%3d的时候就是输出3位10进制数,
也就是输出127。
2,输出%6d的时候就是输出6位10进制数,所以先输出3个空格,
也就是输出 127。
3,输出%6o的时候就是输出6位8进制数,所以先输出3个空格,
也就是输出 177。
4,输出%6f的时候就是输出6位16进制数,127转换成16进制就是7f,所以先输出4个空格,
也就是输出 7f。
5,输出%6u的时候就是输出6位无符号10进制数,跟第2个一样,
也就是输出 127。
第二题:
1,c -= ++b; //先算++b结果是3,且b值为3,然后是c -= 3,结果是c值为-2
2,b *= a + c; //先算a+c结果是1,然后是b *= 1,结果是b值为3
3,然后是内联函数(这个好像是叫内联函数吧,有点忘记了),重新定义了b和c,所以内联函数中b和c是重新开辟了一块内存空间,与内联函数外的b和c不一样,内联函数结束时,内联函数中的b和c内存被释放。
❤c /= b * 2; //先算b * 2结果是10,然后是c /= 10,结果是c值为1
❤a -= c; //a值为2
❤输出a,b,c,就是输出2,5,1
❤a += --c; //先计算--c,结果是0,且c值为0,然后是a += 0,结果是a值为2
❤内联函数结束,b和c被释放,a仍然还是2,b和c又回到了内联函数开始之前,b值为3,c值为-2
4,输出a,b,c,就是输出2,3,-2
你哪里看不懂记得问我哦
第一题:
int x = 0177;
这条语句中的0代表的是8进制数177,转换成10进制:7+7×8+1×64=127。
所以
1,输出%3d的时候就是输出3位10进制数,
也就是输出127。
2,输出%6d的时候就是输出6位10进制数,所以先输出3个空格,
也就是输出 127。
3,输出%6o的时候就是输出6位8进制数,所以先输出3个空格,
也就是输出 177。
4,输出%6f的时候就是输出6位16进制数,127转换成16进制就是7f,所以先输出4个空格,
也就是输出 7f。
5,输出%6u的时候就是输出6位无符号10进制数,跟第2个一样,
也就是输出 127。
第二题:
1,c -= ++b; //先算++b结果是3,且b值为3,然后是c -= 3,结果是c值为-2
2,b *= a + c; //先算a+c结果是1,然后是b *= 1,结果是b值为3
3,然后是内联函数(这个好像是叫内联函数吧,有点忘记了),重新定义了b和c,所以内联函数中b和c是重新开辟了一块内存空间,与内联函数外的b和c不一样,内联函数结束时,内联函数中的b和c内存被释放。
❤c /= b * 2; //先算b * 2结果是10,然后是c /= 10,结果是c值为1
❤a -= c; //a值为2
❤输出a,b,c,就是输出2,5,1
❤a += --c; //先计算--c,结果是0,且c值为0,然后是a += 0,结果是a值为2
❤内联函数结束,b和c被释放,a仍然还是2,b和c又回到了内联函数开始之前,b值为3,c值为-2
4,输出a,b,c,就是输出2,3,-2
你哪里看不懂记得问我哦
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询