C语言学习历程(三)C语言基础知识预习总结

1.什么是计算机程序?什么是编程语言?为什么需要编程语言?编程语言是用来干嘛的?举例一些编程语言,以及他们各自的特点?
答:1.计算机程序是指一组指示计算机执行动作或做出判断的指令,通常用某种程序设计语言编写,运行于某种目标体系结构上。 就是指 电脑可以识别运行的指令集合。就是平常看到的软件,比如QQ 啊
2.编程语言是用来控制计算机的一系列指令(Instruction),它有固定的格式和词汇(不同编程语言的格式和词汇不一样),必须遵守,否则就会出错,达不到我们的目的。
我们也可以通过”语言“来控制计算机,让计算机为我们做事情,这样的语言就叫做编程语言(Programming Language)。
3.因为我们需要用编程语言来控制计算机,实现我们的目的。
4.编程语言用来编写我们需要的程序,通过程序来控制计算机,为我们做事。
Pascal是一种计算机通用的高级程序设计语言,由瑞士Niklaus Wirth教授六十年代末设计并创立的。Pascal的主要特点有:严格的结构化形式、丰富完备的数据类型、运行效率高、查错能力强等特点。
5.1.Java
首先我要推荐的就是Java语言,相信只要略微了解编程的人就会听过Java,其如今依然展现出强势的增长势头,说其是目前最流行的编程语言也不为过。并且随着移动和大数据的发展,以基于Java的Hadoop如今发展迅速,这也是Java编程人员更加千金难寻。其可以用于各种各样的领域,包括企业应用及基础设施,以及Web应用和移动开发。
2.JavaScript
JavaScript在Web应用上有着非常大的需求,主要目的是为了解决服务器端语言, 比如Perl,遗留的速度问题,为客户提供更流畅的浏览效果。JavaScript主要用于 实现为Web浏览器,以提供增强的用户界面和动态网站。
3.C/C++
C和C++都是基于C的语言,是目前最流行的编程语言, C常被用作系统以及应用程序的编程语言,如嵌入式系统的应用程序。C++语言为C的增强,其在出现后迅速成为开发人员之间最流行的语言之一。它是用于开发系统软件,应用软件,设备驱动程序,嵌入式软件,高性能服务器和客户端应用及娱乐软件,如视频游戏。
4.C#
C#是微软公司发布的一种面向对象的、运行于.NET Framework之上的高级程序设计语言。C#是微软公司用来替代Java而开发的一种语言,并借鉴了Java,C,C++和Delphi的一些特点,如今C#已经成为微软应用商店和开发成员非常欢迎的开发语言。
5.PHP
PHP是一种通用开源脚本语言,特别适合于Web开发,可嵌入到HTML中,它最初是用来设计动态网页产生的。语法吸收了C语言、Java和Perl的特点,入门门槛较低,易于学习,使用广泛。
针对苹果系统的Objective-C.
6.Python
Python是应用于设计各种各样的应用程序的动态语言, 往往比Tcl,Perl,Ruby,Scheme和Java更容易编写。Python语法简洁而清晰,具有丰富和强大的类库。它常被昵称为胶水语言,它能够很轻松的把用其他语言制作的各种模块(尤其是C/C++)轻松地联结在一起。7.Ruby
Ruby是一种动态的,侧重于简单个高效的开源语言,他是一个优雅的语法,能够很自然的阅读和编写,适合于快速开发,一般开发效率是JAVA的5倍。
8.Objective-C
对于钟情于Apple设备的网友来说,Objective-C的流行就得益于苹果的成功,其是增加了Smalltalk风格的消息在C编程语言中的反射,面向对象的语言。主要使用于苹果系统和GNUstep这两个使用OpenStep的标准的系统。随着苹果平台的巨大人气,如今Objective-C语言被人们逐渐知道。
Web应用领域的HTML5.
9.HTML5
HTML5是用于构建因特网的核心技术的标准语言,用于Web呈现内容,它是HTML标准的第五次修订,如今,HTML5继续在移动开发领域发挥着重要的作用,为互联网的发展提供了多样化的发展道路,37%的开发者依赖HTML5开发移动网站和Web应用程序 。
10.CSS
CSS是一种用来表现HTML)或XML等文件样式的计算机语言。最常用于Web样式和HTML和Xhtml接口,该语言可以应用与任何类型的XML文档, CSS的设计主要是为了使文档内容从文档表示的分离,包括元素,如布局,颜色和字体。

2.编辑好的程序到成为可以运行的可执行文件,要经历哪几个过程?
编辑:输入源程序并存盘(.C)
编译:将源程序翻译为目标文件(.OBJ)
链接:将目标文件生成可执行文件( .EXE)
运行:执行.EXE文件,得到运行结果

