2022年江苏省高校计算机等级考试二级C语言上机真题答题要点 .docx
《2022年江苏省高校计算机等级考试二级C语言上机真题答题要点 .docx》由会员分享,可在线阅读,更多相关《2022年江苏省高校计算机等级考试二级C语言上机真题答题要点 .docx(33页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选学习资料 - - - - - - - - - 【上机题命题及答题要点】1、 近年来江苏省高校上机题目难度有所下降;本轮上机命题的难度系数与全国运算机等级考试二级 C语言接近;2、 改错题通常有 34 个错误;错误分为两大类,一类是语法出错,这类错误比较查错和简洁修改,即在编译时报的错误;另一类是结果出错,即程序的算法出错,这类错误需仔细审题;3、 编程题必需把握 C 语言的文件,应熟识文件指针的定义,文件的打开及文件的输入输出;编程题的固定框架;必需记忆;以 C01 的编程为例;#include /* 库函数 exit0 需要 */ #include /* 定义文件指针时需要的头文件 */
2、 .int palindromechar *str, char *r 函数编程,按【编程要求】 1.编写函数 int palindromechar *str, char *r ;. 要点:函数首部完整照抄;参数为指针时,如对指针不熟识, 在函数体内可以按数组编程;void main FILE *fp ;全部数据类型的说明和定义 iffp=fopent:myf2.out,w=NULL printfnCant open the file.; exit 0 ; 函数调用(详细问题详细分析)结果输出 printfnMy number is:120992340n; fprintffp,nMy numbe
3、r is:1292340n; fclosefp ; 4、 必需熟识常用算法;5、 江苏省高校运算机二级 C 语言上机编程题常考问题:字符串相关问题、素数相关问题、回文数相关问题、矩阵(二维数组)相关问题、特别数问题(如,合数、真因子或质因子之和、水仙花数、亲热数、完数、数制转换、哥德巴赫猜想等);6、把握文件输出操作标准形式;【2022 年 3 月江苏省等考上机真题解读】名师归纳总结 - - - - - - -第 1 页,共 17 页精选学习资料 - - - - - - - - - 江苏省高等学校非运算机专业同学 C01 运算机基础学问和应用才能等级考试上机试卷 二级 C 语言 试卷代号 C0
4、1 (本试卷完成时间 70 分钟)一、 改错题 (16 分)【程序功能】判定一个 N N 方阵( N 为奇数)是否为魔方阵;魔方阵的判定条件是:方阵中每行、每列、主对角 线及副对角线上的数据之和均相等;例如,以下方阵中,主对角线的数据是8、5、2 之和是15,副对角线上的数据6、5、4 之和也是15,并且每行、每列数据之和15,因此该项方阵是魔方阵;8 1 6 3 5 7 4 9 2 【测试数据与运行结果】屏幕输出: 8 1 6 3 5 7 4 9 2 The Array x is a magic square. 1 2 3 5 6 4 9 8 7 The Array x isnt a mag
5、ic square.【含有错误的源程序】以下源程序已储存在T 盘 myf1.c 文件内,考生可直接打开该文件测试程序;#include #include #include #define N 3 void funint *aN int i,j,m1,m2,row,colum; m1=m2=0 ; fori=0 ; iN ; i+ m1+=aii; m2+=aiN-i-1; ifm1.=m2 return 0 ; fori=0 ; iN ; i+ row=colum=i ; forj=0 ; jN ; j+ row+=aij; colum+=aji ; ifrow.=colum|row.=m1
6、return 0; return 1;名师归纳总结 - - - - - - -第 2 页,共 17 页精选学习资料 - - - - - - - - - void printint xN int i,j ; fori=0 ; iN ; i+ forj=0 ; jN ; j+ printf%3d,xij; printfn ; int main int xN,N=8,1,6,3,5,7,4,9,2,yN,N=1,2,3,5,6,4,9,8,7; printx ; iffunx printfThe Array x is a magic square.n; else printfThe Array x
7、isnt a magic square.n ; printy ; iffuny printfThe Array y is a magic square.n; else printfThe Array y isnt a magic square.n ; getch; return 0; 【要求】1.打开 T 盘中 myfl.c 文件或将上述程序录入到myf1.c 文件中,依据题目要求及程序中语句之间的逻辑关系对程序中的错误进行修改;2. 改错时,可以修改语句中的一部分内容,调整语句次序,增加少量的变量说明或编译预处理命 令,但不能增加其它语句,也不能删去整条语句;3.改正后的源程序(文件名myf
8、l.c )储存在 T 盘的根目录中供阅卷使用,否就不予评分;【解读】#include #include /* 该头文件是调用 getch函数需要的 */ #include #define N 3 int funint *aN /1、函数要求调用有返回值,void funint *aN函数类型设置错误 int i,j,m1,m2,row,colum; m1=m2=0 ; fori=0 ; iN ; i+ m1+=aii; m2+=aiN-i-1; ifm1.=m2 return 0 ; fori=0 ; iN ; i+ row=colum=i ; forj=0 ; jN ; j+ row+=ai
9、j; colum+=aji ; 名师归纳总结 - - - - - - -第 3 页,共 17 页精选学习资料 - - - - - - - - - ifrow.=colum&row.=m1 /2、规律表达式出错:row.=colum|row.=m1 return 0; return 1; void printint xN int i,j ; fori=0 ; iN ; i+ forj=0 ; jN ; j+ printf%3d,xij;/3、输出格式出错:printf%3d,xij ; printfn ; int main int xNN=8,1,6,3,5,7,4,9,2,yNN=1,2,3,
10、5,6,4,9,8,7; /4、数组下标定义出错:xN,N 和 yN,N printx ; iffunx printfThe Array x is a magic square.n; else printfThe Array x isnt a magic square.n; printy ; iffuny printfThe Array y is a magic square.n; else printfThe Array y isnt a magic square.n; getch; return 0; 二、 编程题 (24 分)【程序功能】检查一个字符串中中全部数字字符所对应整数(例如,字
11、符 1所对应的整数为 1,其他依次类推)之和是否为 3 的倍数;判定该字符串是否回文字符串(回文字符串:正序和倒序相同的字符串;例如,ab121ba是回文字符串);【编程要求】1、编写函数 int palindromechar *str, char *r ;函数功能: 检查 str 指向的字符串中全部数字字符所对应的整数之和是否为 3 的倍数,如是就将 yes储备到 r 指向的数组中,否就将 no 储备到 r 指向的数组中 .判定 str 指向的字符串是否是回文字符串,如是就函数返回 1,否就返回 0;2、编写函数 main ;函数功能:声明字符型数组 a 和 r,输入一个字符串到 a 数组,
12、用 a、 r 作实寻调用 palindrome 函数,如字符串中全部数字字符所对应的整数之和是 3 的倍数且字符串双是回文字符串,就输出该字符串及 yes 到屏幕及数据文件 myf2.out 中,否就输出 no 到屏幕及数据文件myf2.out 中;最终将考生本人的准考证号字符串输出到文件 myf2.out 中;【测试数据与运行结果】测试数据: 33abbba66 屏幕输出: no 测试数据: 12abcba21 屏幕输出: yes 名师归纳总结 - - - - - - -第 4 页,共 17 页精选学习资料 - - - - - - - - - 【要求】1. 源程序文件名为 myf2.c ,输
13、出结果文件名为 myf2.out ;2. 数据文件的打开、使用、关闭均用 C 语言标准库中文件操作函数实现;源程序文件和运行结果文件均需储存到 T 盘上,供阅卷使用;3.4. 不要复制扩展名为 obj 和 exe的文件到 T 盘上;【编程题解题思路】编程的关键是 知道库函数所需要的相应的头文件名;除主函数和函数 palindrome 外,依据 C 语言模块化设计特点,增加了能判定一串字符串是否是回文 字符串的自编函数 int Judgerchar a ,其中判定回文字符串的函数必需要熟记之,与此同时也要记住判定 回文数 data_palindrome 和回文素数的通用函数:#include i
14、nt data_palindromelong s long k=s,h=0 ; whilek h=h*10+k%10,k/=10 ; ifh=s return 1 ; return 0; int main long a ; scanf%ld,&a ; ifdata_palindromea printf%ld is palindrome,a; else printf%ld isnt palindrome,a; 【编程题解答: myf2.c】#include #include /库函数 strlen 需要 #include /库函数 isdigit 、strcpy需要,书 P386int Judg
15、erchar a /判定字符串 int n=0,i,j ; n=strlena;a 是否是回文字符串的通用函数 fori=0,j=n-1 ;ij ;i+,j- ifai.=aj return 0; return 1; int palindromechar *str, char *r 名师归纳总结 int i=strlenstr-1,j=0,m=0;第 5 页,共 17 页- - - - - - -精选学习资料 - - - - - - - - - whilestri.=-1 /运算字符串str 中数字字符的数字量值之和 ifisdigitstri m+=stri-48 ; i- ; ifm%3=
16、0&Judgerstr /满意字符串的数字量之和是3 的倍数和回文字符串时返回1,并将 yes存入数组元素 strcpyr,yes ;j+ ; return 1; else /不满意字符串的数字量之和是3 的倍数和回文字符串时返回0,并将 no 存入数组元素 strcpyr,no ; j+ ; return 0; void main FILE *fp ;int i ;char a210=33abbba66,12abcba21,r210; iffp=fopent:myf2.out,w=NULL printfnCant open the file.; exit 0; fori=0 ;i2;i+ i
17、fpalindromeai,ri printfn%sn%s,ai,ri,fprintffp,n%sn%s,ai,ri; else ; printfn%sn%s,ai,ri,fprintffp,n%sn%s,ai,ri printfnMy number is:120992340n;fprintffp,nMy number is:1292340n; fclosefp ; /* 操作终止,关闭文件 fp */ 蓝色的内容需记忆,并且printf函数与 fprintf函数写在一起,用逗号分隔,这样程序不简洁江苏省高等学校非运算机专业同学 C04 运算机基础学问和应用才能等级考试上机试卷 二级 C 语言
18、 试卷代号 C04 一、 改错题 (16 分)(本试卷完成时间 70 分钟)【程序功能】子串查找并替换;函数 substition 的功能是在s 指向的字符串(简称s 串)中查找t 指向的子串(简称t串),并用 g 指向的字符串(简称【测试数据与运行结果】g 串)替换 s串中全部的 t 串;测试数据: s: aaacdaaaaaaaefaaaghaa t: aaa g: 22 屏幕输出: 22cd2222aef22ghaa 【含有错误的源程序】名师归纳总结 以下源程序已储存在T 盘 myf1.c 文件内,考生可直接打开该文件测试程序;第 6 页,共 17 页- - - - - - -精选学习资
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年江苏省高校计算机等级考试二级C语言上机真题答题要点 2022 江苏省 高校 计算机等级考试 二级 语言 上机 答题 要点
限制150内