C语言程序设计笔记

发布 2021-05-12 03:59:28 阅读 1157

1.数据类型产生的原因?

答:不同字长的计算机和需要描述现实问题的复杂性决定了需要丰富的数据类型!

2 .c语言数据类型?

答:基本类型:整型,实型,字符型!

复杂类型:空类型,枚举类型,构造类型,结构体类型!

3.整型数据类型?

答:整型int(-32768~32767) 无符号整型 unsigned int(0~65535) 短整型 short int(-32768~32767) 无符号短整型 unsigned short((0~65535) 长整型 long int (-2147483648~2147483647)无符号长整型 unsigned long(0~4294967295)

1:c语言并没有规定具体的整型数据类型所占的字节数,在不同的计算机上对数据的处理并不同!

2:整型数据有八进制,十进制,十六进制三种表示方式!

3:在整型数据后面加一个大写或者小写的l表示长整型数据类型,主要用于函数的调用方面!

4实数类型(浮点型数据)?

答:单精度型(fioat) 双精度(double)

1单精度的精度是七位,占四个字节,双精度的精度是十五位,占有十五位字节!

2:实型数据有十进制,指数形式两种表示形式!例如:8.4e-7 (其中e之前必须有数字,且e后面必须是整数)

5字符类型?

答:c语言中字符类型数据包括字符和字符串!(char)

1:其中字符是用单引号括起来的字符,字符串时用双引号括起来的字符序列!(一个字符在计算机中占有一个字节数!)

2:用反斜杠引导的一个字符或者数字序列也可以表示一个字符量,称为转义字符!

n 换行 t 横向跳格(跳四个汉字的长度)

v 竖向跳格(跳一个汉字的长度)

b退格。r回车(将下一个要输入的字符从上一行开头覆盖输入,可以在前一行输入一个换行转义字符,以使上一行不被覆盖!)

f走纸换页。

反斜杠字符。

单引号字符。

ddd 一到三位八进制数所代表的字符。

xhh 一到两位十六进制数所代表的字符。

3:asc2码值为0~127 ,其中32~126是可打印字符,其余都是不可打印字符!

6 常量?答:常量包括直接常量和符号常量!

1直接常量包括数值常量(整型常量和实型常量)和字符常量(字符型常量和字符串型常量)!

2符号常量是指c语言用标识符定义的常量!

define 标识符数据常量)

7 变量?(以某个标识符为名字,其值可以改变的量!)

1在turbo c 2.0 中标识符的有效长度是32位,由字母,数字,下划线组成,且首位必须是字母和下划线!

2变量表示的是计算机中的某一内存空间,变量只是这个空间地址的名字!

3变量的定义(类型标识符变量名1 变量名2 变量名3……;

3程序可以在三种地方定义,函数内部,函数外部,函数的参数中,对应就有局部变量,全局变量(外部变量),形式参数!

4在c语言中不允许连续赋值!

5.变量的作用域。

变量的作用域指的是变量的有效范围,例如:在函数的形参在调用的时候才被分配内存空间,在调用结束则内存释放,所以形式参数的作用域是函数内)

1. 变量根据作用域,分为局部变量(在函数内部定义的变量)和全局变量(在函数外部定义的变量,其作用域是整个源程序文件)

2. 全局变量在定义之后的所有的函数中都有效,但是若是要是再定义之前的函数中使用该变量就要进行声明。)

3. 外部变量的说明语句。

extern 类型说明符外部变量。

外部变量声明以后这个变量就可以扩展到其他的源程序文件, 若是把把外部变量说明语句写在文件的头部,则就在该文件的任何函数中使用这个变量了!)

在本函数中调用的全局变量可以跟局部变量同名,在这种情况下,全局变量不起作用!所以可以在同一个函数中变量同名,他们代表不同的存储空间!)

7. 变量的存储方式。

(根据其存储方式可以分为静态存储方式和动态存储方式,其静态,动态区别在于被分配的内存的存在时间不同!)

(变量的存储方式可以通过定义自动变量,全局变量,静态变量而确定!)

1自动变量的定义是只在定义变量时加上说明符 auto

2自动变量的作用域仅限制在定义该变量的结构内!)

3在函数内定义的自动变量和该函数的复合语句中定义的自动变量同名也是可以的,他们代表不同的存储空间!)

4定义静态变量只要在变量说明符之前加上说明符static

静态变量当然是静态存储方式,但是静态存储方式的变量并不一定静态变量,即静态变量除了静态存储方式之外还有其他的属性!)

1静态局部变量的生存期是整个程序,但是其作用域还是与自动变量一样! 这种变量可以用于多次调用同一个函数且要求这些函数之间要有某些变量的值联系的时候就可以使用这种变量!

2. 对于局部静态变量,可以在定义的时候初始化,若是没有初始化则系统就会自动赋以零!)

