浙江省计算机二级c语言上机考试真题(二)程序填空

合集下载

全国计算机等级考试二级C语言上机题库完全版

全国计算机等级考试二级C语言上机题库完全版

第一套1.程序填空程序通过定义学生结构体数组,存储了若干个学生的学号、姓名和三门课的成绩。

函数fun的功能是将存放学生数据的结构体数组,按照姓名的字典序(从小到大排序)。

请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。

第一处struct student t;第二处for(i=0;i<n-1;i++)第三处if(strcmp(a[i].name,a[j].name)>0)2程序修改给定程序MODI1.C中函数fun的功能是:在p所指字符串中找出ASCII码值最大的字符,将其放在第一个位置上;并将该字符前的原字符向上顺序移动。

/**found**/q=p+i;/**found**/while(q>p)3程序设计学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写了函数fun,它的功能是:把指定分数范围内的学生数据放在b所指的数组中,分数范围内的学生人数由函数值返回。

int fun(STREC *a,STREC *b,int l,int h){int i,j=0;for(i=0;i<N;i++)if((a[i].s>=1&&a[i].s<=h)b[j++]=a[i];return j;}第二套1.程序填空给定程序中已建立一个带有头结点的单向链表,链表中的各结点按数据域递增有序连接。

函数fun的功能是:删除链表中数据域值相同的结点,使之只保留一个。

第一处free(q);第二处q=p->next;第三处q=q->next;2. 程序修改给定程序MODI1.C中函数fun的功能是:用选择法对数组中的n各元素按从小到大的顺序进行排序。

/**found**/p=j;/**found**/p=i;3. 程序设计请编写一个fun函数,它的功能是:求出1到m之间(含m)能被7或11整除的所有整数放在数组a中,通过n 返回这些数的个数。

计算机二级考试C语言上机试题(100题)

计算机二级考试C语言上机试题(100题)

1.程序填空题在主函数中从键盘输入若干个数放入数组a中,用0结束输入但不计入数组。

下列给定程序中,函数fun的功能是:输出数组元素中小于平均值的元素。

例如,数组中元素的值依次为34、54、675、456、453、121,则程序的运行结果为34、54、121。

请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。

注意:不得增行或删行,也不得更改程序的结构!#include <conio.h>#include <stdio.h>void fun(___1___,int n){double count=0.0;double average=0.0;int i=0;for(i=0;i<n;i++)___2___;average=___3___;for(i=0;i<n;i++)if(a[i]<average){if(i%5==0)printf("\n");printf("%d,",a[i]);}}main(){int a[1000];int i=0;printf("\nPlease enter datas(end with 0):");do{scanf("%d",&a[i]);}while(a[i++]!=0);fun(a,i-1);}【答案】(1) int a[] (2)count+=a[i]或count=count+a[i] (3)count/n2.程序修改题给定程序中,函数fun的功能是:根据整型形参m,计算如下公式的值:y=1+1/(2*2)+1/(3*3)+1/(4*4)+…+1/(m*m)例如:若m中的值为5,则应输出1.463611。

请改正程序中的错误,使其能得出正确的结果。

注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!#include <stdio.h>double fun(int m){double y=1.0;int I;/**********found**********/for(i=2;i<m;i++)/**********found**********/y+=1/(i*i);return(y);}main(){int n=5;printf("\nThe result is %lf\n", fun(n));}【答案】(1)将for(i=2;i<m;i++) 改为:for(i=2;i<=m;i++)(2)将y+=1/(i*i); 改为:y +=1.0/(i*i);3.程序设计题函数fun的功能是:将s所指字符串中除了下标为偶数、同时ASCII值也为偶数的字符外,其余的全都删除;串中剩余字符所形成的一个新串放在t所指的数组中。

浙江省计算机二级c语言上机考试真题

浙江省计算机二级c语言上机考试真题

(二)上机编程题1. 程序设计题:z=f(x,y)=(3.14*x-y)/(x+y),若x、y取值为区间[1,6]的整数,找出使z取最小值的x1、y1,并将x1、y1以格式"%d,%d" 写入到考生目录下新建文件design.dat。

#include <stdio.h>void main(){ FILE *p; float f(int x,int y),min;int x,y,x1,y1;// 此处起要求考生自己编制程序min=100;p=fopen(“design.dat”, “w”);for(x=1;x<6;x++)for(y=1;y<6;y++)if(f(x,y)<min){ min=f(x,y); x1=x; y1=y; }fprintf(p, “%d,%d”,x1,y1); // 答案:x1=1, y1=5fclose(p); // 或若x<=6及y<=6 则x1=1, y1=6}float f(int u,int v){ return (3.14*u-v)/(u+v); }4.程序设计题:对x=1,2,...,10,求函数 f(x)=x-10*cos(x)-5*sin(x)的最大值,并将该数以格式"%.3f"写到考生目录下新建文件design.dat。

#include <stdio.h>#include <math.h>void main(){ FILE *p; float f(float),max,x;// 此处起要求考生自己编制程序p=fopen(“design.dat”, “w”);max=f(1);for(x=2;x<=10;x++)if(max<f(x))max=f(x);fprintf(p,”%.3f”,max); // 答案:21.111fclose(p);}float f(float y){ y=y-10*cos(y)-5*sin(y);return (y);}6. 程序设计题:数组元素x[i]、y[i]表示平面上某点坐标,统计10个点中同处在圆(x-1)*(x-1)+(y+0.5)*(y+0.5)=25 和 (x-0.5)*(x- 0.5)+y*y=36内的点数k,并将变量k的值以格式"%d"写到考生目录下新建文件design.dat。

计算机二级c语言考试题库及答案

计算机二级c语言考试题库及答案

计算机二级c语言考试题库及答案在计算机二级考试的题库中,有哪些与c语言相关的题目呢?下面是店铺给大家整理的计算机二级c语言考试题库及答案,供大家参阅!计算机二级c语言考试题库一、单选题1). 若变量x、y已正确定义并赋值,以下符合C语言语法的表达式是( )A.++x,y=x--B.x+1=yC.x=x+10=x+yD.double(x)/102). 下列叙述中正确的是( )A.一个算法的空间复杂度大,则其时间复杂度也必定大B.一个算法的空间复杂度大,则其时间复杂度必定小C.一个算法的时间复杂度大,则其空间复杂度必定小D.算法的时间复杂度与空间复杂度没有直接关系3). 待排序的关键码序列为(15,20,9,30,67.65,45,90),要按关键码值递增的顺序排序,采取简单选择排序法,第一趟排序后关键码15被放到第( )个位置。

