[计算机类试卷]国家二级C语言机试(操作题)模拟试卷210及答案与解析.doc

上传人:inwarn120 文档编号:498136 上传时间:2018-11-28 格式:DOC 页数:6 大小:31.50KB
下载 相关 举报
[计算机类试卷]国家二级C语言机试(操作题)模拟试卷210及答案与解析.doc_第1页
第1页 / 共6页
[计算机类试卷]国家二级C语言机试(操作题)模拟试卷210及答案与解析.doc_第2页
第2页 / 共6页
[计算机类试卷]国家二级C语言机试(操作题)模拟试卷210及答案与解析.doc_第3页
第3页 / 共6页
[计算机类试卷]国家二级C语言机试(操作题)模拟试卷210及答案与解析.doc_第4页
第4页 / 共6页
[计算机类试卷]国家二级C语言机试(操作题)模拟试卷210及答案与解析.doc_第5页
第5页 / 共6页
点击查看更多>>
资源描述

1、国家二级 C语言机试(操作题)模拟试卷 210及答案与解析 一、程序填空题 1 下列给定程序中,函数 fun的功能是:将形参 s所指字符串中下标为奇数的字符按 ASCII码大小递增排序,并将排序后下标为奇数的字符取出,存人形参 p所指字符数组中,形成一个新串。 例如,形参 s所指的字符为 “baawrskjghzlicda”,执行后 p所指字符数组中的字符串应为 “aachjlsw”。 请在程序的下画线处填入正确的内容并将下画线删除,使程序得出正确的结果。 注意:部分源程序给出如下。 不得 增行或删行,也不得更改程序的结构 ! 试题程序: 1 #include stdio h 2 void f