3. 全局变量的作用域可以扩展到整个源程序中,而静态全局变量的作用域限制在一个源文件中。

5.寄存器变量(rigister)

1(寄存器变量属于动态变量,多用于多次循环时定义循环控制变量或者是属于多次加工的循环体内的变量!)

2(受到寄存器存储量的限制,只允许说明两个寄存器变量,且寄存器变量只限于整型,字符型,指针型)

8运算符与表达式?

答:运算符是向编译程序说明特定的数学或者逻辑的符号!

表达式是把操作数(常量,变量,函数等)和运算符按照一定的关系连接起来!

9算术运算符?

答 1两个整数相除采取向零取整的原则!

2取余要求运算的两个操作数都必须是整型数据!

类型的数据都向double型转换或者强制转换!)

4字符型数据可以跟数值型常量一起参与混合运算,因为计算机内部字符型数据使用一个字节的整型数表示的!

10取负运算符?

答:其运算级别高于算术运算符!

11自增自减运算符?

答:“—和“++只能用于变量!

1自增自减运算符跟取负运算符一个级别,但是都比算术运算符是一个级别!

2自增自减运算符跟取负运算符都是自右向左结合方向!

(对于a+++b 的理解是(a++)b来理解!

(对于i=3,k=i+++i+++i,的理解是 i=6,k=9)

12赋值运算符?(赋值运算符的作用主要是计算或者保存表达式的值!)

答:赋值运算符可以把一个表达式赋给一个变量,当然表达式一个可以是一个赋值表达式!

1(变量赋值运算符表达式)

2 赋值运算符的运算级别只是高于逗号运算符,而且其是自右向左的结合方向!

3复合赋值运算符<<=

12 逗号运算符?

答:(表达式1,表达式2,表达式3,……表达式n)

其中是把前面的表达式都运算,但是逗号表达式的值是最后一个表达式的值!

13 求字节运算符?

答:sizeof(变量名) sizeof(类型名)

其返回值是变量名所表示的变量和类型的占有内存的字节数!

14 条件运算符?、

答: (表达式1?表达式2:表达式3)

条件表达式的结合方向是走右向左!

15 数据类型转换?

答:数据类型转换包括:自动类型转换,强制类型转化,赋值转换!

16 自动类型转换?

答:char,short→unsigned→long →double

float18强制类型转换?

运用一个强制类型转换符将一个表达式转换为所需类型)

类型名)(表达式)

19赋值类型转换?

1将整型数据赋给单双精度型变量时以浮点型形式储存!、

2实型数据赋给整型时舍弃小数部分!

3 将一个字符型数据赋给整型变量时将其放在低八位,而高八位视计算机系统处理有符号时添上1,没有符号时添上0!

4将整型数据赋给长整型时高十六位视整型数据为负为正添上0或者1!

5若是将无符号的数据赋给长整型时只在高十六位添上0即可!

语言基本语句?

(程序设计分为两部分工作:一部分是数据的设计,一部分是操作的设计!

(程序设计的流程分为顺序结构,选择结构,循环结构!)

顺序结构又简单语句构成!)

21空语句。

空语句只在语法上只占有一个位置,常用于循环语句中,构成空循环!

22简单语句!

1.表达式语句!(分号是c语言语句的结束标识符。)

2.函数调用语句。

函数调用语句一般形式(函数名 (参数列表))。

c语言中有丰富的标准库函数,只要在程序的开头包含了包含这个函数的文件,就可以调用这个函数!)

有些函数的调用并不是为了得到函数返回值,只是为了完成一定的操作,调用这些函数时可以直接调用这些函数!)

incloud 才能调用标准输入输出函数,#incloud 才能调用一些常用的数学函数例如:sin (x) cos(x) tan(x) cot(x) exp(x) fabs(x) log(x)等等!

C语言程序设计笔记》

结构与链表。指向结构数据的指针作函数参数 案例10.6 用函数调用方式,改写 案例10.5 编写一个专门的显示函数display 通过主函数调用来实现显示。案例 文件名 al10 定义并初始化一个外部结构数组student struct std info student 3 000105 李四 男 ...

C语言程序设计

c语言程序设计 试题十。返回。一 单项选择题 共30分,每题1分 1.下列不正确的转义字符是 a b c 074 d 0 2.不是c语言提供的合法关键字是 a switch b cher c case d default 3 正确的标识符是 a a b a 2 c a.3 d a 3 4 下列字符中...

C语言程序设计

熟悉和掌握全国等考二级c的上机答题要点。1 全国计算机等级考试二级c语言上机填空题答题要点。1 试题中用 found 来提示在下一行有一个空需填写。2 填写空白时,先要将下划线删除,然后再填空。3 每个空只填写一条语句或表达式。4 不要改动程序行的顺序,更不要自行添加程序结构。2 全国计算机等级考试...