A.2B.3C.4D.54). 以下结构体类型说明和变量定义中正确的是( )A.typedef struct { int n; char c; } REC; REC t1,t2;B.struct REC ; { int n; char c; }; REC t1,t2;C.typedef struct REC; { int n=0; char c=′A′; } t1,t2;D.struct { int n; char c; } REC; REC t1,t2;二、程序填空题函数fun的功能是:输出a所指数组中的前n个数据,要求每行输出5个数。

请在程序的下画线处填入正确的内容并把下画线删除,使程序得出正确的结果。

注意:源程序存放在考生文件夹下的BLANKl.C中。

不得增行或删行,也不得更改程序的结构!三、程序设计题请编写函数fun,函数的功能是查找X在s所指数组中下标的位置,并作为函数值返回,若x不存在,则返回-l。

注意:部分源程序在文件PROG1.C文件中,请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。

浙江省计算机二级C语言上机题库

浙江省计算机二级C语言上机题库

第二部份C程序设计上机操作题 (2)一、数列求和 (2)七、数制转换 (7)十、斐波那契(Fibonacci)数列 (9)第二部份C程序设计上机操作题一、数列求和1、程序调试题试题一该程序功能:输入x和正数eps,计算多项式1-x+x*x/2!-x*x*x/3!+...的和直到末项的绝对值小于eps为止。

#include <>#include <>void main(){ float x,eps,s=1,t=1,i=1;scanf("%f%f",&x,&eps);do {/***** 1 *****/t=-t*x/++i; f"写入到考生目录中Paper子目录下的新建文件中。

#include<>#include<>void main(){FILE *p;int i; float x=,t=,y=;float a[10]={,,,,,,,,,};f”,y);fclose(p);}试题二计程序:计算多项式a0-a1*x+a2*x*x/2!-a3*x*x*x/3!+...的值,并将其以格式"%f"写到考生目录中Paper子目录下的新建文件中。

#include <>#include <>void main(){ FILE *p; int i; float x=,t,y;float a[10]={,,,,,,,,,};.+12!的值,并将计算结果以格式"%ld" 写入到考生目录中Paper子目录下的新建文件中#include <>void main(){ FILE *p; long s=1,k=1; int i;.的值,并将其值以格式"%f"写到考生目录中Paper子目录下的新建文件中。