3.现阶段为什么要学习C语言,而不是其他的编程语言?C语言有什么特点?
答:C作为入门语言,其原因是C比较接近底层,又有一定的抽象性,虽然将来未必会使用它,但可以更了解计算机原理以及数据结构。可能对于大多数程序员来说没太大用处,但原理和数据结构能以计算机角度来思考程序问题,写出更高效的代码。

C语言:C语言是介于汇编语言和高级语言之间的语言,属于高级语言,也称为中级语言,是集汇编和高级语言优点于一身的程序设计语言。
C的特点
1). 是一种结构化语言。层次清晰,便于按模块化方式组织程序,易于调试和维护。
2). C语言的表现能力和处理能力极强。不仅具有丰富的运算符和数据类型,便于实现各类复杂的数据结构,它还可以直接访问内存的物理地址,进行位级别的操作。
3). 由于C语言实现对硬件的编程操作,所以既可用于系统软件的开发,也适合于应用软件的开发。C语言还具有效率高,可移植性强等特点。因此广泛地移植到了各类计算机上,从而形成了多种版本的C语言。
4). 由于C语言允许直接对位、字节和地址进行操作,能实现汇编语言的大部分功能。
5). 目标代码质量高,程序执行效率高。
总体上来说,C语言的优点是简洁、紧凑、使用方便、灵活、易于学习和应用。仅有32个关键字。9种控制语句,程序的书写形式也很自由。
C语言的弱点:非强类型;语法限制不严格,使得编程者无法过多地依赖C编译程序去查错;缺少实时检查,如数组越界等。

4.什么是常量,什么是变量?都有哪些分类?
答:在程序执行过程中,其值不发生改变的量称为常量。
C语言中的常量可以分为:整型常量、实型常量和字符型常量和字符串常量,
另外还有符号常量和有名常量.、
整型,例如:-123, 0xff (十六进制), 022(八进制)
实型, 例如:3.14, 3.14f (单精), 3.14lf (双精), 1.2e04(科学)
字符常量, ‘A’
字符串常量, “abc123”
转义字符常量 ‘\0’ “\n”
宏定义标识符常量 #define e 2.71
程序中的 e 编译时会被2.71 替代,
逻辑型常量 TRUE (实际上也是宏定义常量)
C语言中的变量实际上就是一段虚拟内存区域。
虚拟内存是计算机系统内存管理的一种技术。它使得应用程序认为它拥有连续的可用的内存(一个连续完整的地址空间),而实际上,它通常是被分隔成多个物理内存碎片,还有部分暂时存储在外部磁盘存储器上,在需要时进行数据交换。目前,大多数操作系统都使用了虚拟内存,如Windows家族的“虚拟内存”;Linux的“交换空间”等。可以把虚拟内存当成一个大的字节数组。每一个元素占1个字节,每1个字节有1个地址。
基本类型只有int,float,double,char四种。string字符串
指针变量

5.标识符的命名规范是什么?
答:标识符用来表示函数、类型及变量的名称,是字母、下划线和数字的排列。

1、必须用字母或下划线开头。例子:
正确的:_22a, abc, avg3
错误的:8Ta
2、只能是字母、下划线、数字的组合,不能出现其他符号。例如¥_st,就是个错误的标识符,它出现了“¥”符号。
3、大小写的含义是不同的,例如标识符 TEA和tea是不同的。
4、标识符的名称不能是C语言中的关键字,关键字是具有特定含义的标识符,用户只能根据系统的规定使用它们。 例如 char 是关键字,用户的标识符就不能用它来命名。

6.什么是数据类型?数据类型分为哪些种类?每种数据类型占多少个字节大小?每种数据类型的取值范围怎么计算?思考:对于数据类型为什么要分类?
答:0

char 字符型,占1个字节
short 短整型,占2个字节
int 整型,占4个字节
long 长整型,占4个字节
float 单精度浮点型,占4个字节
double 双精度浮点型,占8个字节
计算机里规定,8位二进制为一个字节,拿byte来说,一个BYTE类型的数据是占1BYTE(字节)的,那么他的取值范围为:00000000~11111111转换成10进制就是0到255,同样一个2BYTE的short int类型,他可装的为16位二进制即:0000000000000000~1111111111111111,也就是10进制的0~65535但是short类型他是有正负之分的,那么怎么表示负数呢?就是判断最高位,当最高位为0则为正,为1则为负。即:1000000010110001就是一个负数。其他的以此类推……
分类:为了方便表示不同的东西,不容易出错,也同时提高效率。
7.字节大小是什么意思?怎么计算数据类型或者变量的字节大小?
字节就是这个字符数组共有几个元素;
一个字节的长度为8bit,数据的长度由数据的类型来定义。
  一个英文字母(不分大小写)占一个字节的空间,一个中文汉字占两个字节的空间。一个二进制数字序列,在计算机中作为一个数字单元,一般为8位二进制数,换算为十进制。最小值0,最大值255。如一个ASCII码就是一个字节。
