《2022年程序设计基础复习大纲 .pdf》由会员分享,可在线阅读,更多相关《2022年程序设计基础复习大纲 .pdf(14页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、程序设计基础(C 语言 )复习大纲程序设计基础 (C 语言)复习大纲题型 一填空题(每题2 分,共 20 分) 二单项选择题(每题2 分,共 40 分) 三改错题(每错2 分,共 8 分) 四程序填空题(每空3 分,共 12 分) 五程序设计题(每题10 分,共 20 分) 复习要点 第一章 C 语言与程序的算法( 5% )1. C 程序的基本结构1)C 程序有且仅有一个main() 函数; main() 函数是 C 程序处理的起点;程序的执行总是从 main 函数开始,在main 函数结束2)C 程序中的一个语句可以跨越多行,并且用分号(语句分隔符)通知编译器该语句已结束。3)函数是C 程序
2、的基本构成单位4)/*.*/ 表示注释2. 编译和执行C程序 1)编译过程:2)源程序:是用户创建的文件,以“.c ”为文件扩展名保存3)目标文件:是编译器的输出结果。这类文件的常见扩展名为“.o ”或“.obj ” 4)可执行文件:是连接器的输出结果。可执行文件的扩展名为“.exe ”。5)头文件:含有函数的声明和预处理语句,用于帮助访问外部定义的函数。头文件的扩展名为“ .h” 。6)计算机不能直接执行用C语言编写的源程序 7).obj 和 .exe的文件都是一个二进制文件。.exe 可以直接运行,但.obj 文件不能直接运行3. 算法的特征:算法:解决问题的具体方法和步骤 第 1 页 共
3、 14 页名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 14 页 - - - - - - - - - 程序设计基础(C 语言 )复习大纲1)有穷性算法必须在执行有穷步之后结束,而且每一步都可在有穷时间内完成1)确定性每条指令无二义性。并且,相同的输入只能得到相同的输出;2)可行性(有效性)对需要执行的每一步操作,必须给出清楚、严格的规定。3)输入算法有零至多个输入。4)输出算法有一个至多个输出4. 流程图 开始/ 结束处理输入/ 输出判断/ 分支连接符流程线5. 课后习
4、题答案: 1)选择题题号 1 2 3 4 5 答案 D B B C D 2)判断题题号 1 2 3 4 5 答案 第二章 数据类型、运算符与表达式(10% )1.变量的命名规则 1)组成: 52 个字母 (A-Z, a-z) , 10 个数字 (0-9) ,下划线 (_) 2)开头:字母或下划线3)注意:不能是关键字,C 语言区分大小写2.数据类型 1)基本数据类型:int,char,float,double,void 2)整型整型: int (VC+ 中占 4 字节)无符号整型: unsigned (VC+ 中占 4 字节)短整型: short (VC+ 中占 2 字节)无符号短整型: un
5、signed short(VC+ 中占 2 字节)长整型: long (VC+ 中占 4 字节)无符号长整型: unsigned long(VC+ 中占 4 字节)3)整型常量十进制: 09 的数字,前面可添加” +“或” - “,不能以0 开始八进制:07 的数字,以0 为前缀第 2 页 共 14 页名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 14 页 - - - - - - - - - 程序设计基础(C 语言 )复习大纲十六进制: 09 的数字和AF 的字母(大小
6、写均可) ,以 0X 或 0 x 为前缀数字后加L 或 l 表示长整数数字后加U 或 u 表示无符号数4)单精度浮点型:float(VC+ 中占 4 字节)5)双精度浮点型:double (VC+ 中占 8 字节)6)实型常量定点数: 09 数字和小数点组成指数形式:形式为: aEn(a 为十进制数, E 大小写均可, n 为十进制整数 ,值为a*10n7)字符型: char(内存中以ASCII 码存放,在其取值饭范围内和整数可以相互通用)如: char c=A+10; 后, c 为 K 常见的字符相应的ASCII 码: 0:48, A:65 ,a:97 小字字母的ASCII 码和大字字母的A
7、SCII 码相差 32。小字字母 -32=对应的大字字母;大字字母+32=对应的小字字母转义序列: 后的字符和 一起表示另外一个字符。n:换行, 0:空字符, : 单引号, : 双引号,:反斜线,ddd:ASCII 码为 ddd 的一个字符( ddd 为 8 进制数)8)字符型常量:用单引号引起来的一个字符3.变量定义: 允许在一个类型说明符后声明多个类型相同的变量,各变量名之间用逗号隔开;类型说明符与变量间有一个空格最后一个变量名后有一个分号变量使用前必须定义可以在定义变量的同时赋初值,也可在定义后,使用前赋初值。 4.算术运算符:熟悉常用算术运算符的使用:+,- ,*, ,% ,+,- 两
8、个整数相除的结果是整数(小数部分被自动切断), 如果运算量有一个中实型,结果为双精度实型。如:7/4 结果是 1。%操作两边必须是整数,结果等于两数相除后的余数。如7%4 结果是 3 前置 +:先加后用,后置+:先用后加( -也是一样)5.赋值运算符:熟悉常用赋值运算符的使用:= ,+= ,*=, /= , %=, -= a=b=c=5(从右向左计算)如:int x=10,y,z; 执行 y=z=x; 后, x,y,z 的值都为10。变量 +=表达式表示:变量 =变量 +表达式(如a+=5 表示: a=a+5)6.逗号运算符和逗号表达式 从左向右计算表达式的值为最后一个表达式的值。a=3*5,
9、a*4 , 计算结果为a=15,整数个表达式的值为60。如: int a,b,c;a=(b=c=3,c+,b+=c); 则 a 的值是 7。7.关系运算符:熟悉常用关系运算符的使用:,=,bc 是先计算ab 的值( 1 或 0) ,再用 1 或0 和 c 进行比较。8.逻辑运算符:熟悉常用关系运算符的使用:& , |,! 计算结果是真(1)或假( 0) 。二元操作符,从左向右计算,如ab&ab 为假,不会计算ac。因为& 为真的条件是两个操作数同为真,相似的有|,如果 |左边的值为真,也不会计算右边的结果,因为|真的条件是只要一个真就为真。9.sizeof 运算符 使用 sizeof 运算符可
10、以获得数据类型占用内存空间的大小。其一般形式为:sizeof(type_name) sizeof 运算符的结果以字节为单位显示。sizeof(int); 将会返回值4 10.三元运算符:表达式1?表达式2:表达式 3 该运算表达式是先全判断表达1 是否是真, 如为真,表达式的值是表达式2 的值,否则是表达式3 的值。11.运算符优先级 运算符描述结合性() 圆括号自左向右!, +, -, sizeof 逻辑非 ,递增 , 递减,求数据类型的大小自右向左*, /, % 乘法 ,除法 ,取余自左向右+, - 加法 ,减法自左向右, , = 小于 ,小于等于 ,大于 ,大于等于自左向右= =, !=
11、 等于 ,不等于自左向右& 逻辑与自左向右| 逻辑或自左向右=,+=, *=, /=, %= ,-= 赋值运算符 ,复合赋值运算符自右向左12.类型转换 1)自动转换:不同类型数据混合运算时,由编译器自动完成转换规则:2)强制转换: (类型名 ) 变量或数值如:执行double a=365.7189; int b=12,c;c=(int)a+b;c的值为 377. 13.课后习题答案: 1)选择题题号 1 2 3 4 5 第 4 页 共 14 页名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - -
12、 - 第 4 页,共 14 页 - - - - - - - - - 程序设计基础(C 语言 )复习大纲答案 D B C D A 2)程序阅读题题号 1 2 答案 2,1c=377第三章 输入输出与顺序程序设计(5% )1.printf 函数 1)格式: printf(“格式控制串 ” ,参数 1,数 2,.); 2)格式控制串中除格式控制字符外,其余内容会原样输出。3)常见格式控制字符:%d:将参数按整数形式转换输出,对应参数应是int 类型%c :输出一个字符,对应参数应该是一个字符如: a=A;printf(%c,%dn,a,a); 输出: A,65 %s:输出一个字符串,对应参数应该是一
13、个字符串%f :将参数按带小数点数形式输出,对应参数应是double 类型,默认情况下精确到 6 位小数%md:输出数据占m 个位宽, 数据长度将左补空格。如果实际数据长度超出m,将原样输出%m.nf:m 同上, n表示小数位数2.scanf 函数 1)格式: scanf ( “ 格式控制串 ” ,参数 1 地址,数 2 地址, .); 2)格式控制串中除格式控制字符外,其余内容要求原样输入。3)常见格式控制字符:%d:将参数按整数形式转换输出,对应参数应是int 类型%o:将参数按8 进制形式转换输出,对应参数应是int 类型%x:将参数按16 进制形式转换输出,对应参数应是int 类型%c
14、 :输出一个字符,对应参数应该是一个字符%s:输出一个字符串,对应参数应该是一个字符串%f :将参数按带小数点数形式输出,对应参数应是double 类型,默认情况下精确到 6 位小数4)数据输入结束:空格、回车、非法输入5)字符输入:任何输入都是字符,包括空格、回车等。3.putchar() ,向终端输出一个字符,语法:putchar(ch); 4.getchar (),从终端输入一个字符,语法: ch=getchar(); 注意:只能接收一个字符5.课后习题答案: 第 5 页 共 14 页名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - -
15、 - - 名师精心整理 - - - - - - - 第 5 页,共 14 页 - - - - - - - - - 程序设计基础(C 语言 )复习大纲1)选择题题号 1 2 3 答案 C B B 2)程序阅读题题号 1 2 3 答案 K,77 x=-26x=-61.printf(“Input;x=?n”); 2.scanf( “%d ”,&x); 3. 最后一行:y 没有赋值 第四章 选择结构程序设计( 15% )1.程序的三种基本结构:顺序结构、分支结构、循环结构 2.复合语句:用括起来的一个或多个C语句。 3.熟悉 if,if.else,多重 if.else,嵌套 if.else,switc
16、h.case 的用法 1)C 语言以 0 表示假,非0 整数值表示真。2)为避免嵌套的if-else 语句的二义性,C 语言规定else 总是与在其之前未配对的最近的if组成配对关系。提倡使用大括号括起来以避免看起来有二义性3)switch 括号中要求数据类型为:整型或字符表达式。case后要求为常量或常量表达式。如果需要每个case执行完后跳出,在每个case后不要忘记写break; 4.程序编程1)编写一个程序, 从终端输入一个字符,如果是小字字母则将其转换成大字字母并输出,如果是大字字母换成小字字母并输出,如果都不是则原样输出。2)编写一个C 语言程序,输入三角形的三条边a,b,c,判断
17、它们能否构成三角形。第五章 循环控制( 15% )1.熟悉 while ,do.while,for ,continue ,break的用法 2.while ( 循环条件 ) 循环操作 特点:先判断,再执行循环条件以0表示假,非0 整数值表示真3.do 循环操作 while ( 循环条件 ); 特点:先执行,再判断第 6 页 共 14 页名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 14 页 - - - - - - - - - 程序设计基础(C 语言 )复习大纲4.初始情
18、况不满足循环条件时while 循环一次都不会执行 ,do-while循环不管任何情况都至少执行一次 5.for( 参数初始化 ; 条件判断 ; 更新循环变量)循环操作 条件判断参数初始化更新循环变量循环操作真假6.for语句的三个表达式都可以省略,但分号不能省。 1)表达式 1 省略,循环变量的初始值在for 语句之前由赋值语句取得2)表达式 2 省略,编译正确,但是缺少循环条件,造成死循环3)省略表达式3,在循环体内应设法改变循环变量的值以结束循环4)表达式全省略,无条件判断,循环变量无改变,应在循环体内设法结束循环,否则会造成死循环7.break:改变程序控制流。用于do-while 、w
19、hile 、for中时,可跳出循环而执行循环后面的语句。 break语句可以用于switch和循环语句体中 8.continue :只能用在循环里。作用:跳过循环体中剩余的语句而执行下一次循环 9.注意: 1)在循环中,需要修改循环变量的值以改变循环条件,否则有可能形成死循环 2)循环嵌套必须将内层循环完整的包含在外层循环中 10.程序编程 1)编写一个C语言程序,求S=a+aa+aaa+ +aaa(n个 a)之值,其中a 是一个数字。例如 2+22+222+2222+22222( 此时n=5),注意,a 的值和 n 的值都由键盘输入。 2)学生有近千名学生,在操作上排队,5人一行余 2 人,
20、7 人一行余 3 人,3 人一行余1人,编写一个程序,求该校的学生人数。 11.课后习题答案: 1)选择题题号 1 2 3 4 答案 B A A D 2)程序阅读题题号 1 2 3 4 5 答案 D C A B * * * *第六章 数组( 15% )1.数组是可以在内存中连续存储多个元素的结构 2.数组的大小是固定的,所有数组元素的类型必须相同 第 7 页 共 14 页名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 14 页 - - - - - - - - - 程序设计
21、基础(C 语言 )复习大纲3.数组的定义 1)一维数组:数据类型数组名 常量表达式:数组大小; 2)一维数组的初始化:int arr10= 10,9,8,7,6,5,4,3,2,1; int arr10 = 10,9,8,7,6,5,4,3,2,1,0; /错误!越界了int arr10 = 9,8,7,5; /正确,后面的6 个元素未初始化,默认为 0 int arr = 9,8,7; /正确:元素个数为 3 int arr=; /错误,到底是几个元素?3)二维数组:数据类型数组名 常量表达式:行大小 常量表达式:列大小; 4)二维数组的初始化:int arr23 = 1,2,3, 4,5,
22、6 ;/2行 3 列数组int arr 3 = 1,2,3, 4,5,6 ;/2行 3 列数组int arr2 = 1,2,3, 4,5,6 ; /错误,不能省略第二维长度int arr23= 1,2,3,4,5,6; /正确:先为第1 行赋值,再为第2 行赋值int arr 3= 1,2,3,4,5; /正确:先为第1 行赋值,再为第2 行赋值,不够默认为 0 4.数组的使用 1)一维数组:数组名索引号 ,可以取出数组中一个元素;/索引号从0 开始2)二维数组:数组名行索引号 列索引号 ;可以取出数组中一个元素;/行、列索引号从 0 开始 5.字符串 1)字符串常量是双引号括起的任意字符序列
23、2)在语言中没有专门的字符串变量,通常用一个字符数组来存放一个字符串3)字符数组和字符串的区别是:字符串的末尾有一个空字符 0 4)使用 puts 函数输出字符串:puts(字符串名 ); puts 函数完全可以由 printf 函数取代。当需要按一定格式输出时,通常使用printf 函数。5)使用 gets 函数字符串:gets(字符串名)从键盘上读入一个完整的行,存入字符数组。并用空字符0取代行尾的换行符n。gets允许输入空格,scanf 不允许输入空格(以空格做为输入结束标识)6)字符串处理函数strlen()、strcpy() 、strcat()、strcmp() 和 strlen(
24、) 6.程序编程 1)冒泡排序:编写一个程序,从终端输入十个整数,对这十个整数按从小到大的排序并输出。第 8 页 共 14 页名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 14 页 - - - - - - - - - 程序设计基础(C 语言 )复习大纲2)编写一个C语言程序,由用户输入10 个整数,将这10 个整数放入一个数组中,然后将数组中的值按相反的顺序重新存放。如原来的顺序是7,3,9,10,2,6, 1 ,5, 4 ,8要求改为8,4,5,1,6,2,10,9,
25、3,7。3)自定义串复制函数:void stringCopy(char *s,char *t) 4)自定义串联接函数:void stringConcat(char s1,char s2) 7.课后习题答案: 1)选择题题号 1 2 3 4 5 答案 C B A C D 2)判断题题号 1 2 3 4 5 答案 3)程序填空题题号 1 2 答案 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 gets(a) gets(b) ai= 0 ak+=bi puts(a) 第七章函数(15% )1.函数定义 : 返回值类型函数名(参数数据类型参数名,参数数据类型参
26、数名, .)1)C 语言中规定函数返回值的类型是由在定义该函数时所指定的函数类型所决定,即返回值类型决定函数的类型,如果没有返回值,需要使用void。如果没有指定返回值类型,系统将默认返值类型为int。2)参数可以没有,但()不可少,3) 内为函数体, 不可少4)函数返回值: (return)C 语言中的函数至多可以返回一个值,不能返回多个值;返回值的数据类型必须与函数原型中返回值的数据类型匹配;当遇到 return 语句时,函数执行将终止。程序控制流将立即返回调用函数;2.函数原型: 形式:返回值类型 函数名(参数数据类型,参数数据类型,. ); 1)函数原型说明在形式上与函数头部类似,最后
27、加一个分号。原型说明中参数表里的参数名可以不写(只写参数类型)。第 9 页 共 14 页名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 9 页,共 14 页 - - - - - - - - - 程序设计基础(C 语言 )复习大纲2)如果在调用函数前没有出现函数的定义,必须先做函数申明,及先写出函数原型。3)函数原型中没有函数体(部分),分号不可少。3.函数调用: 1)函数调用时,主调函数中的参数称为实参,表示实际要传入的值。定义函数时定义的参数称为形参,表示实现由主调函数传入值。2)
28、函数可以嵌套调用但不能嵌套定义函数,即在一个函数内部定义一个函数。3)在一个函数体内调用自身称为函数的递归调用4.函数传参: 1)函数默认传参方式为值传参,实参将值赋值给形参,实参和形参占用不同的内存空间,形参值的改变不会改变实参的值。2)当函数传递的是数组名、指针时,为地址传参,实参将其内存地址赋值给形参,实参和形参指向同一个内存空间,形参对该空间值的改变同时也改变了实参的值。3)当形参定义为数组时(如: int a) ,实参应为数组名(如a); 5.变量的作用域 1)程序中变量有不同的使用范围,称为变量的作用域。变量的作用域决定变量的可访问性2)在函数内或语句块中申明的变量为局部变量,作用
29、域为函数内部或语句块内部3)在函数外申明的变量为全局变量,作用域为定义开始部分到程序结束部分6.变量的生存期 1)变量的存储方式可分为“ 静态存储 ” 和“ 动态存储 ” 两种2)静态存储变量是一直存在的,而动态存储变量则时而存在时而消失。这种由于变量存储方式不同而产生的特性称为变量的生存期。生存期表示了变量存在的时间3)auto:自动变量: 局部变量在缺省存储类型的情况下归为自动变量。其生存期和作用域相同4)static :静态变量:在程序执行时存在,并且只要整个程序在运行,就可以继续访问该变量。静态局部变量生存期为整个源程序静态局部变量作用域与自动变量相同,即只能在定义该变量的函数内使用该
30、变量对基本类型的静态局部变量若在说明时未赋以初值,则系统自动赋予0 值函数被调用时,其中的静态局部变量的值将保留前次被调用的结果7.程序编程 1)编写一个函数将数组中元素逆转并输出 2)编写一个函数,判断一个整数是否是素数, 如果不是素数返回0,如果是素数返回1 8.课后习题答案: 1)选择题题号 1 2 3 4 5 6 答案 B C D A B A 2)判断题第 10 页 共 14 页名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 10 页,共 14 页 - - - - - - -
31、 - - 程序设计基础(C 语言 )复习大纲题号 1 2 3 4 5 6 7 8 9 10 答案 3)程序填空题题号 1 2 3 答案 B D D 第八章 指针、结构型与联合型(15% )1.指针相关概念 1)指针也是一个变量,只不过该变量中存储的是另一个对象的内存地址2)如果一个变量存储另一个对象的地址,则称该变量指向这个对象3)由于指针值是数据,指针变量可以赋值,所以一个指针的指向在程序执行中可以改变。指针p 在执行中某时刻指向变量x,在另一时刻也可以指向变量y 3)指针变量的命名规则和其他变量的命名规则一样4)指针不能与现有变量同名5)指针可存放 C 语言中的任何基本数据类型、数组和其他
32、所有高级数据结构的地址6)若指针已声明为指向某种类型数据的地址,则它不能用于存储其他类型数据的地址7)应为指针指定一个地址后,才能在语句中使用指针2.声明并初始化指针变量 1)指针变量类型* 指针变量名(如int *p; )2)指针变量名 = NULL; 值为 NULL 的指针称为空指针,这意味着,指针并不指向任何地址。在头文件 stdio.h 中, NULL 定义为常量。3.与指针相关的运算符 1)& :取地址符:格式:& 变量名,将取出变量的地址。2)* :间接运算符:格式:*指针变量名,将取出指针变量所指内存地址对应的值3) 如有:int a=10;int *p;p=&a; 则&a 和
33、p 都表示变量a 的地址,&p 表示指针变量的地址,a 和*p 都表示变量a 的值 10。4.指针运算 1)指针赋值运算:指针变量=地址;如: int a; int *p;p=&a; 将把 a 的地址赋值给p,p 指向变量 a;数组名为该数组的首地址。如: int a5; int *p=a; 将把数组的首地址赋值给p。p 指向数组的第一个元素。&a0 也表示数组的第一个元素的地址,所以,p=&a0 的作用同上。数组第 1 个元素地址: a,&a0 ,p 数组第 i+1 个元素地址:a+i,p+i,&ai ,&pi 数组第 1 个元素的值: a0 ,p0 ,*a,*p 数组第 i+1 个元素的值
34、:*(a+i) ,*(p+i) ,ai ,pi 第 11 页 共 14 页名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 11 页,共 14 页 - - - - - - - - - 程序设计基础(C 语言 )复习大纲2)指针算术运算:+,-,- 使用递增 /递减运算符(+ 和 - )将指针递增或递减,每做一次+ 或 - ,指针将移动一个单位,一个类型为 T 的指针的移动,如: int a5; int *p=a;p+后, p 将指向数组a 第 2 个元素,即a1的地址。将指针加上或者减
35、去某个整数值:指针将移动n 个单位,如: int a5; int *p=a;p=p+3后, p 将指向数组a第 4 个元素,即a3的地址。两个指针相减,将得到一个整数值,该值为两个指针相隔的单位。如: int a5; int *p=a;int *q=&a3;q-p的值为 3。3)指针关系运算= =,两个指针是否指向同一个地址, =,成员名如: struct stu *pstu; (*pstu).num 或者: pstu-num 8)结构作为函数参数将整个结构作为参数值传递给函数。值传递,形参将产生一个和实参的结构变量值一样的副本将结构指针变量做函数的参数。地址传递,形参和实参将指向同一个结构变
36、量地址。 10.课后习题答案: 1)选择题题号 1 2 3 4 答案 B A A C 2)程序填空题1) hELLO 2) 4,5 3) age,q-age 4)从上到下依次是:0, 1, 2, 3,50,51 5)输出 11 次 NEW YEAR 第九章 预处理命令( 5% )1.宏定义 ) #define 标识符字符串:在编译时,将用字符串替换程序中出现的所有标识符如:#define Pi 3.1415926 2.”文件包含“处理 ) #include ”文件名 ” : “”系统将先在用户当前目录从查找文件,找不到将在系统目录中查找) #include:系统只在系统目录中查找文件3.课后习题答案: 1)选择题题号 1 3 答案 C C 第 14 页 共 14 页名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 14 页,共 14 页 - - - - - - - - -