#include <>#include <>void main(){ FILE *p; int i; float x=,t=1,y=0;float a[10]={,,,,,,,,,};.、10的的平方根之和,要求计算结果具有小数点后10位有效位数,并以格式"%.10f\n"写到考生目录中Paper子目录下的新建文件中。

浙江省计算机二级C语言上机题库完整

浙江省计算机二级C语言上机题库完整

第二部份 C程序设计上机操作题 (2)一、数列求和 (2)二、最大公约数、最小公倍数 (6)三、排序算法 (7)四、数组 (8)五、求整数n的各位数字及各数字之和 (11)六、平面上各点之间的距离 (13)七、数制转换 (16)八、字符串处理 (17)九、最大值与最小值 (23)十、斐波那契(Fibonacci)数列 (26)十一、水仙花、完数、回文数与亲密数 (27)十二、方程求根 (29)十三、回文数、因子、质因子、素数 (32)十三、其他算法 (33)第二部份 C程序设计上机操作题一、数列求和1、程序调试题试题一该程序功能:输入x和正数eps,计算多项式1-x+x*x/2!-x*x*x/3!+...的和直到末项的绝对值小于eps为止。

#include <stdio.h>#include <math.h>void main(){ float x,eps,s=1,t=1,i=1;scanf("%f%f",&x,&eps);do {/***** 1 *****/t=-t*x/++i; //++i--→i++s+=t;/***** 2 *****/} while(fabs(t)<eps); // < --→ >=printf("%f\n",s);}试题二该程序功能:运行时若输入a、n分别为3、6,则输出下列表达式的值:3+33+333+3333+33333+333333#include <stdio.h>void main(){ int i,a,n; long t=0;/********* 1 *******/s=0; //s=0--→long s=0scanf("%d%d",&a,&n);for(i=1;i<=n;i++) {/******* 2 ******/t=t*10+i; //i-→1s=s+t;}s=s*a;printf("%ld\n",s);}2、程序填空题试题一程序功能:调用函数f计算代数多项式 1.1+2.2*x+3.3*x*x+4.4*x*x*x+5.5*x*x*x*x当x=1.7时的值。

国家计算机二级_C语言上机国二真题

国家计算机二级_C语言上机国二真题

第一套程序填空给定程序中,函数fun的功能是:将形参n所指变量中,各位上为偶数的数去除,剩余的数按原来从高位到低位的顺序组成一个新的数,并通过形参指针n传回所指变量。

