江苏省计算机二级c上机考试辅导

上传人:第*** 文档编号:49835384 上传时间:2018-08-03 格式:PPT 页数:114 大小:848.50KB
返回 下载 相关 举报
江苏省计算机二级c上机考试辅导_第1页
第1页 / 共114页
江苏省计算机二级c上机考试辅导_第2页
第2页 / 共114页
江苏省计算机二级c上机考试辅导_第3页
第3页 / 共114页
江苏省计算机二级c上机考试辅导_第4页
第4页 / 共114页
江苏省计算机二级c上机考试辅导_第5页
第5页 / 共114页
点击查看更多>>
资源描述

《江苏省计算机二级c上机考试辅导》由会员分享,可在线阅读,更多相关《江苏省计算机二级c上机考试辅导(114页珍藏版)》请在金锄头文库上搜索。

1、C语言上机考试辅导C语言上机考试概况 考试时间: 70分钟 上机考试内容及题型总分:40分 改错题(调试程序)16分 编程题(编写程序)24分 可使用的编译系统 C语言系统(TC2.0,WinTC) C+系统(TC3.0 ,VC 6.0,Dev C+等)上机考试 改错题做改错题注意事项 直接打开T:盘中已存在文件myf1.c 只允许修改语句,不允许添加、删除语句。 可添加变量声明、函数声明、预处理命令 错误类型及数量2个语法错: 编译时均有报错(Error)提示2个语义错或算法错:少数语义错在编译或运行时有 警告(Warning)提示, 算法错在编译或运行时没有报错 提示但运行结果错 尽力而为

2、找到错误并改正,不要耽搁太长时间常考 语法错 语法错 第1类:函数调用中实参表示错误 【例1】 void huan( int a ,int m , int n, int *max) huan函数头部另一种表示:void huan(int *a,int *m, int n,int *max) void main() int a20, i,n,m4,max,sum=0;huan(a ,m ,20, /*报错 1*/huan(a20,m4,20, /*报错 2*/ 报错行1报错信息 Expression syntax 报错行2报错信息 Type mismatch in parameter a 报错行

3、改为 huan(a,m, 20, 语法错 第1类:函数调用中实参表示错误 【例2 】 int merg(char s1 10,char s2 10,char s3 10,int m,int n ) void main() char s1410=“int“, “for“, “ do“, “if“;char s2410=“for“,“case“,“do“,“else“;char s32010; j=merg( s1 10, s2 10, s3 10, 4, 4); 报错报错1 j=merg(int s1 10,int s2 10,int s3 10,4,4);报错报错 2 j=merg( s141

4、0, s2410, s3410, 4, 4); 报错报错3 报错报错1、2信息 Expression syntax 报错报错3信息 Type mismatch in parameter s1报错报错1、2、3行均改为为 j=merg(s1,s2,s3, 4, 4);语法错 第2类:函数调用中实参数量错误 【例1】void resort(int *x, int n) main() int a10=17, 15, 10, 14, 16, 17, 19, 18, 13, 12, i;resort(a); /* 报错*/ 报错信息: Too few parameters in call to 报错行改

5、为: resort( a, 10 ); 语法错 第3类:无返回值函数调用错误 【例1】 void resort(int *x, int n) main() int a10=17, 15, 10, 14, 16, 17, 19, 18, 13, 12, i;a10=resort(a,10); /*报错*/ 报错信息:Not an allowed type 报错行改为: resort(a,10);语法错 第4类:函数定义头部中有多余分号【例1】 int validata(int x); int s5; /*报错行 */ int i,j,k; void main() int n;n=validata

6、 (5); 报错信息: Declaration syntax error 改正: 删去validata函数定义头部的分号 语法错 第5类:函数定义中形参声明错误 【例1】 int sort_aver(int a 3, n, b 3 ) /* 报错 */ void main() int x103=1,3,3,1,1,3,2,3,5,3,5,4,3,3,6;int i,j,n, b33; n=sort_aver(x,5,b); 报错信息: Declaration syntax error 报错行改为: int sort_aver(int a 3, int n, int b 3) 语法错 第5类:函

7、数定义中形参声明错误 【例2】 char *insertstr(char str, char str1, char str2 ) 出错 if(str0=0|str10=0|str20=0) 报错1return str ; 报错2 main( ) char str80=“I can speak English.You can speak English.“;char *p; p=insertstr(str,“English”,“ too”); 报错3 报错1信息:Invalid indirection 报错2信息:Non-portable pointer conversion 报错3信息:Typ

8、e mismatch in parameter str 出错行改为 char *insertstr(char *str, char *str1,char *str2) 语法错 第5类:函数定义中形参声明错误 【例3】 int count(char *str, char *substr, int ioc ) 出错 int i, j, k, t, m=0;for(i=0 ; stri!=0 ; i+ ) t=0;for( j=i , k=0; substrk=strk ; k+ , j+ ) if( substrk+1=0) t=1; break; return m; main( ) int i,

9、 k, ioc10;char str80=“This is a book.” , substr10=“book”;k=count( str , substr , ioc ) ; 报错 报错信息:Suspicious pointer conversion 出错行改为:int count(char str, char substr, int ioc) 或:int str_count(char *str, char *substr, int ioc ) 语义错 第10类:函数定义中形参声明错误 【例2】 int tran(char *s, char b80) 有错 int i,j=0;char st

10、r80; void main( ) int i,num; char s80=“We23learn!“,s110080; num= tran(s,s1); 输出结果错误 出错行改为: int tran(char *s, char b80)语法错 第6类:return语句中表达式类型错误 【例1】 char *insertstr(char *str,char *str1,char *str2) return *str; /* 报错*/ main( ) char str80=“I can speak English.You can speak English.“;char *p; p=inserts

11、tr(str,“English“,“ too“);puts(p); 报错信息:Non-portable pointer conversion报错行改为: return str; 语法错 第6类:return语句中表达式类型错误 【例2】void palin(char *s) / * 出错*/ int i,j,k,ok; return ok; /*报错*/void main() char s280=“Madam Im Adam.“,“Not a palindrome.“;int i,ok;for(i=0;i复习:#include命令库函数在函数调用前应有 预处理命令scanf, printf,

12、getchar,putchar gets,puts,fscanf,fprintf 等#includesqrt, fabs, pow, sin, cos 等#includeisdigit,isalpha,isspace,tolower,toupper 等#includestrcat, strcpy, strcmp,strlen等#include语法错 第8类:数组声明错误 【例1】 void edit(char *s) char buf ; 报错 报错信息: Size of array not known 报错行改为: char buf80; 语法错 第8类:数组声明错误 【例2】 #defin

13、e N 10 main int i, j, n, ann; /*报错*/ 报错信息: Constant expression required 报错行改为:int aNN; 或 int a1010; 语法错 第8类:数组声明错误 【例3】 char s4 =“a%1“, “_a12“, “aaa“, “$ss“; 报错 报错信息:Size of array not known报错行改为:char s45= “a%1”,“_a12”,“aaa”,“$ss”; 或 char s 5= “a%1”,“_a12”,“aaa”,“$ss”;语法错 第8类:数组声明错误 【例4】 #include main() char str80=This is a book; 报错 报错信息: Undefined symbol thisIncompatible type conversionDeclaration syntax error报错行改为: char str80=“This is a book”; 语法错 第8类:数组声明

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 解决方案

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号