使用sizeof计算
8.什么是原码?什么是补码?什么是反码?正数的原码补码反码怎么表示,负数的原码补码反码怎么表示?
原码:
原码表示法在数值前面增加了一位符号位(即最高位为符号位):正数该位为0,负数该位为1(0有两种表示:+0和-0),其余位表示数值的大小。
举例:[+45]原=00101101 [-45]原=10101101
反码: 反码是数值存储的一种,但是由于补码更能有效表现数字在计算机中的形式,所以多数计算机一般都不采用反码表示数。
反码表示法规定:正数的反码与其原码相同;负数的反码是对其原码逐位取反,但符号位除外。
举例:[+45]反=00101101 [-45]反=11010010
补码:在计算机系统中,数值一律用补码来表示和存储。原因在于,使用补码,可以将符号位和数值域统一处理;同时,加法和减法也可以统一处理。此外,补码与原码相互转换,其运算过程是相同的,不需要额外的硬件电路。
反码表示法规定:正数的补码与其原码相同;一种简单的方式,符号位保持1不变,数值位从右边数第一个1及其右边的0保持不变,左边按位取反。也可以从反码推补码,就是在反码的基础上加1。
举例:[+45]补=00101101 [-45]补=11010011
正数的原码、反码、补码相同,
负数的反码为:除符号位外,原码各位取反,反码加1,得负数的反码.

9.运算符有哪几种?每种运算符进行什么运算?
运算符是一种告诉编译器执行特定的数学或逻辑操作的符号。C 语言内置了丰富的运算符,并提供了以下类型的运算符:
1.算术运算符
2.关系运算符
3.逻辑运算符
4.位运算符
5.赋值运算符
6.杂项运算符
算术运算符:用于各类数值运算。包括加(+)、减(-)、乘(*)、除(/)、求余(或称模运算,%)、自增(++)、自减(–)共七种。
关系运算符:用于比较运算。包括大于(>)、小于(<)、等于(==)、 大于等于(>=)、小于等于(<=)和不等于(!=)六种。
逻辑运算符:用于逻辑运算。包括与(&&)、或(||)、非(!)三种。
位操作运算符:参与运算的量,按二进制位进行运算。包括位与(&)、位或(|)、位非(~)、位异或(^)、左移(<<)、右移(>>)六种。
赋值运算符:用于赋值运算,分为简单赋值(=)、复合算术赋值(+=,-=,*=,/=,%=)和复合位运算赋值(&=,|=,^=,>>=,<<=)三类共十一种。
条件运算符:这是一个三目运算符,用于条件求值(a?b:c)。
逗号运算符:用于把若干表达式组合成一个表达式(,)。
指针运算符:用于取内容(*)和取地址(&)二种运算。
求字节数运算符:用于计算数据类型所占的字节数( sizeof() )。
特殊运算符:有括号(),下标[],成员(→,.)等几种。

10.C语言中有哪些控制语句,每种控制语句有什么功能?
C语言9种控制语句
①if( )~else 条件语句
②for( )~ 循环语句
③while( )~ 循环语句
④do~while( ) 循环语句
⑤continue 结束本次循环语句
⑥break 中止执行switch或循环语句
⑦switch 多分支选择语句
⑧goto 转向语句
⑨return 从函数返回语句

11.搞清楚if…else,for循环,while循环,switch…case怎么执行的?
①for(表达式1;表达式2;表达式3){循环体} 表达式1,是初始化条件,如i=0。 表达式2,循环条件,满足就继续执行循环体,不满足就跳出循环。 表达式3,这个一般是改变循环条件的地方,如i++。
②while(表达式){循环体} 表达式的值为真(非0)时, 执行循环体语句。
switch语句的执行流程是: 首先计算switch后面圆括号中表达式的值,然后用此值依次与各个case的常量表达式比较,若圆括号中表达式的值与某个case后面的常量表达式的值相等,就执行此case后面的语句,执行后遇break语句就退出switch语句;若圆括号中表达式的值与所有case后面的常量表达式都不等,则执行default后面的语句,然后退出switch语句,程序流程转向开关语句的下一个语句。

12.break和continue有什么区别?
答:break是结束循环。
continue是结束本次循环。
循环是有很多次的,break之后不再循环,continue结束本次循环后,再开始下一次的循环。

你可能感兴趣的:(C语言)