如输入一个数:27638496,新的数为729第一空:{ t=*n%10;第二空:if(t%2!=0)第三空:*n=x;2.程序修改给定程序modi1.c中函数fun的功能是:计算n!。

例如,给n输入5,则输出120.000000。

double fun(int n ){ double result=1.0;/*****found******/if(n==0)return 1.0;while(n>1&&n<170)/*****found******/result*=n--;return result;}程序设计请编写一个函数fun,它的功能是:将一个数字字符串转换为一个整数(不得调用C语言提供的将字符串转换为整数的函数)。

例如,若输入字符串“-1234”,则函数把它转换为整数值-1234。

long fun(char *p){int i,len,t;long x=0;len=strlen(p);if(p[0]==’-‘){ t=-1;len--;p++;}else t=1;while(*p)x=x*10-48+(*p++);return x*t;}第二套1. 给定程序中,函数fun的功能是将形参给定的字符串、整数、浮点数写到文本文件中,再用字符方式从此文本文件中逐个读入并显示在终端屏幕上。

请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。

注意:源程序存放在考生文件夹下的BLANK1.C中。

第1 处 FILE * fp;第2 处 while (!feof(fp)) {第3 处 putchar(ch); ch = fgetc(fp); }2.程序修改给定程序MODI1.C中函数fun的功能是:依次取出字符串中所有数字字符,形成新的字符串,并取代原字符串。

浙江省计算机二级c考试真题及答案

浙江省计算机二级c考试真题及答案

浙江省计算机二级c考试真题及答案一、单项选择题(每题2分,共20分)1. 在C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A2. 若有定义 int a[5] = {1, 2, 3, 4, 5}; 则数组元素a[2]的值是多少?A. 1B. 2C. 3D. 4答案:C3. 在C语言中,哪个函数用于计算字符串的长度?A. strlen()B. strcpy()C. strcat()D. strcmp()答案:A4. 下面哪个选项不是C语言中的基本数据类型?A. intB. floatC. doubleD. string答案:D5. 在C语言中,以下哪个运算符用于逻辑与操作?A. &&B. ||C. !D. ~答案:A6. 若有定义 int x = 10; 则表达式 x % 3 的值是多少?A. 1B. 2C. 3D. 4答案:A7. 在C语言中,哪个关键字用于定义一个函数?A. functionB. defC. defineD. void答案:D8. 下面哪个选项是正确的C语言变量声明?A. int 5x;B. int x = 5C. int x = 5;D. int x = 5, y;答案:C9. 在C语言中,哪个函数用于将字符串复制到另一个字符串?A. strcpy()B. strncpy()C. strcat()D. strcmp()答案:A10. 若有定义 int a = 5, b = 10; 则表达式 a + b 的值是多少?A. 15B. 5C. 10D. 0答案:A二、程序填空题(每空2分,共20分)请根据题目要求,填写空白处的代码。

11. 给定以下代码片段,完成计算两个数之和的函数:```cint sum(int a, int b) {return _____;}```答案:a + b12. 给定以下代码片段,完成计算两个数之差的函数:```cint difference(int a, int b) {return _____;}```答案:a - b三、程序改错题(每题10分,共20分)13. 阅读以下代码,找出并修正其中的错误。

浙江省高等学校(C语言)试卷及参考答案

浙江省高等学校(C语言)试卷及参考答案
(3)A、item=item*i C、item=item-i
(4)A、+=item C、1.0/item
B、sum=-1 C、sum=n
B、i>n D、i>=n
B、item=item+i D、item=item/i B、item D、sum+item
ቤተ መጻሕፍቲ ባይዱ
2.阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案。 【程序说明】先输入一个正整数 n(1≤n≤10),再输入 n 个从小到大有序排列的整数,并
n= (9) ; for(i=0;i<n;i++){ [j]!='\0';j++){
for( (10) ;str
putchar(str[j]);
} for( (11) ;j<i;j++){ pu tchar(str[j]);
C 程序设计试卷第 2 页(共 6 页)
} (12) ;
} }
【供选择的答案】
一、程序阅读与填空(24 小题,每小题 3 分,共 72 分)
1.阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案。
【程序说明】
输入一个正整数 n,计算并输出 1 + 1/2!+ /3! + … + 1/n! 的值。
【程序】
#include <stdio.h> void main()
else low=mid+1; } if(low<=high) printf("Index is %d \n",mid); else printf("Not Found\n"); }

浙江省计算机二级c语言笔试题库及答案

浙江省计算机二级c语言笔试题库及答案

