[IT认证]二级强化C语言复习资料.doc
《[IT认证]二级强化C语言复习资料.doc》由会员分享,可在线阅读,更多相关《[IT认证]二级强化C语言复习资料.doc(40页珍藏版)》请在三一办公上搜索。
1、江苏省计算机等级考试(二级C语言)复习资料田祥宏江苏省计算机等级考试二级C语言复习资料金陵科技学院信息技术学院目 录第一章 江苏省计算机等级考试(二级C语言)考试大纲1第二章 江苏省计算机等级考试(二级C语言)考点分析4一、 宏定义4二、 递归调用4三、 二维数组7四、 链表应用8五、 字符串处理11六、 递推法15七、 穷举法17八、 静态变量/变量作用域18九、 方程求根19十、 查找、排序20十一、 结构体应用23十二、 求定积分(梯形法)24第三章 二级考试常见技巧26一、 整/整=整26二、 数字字符(字母字符)与数字转换(字母)26三、 &和|不计算问题26四、 字符串常量中的转义
2、字符26五、 求整数各位数字问题26六、 数组名是地址常量,不能自增、自减和赋值26七、 %运算符两个操作数都是正整数27八、 break只用于循环语句和switch语句;continue只用于循环语句中27九、 变量作用域屏蔽问题27十、 字符串的查找、插入、删除必须会271、 字符串查找272、 字符串插入303、 字符串删除32十一、 求回文数(如321的回文数为123)必须会。34十二、 判断素数的方法必须会。34第四章 C语言中必须掌握的函数3737江苏省计算机等级考试(二级C语言)考试大纲C语言部分基本要求1. 熟练掌握C 语言的基本知识;2. 具备基本的C程序设计能力,能熟练地阅
3、读、理解和编制简短的C程序;3. 了解面向对象程序设计的基本概念。基本内容一、数据的定义数据的定义包括数据类型和存储类别。1、基本类型基本类型指整型、实型和字符型。(1) 常量熟练掌握各种表示形式的整数、实数、和字符(串)常量,符号常量的定义和使用。包括整数的十进制、八进制和十六进制的表示形式、长整型常量的表示形式,实数的浮点表示法和科学记数法,字符的转义序列,常用符号常量的含义(如NUCLEON等)(2) 变量熟练掌握变量的定义和初始化。 2、构造类型构造类型包括数组和结构。(1) 数组熟练掌握一维和二维数组的定义和初始化,数组元素的引用。包括一维字符数组和字符串,二维字符数组和字符串数组。
4、(2) 结构熟练掌握结构类型的定义,结构变量的定义和初始化,结构变量成员的引用。3、指针(1) 熟练掌握指针和地址的概念(2) 熟练掌握指针变量的定义和初始化(3) 熟练掌握通过指针引用指向实体4、构造类型和指针类型的混合定义及应用(1) 熟练掌握指针、数组和地址间的关系(2) 熟练掌握指针数组(3) 熟练掌握结构数组(4) 熟练掌握结构指针(5) 掌握结构中含指针或数组(6) 掌握嵌套结构(7) 掌握指向指针的指针(二级)(8) 单向链表掌握单向链表的建立和遍历了解插入和删除单向链表中的一个节点5、空类型掌握空类型的定义和使用6、变量的存储类别、作用域和生存期(1) 掌握变量的存储类别aut
5、o 自动型、static 静态型、extern 外部参照型(2) 掌握全局变量和局部变量注意区分:自动局部变量和静态局部变量、全局变量和静态全局变量、外部变量二、运算及流程控制1、基本运算熟练掌握运算符的功能熟练掌握运算符的优先级、结合性和目数熟练掌握隐式类型转换和强制类型转换2、表达式熟练掌握各类表达式的组成规则和计算过程3、语句(1) 熟练掌握表达式语句、空语句、复合语句;(2) 熟练掌握简单控制语句(break、continue、return);(3) 熟练掌握选择控制语句(if switch)(4) 熟练掌握重复控制语句(for、while、dowhile);三、程序结构和函数1、程序
6、结构熟练掌握main函数与其他函数之间的关系包括标准库函数和自定义函数2、函数的定义(1) 熟练掌握函数定义的ANSI C格式(2) 熟练掌握函数的参数(形式参数和实在参数)及参数传递包括指针作为函数的参数(3) 熟练掌握函数的返回值包括指针作为函数的返回值3、函数的调用(1) 函数调用的一般格式熟练掌握通过函数名调用函数,了解通过函数指针调用函数(2) 掌握函数的嵌套调用和递归调用(3) 熟练掌握标准库函数的调用常用数学函数:cos、sqrt、pow、exp、fabs、log、log10等常用字符函数:isalnum、isalpha、isdigit、islower、toupper等常用字符串
7、函数:strcpy、strcmp、strcat、strlen等四、数据的输入和输出1、文件熟练掌握文件的基本概念2、标准文件的输入和输出熟练掌握常用输入输出函数:scanf、printf、getchar、putchar、gets、puts等3、缓冲文件系统(文本文件) (1) 熟练掌握文件的打开和关闭常用函数:fopen和close(2) 熟练掌握文件的基本读写操作常用函数:fscanf、fprintf、fgetc、fputc、fgets、fputs等(3) 熟练掌握文件的状态检测常用函数:feof等五、编译预处理1、熟练掌握编译预处理的基本概念2、掌握宏定义3、掌握文件包含六、面向对象程序设
8、计初步1、掌握类、对象和面向对象程序设计的基本概念2、了解类的定义包括类的成员函数和数据成员七、常用算法以下算法针对本大纲中列出的各种数据结构1、分类(排序)算法冒泡、选择、插入2、检索(查找)算法(1) 无序数据序列的查找(见遍历算法)(2) 有序数据序列的查找:二分法3、遍历算法(1) 一维数组和二维数组的遍历(2) 单向链表的遍历(3) 文件的遍历4、其它基本算法 递推法、穷举法,二分法、牛顿法求方程根,梯形法求定积分等。江苏省计算机等级考试(二级C语言)考点分析经过本人多年来对江苏省计算机等级考试真题的研究,总结出以下考点会经常考到:一、宏定义二级考试必考的,必须让学生明白:宏替换只是
9、原样替换。(1)2002年秋填空第7题#define N 3#define Y(n) (N+1)*n)则执行语句“z=2*(N+Y(5+1);”后,z的值是_。替换时原样替换后的式子为:z=2*(3+(3+1)*5+1);(2)2005年春填空第10题#include #define ADD(x,y) x+ymain()int a=15,b=10,c=20,d=5; printf(“%dn”,ADD(a,b)/ADD(c,d);上面程序输出结果为_。二、递归应用(1) 2000年秋填空第5题main() int s, p9=1,2,3,4,5,6,7,8,9; printf(“n%d”, ad
10、d(p,5);add(int *p, int n) if(n=1) return *p; else return *p+add(p+1,n-1);程序输出结果是_。结果为:15(2) 2000年秋填空第8题fun(int n, int *s) int f1,f2; if(n=1|n=2) *s=1; elsefun(n-1,&f1); fun(n-2, &f2);*s=2*f1+f2+1; printf(“n%d,%d”,f1,f2); main() int x; fun(4,&x); printf(“n x=%d”,x);程序运行时输出的第一行是_,第二行是_,最后一行是_。答案:1,1 4
11、,1 x=10(3) 2001年春填空第4题以下程序输出结果是_main() printf(“%d”, fun(5); fun( int n) if(n=1) return 1; return n-fun(n-1);结果为:3(4) 2001年春填空第12题以下程序实现将a数组中后8个元素从大到小排序的功能void sort(int *x, int n)main() int a12=5,3,7,4,2,9,8,32,54,21,6,43, k; sort(_, 8); for(k=0; k12; k+) printf(“%d”,ak);void sort(int *x, int n)int j
12、,t; if(n=1) return; for(j=1; jn; j+) if(_) t=x0; x0=xj; xj=t; sort(x+1, _);本题结合了冒泡排序法,第一个空填:a+4 ;第二个空填:x01)t=p0; 0=pn-1; pn-1=t; rev(p+1,n-2); main() int j,a5=1,2,3,4,5; rev(a+1,4); for(j=0; j5; j+) printf(“%d”,aj); printf(“n”; rev(a,3); for(j=0; j5; j+) printf(“%d”,aj);输出结果:15432 45132(6) 2002年秋填空题
13、第11题(P7-11)main() int a33,i,j; numlist(&a00,9); for(i=0; i3; i+) for(j=0; j3; j+) printf(“%d,”, aij); printf(“n”); numlist(int *p, int n) int i; for(i=0; in; i+) pi=num(i);num(int n); if(n=0) return 1; return num(n-1)*2+1;程序运行时输出的第一行是: 1,3,7(7) 2003年春填空题第11题(P17-11)long func(long x) if(x100) return
14、x%10; else return func(x/100)*10+x%10; main() printf(“The result is : %ld n”,func(132645); 程序运行结果是 The result is : 365(8) 2003年秋填空题第11题(P26-11)void fun(int *p1, int *p2);main() int i, a6=1,2,3,4,5,6; fun(a,a+5); for(i=0; i5; i+) printf(“%2d”,ai);void fun(int *p1, int *p2) int t; if(p1p2) t=*p1; p1=*
15、p2; *p2=t; fun(p1+=2, p2-=2); 程序运行结果是 6 2 4 3 5 1(9) 2004年春(P37-11)#include void f(int a, int n, int x, int *c);main() int a10=1,3,5,2,3,5,3,7,4,1,t=0; f(a,10,5,&t); printf(“%d”,t);void f(int a, int n, int x, int *c) if(n=0) return; if(a0=x) (*c)+; f(a+1,n-1,x,c);程序运行结果是 3(10) 2004年秋(P52-14)本例结合了二分法
16、求方程的根。见“方程求根”(11) P68-14本例结合了牛顿迭代法求方程的根。见“方程求根”三、二维数组(1) 2004年秋填空第12题(P51-12)以下程序运行时输出结果的第一行是_,第二行是_,第三行是_。#define N3main() int i,j,k=1,aNN=0; for(i=0;iN/2+1; i+) for(j=0; j=i; j+) aji-j=k+; for(; i2*N; i+) for(j=i+1-N; j=N-1; j+) aji-j=k+; for(i=0;iN; i+) for(j=0; jN; j+) printf(“%4d”,aij); printf(
17、“n”); 答案:1 2 4 3 5 7 6 8 9(2) 2005年春填空第12题(P66-12)以下程序运行时输出结果的第二行为_,第四行为_,第六行_。#include void change(int s33, int d) int i,j,k; if(d=0) for(i=0; i3; i+) for(j=i+1;j3;j+) k=sij; sij=sji; sji=k; else for(i=0; i3; i+) for(j=0;j3-i;j+) k=sij; sij=s2-j2-i; s2-j2-i=k; main() int s33=1,2,3,4,5,6,7,8,9,i,j,k
18、,n; change(s,0); for(i=0; i3; i+) for(j=0;j3;j+) printf(“%4d”,sij); printf(“n”);change(s,1);for(i=0; i3; i+) for(j=0;jd; pn=pk; while(_!=0) pj=pk-next;if(_d; pm=pk; pn=pj; pk=pj;xk+=pn-d;if(_) pm-next=pn-next;else head=pn-next;free(pn);_; 答案:pk-next pj-d pn!=head return k(2) 2004年春填空第17题(P41-17)设某链表
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- IT认证 IT 认证 二级强化 语言 复习资料

链接地址:https://www.31ppt.com/p-4650255.html