浙江省计算机二级C语言历年试卷

合集下载

浙江省计算机二级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考试真题及答案一、选择题(每题2分,共10题)1. 在C语言中,下列哪个关键字用于定义函数?A. intB. voidC. returnD. function答案:A2. 若有定义int a=5;,则执行语句a+=a-=a*a;后,变量a的值是多少?A. 0B. -20C. -5D. 25答案:C3. 在C语言中,以下哪个选项是正确的字符串声明?A. char str[] = "Hello";B. char str[6] = "Hello";C. char str[5] = "Hello";D. char str = "Hello";答案:A4. 下列哪个选项是C语言中的合法标识符?A. 2variableB. variable2C. variable-nameD. variable_name答案:B5. 在C语言中,哪个函数用于计算并返回字符串的长度?A. strlen()B. strlength()C. length()D. strleng()答案:A6. 若有定义int a=1, b=2;,则执行语句a+=b;后,变量a的值是多少?A. 1B. 2C. 3D. 4答案:C7. 在C语言中,以下哪个选项是正确的二维数组声明?A. int arr[3][2];B. int arr[3,2];C. int arr[][2];D. int arr[3][];答案:A8. 在C语言中,以下哪个选项是正确的字符常量?A. 'a'B. "a"C. 'ab'D. "ab"答案:A9. 在C语言中,以下哪个选项是正确的条件语句?A. if (x > 0)B. if x > 0C. if(x > 0)D. if (x > 0)答案:D10. 在C语言中,以下哪个选项是正确的循环语句?A. for (int i = 0; i < 10; i++)B. for (int i = 0; i <= 10; i++)C. for (int i = 0; i < 10; i++)D. for (i = 0; i < 10; i++)答案:A二、编程题(每题10分,共1题)11. 编写一个C语言程序,计算并输出100以内所有偶数的和。

浙江省计算机等级二级考试 C语言 机考题库

浙江省计算机等级二级考试 C语言 机考题库

二级考试(C语言)上机部分试题1.三个数比较大小。

输入三个整数,按由大到小的顺序输出这三个数。

#include <>void swap(int *pa,int *pb){ /*交换两个数的位置*/int temp; temp = *pa; *pa = *pb; *pb = temp; } void main(){ int a,b,c,temp;scanf("%d%d%d",&a,&b,&c);if(a>b) swap(&a,&b);if(b>c) swap(&b,&c);if(a>b)swap(&a,&b);printf("%d,%d,%d",a,b,c); }2.表达式求和。

将计算结果以格式“%。

6f”写入到考生文件夹中#include <> #include <>void main(){ FILE *fp;float n=1,t=1,pi=0;int i;i=1;while(fabs(t)>=1e-6){ pi=pi+t; i=-i; n=n+2; t=i/n; }fp=fopen("","w");fprintf(fp,"%.6f",4*pi);fclose(fp); }运行结果:3.字母后移循环输出。

输入的一个小写字母,将字母循环后移5个位置后输出。

#include <>void main(){ char c; c=getchar();If(c>='a' && c<'v')c=c+5;elseif (c>='v' && c<='z')c=c-21;putchar(c); }4.求满足条件的数。

