浙江省计算机二级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运算符返回的结果是________。

历年浙江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 )。

09-10年 浙江省计算机等级二级C语言 笔试试题

09-10年 浙江省计算机等级二级C语言 笔试试题

2009年秋浙江省高等学校计算机等级考试试卷(二级C )试题1(每小题3分,共12分)阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案。

【程序说明】计算并输出下列式值,要求精确到最后一项的绝对值小于10-3(保留4伴小数)。

⋯⋯+-+-=13110171411s 运行示例:sum=-0.8361【程序】#include <stdio.h>#include <math.h>main(){int denomintor=1,flag=1;double item,sum=0;(1)while( (2) ){(3)denomintor=denomintor+3;flag=-flag;}printf("sum= (4) \n",sum);}【供选择的答案】(1)A .item =0; B .f item =0.0001;C .;D .item=2; //答案D(2)A .fabs(item)>=1E-3 B .fabs(item)<1E-3C .fabs(item)>=0.0001D .fabs(item)<0.001 //答案A(3)A .sum=sum+item;item=flag*1.0/denominator;B .sum=sum+ flag*1.0/denominator;C .item=flag*1.0/denominator;sum=sum+item;D . item=item+flag*1.0/denominator; //答案C(4)A .%.0f B .%.4fC .%fD .%4.f //答案B试题2(每小题3分,共12分)阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案。

【程序说明】输出1到100之间的所有完数,要求定义和调用函数is(n)判断n 是否为完数,若n 为完数返回1,否则返回0。

2008--2012浙江省二级C语言考试真题

2008--2012浙江省二级C语言考试真题

2008年春浙江省高校计算机等级考试试卷(二级C)试题1(每小题3分,共12分)【程序说明】输入一个整数n(n>=2),输入菲波那契序列的前n项,每行输出6个数,菲波那序列:1,1,2,3,5,8,13,……,数列的前两个数都是1,从第三项开始,每个数是前两个数之和。

运行示例:Enter n:101 123 5 813 21 34 55#include <stdio.h>main(){int count,i,n,x1,x2,x;printf("Enter n:");scanf("%d",&n);x1=x2=1;printf("%6d%6d",x1,x2);(1);for(i=1;i<=n-2;i++){ (2);printf("%6d",x);count++;if( (3))printf("\n");x1=x2;(4);}}【供选择的答案】(1)A、count=2 B、count=0C、count=1D、count=-1 答案:A(2) A、x=x1-x2 B、x=x1+x2C、x=x1D、x=2 答案:B(3) A、count/6==0 B、count%6!=0C、count%6==0D、count/6!=0 答案:C(4) A、x=x1+x2 B、x2=x1C、x=x2D、x2=x 答案:D试题2(每小题3分,共12分)【程序说明】输入2个正数m和n(1<=m<n<=500),统计交输出m和n之间素数的个数以及这些素数的和,要求定义和调用函数prime(m)判断m是否为素数,当m为素数返回1,否则返回0。

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

运行示例:Enter m,n:1 10count=4,sum=17【程序】#include <stdio.h>#include <math.h>int prime(int m){int i,n;if(m==1)return (5);n=sqrt(m);for(i=2;i<=n;i++)if(m%i==0)return (6);return (7);}main(){int count=0,i,m,n,sum=0;printf("Enter m,n:");scanf("%d%d",&m,&n);for(i=m;i<=n;i++)if( (8)){sum+=i;count++;}printf("count=%d,sum=%d\n",count,sum);}【供选择的答案】(5)A、1 B、mC、m==1D、0 答案:D(6) A、m B、1C、0D、n 答案:C(7) A、m B、1C、0D、i==n 答案:B(8) A、prime(i)!=0 B、prime(i)==0C、1=prime(i)D、!prime(i) 答案:A试题3(每小题3分,共12分)【程序说明】输入一个2*3的二维数组,找出最大值以及它的行下标和列下标,并输出该结果。

浙江省高等学校二级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是素数。

浙江省计算机2级C语言历年题目

浙江省计算机2级C语言历年题目

计算机等级考试二级C历年试卷汇总2006年春浙江省高等学校计算机等级考试试卷(二级C)说明:⑴考生应将所有试题的答案填写在答卷上。

其中试题1~试题6,请在答卷上各小题正确选项的对应位置处填“√”;⑵请将你的准考证号的后五位填写在答卷右下角的指定位置内;⑶考试时间为90分钟;试题1(每小题3分,共12分)阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案。

【程序说明】求 1 + 2/3 + 3/5 + 4/7 + 5/9 + …的前20项之和。

运行示例:sum = 11.239837【程序】#include <stdio.h>void main( ){int i, b = 1;double s;s=0 ;s = s + (_double)i/(double)b ;b=b+2;}printf( “sum=%f\n “ , s);}【供选择的答案】(1) A、s = 0 B、s = 1C、s = -1D、s = 2(2) A、i/b B、double(i)/double(b)C、i/2*i-1D、(double)i/(double)b(3) A、; B、b = 2 * i – 1;C、b = 1.0 * b;D、b = b + 2;(4) A、"sum = %d\n" B、"s = %c\n"C、"sum = %f\n"D、"s = %s\n"试题2(每小题3分,共12分)阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案。

【程序说明】输入10个整数,将它们从大到小排序后输出。

