第001讲 为什么要学习C语言

2024-05-08 01:49

1. 第001讲 为什么要学习C语言

第001讲 为什么要学习C语言

第001讲 为什么要学习C语言

2. 1:c语言学了有什么用? 2:C语言从零开始要怎么学起?………………

1:C语言在计算机硬件编程和电子设计中的单片机编程等很多领域有广泛应用。
2:那要看你是为了什么而学了,如果为了电路设计C51编程,可以直接看单片机的书。如果为了对电脑硬件编程,比如读写内存和I/O端口,或者修改游戏存档之类的,就要看为计算机专业写的教材。我以前是看谭浩强的教材,不过很多自称高手的人鄙视他的教材。为了对你负责,教材就不推荐了,你自己去书店挑本自己认为浅显易懂的书吧。
编程工具,推荐用turbo c 2.0编程,不建议初学者用VC。最好是在DOS6.22或DOS7.0或者windows95/98操作系统上编程。因为控制硬件方便,很快你会有成就感。windows xp不允许直接操作硬件。
3.说难听的,认识26个英文字母就能学编程。
4.比如VB适合新手编写小型应用程序,JAVA适合手机软件,fortran擅长工程计算,pascal教学语言,各有所用。你慢慢接触就知道了。

3. 第一讲 C语言简介及为什么要学习C语言

C语言是一种广泛应用的计算机语言,相信观看我们教程的各位,没有不知道什么是C语言的;对于C语言的历史这里就不做介绍了,我们说一下C语言的标准。
·k&RC标准:这是1978年由美国电话电报公司(AT&T)贝尔实验室正式发表的C语言标准,是zui早期的C语言标准。
·ANSI C/ C89标准:我们所看到的大部分的教科书中,用到的也是这个标准,而且,我们的教程中也是按照这个标准讲的。1990年,国际标准化组织(ISO)和国际电工委员会(IEC)把C89标准定为C语言的国际标准,命名为ISO/IEC 9899:1990 - Programming languages -- C。因为此标准是在1990年发布的,所以有些人把简称作C90标准。不过大多数人依然称之为C89标准,因为此标准与ANSI C89标准完全等同。
·C99标准:1999年1月,国际标准化组织(ISO)和国际电工委员会(IEC)发布了C语言的新标准,名叫ISO/IEC 9899:1999 - Programming languages -- C ,简称C99标准。这是C语言的第二个官方标准。C99标准较C89标准增加了一些新的特效,如Bool类型、long long、long double等等。如果大家想了解标准新增的详细内容,可以在网上查找相关的文章。
·C11标准:2011年12月8日,国际标准化组织(ISO)和国际电工委员会(IEC)再次发布了C语言的新标准,名叫ISO/IEC 9899:2011 - Information technology -- Programming languages -- C ,简称C11标准,原名C1X。这是C语言的第三个官方标准,也是C语言的zui新标准。
这些只是一些C语言的标准,不理解也没关系,也不会影响我们程序的编写。
2.我们为什么要学习C语言
C语言作为一种高级语言,现在好多公司编程都使用C语言,尤其是嵌入式这个领域。大家可以从网上看看世界编程语言排行榜,C语言基本一直都没下过前三名。
从学习的角度来说,学习C语言是很必要的,C语言有如下优势:
① C语言比较灵活,可以直接使用指针。
② C语言是跨平台的语言,几乎同样的代码可以运行在不同的平台,如Windows、Linux、Unix等等。
③ C语言的执行较其他的高级语言速度快,而且开销小。
⑤ 学好C语言,有助于我们锻炼编程的思维,加强我们的逻辑能力。
小编是做嵌入式开发的,在嵌入式开发中差不多有90%的软件代码使用C语言编写的,当然也有一部分代码使用C++和汇编编写的。汇编也一般是使用芯片厂家写好的Boot程序,顶多是对写好的Boot做部分的修改。

第一讲 C语言简介及为什么要学习C语言

4. 关于C++学习。大学里面我们的课程是c语言,因为需要,我要学习C++。看补充部分。

从面向过程到面向对象的学习,确实需要很大的转变,一开始肯定是不适应。
从我个人来看,由于我学的就是c++,但是开始c++学习也是学面向过程的,到了书的下半部分才学面向对象,对于面向对象,就是有三大特点:封装性,继承性,多态性。至于类的设计都是要经过长期的编程才能掌握的,也就是经验。不是哪本书通过文字就能给你讲明白的,老师也讲不出来,要靠自己练习,不断地琢磨。另外多课后习题,每道题目,想想为什么书要这么写,什么时候用友元,什么时候参数用引用,什么时候用虚函数,什么时候用纯虚函数。
至于书中的模板哪一章,你想了解个大概就行了,不必完全弄懂,因为这个知识只有在你工作中才会用到,现阶段你根本用不到啦。
前面的继承,运算符重载,继承,多态要好好掌握哦

5. C语言的三个问题(我是初学)

1:(1)是(2)不是,字符串也可以(3)是
2:严格的说不是一个意思,不过通常编译优化之后都是一样的
3:一般是有不丢失信息的原则
稍等,我继续详解

很高兴不是问考试题答案,赞一个。所以呢,我尽量详细的回答一下。