浙江省高等学校(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理论考试试题及答案一、单项选择题(每题2分,共20分)1. C语言中,用于定义一个结构体的关键字是()。

A. structB. unionC. enumD. typedef答案:A2. 下列哪个选项不是C语言中的运算符?()A. %B. &&C. ->D. ::答案:D3. 在C语言中,用于定义数组的关键字是()。

A. arrayB. listC. vectorD. int答案:D4. 下列哪个选项不是C语言中的循环控制语句?()A. forB. whileC. do-whileD. switch5. 在C语言中,用于定义一个函数的关键字是()。

A. functionB. defC. voidD. int答案:C6. C语言中,用于声明一个指针变量的关键字是()。

A. ptrB. pointerC. *D. &答案:C7. 在C语言中,用于定义一个枚举类型的关键字是()。

A. enumB. typeC. typedefD. struct答案:A8. 下列哪个选项是C语言中的文件操作函数?()A. printfB. scanfC. fopenD. fclose答案:C9. 在C语言中,用于定义一个联合体的关键字是()。

B. structC. enumD. typedef答案:A10. C语言中,用于定义一个宏的预处理指令是()。

A. #defineB. #includeC. #importD. #pragma答案:A二、填空题(每题3分,共15分)1. C语言中,用于定义一个变量的关键字是________。

答案:int2. 在C语言中,用于声明一个函数的关键字是________。

答案:void3. C语言中,用于定义一个枚举类型的关键字是________。

答案:enum4. 在C语言中,用于定义一个联合体的关键字是________。

答案:union5. C语言中,用于定义一个宏的预处理指令是________。

浙江省二级c语言考试真题及答案

浙江省二级c语言考试真题及答案

浙江省二级c语言考试真题及答案一、单项选择题(每题2分,共20分)1. 在C语言中,以下哪个关键字用于声明函数?A. intB. floatC. returnD. void答案:D2. 若有定义 int a[5] = {1, 2, 3, 4, 5};,则以下哪个表达式的值不为5?A. a[4]B. a[5]C. a[0]D. *(a + 4)答案:B3. 在C语言中,以下哪个运算符用于计算两个数的乘积?A. %B. /C. *D. ^答案:C4. 下面哪个选项不是C语言中的控制结构?A. 顺序结构B. 选择结构C. 循环结构D. 递归结构答案:D5. 在C语言中,以下哪个函数用于计算并返回字符串的长度?A. strlen()B. strcpy()C. strcat()D. strcmp()答案:A6. 若有定义 int x = 10;,则以下哪个表达式的值不为10?A. x++B. ++xC. x--D. --x答案:D7. 在C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A8. 下面哪个选项不是C语言中的存储类别?A. autoB. staticC. registerD. volatile答案:D9. 在C语言中,以下哪个函数用于打开一个文件?A. fopen()B. fclose()C. fgetc()D. fprintf()答案:A10. 若有定义 int a[3][2] = {{1, 2}, {3, 4}, {5, 6}};,则以下哪个表达式的值不为4?A. a[1][1]B. a[2][0]C. a[0][1]D. a[1][0]答案:B二、填空题(每题2分,共20分)1. 在C语言中,字符'A'的ASCII码值是__65__。

2. 若有定义 int a = 10;,则表达式 a % 3 的值是__1__。

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

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

浙江省二级c语言上机考试真题介绍:浙江省二级c语言考试分为笔试和上机考试两块.取笔试和上机中分数较低的那个作为计算机二级的最终成绩,最后证书上按档次划分等级,其中60-79及格,80-89良好,90-100优秀。

笔试部分分两块,一块是24道选择题(六道程序题,每题中间有四个空,每空有四个选项供选择),浙江省的计算机笔试选择题不考概念性内容,所以大家不用费心,另一块是程序编写,手写两个完整程序,一道循环数组(结合),一道是函数或指针。

上机部分分两块,一块是计算机基本操作,即从access,ppt,excel,outlook,word,网页制作,文件夹操作中随机选择四道,另一块是编程,编程题可以打开编程软件c-free来做,编程中共五道题,一道改错,两道填空,最后两道是编写程序。

(一)程序改错:1,10个数求最大最小值该程序中“/***** N ***** /”的下一行中有错误,请改正(注意:不得加行、减行、加句、减句,否则后果自负)。

该程序功能:运行时输入10个数,然后分别输出其中的最大值、最小值。

#includevoid main(){ float x,max,min; int i;/******** 1 *******/for(i=0;i<=10;i++) {scanf("%f",&x);/******* 2 ********/if(i=1) { max=x;min=x;}if(x>max) max=x;if(x}printf("%f,%f\n",max,min);}∙#include <stdio.h>∙int main()∙{ float x,max,min; int i;∙/******** 1 *******/∙for(i=1;i<=10;i++) {∙scanf("%f",&x);∙/******* 2 ********/∙if(i==1) { max=x;min=x;}∙if(x>max) max=x;∙if(x<min) min=x;∙ }∙printf("%f,%f\n",max,min);∙}2,字符串反序连接下面程序中“***** N *****”的下一行中有错误,请改正(注意:不得加行、减行、加句、减句,否则后果自负)。

浙江省大学计算机二级c试题及答案

浙江省大学计算机二级c试题及答案

浙江省大学计算机二级c试题及答案一、选择题1. 下面哪个不是C语言的保留字?A. ifB. whileC. forD. main答案:D2. 在C语言中,以下哪个字符常量表示换行符?A. \nB. \rC. \tD. \b答案:A3. 下面哪个选项中的变量会在程序执行期间保持固定不变的值?A. constB. staticC. externD. volatile答案:A4. 在C语言中,以下哪个关键字不属于循环结构的控制语句?A. breakB. continueC. gotoD. return答案:D5. 在C语言中,以下哪种数据类型存储大小最大?A. shortB. intC. longD. long long答案:D二、编程题1. 编写一个C程序,实现计算从1到100的所有整数的和,并输出结果。

答案:```c#include<stdio.h>int main() {int sum = 0;for (int i = 1; i <= 100; i++) {sum += i;}printf("从1到100的和为:%d\n", sum);return 0;}```2. 编写一个C程序,判断一个输入的整数是否为素数,并输出判断结果。

答案:```c#include<stdio.h>int isPrime(int num) {if (num <= 1) {return 0; // 不是素数}for (int i = 2; i*i <= num; i++) { if (num % i == 0) {return 0; // 不是素数}}return 1; // 是素数}int main() {int num;printf("请输入一个整数:"); scanf("%d", &num);if (isPrime(num)) {printf("%d是素数\n", num); } else {printf("%d不是素数\n", num);}return 0;}```三、填空题1. C语言中,sizeof运算符返回的结果是________。

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

浙江省计算机二级C语言历年试卷一、程序填空(1)找Armstrong(水仙花)数:371=3*3*3+7*7*7+1*1*1b=i_x0010_0/10;a*a*a+b*b*b+c*c*c = = i(2)输入1个整数后,输出该数的位数。

(例:输入3214则输出4,输入-23156则输出5)。

n!=0 n=n/10(3)求输入的整数各位数字之和,如输入234则输出9,输入-312则输出6。

if (n<0) n=-n; s+=n_x0010_; (4)调用函数f,将一个整数首尾倒置。

例如:若程序输入12345,则输出54321;若程序输入-34567,则输出-76543。

return -y ; m=m/10 ;(5)调用函数f,从字符串中删除所有的数字字符。

strcpy else(6)调用find函数在输入的字符串中查找是否出现the这个单词。

如果查到返回出现的次数,如果未找到返回0。

j=0; j<3; j++ j>=3(7)输入的一个小写字母,将字母循环后移5个位置后输出。

例如:a变成f,w 变成b。

c>='a'&&c<='u'c=(c-'a'+5)&+'a';(8)将字符串s中所有的字符'c'删除。

s[i] != '\0' j++;(9)对x=1,2,……,10,求f(x)=x*x-5*x+sin(x)的最大值。

max=f(1);if (f(x)>max) max=f(x); (10)输入三个整数,按由小到大的顺序输出这三个数。

int *pa, int *pb if ( a>b ) (11)调用函数f,去除数组中的负数,输入数组x[7],输出结果为:1 3 4 6*m = *m-1; f (x, &n) ; (12)调用函数f计算代数多项式1.1+2.2*x+3.3*x*x+4.4*x*x*x+5. 5*x*x*x*x当x=1.7时的值。

float x, float *a, int n return y;(13)分别统计字符串中英文字母、数字、和其他字符出现的次数。

for ( i=0; a[i]!='\0'; i++) a[i]>='0' && a[i]<='9'(14)将输入的十进制整数n通过函数DtoH函数转换为十六进制数,并将转换结果以字符串形式输出。

(例如:输入十进制数79,将输出十六进制4f。

)return 'a'+x-10;str[i]=trans(n_x0016_);(15)将输入的十进制正整数n通过函数Dec2Bin转换为二进制数,并将转换结输出。

m%2 bin[j-1](16)数列的第1、2项均为1,此后各项值均为该项前二项之和。

计算数列第30项的值。

long f(int n); 或者 longf(int); n==1 || n==2(17)该程序计算四位学生的平均成绩,保存在结构中,然后列表输出这些学生的信息。

pst->math+pst->english+pst->co mputer st + i(18)输入m、n(要求输入数均大于0)。

输出它们的最大公约数。

m<=0||n<=0 k=m>n?n:m(19)求出a中各相邻两个元素的和,并将这些和存放在数组b中,按每行3个元素的形式输出。

例如:b[1]=a[0]+a[1],……,b[9]=a[8]+a[9]。

a[i-1]+a[i] i%3= =0(20)输入整数n(n>0),求m使得2的m 次方小于或等于n,2的m+1次方大于或等于n。

scanf(“%d”,&n), n<=0t=t*2; 二程序改错(1)一输入个字符串,将组成字符串的所有非英文字母的字符删除后输出 if(tolower(str[i])>='a' && tolower(str[i])<='z')str[k]=str[i]; k++;(2)输入一个字符串,将组成字符串的所有字符先按顺序存放到字符串t中,再将字符串中的字符按逆序连接到字符串t后面。

例如:输入ABCD,则字符串t为ABCDDCBA。

t[sl+i]=s[sl-1-i];t[sl+i ]='\0'; (3)运行时输入10个数,然后分别输出其中的最大值、最小值。

for(i=1; i<=10; i++){ if(i==1) { max=x;min=x;} (4)用选择法对10个整数按升序排序。

if ( a[min]>a[j] ) min =j; temp=a[min]; a[min]=a[i];a[i]=temp;(5)输入x和正数eps,计算多项式1-x+x*x/2-x*x*x/3!+……的和直到末项的绝对值小于eps为止。

t=-t*x/i++ ; }while(fabs(t)>=eps);(6)运行时若输入a、n分别为3、6,则输出下列表达式的值:3+33+333+3333+33333+333333。

longs=0;t=t*10+1;(7)用递归法将一个六位整数n转换称字符串。

例如:输入123456,应输出字符串123456。

*s=i_x0010_+'0'; itoa(n,str+5);(8)输入n,再输入n个点的平面坐标,然后输出那些距离坐标原点不超过5的点的坐标值。

structaxy{floatx,y;}*a;scanf(%f%f,&a[i].x,&a[i].y);(9)运行时输入n,则输出n的所有质数因子。

例如:n=13860,则输出2、2、3、3、5、7、11。

i=2; i++; 三、编写程序(1)在正整数中找出1个最小的、被3、5、7、9除余数分别为1、3、5、7的数,将该数以格式%d写入到考生文件夹中Paper子文件夹下的新建文件Design1.dat中FILE *p; int i;p=fopen(Design1.dat,w);for( i=1; ;i++)if (i%3==1 && i%5==3 && i%7==5 && i%9==7) break;fprintf(p,%d,i); fclose(p); (2)若a、b为1对亲密数,则a的因子和等于b、b的因子和等于a、且a不等于b。

如:220、284是1对亲密数,284、220也是1对亲密数。

在6~5000内找出所有的亲密数对for(k=6;k<=5000;k++) { b=0; c=0; for(a=1;a<k;a++) if (k%a==0) b+=a;for(a=1;a<b;a++) if(b%a==0) c+=a; if(k==c&&k!=b)fprintf(p,m,%d\n,k,b); } fclose(p); }(3)设计程序:计算字符串s中每个字符的权重值,所谓权重值就是字符在字符串中的位置值与该字符的ASCII码值的乘积。