浙江省计算机二级c语言笔试题库及答案一、选择题1. 下面哪个选项声明一个整型变量a?A. int a;B. int a = 10;C. a = 10;D. a;2. C语言中,以下哪个不是关键字?A. intB. floatC. ifD. then3. 下面哪个选项表示“不相等”?A. ==B. !=C. <=D. >4. 在C语言中,以下哪个选项是正确的注释格式?A. /*B. //C. #D. ∗−5. 下面哪个选项表示“与”?A. &&B. ||C. !D. ==二、填空题1. 声明一个字符型变量ch并赋值为字母A的ASCII码。

ch = 'A';2. 表示“输出变量a的值”的语句是________。

printf("%d", a);3. 下划线(_)开头的标识符属于______。

合法的变量名4. C语言的主函数是______。

int main()5. 表示“执行一次循环体”的语句是______。

do {...} while (条件);三、编程题题目1:编写一个程序,求出1到100之间所有能被3整除的正整数的和。

```c#include <stdio.h>int main() {int sum = 0;int i;for (i = 1; i <= 100; i++) {if (i % 3 == 0) {sum += i;}}printf("1到100之间所有能被3整除的正整数的和为:%d\n", sum);return 0;}```题目2:编写一个程序,计算并输出斐波那契数列的前20个数。

```c#include <stdio.h>int main() {int num1 = 1, num2 = 1, temp;int i;printf("斐波那契数列的前20个数为:\n");printf("%d %d ", num1, num2); // 输出前两个数for (i = 3; i <= 20; i++) {temp = num1 + num2;printf("%d ", temp);num1 = num2;num2 = temp;}return 0;}```题目3:编写一个程序,读入一个整数n,计算并输出1到n之间所有整数的和。

浙江省计算机二级c考试答案

浙江省计算机二级c考试答案

浙江省计算机二级c考试答案一、选择题(每题2分,共20分)1. C语言中,用于定义变量的关键字是:A. intB. floatC. charD. void答案:A2. 在C语言中,以下哪个选项是正确的字符串定义方式?A. char str[10] = "Hello";B. char str[10] = 'Hello';C. char str = "Hello";D. int str[10] = "Hello";答案:A3. 下列哪个函数用于计算两个数的和?A. max(a, b)B. min(a, b)C. sum(a, b)D. pow(a, b)答案:C4. 在C语言中,以下哪个选项是正确的数组声明方式?A. int array[5] = {1, 2, 3, 4, 5};B. int array = {1, 2, 3, 4, 5};C. int array[5] = 1, 2, 3, 4, 5;D. int array[5] = {5};答案:A5. 下列哪个选项表示C语言中的逻辑非运算?A. &&B. ||C. !D. %答案:C6. 在C语言中,以下哪个选项是正确的函数声明?A. int function();B. int function int a, int b;C. int function(int a, int b);D. int function a, b;答案:C7. C语言中,以下哪个选项是正确的循环结构?A. forB. whileC. do-whileD. All of the above答案:D8. 在C语言中,以下哪个选项是正确的条件语句?A. ifB. switchC. caseD. All of the above答案:D9. 下列哪个选项表示C语言中的文件操作函数?A. printf()B. scanf()C. fopen()D. Both A and B答案:C10. 在C语言中,以下哪个选项是正确的宏定义?A. #define PI 3.14B. #define PI = 3.14C. #define PI 3.14;D. #define PI 3.14答案:A二、填空题(每题2分,共20分)1. 在C语言中,用于声明一个整型变量的关键字是________。

浙江省高等学校二级C语言(笔试部分真题2008-2010年)

浙江省高等学校二级C语言(笔试部分真题2008-2010年)

浙江省高等学校二级C语言(笔试部分真题2008-2010年)浙江省高等学校计算机等级考试试卷(二级C)2010-2008笔试部分真题2010年春浙江省高等学校计算机等级考试试卷(二级C)一、程序阅读与填空(24小题,每小题3分,共72分)1. 阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案。

【程序说明】输入一个整数,求它的各位数字之和位数。

例如,17的各位数字之和是8,位数是2。

运行示例:Enter an integer:-153sum = 8, count = 3【程序】#include <stdio.h>main(){int count = 0, in, sum = 0;printf("Enter an integer:");scanf("%d", &in);if( D ) in = -in;do{sum = sum + (2) C ;(3)C ;count++;}while( (4)B );printf("sum = %d, count = %d\n", sum, count);}【供选择的答案】(1) A、in == 0 B、in > 0C、in != 0D、in< 0(2) A、in /10 B、in mod10C、in % 10D、in(3) A、in = in % 10 B、in /10C、in = in /10D、in % 10(4) A、in % 10 != 0 B、in != 0C、!inD、in /10 != 02.阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案。

【程序说明】输出50到70之间的所有素数。

要求定义和调用函数isprime(m)判断m是否为素数,若m 为素数则返回1,否则返回0。

素数就是只能被1和自身整除的正整数,1不是素数,2是素数。

二级C语言等级考试程序填空题题库

二级C语言等级考试程序填空题题库

程序填空题一1. 下面C语言程序将两个递增有序的数值a和b 合并一个数组c,并保持递增次序,最后输出数组c.#include < stodio.h>#define M6#define N5main( ){int a[M]={1,3,5,7,9,11} b[N]={2,4,6,8,10}int c[M+N]int i ,j, k;i=j=k=0while( 1 )if a[i]<b[j]c[k++]=a[i++];else c[k++]=b[j++];while( 2 )c[k++]=a[i++];while(j<N)c[k++]=( 3 )for(k=0;k<( 4 );k[++])printf(%dxt,c[k]; )其中(1)(2)(3)(4)处分别填一数据,使程序达到其功能。

答案:1:i<M&&j<N2:i<M;3:b[j++];4:M+N2.下面h函数的功能是计算如下数学函数H的值。

请填空。

double fgh(double(*f)(double a),double (* g)(double b),double x,double y){return(【1】);}double h(double a,double b)return(fgh(sin,cos,a,b)* fgh(【2】));}解:(1)(*f)(x+y)/(*g)(y-x)(2)cos,sin,a,b[解析]本题考察的是函数的声明。

要填写的两个空都出现在return语句中,所以要仔细分析函数的返回值。

本题的第二个空相对要容易一些,只要根据题干和乘号前面的调用语句对比一下即可得到调用语句的四个参数。

第一个空相对要难一些,函数fgh定义时用到了函数指针(*f)和(*g)是为了增加函数的灵活性。

根据函数h的定义以及题干要求,可以看出函数fgh应该表示的是乘号两边的某一项。

计算机二级《C语言》考试题库与答案

计算机二级《C语言》考试题库与答案

计算机二级《C语言》考试题库与答案一、程序填空题(共18分)、下列给定程序中,函数flm的功能是:将s所指字符串中的所有数字字符移到所有非数字字符之后,并保持数字字符串和非数字字符串原有的次序。

例如,s所指的字符串为“def35adh3kjsdt7”,执行后结果为“defadhajsdt3537”。

请在程序的下划线处填入正确的内容并将下划线删除,使程序得出正确的结果。

注意:部分源程序在文件BLANKl.c中。

不得增行或删行,也不得更改程序的结构!二、程序修改题(共l8分)下列给定程序中函数fun的功能是:用冒泡法对6个字符串进行升序排列。

请改正程序中的错误,使它能得出正确的结果。

注意:部分源程序在文件MODIl.C中,不得增行或删行,也不得更改程序的结构!三、程序设计题(共24分)编写函数fun,其功能是:求ss所指字符串中指定字符的个数,并返回此值。

例如,若输入字符串123412132,输入字符为l,则输出3。

注意:部分源程序在文件PROCl.C中。

请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填人你编写的若干语句。

参考答案一、程序填空题【参考答案】(1)j++或j+=1或++j或j=j+1(2)s[i]=t1[i](3)j【考点分析】本题考查:指针型变量;数组变量赋值;for循环语句。

【解题思路】填空1:根据函致fun中的内容可知,数组t1存储了s中的非数字字符,数组口存储了s中的数字字符,为了存储下一个数字字符,下标j要进行加1操作。

填空2:将S串中的数字与非数字字符分开后,要先将非数字字符放入字符串s中,因此填入s[i]=t1[i]。

填空3:最后将敦字字符加到s串之后,并且i要小于数字的.个数j。

二、程序修改题【参考答案】(1)fh(j=i+1;j<6;j++)(2)*(pstr+i)=}(pstr+j);【考点分析】本题考查:冒泡排序算法;for循环语句格式;指针数组。

浙江省二级C语言笔试真题(2021 2021年)

浙江省二级C语言笔试真题(2021 2021年)

浙江省二级C语言笔试真题(2021 2021年)浙江省二级c语言笔试真题(2021-2021年)2021年春浙江省高等学校计算机等级考试试卷(二级c)一、程序阅读与填空(24小题,每小题3分,共72分)1.写作以下程序表明和程序,在每小题提供更多的若干可以选答案中,挑选出一个恰当答案。

【程序说明】输出一个整数,谋它的各位数字之和及位数。

比如,17的各位数字之和就是8,位数就是2。

运转示例:enteraninteger:-153sum=8,count=3【程序】#includemain(){intcount=0,in,sum=0;printf(\scanf(\if(d)in=-in;do{sum=sum+(2)c;(3)c;count++;}while((4)b);printf(\}【供选择的答案】(1)a、in==0b、in>0c、in!=0d、in<0(2)a、in/10b、inmod10c、in%10d、in(3)a、in=in%10b、in/10c、in=in/10d、in%10(4)a、in%10!=0b、in!=0c、!ind、in/10!=02.阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案。

【程序表明】输出50到70之间的所有素数。

要求定义和调用函数isprime(m)判断m是否为素数,若m为素数则返回1,否则返回0。

素数就是只能被1和自身整除的正整数,1不是素数,2是素数。

运转示例:53596167【程序】#include1#includemain(){inti;intisprime(intm);for(i=50;i<=70;i++)if((5)b)printf(\}intisprime(intm){inti,k;(6)bk=(int)sqrt((double)m);for(i=2;i<=k;i++)if(m%i==0)(7)a;(8)a;}【供选择的答案】(5)a、isprime(m)!=0b、isprime(i)!=0c、isprime(m)==0d、isprime(i)==0(6)a、if(m!=1)return1;b、if(m==1)return0;c、;d、if(m==1)return1;(7)a、return0b、return1c、returni<=kd、return(8)a、return1b、return0c、returnd、returni<=k3.阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案。

05_2年浙江省计算机等级考二级(C语言)

05_2年浙江省计算机等级考二级(C语言)

2005年秋浙江省高等学校计算机等级考试试卷(二级C)说明:⑴考生应将试题一至试题四的答案涂在答题卡上,将试题五的答案填写在答卷上,否则作无效处理;⑵请将你的准考证号的后四位填写在答卷右下角的指定位置内;⑶考试时间为120分钟。

试题一、判断题(每题1分,共10分)说明:在以下提供的若干个陈述中,逐一判断其正确与否,选A表示正确,选B表示错误。

(1)不同类型的变量在内存中占用存储空间的大小都是一样的。

(2)程序调试就是找出并改正C源程序中的语法错误。

(3)表示数学式3<x<5的C表达式也是3<x<5。

(4)程序设计语言必须具备数据表达和流程控制的功能。

(5)结构化程序语言的三种基本控制结构是顺序、选择和循环。

(6)‘\n’不是一个字符常量。

(7)表达式(1.23 << 2)符合C语言语法。

(8)与float型数据相比,double型数据的精度高,取值范围大。

(9)在C语言中,表达式(010+2)的值是10。

(10)do-while语句先执行循环体,后判断循环条件,所以循环体至少会执行一次。

试题二、单选题(每题2分,共20分)(11) 若x是double型变量,n是int型变量,执行(11) ,并输入3 1.25后,x=1.25,n=3。

A、scanf("%d%lf", &n, &x);B、scanf("%lf%d", &x, &n);C、scanf("%lf%d", &n, &x);D、scanf("%d%,lf", &n, &x);(12) 若变量已经被正确定义,为表示“变量x和y都能被3整除”,应使用的C表达式是(12) 。

A、(x%3 != 0) || (y%3 != 0)B、(x%3 != 0) && (y%3 != 0)C、(x%3 == 0) || (y%3 == 0)D、(x%3 == 0) && (y%3 == 0)(13) while( (13) ) 等价于while(x)。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

浙江省计算机二级c语言上机考试真题(二)程序填空(二)程序填空1,求最大公约数,下面程序中"____ N ____"是根据程序功能需要填充部分,请完成程序填充(注意:不得加行、减行、加句、减句,否则后果自负)。

该程序功能:输入m、n(要求输入数均大于0),输出它们的最大公约数。

#include <stdio.h>void main(){ int m,n,k;while(scanf("%d%d",&m,&n), _______1______ );for( ____2____; n%k!=0||m%k!=0; k--);printf("%d\n",k);}•#include <stdio.h>•void main()•{int m,n,k;•while(scanf("%d%d",&m,&n)!=EOF&&m<=0||n<=0);•{for(k=m; n%k!=0||m%k!=0; k--);• printf("%d\n",k);•}•}2,分别统计字符串中各字符下面程序中"____ N ____"是根据程序功能需要填充部分,请完成程序填充(注意:不得加行、减行、加句、减句,否则后果自负)。

该程序功能:分别统计字符串中英文字母、数字和其他字符出现的次数。

#include <stdio.h>#include <string.h>void main(){ char a[80]; int n[3]={0},i;gets(a);for(i=0;a[i]!='\0';i++){ if (/*-------1---------*/) /*统计字母个数*/n[0]++;else if (/*------2------*/) /*统计数字个数*/n[1]++;if (_____2_______) printf("\n"); /* 每行打印3个数据*/}}•#include<stdio.h>•void main()•{•int a[10],b[10],i;•printf("\nInput 10 numbers: ");•for (i=0; i<10;i++)•scanf("%d", &a[i]);•for (i=1; i<10; i++)•b[i]=a[i]+a[i-1];•for (i=1; i<10; i++)•{•printf("%3d",b[i]);•if (i%3==0) printf("\n");•}•}4求数字和下面程序中"____ N ____"是根据程序功能需要填充部分,请完成程序填充(注意:不得加行、减行、加句、减句,否则后果自负)。