1(1)单引号双引号在编译过程中的处理是不一样的。单引号直接会变成字符对应的数值,通常是按照ascii表规定的数值;双引号会在字符串最后多加一个0作为结尾标识。所以例如"abcde"5个字符的字符串实际上在内存中占了6个字符的空间。
1(2)字符可以直接用数值表示,字符串实际上也可以:char c[]={97, 98, 99, 100, 101,0}
1(3)首先了解一下为什么c语言定义一个变量需要有 char, int之类的类型说明符存在。作用主要有这么几个:让编译器知道要给这个变量预留多大空间;为如何处理类型转换提供依据;用于查错。
一个char变量只保留1个字节的空间,通常是8位。你不能用这个变量存储超过一个字节的数据。
而字符串就不一定有多少个字符了,所以需要更大的空间。编译器会另外分配足够的空间给这段字符串并将内容初始化成字符串内容。char*或者char[]本质上是一个4字节(32位系统)的指针,里面保存了一个地址,这个地址是编译器用来保存字符串的那段内存的第一个字节的位置。
因为指针这个东西展开的话就没完了,这里就不详细解释了,迟早会学到的。

2,为何说严格的说不是一个意思,首先int和char预分配的空间实际上是不一样的,通常int是4字节,char是1字节。而编译器遇到'c'这样的表示的时候,会认为这是一个char类型常量,将这个1字节常量赋值给int这个4字节变量空间的时候,会进行一次类型转换。实际执行的过程是将4字节余下的3字节清零,CPU有专用的指令干这个。而遇到数字的时候,默认是int类型,没有转换过程。不过通常优化以后直接就变成int了,省下一步转换。

3,隐性类型转换我记得可以找到个表的,里面有各种组合运算时的转换原则。这个事后自行百度。不过转换通常有个原则,可以认为就是你说的那个优先级,叫类型级,自动转换只会将低级类型转换成高级类型之后进行运算。
这个东西的本质第一个你在上面看到了,不同类型占用空间大小不同。比如char占用1字节,int占用4字节。char转换成int的时候实际上是保留符号之后其他位用0填充即可,不会丢失任何信息,但是倒过来就不得不丢掉3字节的信息,很显然会有信息丢失,默认转换不允许。这是低级向高级转换原则的具体情况之一。
另外浮点和定点的转换,这个不但长度不一样,连表示方式都不一样,但基本上还是可以理解为整数转换成浮点数的时候,小数点后都是0;而浮点转换成整数的时候就不得不丢弃小数部分。所以只可以自动将整数转换成浮点,而倒过来不行。即是说浮点比定点级别高,低级向高级转换是安全的。想要将高级别类型转换成低级类型,就得使用强制类型转换了,相当于告诉编译器,我知道会丢东西,但我乐意。

C语言的三个问题(我是初学)

6. 一个初学者对C语言的疑惑。对c语言有理解的进来

VB语言是傻瓜语言,好用易学 快速 ,就是所谓的RAD(快速应用开发)。但是程序有不同的层次,如专业软件,普通的应用软件,系统软件(数据库,操作系统,编译器等等)。VB只适合做一些简单的应用开发。
     在今天,很多流行的语言都是基于C语言的,用这些语言开发的开发的程序的在执行是需要一个运行时,而这个运行时需要C运行时,因为C语言是操作系统的开发语言。
C标准里没有图形界面的支持,因为不同的系统有不同的图形标准,这样的图形标准是很多的,而且,某一图形标准下,还有许多不同的图形界面的开发接口。C作为一个通用的语言,不可能在它的标准里实现所有的这样的接口,它只是提供了这样一种机制,图形界面开发接口(GUI的API)这个交由第三方实现。
   c语言中的指针可以直接操纵内存区域,这是basic和其他语言不具有的强大功能。至于循环,判断语言,敢问basic没有?

7. C语言初学书中一个难题

算1x2x3x4x5x6x7x8x9x10,如果一个一个的乘
这个的意思是指
定义一个变量num = 1;
第一步:num = num*2;
第二步:num = num*3;
......
这样子你写10个数相乘,就得写9行乘法计算的代码。如果变成100个数相乘,就得写99行乘法计算的代码。
而如果用循环来做,无论是多少个数相乘,都是一个循环,只要写大概两三行代码就行了,简便就是指这个。同时这也是一种算法思想,相似的操作使用循环来做,麻烦的是电脑,因为他肯定循不循环都是做差不多的工作,但编程人员的工作就少很多了,而且也不容易出现手误之类的错误。
就跟学写数字一样,写一画是一,写两画是二,如果这样下去万不就是得写一万画了?所以要写成“万”而不是真去写一万画。

C语言初学书中一个难题

8. 一个初学者对C语言的疑惑。对c语言有理解的进来

VB语言是傻瓜语言,好用易学
快速
,就是所谓的RAD(快速应用开发)。但是程序有不同的层次,如专业软件,普通的应用软件,系统软件(数据库,操作系统,编译器等等)。VB只适合做一些简单的应用开发。
在今天,很多流行的语言都是基于C语言的,用这些语言开发的开发的程序的在执行是需要一个运行时,而这个运行时需要C运行时,因为C语言是操作系统的开发语言。
C标准里没有图形界面的支持,因为不同的系统有不同的图形标准,这样的图形标准是很多的,而且,某一图形标准下,还有许多不同的图形界面的开发接口。C作为一个通用的语言,不可能在它的标准里实现所有的这样的接口,它只是提供了这样一种机制,图形界面开发接口(GUI的API)这个交由第三方实现。
c语言中的指针可以直接操纵内存区域,这是basic和其他语言不具有的强大功能。至于循环,判断语言,敢问basic没有?