运行示例:Enter 10 integers: 1 4 -9 99 100 87 0 6 5 34After sorted: 100 99 87 34 6 5 4 1 0 -9【程序】#include <stdio.h>void main( ){ int i, j, t, a[10];printf("Enter 10 integers: ");for(i = 0; i < 10; i++)scanf( “%d”,&a[i] );for( j=0 ; j<10-i ; j++)if( a=[j]<a[j+1] ){t = a[j];a[j] = a[j+1];a[j+1] = t;}printf("After sorted: ");for(i = 0; i < 10; i++)printf("%d ", a[i]);printf("\n");}【供选择的答案】(5) A、"%f", a[i] B、"%lf", &a[i]C、"%s", aD、"%d", &a[i](6) A、j = 0 B、j = 1C、j = iD、j = i - 1(7) A、j > i B、j < 9 - iC、j < 10 - iD、j > i - 1(8) A、a[i-1] < a[i] B、a[j+1] < a[j+2]C、a[j] < a[j+1]D、a[i] < a[j]试题3(每小题3分,共12分)阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案。

浙江省二级C语言考试真题(2007年-2010年共8份)

浙江省二级C语言考试真题(2007年-2010年共8份)

2007年春浙江省高校计算机等级考试试卷(二级C)试题1(每小题3分,共12分)程序说明输入一个正整数,按照从高位到低位输出各位数字。

运行示例:Enter an integer:1902the digits are:1 9 02#include <stdio.h>void main(){ int digit,number,power,t;printf("Enter an integer:");scanf("%d",&number);number=number<0?-number:number;power=1;(1)while( (2) ){power*=10;t/=10;};printf("the digits are:");while( (3) ){ digit=number/power;printf("%d ",digit);(4)power/=10;}}【供选择的答案】(1)A、t=1; B、t=number;C、;D、number=1; 答案:B(2)A、t>=10 B、power>=100C、t!=0D、number!=0 答案:A(3)A、power==0 B、digit!=0C、number!=0D、power>=1 答案:D(4)A、number/=power; B、number%=10;C、number%=power;D、number/=10; 答案:C试题2(第小题3分,共12分)【程序说明】连续输入一批学生的成绩,直到输入成绩的数量超过50或者输入成绩不是有效成绩(有效成绩为0-100),将输入的有效成绩存入数组mark中,在数组中查找并输出最高分。

函数getmax(array,n)在有n个元素的一维数组array中找出并返回最大值。

运行示例:enter marks:90 80 77 65 –1max=90#include <stdio.h>#define MAXNUM 50int getmax( (5) ){int k,max;(6)for(k=1;k<n;k++)if(max<array[k]) max=array[k];return max;}void main(){ int k,x;int mark[MAXNUM];printf("enter marks:");k=0;scanf("%d",&x);while( (7) ){mark[k++]=x;scanf("%d",&x);}if(k>0) printf("max=%d\n",getmax( (8) ));else printf("No marks!\n");}【供选择的答案】(5)A、int n;int array[] B、voidC、int *arrayD、int array[],int n 答案:D(6)A、max=0; B、;C、max=array[0]D、max=array[n]; 答案:C(7)A、k<MAXNUM||x>=0&&x<=100B、k<MAXNUM&&x>=0&&x<=100C、k>MAXNUM&&x>=0||x<=100D、k>MAXNUM||x>=0||x<=100 答案:B(8)A、mark,k B、markC、mark[]D、mark,n 答案:A试题3(第小题3分,共12分)【程序说明】输入一个4行4列的矩阵,计算并输出矩阵除四边以外的所有元素之和sum1,再计算和输出该矩阵主对角线以上(含主结角线)的所有元素之和sum2,主对角线为从矩阵左上角到右下角的连线。

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)。

浙江省二级C语言笔试真题().doc

浙江省二级C语言笔试真题().doc

浙江省二级C语言笔试真题()【程序说明】输入一个整数,求它的各位数字之和及位数。

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

运行示例:Enteraninteger:-153sum=8,count=3【程序】#includemain(){intcount=0,in,sum=0;printf(“Enteraninteger:“);scanf (“%d“,if(D)in=-in;do{sum=sum+(2)C;(3)C;count++;}while((4)B);pr intf(“sum=%d,count=%d\n“,sum,count);}【供选择的答案】(1)A、in==0B、in>0C、in!=0D、in=0printf(“%d\n“,number);}【问题】(17)程序1运行时,第1行输出(17)。

A、3B、4C、1D、2(18)程序1运行时,第2行输出(18)。

A、12B、11C、10D、9(19)程序2运行时,第1行输出(19)。

A、2B、27C、23D、16(20)程序2运行时,第2行输出(20)。

A、19B、140C、147D、26阅读下列程序并回答问题,在每小题提供的若干可选答案中,挑选一个正确答案。

【程序】#includemain(){inti,j;charch,*p1,*p2,*s[4]={“four“,“hello“,“peak“,“apple“};for(i=0;i=1E-3[B]fabs(item)=0.0001[D]fabs(item)(b)?(a):(b )intf1(charch){intgrade;switch(ch){case“A”:grade=95;break;case“B ”:grade=85;break;case“C”:grade=75;case“D”:grade=65;break;default:grade=0;}returngrade;}intf2(){staticintk=1,s;s=s+k;k++;returns;}in tf3(intn){if(n==1)return2;elsereturnf3(n-1);}main(){inti;printf(“%d\ n”,f1(‘C’));for(i=1;i=j;i--)flag=a[i][j];printf(“%d\n”,flag);}程序2#includemain(){charstr[10]=”4Ae2E”;inti;for(i=0;str[i]!=’\0’;i++)if(str[i]>=’a’putchar(‘\n’);}【问题】(17)程序1运行时,第1行输出(17)[A]0[B]1[C]8[D]9(18)程序1运行时,第2行输出(18)[A]9[B]7[C]5[D]1(19)程序2运行时,第1行输出(19)[A]AeE[B]a[C]ae[D]e(20)程序2运行时,第2行输出(20)[A]4Ae2E[B]42[C]AeE[D]aEe6.阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案。

  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。

相关文档
最新文档