该程序功能:求输入的整数各位数字之和,如输入234则输出9,输入-312则输出6。

#include <stdio.h>#include <math.h>void main(){int n,s=0;scanf("%d",&n);______ 1 ______while(n!=0) {______ 2 ______n=n/10;}printf("%d\n",s);}•#include<stdio.h>•#include<math.h>•void main()•{•int n,s=0;•scanf("%d",&n);•if(n<0){n=-n;}•while(n!=0) {•s=s+n%10;•n=n/10;•}•printf("%d\n",s);•}5,求整数位数下面程序中"____ N ____"是根据程序功能需要填充部分,请完成程序填充(注意:不得加行、减行、加句、减句,否则后果自负)。

该程序功能:输入1个整数后,输出该数的位数(若输入3214则输出4,输入-23156则输出5)。

#include <stdio.h>void main(){ int n,k=0;scanf("%d",&n);while( n!=0 ){k++;n=n/10;}printf("%d\n",k);}•#include <stdio.h>•void main()•{ int n,k=0;• scanf("%d",&n);• while(n!=0){• k++;• n=n/10;• }• printf("%d\n",k);•}6,数列2项和下面程序中"____ N ____"是根据程序功能需要填充部分,请完成程序填充(注意:不得加行、减行、加句、减句,否则后果自负)。

