程序设计技术复习提纲2Word文档下载推荐.docx
《程序设计技术复习提纲2Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《程序设计技术复习提纲2Word文档下载推荐.docx(10页珍藏版)》请在冰豆网上搜索。
(1)C语言程序中,通常需要对函数,变量,符号常量,数据类型和数组等进行命名,这些名称统称为标识符。
(2)
(1)选择具有一定意义的英文单词做标识符。
例如,用day表示日期。
(2)适当使用下划线。
例如,用load_num表示调入数据等。
(3)使用约定俗成的标识符。
例如,temp表示中间变量。
X,y,z表示需要计算的标量等。
(4)标识符的长度不要过长。
(5)用大小写区别命名。
例如,loadnum和loadNum是两个不同的标识符,后者则相对易于阅读。
9.C语言的基本类型有哪几种?
写出类型名?
(1)基本类型包括:
整数类型;
浮点类型;
字符类型;
枚举类型。
(2)整数类型:
整形(int),短整型(shortint),长整型(longint),无符号整形(unsigned)。
浮点类型:
单精度浮点型(float)双精度浮点型(double)长双精度浮点型(longdouble)字符类型:
(char)枚举类型:
(enum(int))
10.什么是常量?
什么是变量?
C语言中有哪四种常量,如何表示?
(1)常量是在程序运行过程中其值不能改变的量。
变量是程序运行过程中,其值可以在其类型规定的范围内变化的量。
(2)整数常量:
1、十进制整数常量:
由正负号和数字0——9组成,首字符不能是0。
2、八进制整数常量:
以“0”开头,由数字0——7组成,首字符必须是0.
3、十六进制整数常量:
以“0X”或“0x”开头,由0-9,a-z,A-Z组成。
(3)浮点数常量是由十进制表示法和指数表示法,浮点数常量必须包含小数点或指数部分,可以带正,负符号。
十进制表示法与数学表示没有区别,包含整数部分和小数部分,但没有指数部分,如987.-123.456.456
指数表示法包含尾数部分和指数部分,尾数部分可以是整数或十进制浮点数;
指数部分是以字符E或e开头,后面跟一个可以带正,负符号的整数。
例如,-123E3
表示-123*10-3,987.654e-10表示987.654*10-10
单精度浮点数常量——后缀为f或F。
例如123.f123.e+3f21F
双精度浮点数常量——没有后缀。
例如123.123.e+3
长精度浮点数常量——后缀为L或l。
例如123.l123.e+3l
字符常量:
字符常量是用单引号括起来的单个字符。
例如‘A’。
注意,其中单引号不是字符常量的一部分,只起分隔作用,称为字符常量定界符。
字符串常量使用一对双引号引起来的零个或多个字符序列。
例如“a”
10.C语言的变量要“先定义,后使用”,如何定义变量?
变量有哪3个要素?
三要素:
变量名,存储单元,变量值。
11.掌握常用的运算符(算术运算符、赋值运算符、逗号运算符、条件运算符、关系运算符和逻辑运算符)的运算优先级和结合性以及表达式的计算过程?
待补充——————————————————————
12.了解混运算时数据类型的转换?
C语言的数据类型转换方式有三种:
自动类型转换,赋值类型转换,强制类型转换。
前两种是隐式转换,后一种是显示转换。
下列情况会进行隐式转换:
1、算术表达式或逻辑表达式中操作数的类型不同。
2、赋值运算符右侧表达式类型与左侧变量的类型不匹配。
3、函数调用中的实参类型与其对应的形参类型不匹配。
4、Return语句中表达式的类型返回值的类型不匹配。
无论哪一种类型转换都有可能发生以下4种情形
1、符号位扩展与零扩展
符号位扩展:
字节数少有符号类型转换为字符数多的有符号类型时产生符号位扩展,即增加的位全部扩展为原符号位,正数产生0扩展,负数产生1扩展。
零扩展:
字节数少无符号类型转换为字节数多无符号类型时,增加的位全部扩展为0
2、符号位变化
无论是将无符号类型转换成有符号类型,还是将有符号类型转换成无符号类型,都有可能导致数据的符号位发生变化。
3、丢失精度
可能丢失精度的情况有实数转换为整数,double类型转换为float类型,long类型转换为float类型(有效数字从10位变成只有7位)
4、失去有效数字
由于各种类型的有效数字位数是不一样的,因此有可能造成有效数字的丢失。
自动类型转换
自动类型转换的基本原则是将字节数少的类型转换为字节数多的类型,这种转换也称为数据类型提升。
浮点类型之间的转换规则:
float—double—longdouble。
整数型之间的转换规则:
int—unsignedint—longint—unsignedlongint。
赋值类型转换
赋值运算时,如果赋值运算符两侧的基本类型不匹配,编译器将右侧表达式的值自动转换成左边变量的类型,并将值存储在左侧变量中。
13.习题二:
第3章程序控制结构
14.C语言语句可以分为哪五种类型?
表达式语句、函数调用语句、控制语句、复合语句、空语句。
15.赋值语句的一般形式?
赋值语句的功能?
什么情况下要使用赋值语句?
(1)赋值语句是一种表达式语句,在赋值表达式的后面加上一个分号,就构成了赋值语句。
16.掌握字符输入输出函数:
getchar()和putchar()的使用?
Putchar()函数是字符输出函数,作用是向终端输出一个字符。
字符输出函数的一般形式为:
Putchar(字符型或整型数据);
功能:
向终端(一般是显示器屏幕)输出一个字符。
说明:
putchar函数参数(圆括号中的数据)可以是字符常量,变量或表达式,也可以是转义符,还可以是整数。
如果要输出单引号,因使用putchar(‘\”)。
例如:
在屏幕上输出“BOY”。
#include<
stdio.h>
Viodmain()
{
Chara,b,c;
a=’B’;
b=’O’,c=’y’;
Putchar(a);
Putchar(b);
Putchar(c);
}
getchar()的作用是在输入终端设备(一般指键盘)上输入一个字符。
一般形式为:
getchar()
从终端设备输入(读取)一个字符,函数值为输入的字符。
可以将这个值赋值给一个变量字符,从而将这个字符保存起来。
voidmain(){charc;
c=getchar();
putchar(c):
}
17.掌握格式输入输出函数:
scanf()和printf()的使用?
格式说明:
%d、%f、%c和%s的含义?
Scanf()函数的一般形式为:
Scanf(格式控制串,地址列表);
从键盘上按格式控制串指定的格式输入一组数据,依次存放在地址列表所指定的存储单元。
scanf(“%d%d”,&
x&
y);
%c用来输入一个字符。
%d用来输入一个十进制整数。
%e或%f两种格式相同,用来输入实数,可以用小数形式或指数形式输入。
详情见P48
格式输出函数printf()
Putchar()函数只能输出单个字符,而printf()函数可以输出多个任意类型的数据,他的作用是在终端设备上按指定的格式输出数据。
Printf()函数的一般格式为:
Printf(格式控制串,输出项表);
按格式控制串制定的格式,将输出项表中的数据输出到终端设备上。
printf(“x=%d,y=%d”,x,y);
详细P44
18.掌握if语句和switch语句的语法结构和使用?
19.掌握while语句、do-while语句和for语句的语法结构和使用?
20.了解break语句和continue语句的作用?
Break语句的一般形式为:
Break;
Break语句的作用是从所在循环中跳出,结束循环。
Continue语句的一般形式为:
Continue;
Continue语句是专门用于循环结构中改变某一次循环流程的语句。
它的作用是提前结束本次循环体的执行,从而开始下一次循环。
21.例题:
3-17、3-19、3-21、3-26、3-31
22.习题三:
一、1,2,3,4,6,7,9,11,12,14,15,20,21,22,24,26,27,28,29,30二、1,2,3,4,6,7,10,12,15,20三、1,4四、1,4,6,8
第4章数组和字符串
23.什么是数组?
程序设计中数组的作用?
数组下标是从几开始的整数?
(1)数组是一组相同类型变量的有序集合,用于存放一组相同类型的数据。
(2)数组下标是从“0”开始的整数。
24.掌握一维数组和二维数组的定义和初始化方法?
一维数组是其元素只有一个下标的数组,主要用于存储一个相同类型的数据序列。
一维数组定义的一般形式为:
类型说明符数组名[变量或常量表达式];
类型说明符说明数组的数据类型,数组名必须是一个合法的标识符,常量或常量表达式的值则规定了数组中元素的个数,即数组长度。
一维数组的初始化
一维数组初始化的一般形式为:
类型说明符数组名[常量或常量表达式]={常量1,常量2,常量3。
};
常量的个数不能超过数组的长度,常量类型应与元素类型一致。
(1)为数组的元素赋初值
Inta[10]={1,2,3,4,5,6,7,8,9,10};
数组元素a[0]的初值为1,a[1]的初值为2,。
a[9]的初值为10.
(2)对数组全部元素初始化,数组的长度缺省,初值的个数就是数组的长度。
Int[]={1,2,3,4,5,6,7,8,9,10};
有10个初值,所以a数组有10个元素。
(3)为数组的部分元素赋值初值,例如
Inta[10]={1,2,3,4,5};
只对数组的前5个元素赋初值,其余元素的初值为0.如果没有对数组初始化,则数组元素的初值是一个不确定的值。
注意:
初始化数组时,花括号中至少有一个初值数据,至多不能超过元素个数。
二维数组的定义
二位数组定义的一般形式:
类型说明符数组名[常量表达式1][常量表达式2];
两个方括号中的常量表达式1和常量表达式2分别规定了数组第一维的长度和第二维的长度,也称为行数和列数。
两个常量表达式的乘积是数组元素的个数。
二维数组的初始化
二维数组初始化的一般形式为:
类型说明符数组名[行数][列数]={{0行初值列表},{1行初值列表}};
(1)按行为二维数组赋值。
Inta[3][5]={{2,3,2,3,4}{1,2,3,4,5}{3,4,5,6,2}}
(2)使用一维数据对二维数组元素赋初值。
例如
Inta[3][5]{1,2,3,4,4,3,4,3,2,1,2,3,4,5,3}
(3)按行为二位数组部分元素赋初值。
Inta[4][5]={{1,3}{2}{0}{0,2,4}}
这种初始化方法对数组中的部分元素初始化,第0行的前两个元素初值为1和3,第一行的0元素初值为2,第三行的前三个元素初值依次为0,2,4,其他的元素初值为0.
25掌握字符数组初始化和使用?
(字符数组主要用来存储字符串)
字符数组就是元素类型为字符型的数组。
charch=‘A’,str[10]={‘C’,’’H’’I’’’N’’’A’’\0};
1,用字符串初始化字符数组
(1)用单个字符的方式初始化字符数组,此时,必须有一个字符’\0’。
例如:
charday[]={‘T’,‘O’,‘D’,‘A’,‘Y’,‘\0’,};
(2)用字符串常量对字符数组初始化。
Charch[]={“Iamaboy”};
或写成charch[]=“Iamaboy”;
25.掌握字符串处理函数:
gets()、puts()、strcat()、strcpy()和strcmp()的使用?
P104
26.例题:
4-2,4-5,4-7,4-13,4-14
27.习题四:
一、2,4,6,8,10二、1,2,3,6,7,10三、1,3,4,5四、2,4
第5章指针
28.什么是指针?
什么是指针变量?
指针就是地址,指针变量就是存储指针的变量。
29.掌握指针变量的定义?
掌握与指针有关的运算?
定义指针变量的一般形式:
数据类型*指针变量名1,*指针变量名2.,。
。
;
(1)一条定义语句可以定义一个或多个指针变量。
(2)星号(*)表示其后的变量是一个指针变量。
(3)“数据类型”称为指针变量的基类型,即指针所指向的基本变量的数据类型。
(4)指针变量可以和其他变量一起出现在同一个说明语句中。
与指针有关的运算
(1)取地址运算和取内容运算:
1、&
:
取地址运算符,运算对象是变量,得到变量在存储器中的首地址。
2、*:
取内容运算符,运算对象是指针,得到指针所指向的变量值。
30.了解数组中的有关指针?
掌握使用指针访问数组元素的方法?
31.掌握使用指针处理字符串的方法?
32.了解指针数组和指向指针的指针?
33.解释说明语句中说明的变量:
inta,*b,(*c)[5],*d[5],**e;
34.例题:
5-2,5-10,5-11
35.习题:
一、2,3,5二、2,4,5,6三、1,2四、5,12
第6章函数
36.了解C程序的构成?
掌握C程序的执行过程?
1、一个C语言程序由一个或多个源文件组成,一个源文件由一个或多个函数子组成,其中只有一个main()函数,通常来完成对其他函数的调用。
2、C语言函数的执行从main()函数开始,调用其他函数后又返回到main()函数,在main()函数中结束整个程序的运行。
各个函数之间是相互独立的,没有从属关系。
37.掌握函数的定义、函数的调用和函数的声明?
函数定义P138调用P140声明P142
函数定义:
函数定义的一般形式:
函数类型函数名(类型形式参数1,类型形式参数2,。
)
说明部分
可执行语句
}
(1)第一行称为函数首部(或函数头),包括函数类型,函数名和形式参数表。
函数首部之后大括号的内容称为函数体,由两部分组成:
说明部分和可执行语句序列。
(2)函数首部中函数类型指明了函数返回值的类型。
可以是基本类型,空类型,指针类型;
(3)函数名是函数的唯一标识,用于区别不同函数。
(4)函数首部函数名后面用圆括号括起来的部分称为形式参数列表。
用逗号分隔的若干个形参变量的定义。
(5)函数体必须用一对大括号包围,这里的大括号相当于函数体的界定符。
函数体规定了对参数的处理方法,也就是函数的功能。
(6)在定义函数时,函数名后面括号内的变量称为形式参数,简称形参。
在调用函数时,函数名后面括号中的变量或表达式称为实际参数,简称实参。
当主函数和被调函数之间有数据传递要求时,可通过参数传递实现。
(7)函数定义可放在程序的开头,即main()之前,也可放在其后,一般多放在main()函数之后。
特别要注意,一个函数内不能包含另一个函数定义,即不允许嵌套定义。
38.掌握函数参数的传递方式(值传递、地址传递)?
两种参数传递方式的特点?
39.了解函数的嵌套调用和递归定义?
40.什么是局部变量?
什么是全局变量?
局部变量和全局变量的作用域?
41.变量有哪四种存储类别?
了解每种存储类别的特点?
42.了解内部函数和外部函数?
43.例题:
6-5,6-8,6-9,6-16,6-17,6-28
44.习题六:
一、1,3,4,6,,8,9,10二、1,3,5,6,10三、1,4,5四、2,4
第8章结构体
45.结构体的特点?
结构体类型的定义?
结构体变量的定义?
46.结构体变量的引用?
掌握结构体成员引用的三种方法?
47.了解公用体的概念和特点?
48.掌握自定义类型名的方法?
(typedef)
49.例题:
7-1,
50.习题七:
一、1,3,6,8二、1,3,4四、2
第8章文件
51.了解文件的概念?
文件的分类?
文件类型?
文件的打开方式?
52.了解文件操作的过程?
了解常用的文件操作函数?
53.例题:
8-11,8-12
题型:
选择题填空题(概念填空、程序填空)简答题程序阅读题程序设计题