位置值从1开始依此递增。

p=fopen(design.dat,w); for(i=0;s[i]!='\0';i++){ w=(i+1)*s[i];fprintf( p,%d ,w);} fclose(p); }(4)将数组a的每一行均除以该行上绝对值最大的元素,然后将a数组写入for (i=0;i<3;i++){ x=a[i][0]; for(j=1;j<3;j++)if (a[i][j]>x)x=a[i][j]; for (j=0;j<3;j++) a[i][j]/=x; }(5) z=f(x,y)=(3.14*x-y)/(x+y),若x、y取值为区间[1,6]的整数,找出使z取最小值的x1、y1,并将x1、y1以格式%d,%d写min=f(1,1); x1=y1=1; 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; }p=fopen(Design2.dat,w);fprintf(p,%d,%d,x1,y1);fclose(p);(6)z=f(x,y)=10*cos(x-4)+5*sin(y-2 ),若x、y取值为区间[0,10]的整数,找出使z取最小值的x1、y1,并将x1、y1以格式%d,%dz1=10*cos(-4)+5*sin(-2);x1=y1=0; for (x=0;x<=10;x++)for (y=0;y<=10;y++){ z=10*cos(x-4)+5*sin(y-2);if (z<z1) { z1=z; x1=x;y1=y; } }p=fopen(Design2.dat,w);fprintf(p,%d,%d,x1,y1);fclose(p); }(7)设计程序:数组元素x[i]、y[i]表示平面上某点坐标,统计所有各点间最短距离,并将其值以格式%f写fprintf(p,%f,minc); for(i=0;i<10;i++) for(j=i+1;j<10;j++) //注意:不能为for (j=0; j<10; j++) { c=len(x[i],y[i],x[j],y[j]); if (c<minc) minc=c;}p=fopen(Design.dat,w); fclose(p); }(8)设计程序:在数组x的10个数中求平均值v,找出与v相差最小的数组元素并将其以格式%.5f写for ( i=1; i<10; i++)if ( fabs(x[i]-v)<d) { d=fabs(x[i]-v);k=i; }p=fopen(Design.dat,w); fprintf(p,%.5f, x[k] );fclose(p); } (9)对x=1,2,…10,求函数f(x)=x-10*cos(x)-5*sin(x)的最大值,并将该数以格式.3fint i; max=f(1); for(i=2;i<=10;i++) { x=f(i); if (max<x) max=x;}p=fopen(Design1.dat,w); fprintf(p,%.3f,max); fclose(p); }float f(float x) { float t;t=x-10*cos(x)-5*sin(x); return t; }(10)将字符串s中的所有字符按ASCII值从小到大重新排序后,将排序后的字符串写入到考生文件夹中Paper子文件夹下的新建文件Design2.dat。

相关文档
最新文档