2017年全国计算机等级考试C语言上机考试题库 - 61-80套内含74以后6套新题
2017年全国计算机等级考试C语言上机考试题库 -1-20套资料
2017年全国计算机等级考试C语言上机考试题库学生练习用第一套至第二十套第一套:1、程序填空程序通过定义学生结构体变量,存储了学生的学号、姓名和三门课的成绩。
所有学生数据均以二进制方式输出到文件中。
函数fun的功能是重写形参filename 所指文件中最后一个学生的数据,即用新的学生数据覆盖该学生原来的数据,其他学生的数据不变。
请在程序的下画线处填入正确的内容并把下画线删除,使程序得出正确的结果。
注意:部分源程序在文件BLANK1.C中。
不得增行或删行,也不得更改程序的结构!-----------------------------------------------------------------------------------------------------------------#include <stdio.h>#define N 5typedef struct student {long sno;char name[10];float score[3];} STU;void fun(char *filename, STU n){ FILE *fp;/**********found**********/fp = fopen(__1__, "rb+");/**********found**********/fseek(__2__, -(long)sizeof(STU), SEEK_END);/**********found**********/fwrite(&n, sizeof(STU), 1, __3__);fclose(fp);}main(){ STU t[N]={ {10001,"MaChao", 91, 92, 77}, {10002,"CaoKai", 75, 60, 88},{10003,"LiSi", 85, 70, 78}, {10004,"FangFang", 90, 82, 87},{10005,"ZhangSan", 95, 80, 88}};STU n={10006,"ZhaoSi", 55, 70, 68}, ss[N];int i,j; FILE *fp;fp = fopen("student.dat", "wb");fwrite(t, sizeof(STU), N, fp);fclose(fp);fp = fopen("student.dat", "rb");fread(ss, sizeof(STU), N, fp);fclose(fp);printf("\nThe original data :\n\n");for (j=0; j<N; j++){ printf("\nNo: %ld Name: %-8s Scores: ",ss[j].sno, ss[j].name);for (i=0; i<3; i++) printf("%6.2f ", ss[j].score[i]);printf("\n");}fun("student.dat", n);printf("\nThe data after modifing :\n\n");fp = fopen("student.dat", "rb");fread(ss, sizeof(STU), N, fp);fclose(fp);for (j=0; j<N; j++){ printf("\nNo: %ld Name: %-8s Scores: ",ss[j].sno, ss[j].name);for (i=0; i<3; i++) printf("%6.2f ", ss[j].score[i]);printf("\n");}}-----------------------------------------------------------------------------------------------------------------【参考答案】(1)filename (2)fp (3)fp【解题思路】填空1:本空是对文本文件的打开,filename所指的文件中的最后数据要进行重写,因此首先是要打开,因而本空填写filename。
2017计算机二级c试题及答案
2017计算机二级c试题及答案一、选择题1. 在C语言中,以下哪个选项是合法的变量名?A. 2variableB. intC. _variableD. variable2答案:C2. 关于C语言中的数组,以下说法正确的是?A. 数组的大小在定义后可以改变B. 数组的索引从1开始C. 数组的元素必须是同一数据类型D. 数组可以存储不同类型的数据答案:C3. 下列哪个函数不能正确计算两个整数的和?A. int add(int a, int b) { return a + b; }B. int sum(int a, int b) { return a - b; }C. int total(int a, int b) { return a + b; }D. int combine(int a, int b) { return a + b; }答案:B4. 在C语言中,以下哪个关键字用于声明一个函数?A. structB. staticC. voidD. int答案:C5. 关于C语言中的指针,以下说法错误的是?A. 指针可以存储变量的地址B. 指针可以被初始化为NULLC. 指针可以直接存储整数值D. 指针可以指向函数答案:C二、填空题1. 在C语言中,定义一个整型变量并初始化为10的语句是:______。
答案:int x = 10;2. 如果一个函数的返回类型是void,那么该函数______返回任何值。
答案:不能3. 在C语言中,用于表示逻辑“与”操作的运算符是______。
答案:&&4. 声明一个指向整型的指针变量的语句是:______。
答案:int *p;5. 在C语言中,用于定义一个结构体的关键字是______。
答案:struct三、编程题1. 编写一个函数,计算并返回两个整数的乘积。
答案:```cint multiply(int a, int b) {return a * b;}```2. 编写一个程序,读取用户输入的两个整数,然后调用上述函数计算它们的乘积,并输出结果。
国家计算机二级C语言上机考试题库
国家计算机二级C语言上机考试题库全国计算机考试上机题库100套第01套:给定程序中,函数fun的功能是:将形参n所指变量中,各位上为偶数的数去除,剩余的数按原来从高位到低位的顺序组成一个新的数,并通过形参指针n传回所指变量。
例如,输入一个数:27638496,新的数:为739。
请在程序的下划线处填入正确的内容并把下划线删除, 使程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANK1.C中。
不得增行或删行,也不得更改程序的结构!给定源程序:#include void fun(unsigned long *n){ unsigned long x=0, i; int t; i=1; while(*n){ t=*n % __1__; if(t%2!= __2__){ x=x+t*i; i=i*10; } *n =*n /10; } *n=__3__; } main() { unsigned long n=-1; while(n>99999999||n double fun ( int n ){ double result =1.0 ; if n = = 0 return1.0 ; while( n >1 /* len为串长,t为正负标识 */ long x=0; len=strlen(p); if(p[0]==1; len--; p++; } else t=1;/* 以下完成数字字符串转换为一个数字 */ return x*t; } main()/* 主函数*/ { char s[6]; long n; printf(“Enter a string:\n“); gets(s); n = fun(s); printf(“%ld\n“,n); NONO ( ); } NONO ( ){/* 本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。
*/ FILE *fp, *wf ; int i ; char s[20] ; long n ; fp = fopen(“c:\\test\\in.dat“,“r“); wf = fopen(“c:\\test\\out.dat“,“w“); for(i = 0 ; i #include long fun ( char *p){ int i, len, t; /* len为串长,t为正负标识 */ long x=0; len=strlen(p); if(p[0]==1; len--; p++; } else t=1; /* 以下完成数字字符串转换为一个数字 */ while(*p) x = x*10-48+(*p++); return x*t; } main()/* 主函数*/ { char s[6]; long n; printf(“Enter a string:\n“); gets(s); n = fun(s); printf(“%ld\n“,n); NONO ( ); } NONO ( ){/* 本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。
全国计算机等级考试C语言上机考试题库 套
2017年全国计算机等级考试C语言上机考试题库学生练习用第41套至第60套第四十一套1、程序填空下列给定程序中,函数fun的功能是:将形参s所指字符串中的所有字母字符顺序前移,其他字符顺序后移,处理后将新字符串的首地址作为函数值返回。
例如,若s所指字符串为:"asd123fgh543df",处理后新字符串为:"asdfghdf123543"。
请在程序的下画线处填入正确的内容并将下画线删除,使程序得出正确的结果。
注意:部分源程序在文件中。
不得增行或删行,也不得更改程序的结构!-----------------------------------------------------------------------------------------------------------------#include <>#include <>#include <>char *fun(char *s){ int i, j, k, n; char *p, *t;n=strlen(s)+1;t=(char*)malloc(n*sizeof(char));p=(char*)malloc(n*sizeof(char));j=0; k=0;for(i=0; i<n; i++){ if(((s[i]>='a')&&(s[i]<='z'))||((s[i]>='A')&&(s[i]<='Z'))) {/**********found**********/t[j]=__1__; j++;}else{ p[k]=s[i]; k++; }}/**********found**********/for(i=0; i<__2__; i++) t[j+i]=p[i];/**********found**********/t[j+k]= __3__;return t;}main(){ char s[80];printf("Please input: "); scanf("%s",s);printf("\nThe result is: %s\n",fun(s));}-----------------------------------------------------------------------------------------------------------------【参考答案】(1)s[i]??(2)k??(3)'\0'或0【考点分析】本题考查:数组元素赋值操作;for循环语句中循环变量的取值范围;字符串结束标识'\0'。
全国计算机等级考试二级C语言上机题库
2017年3月全国计算机等级考试二级C语言上机题库100套(从光碟拷贝出来的最完整版)(可以拷贝在U盘里,然后ctrl+F搜索,百分百有答案,祝考试成功)第一套1. 程序填空给定程序中,函数fun的功能是:计算下式前n 项的和作为函数值返回。
例如:当形参n的值为10 的时,函数返回:。
第一处s=0;第二处for(i=1;i<=n;i++)第三处s=s+*i-1)**i+1)/(t*t);2. 程序修改给定程序中函数fun的功能是:统计substr所指字符串在str所指字符串中出现伯次数。
/**found**/for(i=0;str[i];i++)/**found**/if(substr[k+1]==’\0’)3. 程序设计请编写一个函数fun,它的功能是:根据以下公式求JI的值(要求满足精度,即某项小于时停止送代):程序运行后,如果输入精度为,则程序输出为…。
double fun(double eps){ double s=1,t=1./3;int n=1;while(t>=eps){s+=t;n++;t=t*n/*n+1);}return(s*;}第二套1.程序填空给定程序中已建立一个带有头结点的单向链表,链表中的各结点按数据域递增有序连接。
函数fun的功能是:删除链表中数据域值相同的结点,使之只保留一个。
第一处free(q);第二处q=p->next;第三处q=q->next;2. 程序修改给定程序中函数fun的功能是:用选择法对数组中的n各元素按从小到大的顺序进行排序。
/**found**/p=j;/**found**/p=i;3. 程序设计请编写一个fun函数,它的功能是:求出1到m之间(含m)能被7或11整除的所有整数放在数组a中,通过n返回这些数的个数。
void fun(int m,int *a,int *n){int i;*n=0;for(i=7;i<=m;i++)if((i%7==0)||(i%11==0))a[(*n)++]=i;}第三套1. 程序填空函数fun的功能是:逆置数组元素是的值。
2017年上半年全国高等学校计算机水平二级C笔试试卷及参考答案
2017年上半年全国高等学校计算机水平考试试卷(二级C程序设计)一、程序填空题(每题12分,共36分)1.以下程序从键盘输入一个整数,输出其对应的英文星期单词。
若输入的整数在1到7之外,则输出“Error!”,请填空。
#include <stdio.h>void main(){int n;printf("Input n:");scanf("%d",___________&n___);switch(n){case 1:printf("Monday\n");break;case 2:printf("Tuesday\n");break;case 3:printf("Wednesday\n");break;case 4:printf("Thursday\n");break;case 5:printf("Friday\n");break;case 6:printf("Saturday\n");break;case 7:printf("Sunday\n");_____break_________;____default__________:printf("Error!\n");break;}}2.以下程序输出一维数组中的最大元素及其下标值,请填空。
#include <stdio.h>int search(int a[],int n) /* 求最大元素的下标*/{int i,max;max=__ _a[max]______;for(i=1;i<n;i++){if(a[i]>a[max])max=__a[i]________;}return max;}void main(){int a[10]={13,1,-5,4,9,100,-8,7,-6,2};int max;__max________=search(a,10);printf("最大值:%d,下标:%d\n",a[max],max);}3.以下程序定义求n!的递归函数f(),并调用函数f()求2!+3!+4!+5!+6!的值,请填空。
计算机考试C语言考试题及答案
计算机考试C语言考试题及答案2017年计算机考试C语言考试题及答案山不厌高,水不厌深。
骄傲是跌跤的前奏。
以下是店铺为大家搜索整理2017年计算机考试C语言考试题及答案,希望能给大家带来帮助!一、选择题((1)-(40)每小题1分, (41)-(50)每小题2分, 共60分)下列各题 A) 、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。
(1) 下列设备中只能作为输入设备的是A.磁盘驱动器B.鼠标器C.存储器D.显示器(2) 下列DOS组合控制键中,能使标准输出同时送到屏幕与打印机的是A.Ctrl+BreakB.Ctrl+PC.Ctrl+CD.Ctrl+H(3) 通常所说的386机是A.8位机B.16位机C.32位机D.64位机(4) 二进制数01100100转换成十六进制数是A.64B.63C.100D.144(5) 十六进制数100转换成十进制数是A.1024B.512C.256D.128(6) 对于存有重要数据的5.25英寸软盘,防止计算机病毒感染的方法是A.不要与有病毒的软盘放在一起B.在写保护口贴上胶条C.保持软盘清洁D.定期对软盘格式化(7) 在启动DOS系统时,启动盘的根录下必须包含的文件是(8) DOS系统启动后,下列文件中常驻内存的是(9) 下列名字中,不能作为DOS磁盘文件名的是A.JTUB.93GZ.PRGC.COND.ATT&T.BAS(10) 下列命令中属于内部命令的是A.SYSPC.DIRD.DISKCOMP(11) 下列文件名中,能与ABC?.?匹配的是A.AB12.CB.ABCD.FORC.ABC.TXTD.ABCD.C(12) 要列出当前盘当前目录中第三个字符为"B"的所有文件的清单,可使用的命令为A.DIR **B*.*B.DIR ??B*.?C.DIR ??B.*D.DIR ??B*.*(13) 设当前盘为C盘,其根目录下有两个子目录D1与D2,且当前目录为D1,若要进入子目录D2,可使用的命令为A.CD D2B.CD D2\C.CD \D2D.CD D1\D2(14) 设当前盘为C盘,A盘当前目录为根目录。
全国计算机二级《C语言》考试题及答案
全国计算机二级《C语言》考试题及答案2017全国计算机二级《C语言》考试题及答案在备考复习阶段,需通过大量试题练习,加深对考点的理解和掌握。
以下是店铺搜索整理2017全国计算机二级《C语言》考试题及答案,供参考练习,希望对大家有所帮助!一、选择题1).我们所写的每条C语句,经过编译最终都将转换成二进制的机器指令。
关于转换以下说法错误的是()A.一条C语句可能会被转换成多条机器指令B.一条C语句对应转换成一条机器指令C.一条C语句可能会被转换成零条机器指令D.某种类型和格式的C语句被转换成机器指令的条数是固定的正确答案:B答案解析:由C语言编写的程序,通过编译、链接转换成可以让机器识别的01二进制指令。
这些二进制指令命令机器计算,这些就是机器指令,而C语言的语句条数和机器指令的条数不是一对一的关系。
2).数据库系统在其内部具有3级模式,用来描述数据库中全体数据的全局逻辑结构和特性的是()。
A.外模式B.概念模式C.内模式D.存储模式正确答案:B答案解析:概念模式,也称逻辑模式,是对数据库系统中全局数据逻辑结构的描述,是全体用户应用公共数据视图。
它不涉及具体的硬件环境与平台,与具体的软件环境也无关。
3).以下叙述中正确的是()A.程序的算法只能使用流程图来描述B.N-S流程图只能描述简单的顺序结构的程序C.计算机可以直接处理C语言程序,不必进行任何转换D.结构化程序的三种基本结构是循环结构、选择结构、顺序结构正确答案:D答案解析:结构化程序有三种基本结构循环结构、选择结构、顺序结构,描述算法常见的有文字描述,流程图,盒图,伪代码等。
N-S图为盒图,可以描述比较复杂的程序结构,而计算机不能直接处理C 程序,只能处理二进制代码。
4).下列叙述中正确的是()A.两个连续的单引号(′′)是合法的字符常量B.可以对字符串进行关系运算C.两个连续的双引号(″″)是合法的字符串常量D.空字符串不占用内存,其内存空间大小是0正确答案:C答案解析:两个连续的双引号:″″,是一个字符串常量,称为″空串″。
计算机等级C语言考试试题及答案
计算机等级C语言考试试题及答案2017计算机等级C语言考试试题及答案多媒体计算机将真正改善人机界面,使计算机朝着人类接受和处理信息的最自然的方式发展。
下面是店铺整理的关于计算机等级C语言考试试题及答案,欢迎大家参考!一、选择题1). 下列关于因特网上收/发电子邮件优点的描述中,错误的是( )。
A.不受时间和地域的限制,只要能接入因特网,就能收发电子邮件B.方便、快速C.费用低廉D.收件人必须在原电子邮箱申请地接收电子邮件正确答案:D答案解析:由于电子邮件通过网络传送,具有方便、快速、不受地域或时间限制、费用低廉等优点,很受广大用户欢迎。
2). 在微机的配置中常看到“P42.4G”字样,其中数字“2.4G”表示( )。
A.处理器的时钟频率是2.4GHzB.处理器的运算速度是2.4C.处理器是Pentium4第2.4D.处理器与内存间的数据交换速率正确答案:A答案解析:在微机的配置中看到“P42.4G”字样,其中“2.4G”表示处理器的时钟频率是2.4GHz。
3). 下列编码中,属于正确国际码的是A.SEF6HB.FB67HC.8E8FHD.C97DH正确答案:C答案解析:国际码的范围是2121H~7E7EH。
4). 根据汉字国标GB 2312-80的规定,一个汉字的内码码长为A.8bitsB.12bitsC.16bitsD.24bits正确答案:C答案解析:一个汉字的机内码一般用两个字节即16个二进制位来表示。
5). 构成CPU的主要部件是( )。
A.内存和控制器B.内存、控制器和运算器C.高速缓存和运算器D.控制器和运算器正确答案:D答案解析:中央处理器(CPU)主要包括运算器和控制器两大部件。
它是计算机的核心部件。
CPU是一体积不大而元件的集成度非常高、功能强大的芯片。
计算机的所有操作都受CPU控制,所以它的品质直接影响着整个计算机系统的性能。
二、基本操作题1.将考生文件夹下PASTE文件夹中的文件FLOPY.BAS复制到考生文件夹下JUSTY文件夹中.2.将考生文件夹下PARM文件夹中的文件HOLIER.DOC设置为只读属性.3.在考生文件夹下HUN文件夹中建立一个新文件夹CALCUT.4.将考生文件夹下SMITH文件夹中的文件COUNTING.WRl移动到考生文件夹下OFFICE文件夹中,并改名为IDEND.WRl.5.将考生文件夹下SUPPER文件夹中的文件WORD5.PPT删除.三、字处理题1.在考生文件夹下,打开文档WORDl.docx,按照要求完成下列操作并以该文件名(WORDl.docx)保存文档.【文档开始】调查表明京沪穗网民主导“82C”根据蓝田市场研究公司对全国16个城市网民的调查表明,北京、上海、广州网民最近3个月有网上购物行为的人数比例分别为l3.1%、5.3%、6.1%,远远高于全国平均水平的2.8%;与去年同期相比,北京、上海、广州三地最近3个月中有网上购物行为的人数比例为8.6%,比去年有近半幅的增长.尽管互联网的冬季仍未过去,但调查结果预示,京、沪、穗三地将成为我国互联网及电子商务的早春之地,同时是82C电子商务市场的中心地位,并起着引导作用,足以引起电子商务界的关注.调查还发现,网民中网上购物的行为与城市在全国的中心化程度有关,而与单纯的经济发展水平的关联较弱.深圳是全国人均收入最高的地区,大连也是人均收入较高的城市,但两城市网民的网上购物的人数比例分别只有1.1%、l.9%,低于武汉、重庆等城市.蓝田市场研究公司通过两年的调查认为,影响我国82C电子商务发展的因素,除了经常提到的网络条件、网民数量、配送系统、支付系统等基础因素外,还要重视消费者的购物习惯、购物观念,后者的转变甚至比前者需要更长的'时间和耐心.【文档结束】(1)将标题段(“调查表明京沪穗网民主导‘B2C”)设置为小二号黑体、红色、居中,并添加黄色底纹,设置段后间距为1行.(2)将正文各段(“根据蓝田市场研究公司……更长的时间和耐心.”)中所有的“互联网”替换为“因特网”;各段落内容设置为小五号宋体,各段落左、右各缩进0.5字符,首行缩进2字符,行距l8磅.2.在考生文件夹下,打开文档WORD2.d.cx,按照要求完成下列操作并以该文件名(WORD2.docx)保存文档.【文档开始】【文档结束】(1)在表格最右边插入一空列,输入列标题“总分”,在这一列下面的各单元格中计算其左边相应3个单元格中数据的总和.(2)将表格设置为列宽2.4厘米;表格外框线为3磅单实线,表内线为1磅单实线;表内所有内容对齐方式为水平居中.二、基本操作题1.复制文件①打开考生文件夹下PASTE文件夹,选中FLOPY.BAS文件;②选择【编辑】|【复制】命令,或按快捷键Ctrl+C;③打开考生文件夹下JUSTY文件夹;④选择【编辑】I【粘贴】命令,或按快捷键Ctrl+V。
2017年全国计算机等级考试二级C语言程序设计真题
2017年3月全国计算机等级考试二级C语言程序设计真题(1)(总分:100.00,做题时间:120分钟)一、选择题(总题数:40,分数:40.00)1.下列叙述中正确的是(分数:1.00)A.程序执行的效率与数据的存储结构密切相关(正确答案)B.程序执行的效率只取决于程序的控制结构C.程序执行的效率只取决于所处理的数据量D.以上说法均错误解析:程序执行的效率与数据的存储结构、数据的逻辑结构、程序的控制结构、所处理的数据量等有关。
2.下列与队列结构有关联的是(分数:1.00)A.函数的递归调用B.数组元素的引用C.多重循环的执行D.先到先服务的作业调度(正确答案)解析:队列的修改是依照“先进先出” 的原则进行的,故D 正确。
3.对下列二叉树进行前序遍历的结果为(分数:1.00)A.DYBEAFCZXB.YDEBFZXCAC.ABDYECFXZ (正确答案)D.ABCDEFXYZ解析:前序遍历是指在访问根节点、遍历左子树与遍历右子树这三者中,首先访问根节点,然后遍历左子树,最后遍历右子树;并且在遍历左、右子树时,仍然先访问根节点,然后遍历左子树,最后遍历右子树。
因此,前序遍历可描述为:若二叉树为空,则执行空操作。
否则:①访问根节点;②前序遍历左子树;③前序遍历右子树。
所以C 正确。
4.一个栈的初始状态为空,现将元素1,2,3,A,B,C 依次入栈,然后再依次出栈,则元素出栈的顺序是(分数:1.00)A.1,2,3,A,B,CB.C,B,A,1,2,3C.C,B,A,3,2,1 (正确答案)D.1,2,3,C,B,A解析:栈的修改是按照“后进先出” 的原则进行的,所以顺序应与入栈顺序相反,故选C。
5.下面属于白盒测试方法的是(分数:1.00)A.等价类划分法B.逻辑覆盖(正确答案)C.边界值分析法D.错误推测法解析:白盒测试法主要有逻辑覆盖、基本路径测试等。
逻辑覆盖测试包括语句覆盖、路径覆盖、判定覆盖、条件覆盖、判断一条件覆盖,故选择B。
计算机二级C语言100套上机填空题答案和改错题答案
填空题答案第1题答案第1处填空:n>1或1<n第2处填空:n-1第3处填空:1或1l或1L第2题答案第1处填空:n==0或0==n或!n第2处填空:n==1或1==n第3处填空:fun(n-1)+fun(n-2)或fun(n-2)+fun(n-1)第3题答案第1处填空:n--或--n或n-=1或n=n-1第2处填空:s[i]=s[n]或*(s+i)=*(s+n)第3处填空:s[n]=t或*(s+n)=t第4题答案第1处填空:i<=n或n>=i第2处填空:||第3处填空:1.0或(double)1第5题答案第1处填空:r*r第2处填空:&x第3处填空:x第6题答案第1处填空:<=第2处填空:n++或n+=1或n=n+1 第3处填空:return s或return (s) 第7题答案第1处填空:n%10第2处填空:break第3处填空:break第8题答案第1处填空:&num[i]或num+i第2处填空:max<num[i]?或num[i]>max?第3处填空:num[i]!=0或0!=num[i] 第9题答案第1处填空:(*a)++或++(*a)或*a=*a+1或*a+=1第2处填空:(*b)++或++(*b)或*b=*b+1或*b+=1第3处填空:upper,lower第10题答案第1处填空:max=a第2处填空:max=b第3处填空:max=c第11题答案第1处填空:1第2处填空:s[k]或*(s+k)第3处填空:c 第12题答案第1处填空:tt[i]<='Z'或'Z'>=tt[i]第2处填空:32或'a'-'A'第3处填空:tt第13题答案第1处填空:char*fun(int n)第2处填空:2第3处填空:n%i==0或!(n%i)或0==n%i第14题答案第1处填空:*p或*p!='\0'或*p!=0第2处填空:i++或++i或i+=1或i=i+1第3处填空:'\0'或0第15题答案第1处填空:!=第2处填空:str[1]或*(str+1)第3处填空:s,c第16题答案第1处填空:n%100!=0或n%100或0!=n%100第2处填空:n%400==0或!(n%400)或0==n%400第3处填空:flag第17题答案第1处填空:n第2处填空:else第3处填空:a,b第18题答案第1处填空:*p==t或t==*p第2处填空:bb[n++]=i第3处填空:n第19题答案第1处填空:score[i]或*(score+i)第2处填空:below第3处填空:below[i]或*(below+i)第20题答案第1处填空:i第2处填空:j第3处填空:aa,&n第21题答案第1处填空:j++或++j或j+=1或j=j+1第2处填空:s[i]=t1[i]第3处填空:j第22题答案第1处填空:&&第2处填空:0第3处填空:s[j]或*(s+j)第23题答案第1处填空:int x[]或int*x第2处填空:sum+=x[i]或sum=sum+x[i]第3处填空:sum/n第24题答案第1处填空:a第2处填空:a第3处填空:b第25题答案第1处填空:n/2第2处填空:i第3处填空:a[n-i-1]第26题答案第1处填空:i=1第2处填空:&&第3处填空:--j或j-1第27题答案第1处填空:j=2第2处填空:i第3处填空:j第28题答案第1处填空:1第2处填空:s*i或i*s第3处填空:0第4处填空:s+fun(k)或fun(k)+s第29题答案第1处填空:0第2处填空:i<=x或x>=i第30题答案第1处填空:--i或i--或i-=1或i=i-1第2处填空:s[i]-'0'第3处填空:t*10+k或k+t*10或10*t+k或k+10*t第31题答案第1处填空:*(p1+i)或p1[i]或*(p1+i)!=0或p1[i]!=0第2处填空:*p2或p2[0]或*p2!=0或p2[0]!=0第3处填空:*p2++第32题答案第1处填空:sum+=x[i]或sum=sum+x[i]第2处填空:avg*1000或1000*avg第3处填空:(avg+5)/10或(5+avg)/10第33题答案第1处填空:1第2处填空:i第3处填空:a[p+i]或*(a+p+i)第34题答案第1处填空:bb[i]=0或*(bb+i)=0第2处填空:bb[5]++或++bb[5]或bb[5]=bb[5]+1或bb[5]+=1第3处填空:p++;或++p;或p+=1;或p=p+1;第35题答案第1处填空:i<*num或*num>i第2处填空:n++或++n或n+=1或n=n+1第3处填空:*num=n第36题答案第1处填空:&&第2处填空:s[i]-'0'第3处填空:n第37题答案第1处填空:xx[i]%10第2处填空:bb[n++]=xx[i]第3处填空:n第38题答案第1处填空:n/100%10第2处填空:"yes!"第3处填空:"no!"第39题答案第1处填空:"%d",&n第2处填空:str2[i]=str1[i];第3处填空:str2第40题答案第1处填空:"%s",str1第2处填空:%c第3处填空:str2第41题答案第1处填空:"%ld",&n第2处填空:n=-n;或n*=-1;第3处填空:"%ld",n第42题答案第1处填空:*p或p[0]第2处填空:default:b[10]++;第3处填空:p++;或p+=1;或p=p+1;或++p;第43题答案第1处填空:*p或*p!=0或0!=*p 第2处填空:bb[*p-'0']++或bb[*p-'0']+=1第3处填空:num[j]=bb[i]第44题答案第1处填空:0第2处填空:||第45题答案第1处填空:s1-i-1或s1-1-i第2处填空:2*s1或s1*2第46题答案第1处填空:*k第2处填空:s[i]>max或max<s[i] 第3处填空:i第47题答案第1处填空:xx[i]%10第2处填空:bb[n++]=xx[i]第3处填空:n第48题答案第1处填空:n>0或0<n第2处填空:n%10+'0'或'0'+n%10第3处填空:str[i]='\0'或str[i]=0第49题答案第1处填空:disc<0或0>disc第2处填空:sqrt第3处填空:sqrt第50题答案第1处填空:s第2处填空:*p++第3处填空:*(p)或*p或*p!=0第51题答案第1处填空:x>y或y<x第2处填空:x>z或z<x第3处填空:y>z或z<y第52题答案第1处填空:"out52.dat","w"第2处填空:fputc(ch,fp)第3处填空:fclose(fp)第53题答案第1处填空:i第2处填空:p->next=s第3处填空:p->next第54题答案第1处填空:*p1<*p2或*p2>*p1第2处填空:*p1>*p2或*p2<*p1第3处填空:'\0'或0第55题答案第1处填空:flag=1第2处填空:j%i==0或0==j%i或!(j%i)第3处填空:flag==1或1==flag第56题答案第1处填空:&&第2处填空:fputc(ch,fp1)第3处填空:fclose(fp)第57题答案第1处填空:double第2处填空:j第3处填空:1.0/t或(double)1/t第58题答案第1处填空:&n第2处填空:i=1第3处填空:f*=i或f=f*i或f=i*f第59题答案第1处填空:sum=0第2处填空:sum+=n或sum=sum+n或sum=n+sum第3处填空:ld第60题答案第1处填空:i<n或n>i第2处填空:j<n-1或n-1>j第61题答案第1处填空:bb[i]=0或*(bb+i)=0第2处填空:bb[i]+=score[i][j]或bb[i]=bb[i]+score[i][j]或bb[i]=score[i][j]+bb[i]第62题答案第1处填空:"%c",&str[i]或"%c",str+i第2处填空:str[i]!='*'或*(str+i)!='*'第3处填空:"%c",str[j]或"%c",*(str+j)第63题答案第1处填空:STU第2处填空:h第3处填空:h第64题答案第1处填空:str1[i]!=''或''!=str1[i]第2处填空:i++或++i或i+=1或i=i+1第65题答案第1处填空:bb[i][j]=1第2处填空:bb[i][j]=0第66题答案第1处填空:j>i或i<j第2处填空:bb[j]=bb[j-1]第3处填空:break第67题答案第1处填空:p=str第2处填空:p[i]++或++p[i]或p[i]+=1或p[i]=p[i]+1第3处填空:s[i]='\0'或s[i]=0第68题答案第1处填空:break第2处填空:'\0'或0第3处填空:*p++第69题答案第1处填空:<第2处填空:*p2或p2[0]第3处填空:str1第70题答案第1处填空:*(pstr+j)或pstr[j]第2处填空:pstr[j]或*(pstr+j)第3处填空:p第71题答案第1处填空:std[3]或std[]或*std第2处填空:PERSON第3处填空:std第72题答案第1处填空:N第2处填空:M第3处填空:bb[i]/N或*(bb+i)/N第73题答案第1处填空:bb[i][j]=0第2处填空:1第3处填空:j==n-1-i或j==n-i-1 第74题答案第1处填空:*std或std[0]第2处填空:std[i].age第3处填空:第75题答案第1处填空:&n第2处填空:t*i或i*t第3处填空:s+t或t+s第76题答案第1处填空:i第2处填空:s[j]=s[i]第77题答案第1处填空:N-1第2处填空:bb[n++]=aa[i]第3处填空:i,bb[i]第78题答案第1处填空:fun(char s[],int n)或fun(char*s,int n)第2处填空:j=0第3处填空:s[j]='\0'或s[j]=0第79题答案第1处填空:aa[i]%2==0或0==aa[i]%2或aa[i]%2第2处填空:i<k或k>i第80题答案第1处填空:--i或i--或i-=1或i=i-1 第2处填空:bb[j]=bb[i]第81题答案第1处填空:sum=0第2处填空:t[i][i]第3处填空:1第82题答案第1处填空:i%10第2处填空:g*g*g==i或i==g*g*g 第83题答案第1处填空:break;第2处填空:i++或++i或i+=1或i=i+1第3处填空:'\0'或0第84题答案第1处填空:&&第2处填空:i,j第85题答案第1处填空:[N]第2处填空:t[i][j]第3处填空:t[j][i]第86题答案第1处填空:N第2处填空:N-1第3处填空:0第87题答案第1处填空:&& 第2处填空:g+第88题答案第1处填空:s[i]或s[i]!=0或0!=s[i]第2处填空:s[i]==ch或ch==s[i]第3处填空:return n第89题答案第1处填空:s[i]!='\0'或s[i]或s[i]!=0第2处填空:32或'a'-'A'第3处填空:i++或++i或i+=1或i=i+1第90题答案第1处填空:STU第2处填空:std[i].num第3处填空:std[i]第91题答案第1处填空:i=1,j=0或j=0,i=1第2处填空:bb[j++]=i第3处填空:return j第92题答案第1处填空:str[i+1]或str[i+1]!='\0'或str[i+1]!=0第2处填空:str[i]=ch第93题答案第1处填空:aa[max]<aa[i]或aa[i]>aa[max]第2处填空:aa[min]>aa[i]或aa[i]<aa[min]第3处填空:aa[max]=aa[min]第94题答案第1处填空:i++或++i或i+=1或i=i+1第2处填空:s[j++]=s[i]第3处填空:s[j]='\0'或s[j]=0第95题答案第1处填空:0.0或0或(double)0第2处填空:n第3处填空:s第96题答案第1处填空:aa[k++]=t或aa[k]=t,k++或aa[k]=t;k++第2处填空:i<j或j>i第97题答案第1处填空:break第2处填空:t[i]第3处填空:u[ul]第98题答案第1处填空:s[i]!='\0'或s[i]或s[i]!=0第2处填空:25第3处填空:1第99题答案第1处填空:j%i==0或!(j%i)或0==j%i第2处填空:flag==1或flag或1==flag第3处填空:aver/n第100题答案第1处填空:k=0第2处填空:||第3处填空:s[k]='\0'或s[k]=0改错题答案第1题答案第1处:IsPrime(int n);应改为IsPrime(int n)第2处:if!(n%i)应改为if(!(n%i))第2题答案第1处:int k=1;应改为int k=0;第2处:while(*p!=*q)应改为while(*p||*q)第3题答案第1处:s[j]=s[i];应改为s[j++]=s[i];第2处:s[j]="\0";应改为s[j]='\0';第4题答案第1处:void fun(char*s,int a,int b)应改为void fun(char*s,int*a,int*b)第2处:a++;应改为(*a)++;第3处:b++;应改为(*b)++;第5题答案第1处:a[i+1]=a[i];应改为a[i]=a[i+1];第6题答案第1处:for(i=2;i<m;i++)应改为for(i=2;i<=m;i++)第2处:y-=1/(i*i);应改为y-=1.0/(i*i);第7题答案第1处:p=j应改为p=j;第2处:p=i;应改为p=j;第8题答案第1处:void fun(char*p);应改为void fun(char*p)第2处:p=q+i;应改为q=p+i;第9题答案第1处:t=s[k];应改为t+=s[k];第2处:*aver=&ave;应改为*aver=ave;第10题答案第1处:void fun(char*s,*t1,*t2,*w)应改为voidfun(char*s,char*t1,char*t2,char*w)第2处:while(r)应改为while(*r)第11题答案第1处:n=*p-'o';应改为n=*p-'0';第2处:n=n*7+*p-'o';应改为n=n*8+*p-'0';第12题答案第1处:a=NuLL;应改为a=NULL; 第2处:if(r==p)应改为if(*r==*p) 第13题答案第1处:t+=1.0/k;应改为t+=1.0/i; 第2处:应填return t;第14题答案第1处:int r;应改为double r;第2处:while(fabs(n-m)<0.001)应改为while(fabs(n-m)>0.001)第15题答案第1处:void fun(char str,char ch)应改为void fun(char*str,char ch)第2处:if(*str==ch)应改为if(*str=='\0')第3处:str[1]='0';应改为str[1]='\0';或str[1]=0;第16题答案第1处:p->next=NULL;应改为p=s; 第2处:s->data=rand()%m;应改为s->data=rand()%(m-1);第3处:return p;应改为return h; 第17题答案第1处:if((k%13=0)||(k%17=0))应改为if((k%13==0)||(k%17==0))第2处:应填}第18题答案第1处:void fun(int a,int b)应改为void fun(int*a,int*b)第2处:t=b;b=a;a=t;应改为t=*b;*b=*a;*a=t;第19题答案第1处:void fun(long s,long t)应改为void fun(long s,long*t)第2处:while(s<0)应改为while(s>0) 第20题答案第1处:void fun(int a[],int m)应改为int fun(int a[],int m)第2处:if(m>=a[mid])应改为if(m>a[mid])第21题答案第1处:p=h;应改为p=h->next;第2处:p=h->next;应改为p=p->next;第22题答案第1处:for(i=2;i<m;i++)应改为for(i=2;i<=m;i++)第2处:y+=1/(i*i);应改为y+=1.0/(i*i);第23题答案第1处:int fun(n)应改为int fun(int n)第2处:if(n=1)应改为if(n==1)第24题答案第1处:if(r==p)应改为if(*r==*p) 第2处:if(r=='\0')应改为if(*r=='\0')第25题答案第1处:if n==0应改为if(n==0)第2处:result=n--;应改为result*=n--;第26题答案第1处:应填sum=0;第2处:scanf("%d,",a[i][j]);应改为scanf("%d,",&a[i][j]);第27题答案第1处:t=0;应改为t=1.0;第2处:while(t<=eps)应改为while(t>=eps)第28题答案第1处:s=p;应改为p=s;第2处:应填p++;或++p;或p+=1;或p=p+1第3处:a[i]='0';应改为a[i]='\0';或a[i]=0;第29题答案第1处:b=a;应改为a=b;第2处:return(a);应改为return(b);第30题答案第1处:long k;应改为long k=1;第2处:num\=10;应改为num/=10;第31题答案第1处:if((tt[i]>='a')||(tt[i]<='z'))应改为if((tt[i]>='a')&&(tt[i]<='z'))第2处:tt[i]+=32;应改为tt[i]-=32;第32题答案第1处:if(i+1%5==0)应改为if((i+1)%5==0)第33题答案第1处:while(*s!='@')应改为while(*s)或while(*s!='\0')或while(*s!=0)第2处:(*s)++;应改为s++;第34题答案第1处:t=0;应改为*t=0;第2处:if(d%2==0)应改为if(d%2!=0)第35题答案第1处:if(p=='')应改为if(*p=='')第2处:*p=toupper(*(p-1));应改为*(p-1)=toupper(*(p-1));第36题答案第1处:j=1;应改为j=0;第2处:while(t!=0&&m!=0&&n!=0)应改为while(t!=0||m!=0||n!=0)第37题答案第1处:*r=t;应改为r=t;或r=&t[0];第2处:应填r=t;或r=&t[0];第38题答案第1处:t=x;x=y;应改为t=*x;*x=y;第2处:return(y);应改为return(t);或return t;第39题答案第1处:void fun(char s,char t)应改为void fun(char*s,char*t)第2处:t[2*d-1]='\0';应改为t[2*d]='\0';或t[d+i]='\0';或t[2*d]=0;或t[d+i]=0;第40题答案第1处:for(i=j+1;i<n-1;i++)应改为for(i=j+1;i<n;i++)第2处:t=i;应改为p=i;第41题答案第1处:while(p->next)应改为while(p!=NULL)第2处:p=h->next;应改为p=p->next;第42题答案第1处:if(i%2&&s[i]%2==0)应改为if(i%2||s[i]%2==0)或if(i%2!=0||s[i]%2==0)第2处:t[i]='\0';应改为t[j]='\0';或t[j]=0;第43题答案第1处:k=n;应改为k=i;第2处:b=k/10;应改为b=k%10;第44题答案第1处:fun(int**a,int m)应改为voidfun(int(*a)[M],int m)第2处:a[j][k]=k*j;应改为a[j][k]=(k+1)*(j+1);第45题答案第1处:void fun(char*s,t1,t2,w)应改为voidfun(char*s,char*t1,char*t2,char*w)第2处:while(w)应改为while(*w)第46题答案第1处:fun(int n)应改为doublefun(int n)第2处:return sum应改为returnsum;第47题答案第1处:void fun(int*a,int n);应改为void fun(int*a,int n)第2处:m=0;应改为m=i;第48题答案第1处:fun(char(*sq)[N])应改为char*fun(char(*sq)[M])第2处:return sq;应改为return sp;第49题答案第1处:*t=malloc(sizeof(STU));应改为t=(STU*)malloc(sizeof(STU)*m);第2处:t[k].num=b[j].num;应改为strcpy(t[k].num,b[j].num);第50题答案第1处:t[i]=s[s1-i];应改为t[i]=s[s1-i-1];或t[i]=s[s1-1-i];第51题答案第1处:void fun(char str[][],int m,char*pt)应改为void fun(char str[][10],int m,char*pt)第2处:pt[i]=str[k,i];应改为pt[i]=str[k][i];第52题答案第1处:int fun(double x[],int n)应改为int fun(double x[],int n){第53题答案第1处:switch(g);应改为switch(g) 第2处:case 1;应改为case 1:第54题答案第1处:double fun(char*s,char*t)应改为char*fun(char*s,char*t)第2处:(*ss)++;应改为ss++;第3处:(*tt)++;应改为tt++;第55题答案第1处:y=0;应改为y=1;第2处:d=i-a;应改为d=a-i;第56题答案第1处:void fun(char(*pstr)[6])应改为void fun(char*pstr[6])第2处:if(strcmp(*(pstr+i),pstr+j)>0)应改为if(strcmp(*(pstr+i),*(pstr+j))>0)第3处:*(pstr+i)=pstr+j;应改为*(pstr+i)=*(pstr+j);第57题答案第1处:while(i>j)应改为while(i<j)或while(j>i)第2处:c=0;应改为*c='\0';或*c=0; 第58题答案第1处:for(i=0;i<=s1;i++)应改为for(i=0;i<s1;i++)第2处:t[s1]='\0';应改为t[2*s1]='\0'; 第59题答案第1处:void fun(char*s,int num[5]);应改为void fun(char*s,int num[5]) 第2处:num[i]=0;应改为num[k]=0; 第3处:switch(s)应改为switch(*s) 第60题答案第1处:if(i%k!=0)应改为if(i%k==0)第2处:if(k<i)应改为if(k>=i)第61题答案第1处:fun(int m)应改为double fun(int m)第2处:for(i=100,i<=m,i+=100)应改为for(i=100;i<=m;i+=100) 第62题答案第1处:break应改为break;第63题答案第1处:i=1;应改为i=0;第2处:while(i<3||*p)应改为while(i<3&&*p)第3处:b[k]='';应改为b[k++]='';第64题答案第1处:c=c-32;应改为c=c+32;第2处:c=c-5;应改为c=c+5;第65题答案第1处:void fun(long s,long t)应改为void fun(long s,long*t)第2处:s1=s1*100;应改为s1=s1*10;第66题答案第1处:fun(int n)应改为doublefun(int n)第2处:b+=c;应改为b=c;第67题答案第1处:fun(double a,double x0)应改为double fun(double a,double x0)第2处:if(abs(x1-x0)>=1e-6)应改为if(fabs(x1-x0)>=1e-6)第68题答案第1处:return 1;应改为return 3;第2处:return 3;应改为return 1;第69题答案第1处:void upfst(char p)应改为void upfst(char*p)第70题答案第1处:int fun(int*b);应改为intfun(int*b)第2处:for(k=10;k<=55;k++)应改为for(k=1;k<55;k++)第3处:return k;应改为return i;第71题答案第1处:if k>1应改为if(k>1)第72题答案第1处:int fun(char*str,*substr)应改为int fun(char*str,char*substr)第2处:for(i=0,str[i],i++)应改为for(i=0;str[i];i++)第73题答案第1处:t=1.0-1/i;应改为t-=1.0/i;或t=t-1.0/i;或t-=(double)1/i;第2处:应填return t;第74题答案第1处:c=aa[i];应改为ch=aa[i];第75题答案第1处:int fun(int m,int xx[][])应改为int fun(int m,int xx[][M])第2处:printf("%4f",xx[i][j]);应改为printf("%4d",xx[i][j]);第76题答案第1处:long s1=0;应改为long s1=1;第2处:s\=10;应改为s/=10;第77题答案第1处:void fun(char a)应改为voidfun(char*a)第78题答案第1处:k++应改为k++;第2处:if(m=k)应改为if(m==k)第79题答案第1处:c[t]="\0";应改为c[t]='\0';第80题答案第1处:fun(int n)应改为doublefun(int n)第2处:s=s+(Double)a/b;应改为s=s+(double)a/b;第81题答案第1处:fun(int n)应改为doublefun(int n)第2处:for(i=2;i<n;i++)应改为for(i=2;i<=n;i++)第82题答案第1处:result*=--n;应改为result*=n--;第2处:应填return result;第83题答案第1处:void fun(int x,int y)应改为void fun(int*x,int*y)第2处:t=x;x=y;y=t;应改为t=*x;*x=*y;*y=t;第84题答案第1处:void fun(int m,int k);应改为void fun(int m,int k)第2处:aa[i]=m/k;应改为aa[i]=m%k;第3处:printf("%d",aa[i]);应改为printf("%d",aa[i-1]);第85题答案第1处:s[j]=s[i];应改为s[j++]=s[i];第2处:s[i]='\0';应改为s[j]='\0';第86题答案第1处:float*k;应改为float k;第2处:if(*s<*p)应改为if(*s>*p)第87题答案第1处:void fun(int a)应改为voidfun(int a[M])或void fun(int a[])或void fun(int*a)第2处:a[j]=a[j+1];应改为a[j]=a[j-1];第88题答案第1处:for(i=0;i<=3;i++)应改为for(i=1;i<=3;i++)第2处:if(k>=1&&k<=6)应改为if(k>=0&&k<=6)*zero=count; 第89题答案第1处:for(i=1;i<y;i++)应改为for(i=1;i<=y;i++)第2处:t=t/1000;应改为t=t%1000;第90题答案第1处:d=0;应改为d=1;第2处:s=1;应改为s=0;第3处:s=s/10;应改为d=d/10;第91题答案第1处:for(i=strlen(t);i;i--)应改为for(i=strlen(t)-1;i;i--)或for(i=strlen(t)-1;i>0;i--)第2处:if(t[j]<t[j+1])应改为if(t[j]>t[j+1])第92题答案第1处:long s=0,t=1;应改为longs=0,t=0;第2处:for(j=0;j<=n;j++)应改为for(j=0;j<n;j++)第3处:t=t%10;应改为t=t/10;第93题答案第1处:while(t>=num)应改为while(fabs(t)>=num)第2处:t=s%n;应改为t=s/n;第94题答案第1处:int sum=0.0;应改为doublesum=0.0;第2处:sum\=c;应改为sum/=c;第95题答案第1处:s=s+(n+1)/n;应改为s=s+(double)(n+1)/n;第2处:return s;应改为return t;第96题答案第1处:fun(int k)应改为doublefun(int k)第2处:return s应改为return s;第97题答案第1处:f(double x)应改为doublef(double x)第2处:return s应改为return s;第98题答案第1处:#define FU(m,n)(m/n)应改为#define FU(m,n)(m)/(n)第2处:Return(value);应改为return(value);第99题答案第1处:int i,j,k,sum;应改为inti,j=0,k,sum;第2处:if(sum%4=2)应改为if(sum%4==2)第100题答案第1处:if(t=0)应改为if(t==0)第2处:zero=count;应改为。
2017年全国计算机等级考试C语言上机考试题库 - 61-80套内含74以后6套新题资料
学生练习用第61套至第80套内涵8套新题第六十一套1、程序填空下列给定程序中,函数fun的功能是:计算如下公式直到,并且把计算结果作为函数值返回。
例如,若形参e的值为1e-3,则函数返回值为0.551690。
请在程序的下画线处填入正确的内容并将下画线删除,使程序得出正确的结果。
注意:部分源程序在文件BLANK1.C中。
不得增行或删行,也不得更改程序的结构!-----------------------------------------------------------------------------------------------------------------#include <stdio.h>double fun(double e){ int i, k; double s, t, x;s=0; k=1; i=2;/**********found**********/x=__1__/4;/**********found**********/while(x __2__ e){ s=s+k*x;k=k* (-1);t=2*i;/**********found**********/x=__3__/(t*t);i++;}return s;}main(){ double e=1e-3;printf("\nThe result is: %f\n",fun(e));}-----------------------------------------------------------------------------------------------------------------【参考答案】(1)3.0或(double)3 (2)> (3)(t+1)【考点分析】本题考查:基本算术运算时的类型转换,其转换规则为:如果双目运算符两边运算数的类型一致,则所得结果的类型与运算数的类型一致;如果双目运算符两边运算的类型不一致,系统将自动进行类型转换,使运算符两边的类型达到一致后,再进行运算规律见下表。
计算机等级考试上机试题
上机试题目录整数排序题 (4)☆题目1(整数排序题) (4)☆题目2 正整数排序 (4)☆题目3(整数统计排序题) (5)☆题目4(整数统计排序题) (5)题目5(整数运算排序题) (6)★题目6(整数各位统计排序题) (6)题目7(整数统计排序题) (7)★题目8(整数排序题) (7)★题目9(整数各位数字运算排序题) (8)题目10(整数各位数运算排序题) (8)★☆题目11 (整数各位数运算及排序题) (9)整数统计运算题 (9)★☆题目12整数统计运算题) (9)☆题目13(整数统计运算题) (10)☆题目14(整数统计运算题) (10)题目15(整数统计运算题) (11)题目16(整数统计运算题) (11)题目17(整数统计运算题) (12)☆题目18(整数统计运算题) (12)题目19(整数统计运算题) (12)题目20(整数各位数字运算题) (13)☆题目21(整数各位数字运算题) (13)题目22(整数各位数字运算题) (14)☆题目23(整数各位数字运算题) (14)题目24(整数各位数字运算题) (15)☆题目25(整数各位数字统计运算题) (15)★☆题目26(整数各位运算题) (15)题目27(整数各位数运算题) (16)☆题目28(整数各位数运算题) (16)☆题目29(整数各位运算统计题) (17)☆题目30 (18)题目31 (18)整数各位打散组合运算题 (19)★☆题目32(整数各位打散组合运算题) (19)☆题目33(整数各位打散组合运算题) (19)★☆题目34(整数各位打散组合运算题) (20)题目35(整数各位打散组合运算题) (20)★题目36(整数各位打散组合运算题题) (21)题目39(整数各位打散组合运算题) (23)素数题 (23)题目40(素数题) (23)题目41(素数统计排序题) (24)★☆题目42(素数题) (24)★题目43(素数题) (25)★题目44(素数题) (26)★题目45(数字运算题) (26)★题目46(数字统计排序题) (27)☆题目47(数字统计排序题) (27)字符型题 (28)题目48字符型题 (28)★题目49(字符处理——倒序输出) (29)★题目50(字符排序题) (29)★☆题目51(替换字符题) (30)☆题目52(亲朋字符替换题) (30)字符串处理题 (31)★☆题目53(字符串排序题) (31)☆题目54(字符串字母移位题) (32)★☆题目55(字符串左右排序交换题) (32)题目56(字符串左右排序交换题) (33)★题目57(字符串移位题) (33)题目58(字符串排序题) (34)★题目59(字符串左右排序题) (34)★题目60(字符ASCII值移位替换题) (35)方差运算题 (36)★☆题目61(方差运算题) (36)☆题目62(方差运算题) (36)☆题目63(方差运算题) (37)☆题目64(整数各位数运算题) (38)★题目65(字符替换题) (38)★☆题目66(字符替换题) (39)★题目67(字符替换题) (39)题目68(字符替换题) (39)题目69(字符替换题) (40)☆题目70(字符替换题) (40)★题目71(字符替换题) (41)☆题目72(字符替换题) (41)☆题目73(字符替换题) (42)★题目74(字符替换题) (42)★题目75(字符替题) (42)★☆题目76(字符替换题) (43)☆题目77(结构体操作题) (43)★☆题目78(结构体运算题题) (44)☆题目81(结构体运算题) (45)题目82(结构体运算题) (45)题目83 结构体运算题 (45)题目84(结构体运算题) (46)★题目85(结构体运算题) (46)题目86(结构体排列题) (47)选票问题 (47)题目87(选票问题) (47)★☆题目88(选票问题) (48)☆题目89(选票问题) (48)★☆题目90(级数运算题) (49)其他问题 (49)☆题目91(单词个数统计题) (49)★题目92(Fibonacci数列题) (50)☆题目93(迭代方法求方程题) (50)★题目94(平方根问题) (51)题目95 (实数运算题) (52)题目96(完全平方数问题) (53)★题目97 (回文数问题) (53)★题目98(出圈题) (54)☆题目99(SIX/NINE问题) (54)三级网络上机题型整数排序题☆题目1(整数排序题)在文件in.dat中有200个正整数,且每个数均在1000至9999之间。
计算机二级c语言2017试题及答案
计算机二级c语言2017试题及答案一、选择题(每题2分,共20分)1. 在C语言中,以下哪个选项不是合法的变量名?A. _2ndB. intC. forD. sum答案:C2. 下列关于C语言中数组的描述,错误的是:A. 数组可以存储多个相同类型的数据B. 数组的索引从0开始C. 数组的大小在声明时确定D. 数组的大小可以动态改变答案:D3. 在C语言中,以下哪个关键字用于定义函数?A. structB. intC. returnD. void答案:D4. 若有定义int a=5;,则执行语句a+=a-=a*a;后,变量a的值是多少?A. -20B. -25C. 0D. 1答案:C5. 在C语言中,以下哪个选项是正确的文件操作函数?A. fopenB. fcloseC. printfD. scanf答案:A6. 下列关于C语言中指针的描述,错误的是:A. 指针可以存储变量的地址B. 指针可以存储字符串C. 指针可以存储函数的地址D. 指针可以存储数组的元素答案:B7. 在C语言中,以下哪个选项是正确的循环结构?A. do-whileB. do…untilC. forD. all of the above答案:D8. 下列关于C语言中结构体的描述,错误的是:A. 结构体可以包含不同类型的数据B. 结构体可以包含其他结构体C. 结构体不能包含函数D. 结构体可以包含数组答案:C9. 在C语言中,以下哪个选项是正确的逻辑运算符?A. &&B. ||C. ==D. <答案:A10. 在C语言中,以下哪个选项是正确的预处理指令?A. #includeB. #defineC. #ifD. all of the above答案:D二、填空题(每题3分,共15分)1. 在C语言中,定义一个整型数组,数组名为arr,数组长度为10,正确的定义方式是:int arr[10]; ____________。
全国计算机等级考试c语言上机考试题库 - 41-60套
2017年全国计算机等级考试C语言上机考试题库学生练习用第41套至第60套第四十一套1、程序填空下列给定程序中,函数fun的功能是:将形参s所指字符串中的所有字母字符顺序前移,其他字符顺序后移,处理后将新字符串的首地址作为函数值返回。
例如,若s所指字符串为:"asd123fgh543df",处理后新字符串为:"asdfghdf123543"。
请在程序的下画线处填入正确的内容并将下画线删除,使程序得出正确的结果。
注意:部分源程序在文件中。
不得增行或删行,也不得更改程序的结构!-----------------------------------------------------------------------------------------------------------------#include <>#include <>#include <>char *fun(char *s){ int i, j, k, n; char *p, *t;n=strlen(s)+1;t=(char*)malloc(n*sizeof(char));p=(char*)malloc(n*sizeof(char));j=0; k=0;for(i=0; i<n; i++){ if(((s[i]>='a')&&(s[i]<='z'))||((s[i]>='A')&&(s[i]<='Z'))) {/**********found**********/t[j]=__1__; j++;}else{ p[k]=s[i]; k++; }}/**********found**********/for(i=0; i<__2__; i++) t[j+i]=p[i];/**********found**********/t[j+k]= __3__;return t;}main(){ char s[80];printf("Please input: "); scanf("%s",s);printf("\nThe result is: %s\n",fun(s));-----------------------------------------------------------------------------------------------------------------【参考答案】(1)s[i] (2)k (3)'\0'或0【考点分析】本题考查:数组元素赋值操作;for循环语句中循环变量的取值范围;字符串结束标识'\0'。
2017全国计算机二级考试C语言程序题库
2017 年3 月全国计算机等级考试二级C 语言上6、7、8、9,则逆置后依次为:9、8、7、6、5、机题库100 套4、3、2、1。
形参n 给出数组中数组中数据的个(从光碟拷贝出来的最完整版)数。
第一处for(i=0;i<n/2;i++) 第二(可以拷贝在U 盘里,然后ctrl+F 搜索,百分百处a[i]=a[n-1-i]; 第三处a[n-i-1]=t; 2 程序修改有答案,祝考试成功)给定程序MODI1.C中函数fun 的功能是:将第一套一个由八进制数字字符串组成的字符串转换为1. 程序填空与其面值相等的十进制整数。
规定输入的字符串给定程序中,函数fun 的功能是:计算下式最多只能包含 5 位八进制数字字前n 项的和作为函数值返回。
例如:当形参n 的符。
/**found**/ n=*p-值为10 的时,函数返回:9.6125588。
第一处s=0; ‘0’; /**found**/ n=n*8+*p- ‘0’; 3. 程序设计第二处for(i=1;i<=n;i++) 学生的记录由学号和成绩组成,N 名学生的第三处s=s+(2.0*i-1)*(2.0*i+1)/(t*t); 2. 程序修改数据已在主函数中放入结构体数组s中,请编写给定程序MODI1.C中函数fun 的功能是:统了函数fun,它的功能是:函数返回指定学号的计substr 所指字符串在str 所指字符串中出现伯学生数据,指定的学生号在主函数中输入,若没次数。
/**found**/有找到指定学号,在结构体变量中给学号置空串,for(i=0;str[i];i++) /**found**/ 给成绩置-1,作为函数值返回。
(用于字符串比较if(substr[k+1]==’\0’) 3. 程序设计的函数是strcmp)。
STREC fun(STREC*a,char *b) { 请编写一个函数fun,它的功能是:根据以下STREC c; Int i;公式求JI的值(要求满足精度0.0005,即某项小 c.num*0+= ’0’c;.s=-1;于0.0005 时停止送代):程序运行后,如果输入for(i=0;i<N;i++)精度为0.0005 ,则程序输出为if(strcmp(a[i].num,b)==0) {strcpy(c.num,a[i].num); 3.14, 。
全国计算机二级考试-C语言上机考试练习题及答案
1.填空给定程序的功能是:从键盘输入若干行文本(每行不超过80个字符),写到文件myfile4.txt中,用-1作为字符串输入结束的标记。
然后将文件的内容读出显示在屏幕上。
文件的读写分别有自定义函数ReadText和WriteText实现。
请在程序的下划线处填入正确的内容并把下划线删除,是程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANK1.c中不得增行或删行,也不得更改程序的结构!main(){ FILE *fp;if((fp=fopen("myfile4.txt","w"))==NULL){ printf(" open fail!!\n"); exit(0); }WriteText(fp);fclose(fp);if((fp=fopen("myfile4.txt","r"))==NULL){ printf(" open fail!!\n"); exit(0); }ReadText(fp);fclose(fp);}/**********found**********/void WriteText(FILE ___1___){ char str[81];printf("\nEnter string with -1 to end :\n");gets(str);while(strcmp(str,"-1")!=0) {/**********found**********/fputs(___2___,fw); fputs("\n",fw);gets(str);}}void ReadText(FILE *fr){ char str[81];printf("\nRead file and output to screen :\n");fgets(str,81,fr);while( !feof(fr) ) {/**********found**********/printf("%s",___3___);fgets(str,81,fr);}}修改给定程序MODI1.c中函数fun的功能是:从低位开始取出长整形变量s中的奇数位上的数,依次构成一个新数放在t中,高位仍放在高位,低位仍放在低位。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
学生练习用第61套至第80套内涵8套新题第六十一套1、程序填空下列给定程序中,函数fun的功能是:计算如下公式直到,并且把计算结果作为函数值返回。
例如,若形参e的值为1e-3,则函数返回值为0.551690。
请在程序的下画线处填入正确的内容并将下画线删除,使程序得出正确的结果。
注意:部分源程序在文件BLANK1.C中。
不得增行或删行,也不得更改程序的结构!-----------------------------------------------------------------------------------------------------------------#include <stdio.h>double fun(double e){ int i, k; double s, t, x;s=0; k=1; i=2;/**********found**********/x=__1__/4;/**********found**********/while(x __2__ e){ s=s+k*x;k=k* (-1);t=2*i;/**********found**********/x=__3__/(t*t);i++;}return s;}main(){ double e=1e-3;printf("\nThe result is: %f\n",fun(e));}-----------------------------------------------------------------------------------------------------------------【参考答案】(1)3.0或(double)3 (2)> (3)(t+1)【考点分析】本题考查:基本算术运算时的类型转换,其转换规则为:如果双目运算符两边运算数的类型一致,则所得结果的类型与运算数的类型一致;如果双目运算符两边运算的类型不一致,系统将自动进行类型转换,使运算符两边的类型达到一致后,再进行运算规律见下表。
"while循环语句,一般考查如何根据题意确定循环条件,以及如何通过循环变量变化实现循环操作。
【解题思路】填空1:变量x定义为double类型,而运算符"/"后面是整型数,所以给x赋值时,需要注意数据类型,此处不能将3.0写成3。
填空2:while循环语句的循环条件,根据题意确定循环变量应大于1e-3,因此此处应填">"。
填空3:表达式的通项是(2*i+1)/(2*i)2 ,由于程序中已定义t=2*i,所以此处应该填写(t+1)。
【解题宝典】本题填空1还可以运用强制类型转换来实现。
强制类型转换是通过类型转换运算来实现的。
其一般形式为:"(类型说明符) (表达式)"。
其功能是:把表达式的运算结果强制转换成类型说明符所表示的类型。
例如:(float) a 把a转换为实型(int)(x+y) 把x+y的结果转换为整型2、程序修改下列给定程序中函数fun的功能是:求出如下分数序列的前n项之和。
和值通过函数值返回。
例如,若n=5,则应输出8.391667。
请改正程序中的错误,使其得出正确的结果。
注意:部分源程序在文件MODI1.C中,不得增行或删行,也不得更改的程序的结构!-----------------------------------------------------------------------------------------------------------------#include <stdio.h>/************found************/void fun ( int n ){ int a, b, c, k; double s;s = 0.0; a = 2; b = 1;for ( k = 1; k <= n; k++ ) {/************found************/s = s + (Double)a / b;c = a; a = a + b; b = c;}return s;}main( ){ int n = 5;printf( "\nThe value of function is: %lf\n", fun ( n ) );}-----------------------------------------------------------------------------------------------------------------【参考答案】(1)double fun(int n)(2)s=s+(double)a/b;【考点分析】本题考查:函数定义,函数定义的一般形式为:"类型标识符函数名(形式参数表列)",其中类型标识符指明了本函数的类型,函数的类型实际上是函数返回值的类型。
【解题思路】(1)由语句"return(s)"和变量s定义为double数据类型可知,该函数定义时其类型标识符为double类型。
(2)注意数据类型double的书写格式。
【解题宝典】确定函数类型标识符在填空和改错题中经常考到,如果函数没有返回值,则函数定义为void 型;如果函数有返回值,则函数类型应与返回值类型一致;如果不定义函数类型标识符,则系统默认为int型。
3、程序设计请编写函数fun,其功能是:找出2×M整型二维数组中最大元素的值,并将此值返回调用函数。
注意:部分源程序在文件PROG1.C中。
请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
-----------------------------------------------------------------------------------------------------------------#include <stdio.h>#define M 4int fun (int a[][M]){}main( ){ int arr[2][M]={5,8,3,45,76,-4,12,82} ;void NONO ();printf("max =%d\n", fun(arr)) ;NONO( ) ;}void NONO (){/* 本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。
*/FILE *wf ;int arr[][M]={5,8,3,90,76,-4,12,82} ;wf = fopen("out.dat","w") ;fprintf(wf, "max=%d\n", fun(arr)) ;fclose(wf) ;}-----------------------------------------------------------------------------------------------------------------【参考答案】int fun (int a[][M]){int i,j,max=a[0][0];for(i=0;i<2;i++)for(j=0;j<M;j++)if(max<a[i][j])max=a[i][j];return max;}【考点分析】本题考查:求数组的最大值,需要运用循环语句,因为数组是二维数值,所以应使用二层加for循环嵌套。
使用for循环语句时需要注意循环变量的取值范围。
【解题思路】此类求最大值或最小值的问题,我们可以采用逐个比较的方式,要求对数组中所有元素遍历一遍,并且从中找出数组最大值或最小值。
首先定义变量max存放数组中的第一个元素的值,然后利用for循环逐个找出数组中的元素,并与max比较,如果元素值大于max,则将该值赋于max,循环结后max的值即为数组最大值,最后将该值返回。
【解题宝典】该类题目考查较多,要掌握逐行比较的方法。
对于m*n二维数组,如采用逐行查找方法,代码实现为:for(i=0;i<m;i++)for(j=0;j<n;j++)……第六十二套1、程序填空下列给定程序中,函数fun的功能是:计算如下公式前n项的和并作为函数值返回。
例如,当形参n的值为10时,函数返回值为9.612558。
请在程序的下画线处填入正确的内容并将下画线删除,使程序得出正确的结果。
注意:部分源程序在文件BLANK1.C中。
不得增行或删行,也不得更改程序的结构!-----------------------------------------------------------------------------------------------------------------#include <stdio.h>double fun(int n){ int i; double s, t;/**********found**********/s=__1__;/**********found**********/for(i=1; i<=__2__; i++){ t=2.0*i;/**********found**********/s=s+(2.0*i-1)*(2.0*i+1)/__3__;}return s;}main(){ int n=-1;while(n<0){ printf("Please input(n>0): "); scanf("%d",&n); }printf("\nThe result is: %f\n",fun(n));}-----------------------------------------------------------------------------------------------------------------【参考答案】(1)0 (2)n (3)(t*t)【考点分析】本题考查:变量初始化操作,需要注意该变量是用作累加器还是累乘器;for循环语句。
【解题思路】填空1:程序开始定义了变量s,但没有对其进行初始化,根据公式及后面的程序可知变量s用来存储公式的前n项和,因此该变量应初始化为0。
填空2:通过for循环语句将表达式各项进行累加,结果存于变量s中,循环变量i的取值范围为1~n。