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

合集下载

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

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

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

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

#include <stdio.h>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 <stdio.h> #include <math.h>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("Design1.dat","w");fprintf(fp,"%.6f",4*pi);fclose(fp); }运行结果:3.1415943.字母后移循环输出。

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

#include <stdio.h>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语言上机考试真题

(二)上机编程题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语言)试卷及参考答案
(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运算符返回的结果是________。

历年浙江c语言二级考试真题

历年浙江c语言二级考试真题

2003 年秋浙江省高校非计算机专业学生计算机等级考试试卷(二级C)试题一、计算机基础题( 本题共15 分)(一)单选题( 每小题1 分, 共10 分)(1) 计算机网络最突出的优点是(1)。

A、运算速度快 B 、精度高C 、共享硬件、软件和数据资源D 、内存容量大(2) 在微型计算机的设备中, 访问速度最快的是(2 )A、软盘 B 、硬盘 C 、内存储器D、CD-ROM(3) 操作系统的主要功能是(3)A、对计算机系统的所有资源进行控制与管理B 、实现多用户及分布式处理C 、扩充计算机的功能D 、对硬件资源进行分配、控制、调度和回收(4)Internet 与WW 的关系是(4 〉A、都是因特网, 只是名称不同 B 、Internet 就是WWC 、Internet 与WW 完全没有关系D 、附W 是Internet 上的一个应用(5 )在Windows 98 环境下, 下面关于附件中应用程序的说法,(5 )是不正确的。

A、写字板可以编辑文本文件B 、写字板的缺省扩展名为.DOCC 、计算器中的计算结果, 可以粘贴到文档文件中D 、记事本中设置的显示字体, 将保存在文本文件中, 当使用Word 读入该文件时,仍具有所设置的字体(6) 在Word 编辑文本时, 将文档中所有的"memory" 都改成" 存储器", 最快捷的方法是采用(6 ) 操作。

A、中英文转换 B 、替换 C 、改写D、翻译(7) 以下几种关于消除计算机病毒的说法中, 正确的是。

A、专门的杀毒软件并非总是有效的B 、删除所有带毒文件能消除所有病毒C 、对感染上病毒的软盘, 格式化既能消除病毒, 又能使数据不受破坏D 、耍一劳永逸地使计算机不感染病毒, 最好的方法是装上防病毒卡(8) 实现汉字字形表示的方法, 一般可分为(8 )两大类。

A、点阵式与矢量式 B 、点阵式与网络式C 、网络式与矢量式D 、矢量式与向量式(9) 十六进制数lAE7OFH 与十六进制数2003H 的和是(9 )。

  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!=0n=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,从字符串中删除所有的数字字符。

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

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

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

例如:慜变成晜,睜变成扜。

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 *pbif ( a>b )(11)调用函数f,去除数组中的负数,输入数64 3 1 ,输出结果为:x[7]组.*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)DtoH将输入的十进制整数n通过函数并将转换结果以字符串形数转换为十六进制数,,将输出十六79式输出。

(例如:输入十进制数。

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

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

计算数列第30项的值。

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

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

输出它们的最大公约数。

m<=0||n<=0k=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次方大于或等于m+1的2,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后面。

例如:输入??屄,则字符串t为????屁。

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,则输出下列表达式的值:long 。

3+33+333+3333+33333+333333.s=0;t=t*10+1;(7)用递归法将一个六位整数n转换称字符串。

例如:输入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的数,将该数以格式╜層写入到考生文件夹中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);的因子和等a对亲密数,则1为b、a若)2(.于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);}中每个字符的权s 设计程序:计算字符串(3)所谓权重值就是字符在字符串中的位置值重值,开1ASCII码值的乘积。

位置值从与该字符的始依此递增。

p=fopen(design.dat,w);for (i=0;s[i]!='\0';i++)w=(i+1)*s[i];{,w); fprintf( p,%d}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以格式╜?搥写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]表示平面上某点坐标,统计所有各点间最短距离,并将其值以格式╜屦写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]);minc=c;if (c<minc)}p=fopen(Design.dat,w);fclose(p);}(8)设计程序:在数组x的10个数中求平均值v,找出与v相差最小的数组元素并将其以格式╜?屦写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).3f 格式max=f(1); int i;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。

相关文档
最新文档