该程序功能:数列的第1、2项均为1,此后各项值均为该项前二项之和。

计算数列第30项的值。

#include <stdio.h>long f(int n);void main(){printf("%ld\n",_____1____);}long f(int n){if(_______2______)return 1;elsereturn ______3_____;}•#include<stdio.h>•long f(int n);•int main()•{•printf("%ld\n",f(30));•}•long f(int n)•{•if(n==1||n==2)•return 1;•else•return f(n-1)+f(n-2);•}7,数倒置下面程序中"____ N ____"是根据程序功能需要填充部分,请完成程序填充(注意:不得加行、减行、加句、减句,否则后果自负)。

该程序功能:调用函数f,将1个整数首尾倒置,若程序输入12345,则输出54321;若程序输入-34567,则输出-76543。

#include <stdio.h>#include <math.h>long f(long n){ long m,y=0;m=fabs(n);while(m!=0) {y=y*10+m%10;______1______;}if(_______2_____) return y;else return -y;}int main(){printf("%ld\n",f(12345)); printf("%ld\n",f(-34567));return 0;}•#include <stdio.h>•#include <math.h>•long f(long n)•{ long m,y=0;•m=fabs(n);•while(m!=0) {•y=y*10+m%10;•m=m/10;•}•if(n>=0) return y;•else return -y ;•}•void main()•{•printf("%ld\n",f(12345)); printf("%ld\n",f(-34567));•}8,删除数字字符下面程序中中"____ N ____"是根据程序功能需要填充部分,请完成程序填充(注意:不得加行、减行、加句、减句,否则后果自负)。