2、un(char*s, char*p) 3 int i , j , n, x , t; 4 n=0; 5 for(i=0; si!= 0; i+)n+; 6 for(i=1; i n-2; i=i+2) 7 *found* 8 【 1】 ; 9 *found* 10 for(j=【 2】 +2; j n; j=j+2) 11 if(stsj)t=j; 12 if(t!=i) 13 x=si; si=st; st=x; 14 15 for(i=1, j=0; i【 3】 ; 19 20 main() 21 char s80=baawrskjgh-zlicda, p50; 22 printf( nT

3、he original string is: s n, s); 23 fun(s, p); 24 printf( nThe result is: s n, p); 25 二、程序修改题 2 下列给定程序中,函数 fun的功能是:将 s所指字符串中的字母转换为按字母序列的后续字母 (如 “Z”转化为 “A”, “z”转化为 “a”),其他字符不变。 请改正程序中的错误,使它能得出正确的结果。 注意:不要改动 main函数,不得增行或删行,也不得更改程序的结构 ! 试题程序: 1 #include stdlib h 2 #inclucle stdio h 3 #include ctype h 4

4、#include conio h 5 void fun(char*s) 6 7 *found* 8 while(*s!=) 9 10 if(*s=A *s =a *s 2 #include string h 3 void NONO(); 4 int fun(char*t) 5 6 7 8 main() 9 char s26; 10 printf(请输入一个字母组成的字符串: ); gets(s); 11 if(fun(s)printf( s是由连续字母组成的字符串 n, s); 12 else printf( s不是由连续字母组成的字符串 ! n, s); 13 NONO(); 14 15 v

5、oid NONO() 16 *本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。 * 17 FILE *fp, *wf ; 18 int i; 19 char s26, *p; 20 fp=fopen(c: test in dat, r); 21 wf=fopen(c: test out dat, w); 22 for(i=0; i10; i+) 23 fgets(s, 26, fp); 24 p=strchr(s, n); 25 if(p)*p=c; 26 if(fun(s)fprintf(wf, s n, s+2); 27 else fprintf(wf, s n, strrev

6、(s); 28 29 fclose(fp); 30 fclose(wf); 31 国家二级 C语言机试(操作题)模拟试卷 210答案与解析 一、程序填空题 1 【正确答案】 (1)t=i (2)i或 t (3) 0或 0 【试题解析】 本题中第 1个 for循环的作用是得到字符串的长度,第 2个 for循环的作用是对下标为奇数的字符按 ASCII码大小排序,最后将排好序的字符取出。 填空 1:取出字符串中下标为奇数的字符,所以将下标 i赋值给中间变量 t。 填空 2:此处 for循环语句的作用是实现对 F标为奇数的元素进行排序操作,所以循环变量初 值应填入 i或 t;。 填空 3:将下标为奇数

7、的字符取出后,存入 p所指的数组中,最后不要忘记在数组最后加入字符串结束标识 0。 二、程序修改题 2 【正确答案】 (1)while(*s)或 while(* s!= 0) (2)s+; 【试题解析】 (1)通过 while语句可对字符串所有字符进行遍历,循环条件是对当前字符进行判断,若当前字符不是字符串结尾,则对其进行其他操作。 (2)因为该循环通过指针 s的移动遍历字符串,所以每循环一次要使指针向后移动一个位置,而不是将指针所指的元素加 1。 三 、程序设计题 3 【正确答案】 1 int fun(char*t) 2 3 int len=strlen(t); 4 if(len 2) 5

8、6 return 0; 7 8 char before_ch=t0; 9 char current_ch; 10 int flag=1; 11 for (int i=1; ti != 0; +i) 12 13 current_ch=ti; 14 if(before_ch!=cur-rent_ch-1) 15 16 flag=0; 17 break; 18 19 befoze_ch=current_ch; 20 21 return flag; 22 【试题解析】 函数 fun的功能是判断指针 t指向的字符串是否是由连续递增的字母构成,返回值为整数, 0代表不满足条件。根据题目要求,字符串长度必须大于等于 2,所以首先需要对 t指向的字符串进行长度判断,小于 2的字符串返回 0。接着需要对字符串中的连续字 符,逐个进行比较。 C语言中字符变量可以当作整数使用,所以当前字符只有是前一个字符的 ASCII码 +1,才能说它们是连续递增字母序列,然后比较后一个字符与当前字符的 ASCII码,如果字符串中的所有字符都满足条件,则返回 1;否则说明该字符串不满足要求,此时设置 flag=0,后面的字符也就不需要再比较了,跳出循环返回即可。

展开阅读全文
相关资源
猜你喜欢
  • ANSI IEEE C37.06.1-2000 Guide for High-Voltage Circuit Breakers Rated on Symmetrical Current Basis Designated Definite Purpose for Fast Transient Recovery Voltage Rise Times.pdf ANSI IEEE C37.06.1-2000 Guide for High-Voltage Circuit Breakers Rated on Symmetrical Current Basis Designated Definite Purpose for Fast Transient Recovery Voltage Rise Times.pdf
  • ANSI IEEE C37.081-1981 Guide for Synthetic Fault Testing of AC High-Voltage Circuit Breakers Rated on a Symmetrical Current Basis《基于对称原理的额定交流高压断路器的综合故障检测指南》.pdf ANSI IEEE C37.081-1981 Guide for Synthetic Fault Testing of AC High-Voltage Circuit Breakers Rated on a Symmetrical Current Basis《基于对称原理的额定交流高压断路器的综合故障检测指南》.pdf
  • ANSI IEEE C37.082-1982 Standard Methods for the Measurement of Sound Pressure Levels of AC Power Circuit Breakers《交流电流断路器声压级的测量》.pdf ANSI IEEE C37.082-1982 Standard Methods for the Measurement of Sound Pressure Levels of AC Power Circuit Breakers《交流电流断路器声压级的测量》.pdf
  • ANSI IEEE C37.09B-2010 Test Procedure for AC High-Voltage Circuit Breakers Rated on a Symmetrical Current Basis Amendment 2 To Change the Description of Transient Recovery Voltage .pdf ANSI IEEE C37.09B-2010 Test Procedure for AC High-Voltage Circuit Breakers Rated on a Symmetrical Current Basis Amendment 2 To Change the Description of Transient Recovery Voltage .pdf
  • ANSI IEEE C37.10-2011 Guide for Investigation Analysis and Reporting of Power Circuit Breaker Failures《电力断路器故障调查研究 分析和报告指南》.pdf ANSI IEEE C37.10-2011 Guide for Investigation Analysis and Reporting of Power Circuit Breaker Failures《电力断路器故障调查研究 分析和报告指南》.pdf
  • ANSI IEEE C37.10.1-2000 Guide for the Selection of Monitoring for Circuit Breakers《断路器监控选用指南》.pdf ANSI IEEE C37.10.1-2000 Guide for the Selection of Monitoring for Circuit Breakers《断路器监控选用指南》.pdf
  • ANSI IEEE C37.100-1992 Standard Definitions for Power Switchgear《电源开关装置的定义》.pdf ANSI IEEE C37.100-1992 Standard Definitions for Power Switchgear《电源开关装置的定义》.pdf
  • ANSI IEEE C37.105-2010 Qualifying Class 1E Protective Relays and Auxiliaries for Nuclear Power Generating Stations《核动力发电站用IE级合格保护继电器和辅助设备的标准》.pdf ANSI IEEE C37.105-2010 Qualifying Class 1E Protective Relays and Auxiliaries for Nuclear Power Generating Stations《核动力发电站用IE级合格保护继电器和辅助设备的标准》.pdf
  • ANSI IEEE C37.110 CORR 1-2010 Guide for the Application of Current Transformers Used for Protective Relaying Purposes Corrigendum 1 Corrections to Equation 18 and Equation 19.pdf ANSI IEEE C37.110 CORR 1-2010 Guide for the Application of Current Transformers Used for Protective Relaying Purposes Corrigendum 1 Corrections to Equation 18 and Equation 19.pdf
  • 相关搜索

    当前位置:首页 > 考试资料 > 职业资格

    copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
    备案/许可证编号:苏ICP备17064731号-1