该程序功能:调用函数f,从字符串中删除所有的数字字符。

#include < stdio.h >#include < string.h >#include < ctype.h >void f(char *s){ int i=0;while(s[i]!='\0'){if(isdigit(s[i])) ____1____;else ______2___;}}void main(){ char str[80];gets(str); f(str); puts(str);}•#include <stdio.h>•#include <string.h>•#include <ctype.h>•void f(char *s)•{ int i=0;• while(s[i]!='\0'){• if(isdigit(s[i])) strcpy(s+i,s+i+1);• else i++;}•}•void main()•{ char str[80];• gets(str); f(str); puts(str);•}9,删除c下面程序中"____ N ____"是根据程序功能需要填充部分,请完成程序填充(注意:不得加行、减行、加句、减句,否则后果自负)。

该程序功能:将字符串s中所有的字符'c'删除。

#include <stdio.h>void main(){char s[80];int i,j;gets(s);for(i=j=0;str[i]!= '\0';i++)if(______1_______){s[j]=s[i];j++}______2______;puts(s);}•#include <stdio.h>•void main()•{ char s[80];• int i,j;• gets(s);• for(i=j=0; s[i] != '\0'; i++)• if(s[i] != 'c')• { s[j]=s[i];• j++;• }• s[j]='\0';• puts(s);•}10,去数组负数下面程序中"____ N ____"是根据程序功能需要填充部分,请完成程序填充(注意:不得加行、减行、加句、减句,否则后果自负)。

该程序功能:输入数组x[7],调用函数f,去除数组中的负数,输出结果为:1 3 4 6#include < stdio.h >void f(int *a,int *m){ int i,j;for(i=0;i < *m;i++)if(a[i] < 0) {for(j=i--;j < *m-1;j++) a[j]=a[j+1];_____1_____;}}void main(){ int i,n=7,x[7]={1,-2,3,4,-5,6,-7};_______2_______;for(i=0;i < n;i++) printf("%5d",x[i]);printf("\n");}•#include <stdio.h>•void f(int *a,int *m)•{ int i,j;•for(i=0;i < *m;i++)•if(a[i] < 0) {•for(j=i--;j < *m-1;j++) a[j]=a[j+1];•*m=*m-1;•}•}•int main()•{ int i,n=7,x[7]={1,-2,3,4,-5,6,-7};•f(x,&n);•for(i=0;i < n;i++) printf("%5d",x[i]);•printf("\n");•}11,平均成绩下面程序中"____ N ____"是根据程序功能需要填充部分,请完成程序填充(注意:不得加行、减行、加句、减句,否则后果自负)。

相关文档
最新文档