2008--2010浙江省二级C语言考试真题__史杨杨
2010浙江二级考试(C语言)上机试题
2010二级考试(C语言)上机试题1.三个数比较大小。
#include <stdio.h>void swap(______1______) //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(______2______) //a>bswap(&a,&b);printf("%d,%d,%d",a,b,c); }2.表达式求和。
#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.字母后移循环输出。
#include <stdio.h>void main(){ char c; c=getchar();if(______1______) // c>='a' && c<'v'c=c+5;elseif (c>='v' && c<='z')______2______ // c=c-21;putchar(c); }4.求满足条件的数。
二级C语言试题(含答案)
二级C语言试题一、判断题(2×8=16分)1、printf()函数总是从新行的起始位置开始打印。
( F )2、所有的变量在使用前都必须予以申明。
(F)3、在申明变量时必须给出变量的类型。
(T)4、C语言认为变量number和NuMbEr是相同的。
( F)5、打印三行输出的C语言程序必须用三条printf语句。
(F)6、求余运算符%只能用于两个整数操作数。
(T)7、switch选择结构中必须有default子句。
(F)8、如果x>y或a<b为真,那么表达式(x>y&&a<b)为真。
(F)二、选择题(3×16=48分)1、下面实现换行功能的格式符为。
(B )A. \tB. \nC. \aD. \k2. C语言程序由什么组成?(单选) CA. 子程序B. 主程序和子程序C. 函数D. 过程3. 下面哪个表达式的值为4. DA. 11/3B. 11.0/3C. (float)11/3D. (int)(11.0/3+0.5)4. 该源程序执行后,屏幕上显示什么?void main(){int a;float b;a=4;b=9.5;printf("a=%d,b=%4.2f\n",a,b);}程序运行结果:a=4,b=9.50A. a=%d,b=%f\nB. a=%d,b=%fC. a=4,b=9.50D. a=4,b=9.55. 若有以下说明语句: Bchar s=’\\\092’;则下面哪一项是正确的.A. 使s的值包含2个字符B. 说明语句不合法C. 使s的值包含6个字符D. 使s的值包含4个字符6.若k,g均为int型变量,则以下语句的输出为哪一项? Aint k,g;k=017;g=111;printf("%d,",k);printf("%x\n",g);A. 15,6fB. f,6fC. f,111D. 15,1117. 在C语言的if语句中,用作判断的表达式为___。
2008到2010年计算机二级C语言笔试真题和答案
2010/3月全国计算机二级C 语言一、选择题((1)~(10)、(21)~(40)每题2分,(11)~(20)每题1分,共70分) (1)下列叙述中正确的是A)对长度为n的有序链表进行查找,最坏情况下需要的比较次数为nB)对长度为n的有序链表进行对分查找,最坏情况下需要的比较次数为(n/2)C)对长度为n的有序链表进行对分查找,最坏情况下需要的比较次数为(log 2n )D)对长度为n的有序链表进行对分查找,最坏情况下需要的比较次数为(log 2n )(2)算法的时间复杂度是指A)算法的执行时间 B)算法所处理的数据量C)算法程序中的语句或指令条数 D)算法在执行过程中所需要的基本运算次数(3)软件按功能可以分为:应用软件、系统软件和支撑软件(或工具软件)。
下面属于系统软件的是 A)编辑软件 B)操作系统 C)教务管理系统 D)浏览器(4)软件(程序)调试的任务是A)诊断和改正程序中的错误 B)尽可能多地发现程序中的错误C)发现并改正程序中的所有错误 D)确定程序中错误的性质(5)数据流程图(DFD图)是A)软件概要设计的工具 B)软件详细设计的工具C)结构化方法的需求分析工具 D)面向对象方法的需求分析工具(6)软件生命周期可分为定义阶段,开发阶段和维护阶段。
详细设计属于A)定义阶段 B)开发阶段 C)维护阶段 C)上述三个阶段(7)数据库管理系统中负责数据模式定义的语言是A)数据定义语言 B)数据管理语言 C)数据操纵语言 D)数据控制语言(8)在学生管理的关系数据库中,存取一个学生信息的数据单位是A)文件 B)数据库 C)字段 D)记录(9)数据库设计中,用E-R图来描述信息结构但不涉及信息在计算机中的表示,它属于数据库设计的 A)需求分析阶段 B)逻辑设计阶段 C)概念设计阶段 D)物理设计阶段(10)有两个关系R和T如下:R T则由关系R得到关系T的操作是 A)选择 B)投影 C)交 D)并(11)以下叙述正确的是A)C语言程序是由过程和函数组成的 B)C语言函数可以嵌套调用,例如:fun (fun (x))C)C语言函数不可以单独编译 D)C语言中除了main 函数,其他函数不可作为单独文件形式存在 (12)以下关于C语言的叙述中正确的是A)C语言中的注释不可以夹在变量名或关键字的中间B)C语言中的变量可以在使用之前的任何位置进行定义C)在C语言算术表达式的书写中,运算符两侧的运算数类型必须一致D)C语言的数值常量中夹带空格不影响常量值的正确表示(13)以下C语言用户标识符中,不合法的是A)_1 B)AaBc C)a_b D)a--b(14)若有定义:doublea=22;inti=0,k=18;,则不符合C语言规定的赋值语句是 A B Ca1 2 b2 2 c3 2 d 3 2 A B C c 3 2 d 3 2A)a=a++,i++;B)i=(a+k)<=(i+k);C)i=a%11;D)i=!a;(15)有以下程序#include<stdio.h>main(){char a,b,c,d;scanf(“%c%c”,&a,&b);c=getchar();d=getchar;printf(“%c%c%c%c\n”,a,b,c,d);}当执行程序时,按下列方式输入数据(从第1列开始,<CR>代表回车,注意:回车也是一个字符)12<CR>34<CR>则输出结果是A)1234B)12C)12D)12334(16)以下关于C语言数据类型使用的叙述中错误的是A)若要准确无误差的表示自然数,应使用整数类型B)若要保存带有多位小数的数据,应使用双精度类型C)若要处理如“人员信息”等含有不同类型的相关数据,应自定义结构体类型D)若只处理“真”和“假”两种逻辑值,应使用逻辑类型(17)若a是数值类型,则逻辑表达式(a==I)||(a!=1)的值是A)1B)0C)2D)不知道a的值,不能确定(18)以下选项中与if(a==1)a=b;else a++;语句功能不同的switch语句是A)switch(a)B)switch(a==1)C)switch(a)D)switch(a==1){case1:a=b;break;{case0:a=b;break;{default:a++;break;{case1:a=b;break;default:a++;} case1:a++;} case1:a=b;} case0:a++;}(19)有如下嵌套的if语句(20)有以下程序if(a<b) #include<stdio.h>if(a<c) k=a; main()else k=c; {int i,j,m=1;if(b<c) k=b; for(i=1;i<3;i++)else k=c;以下选项中与上述if语句等价的语句是{for(j=3;j>0;j--)A)k=(a<b)?a:b;k=(b<c)?b:c; {if(i+j>3) break;B)k=(a<b)?((b<c)?a:b)((b>c)?b:c);m*=i*j;}}C)k=(a<b)?((a<c)?a:c)((b<c)?b:c);printf(“m=%d\n”,m);}程序运行后的输出结果是D)k=(a<b)?a:b;k=(a<c)?a:c;A)m=6B)m=2C)m=4D)m=5(21)有以下程序(22)有以下程序,其中k的初值为八进制数#include<stdio.h> #include<stdio.h>main() main(){int a=1,b=2; {int k=011;for(;a<8;a++) { b+=a;a+=2;} printf(“%d\n”,k++);}printf(“%d,%d\n”,a,b);}程序运行后的输出结果是程序运行后的输出结果是A)9,18B)8,11A)12B)11C)10D)9C)7,11D)10,14(23)下列语句组中,正确的是A)char *s;s="Olympic";B)char s[7];s="Olympic";C)char *s;s={"Olympic"};D)char s[7];s={"Olympic"};(24)以下关于return语句的叙述中正确的是A)一个自定义函数中必须有一条return语句B)一个自定义函数中可以根据不同情况设置多条return语句C)定义成void类型的函数中可以有带返回值的return语句D)没有return语句的自定义函数在执行结束时不能返同到调用处(25)下列选项中,能正确定义数组的语句是A)int num[0..2008];B)int num[];C)int N=2008 ;D)#define N 2008int num[N];int num[N];(26)有以下程序#include<stdio.h>void fun(char *c,int d){*c=*c+1;d=d+1;printf(“%c,%c”,*c,d);}}main(){char b=‘a’,a=‘A’;fun(&b,a);printf(“%c,%c\n”,b,a);}程序运行后的输出结果是A)b,B,b,AB)b,B,B,AC)a,B,B,aD)a,B,a,B(27)若有定义int(*pt)[3];,则下列说法正确的是A)定义了基类型为int的三个指针变量B)定义了基类型为int的具有三个元素的指针数组pt C)定义了一个名为*pt、具有三个元素的整型数组D)定义了一个名为pt的指针变量,它可以指向每行有三个整数元素的二维数组(28)设有定义double a[10],*s=a;,以下能够代表数组元索a[3]的是A)(*s)[3] B)*(s+3)C)*s[3] D)*s+3(29)有以下程序(30)有以下程序#include<stdio.h> #include<stdio.h>main() main(){int a[5]={1,2,3,4,5},b[5]={0,2,1,3,0},i,s=0; {int b[3][3]={0,1,2,0,1,2,0,1,2},i,j,t=1;for(i=1;i<3;i++) s=s+a[b[i]]; for(i=1;i<3;i++)printf(“%d\n”,s);}程序运行后的输出结果是for(j=1;j<=1;j++) t+=b[i][b[j][i]];A)6B)10printf(“%d\n”,t);}程序运行后的输出结果是C)11D)15A)1B)3C)4D)9(31)若有以下定义和语句char s1[10]="abcd!",s2="\n123\\";printf("%d%d\n",strlen(s1),strlen(s2));则输出结果是A)55B)105C)107D)58(32)有以下程序(33)有以下程序#include<stdio.h> #include<stdio.h>#define N 8 int f(int t[],int n);void fun(int *x,int i) main(){*x=*x+i;} {int a[4]={1,2,3,4},s; main() s=f(a,4);printf(“%d\n”,s);}{int a[N]={1,2,3,4,5,6,7,8},i; int f(int t[],int n)fun(a,2); for(i=1;i<N/2;i++) {if (n>0)return t[n-1]+f(t,n-1);{printf(“%d”,a[i]);} else return 0;}printf(“\n”);}程序运行后的输山结果是程序运行后的输出结果是A)1313B)2234A)4B)10C)3234D)1234C)14D)6(34)有以下程序(35)有以下程序#include<stdio.h> #include<stdio.h>int fun( ) #define SUB(a) (a)-(a){static int x=1; main()x*=2;return x;} {int a=2,b=3,c=5,d;main() d=SUB(a+b)*c;{int i,s=1; printf(“%d\n”,d);}for(i=1;i<=2;i++) s=fun(); 程序运行后的输山结果是printf(“%d\n”,s);}程序运行后的输出结果是A)0B)-12A)0B)1C)-20D)10C)4D)8(36)设有定义:struct complex{int real,unreal;} data1={1,8},data2;则以下赋值语句中错误的是A)data2=data1;B)data2=(2,6);C)data2.real=data1.real;D)data2.real=data1.unreal;(37)有以下程序(38)有以下定义和语句#include<stdio.h> struct workers#include<string.h> {int num;char name[20];char c;struct A struct{int a;char b[10];double c;}; {int day;int month;int year;}s}void f(struct At); s truct workers w,*pw;main() pw=&w;能给w中year成员赋1980的语句是{struct Aa={1001,“ZhangDa”,1098.0};f(a); A)printf(“%d,%s,%6.1f\n”,a.a,a.b,a.c);} B)w.year=1980;void f(struct At) C)pw->year=1980;{t.a=1002;strcpy(t.b,“ChangRong”);t.c=1202.0;}输出结果是D)w.s.year=1980;A)1001,ZhangDa,1098.0B)1002,ChangRong,1202.0C)1001,ChangRong,10980D)1002,ZhangDa,1202.0(39)有以下程序(40)有以下程序#include<stdio.h> #include<stdio.h>main() main(){int a=2,b=a,c=2; {FILE *fp;char str[10]; printf(“%d\n”,a/b&c); fp=open(“myfile.dat”,“w”);} fputs(“abc”,pf);close(pf);程序运行后的输出结果是fp=open(“myfile.dat”,“a+”);A)0B)1fprintf(pf,“%d”,28); rewind(pf);C)2D)3fscanf(pf,“%s”,str);puts(str);close(pf);}程序运行后的输出结果是A)abcB)28cC)abc28D)因类型不一致而出错二、填空题(每空2分,共30分)请将每空的正确答案写在答题卡【1】~【15】序号的横线上,答在试卷上不得分。
2008年9月全国计算机二级笔试C语言程序设计真题及答案
2008年9月全国计算机二级笔试C语言程序设计真题及答案2008年9月全国计算机二级笔试C语言程序设计真题及答案一、选择题((1)~(10)、(21)~(40)每题2 分,(11)~(20)每题1 分,70 分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项填涂在答题卡相应位置上,答在试卷上不得分。
(1)一个栈的初始状态为空。
现将元素1、2、3、4、5、A、B、C、D、E 依次入栈,然后再依次出栈,则元素出栈的顺序是()。
A)12345ABCDE B)EDCBA54321 C)ABCDE12345 D)54321EDCBA(2)下列叙述中正确的是()。
A)循环队列有队头和队尾两个指针,因此,循环队列是非线性结构B)在循环队列中,只需要队头指针就能反映队列中元素的动态变化情况C)在循环队列中,只需要队尾指针就能反映队列中元素的动态变化情况D)循环队列中元素的个数是由队头指针和队尾指针共同决定(3)在长度为n的有序线性表中进行二分查找,最坏情况下需要比较的次数是()。
A)O(n) B)O(n2) C)O(log2n) D)O(n log2n)(4)下列叙述中正确的是()。
A)顺序存储结构的存储一定是连续的,链式存储结构的存储空间不一定是连续的B)顺序存储结构只针对线性结构,链式存储结构只针对非线性结构C)顺序存储结构能存储有序表,链式存储结构不能存储有序表D)链式存储结构比顺序存储结构节省存储空间(5)数据流图中带有箭头的线段表示的是()。
A)控制流 B)事件驱动 C)模块调用 D)数据流(6)在软件开发中,需求分析阶段可以使用的工具是()。
A)N-S 图 B)DFD 图 C)PAD 图 D)程序流程图(7)在面向对象方法中,不属于“对象”基本特点的是()。
A)一致性 B)分类性 C)多态性 D)标识唯一性(8)一间宿舍可住多个学生,则实体宿舍和学生之间的联系是()。
A)一对一 B)一对多 C)多对一 D)多对多(9)在数据管理技术发展的三个阶段中,数据共享最好的是()。
历届国家二级c语言考试真题及其答案,word版
2010年3月计算机二级C语言笔试真题一、选择题(1)下列叙述中正确的是A)对长度为n的有序链表进行查找,最坏清况下需要的比较次数为nB)对长度为n的有序链表进行对分查找,最坏情况下需要的比较次数为(n/2)C)对长度为n的有序链表进行对分查找,最坏情况下需要的比较次数为(log2n)D)对长度为n的有序链表进行对分查找,最坏情况下需要的比较次数为(nlog2n)(2)算法的时问复杂度是指A)算法的执行时间B)算法所处理的数据量C)算法程序中的语司或指令条数D)算法在执行过程中所需要的基本运算次数(3)软件按功能可以分为:应用软件、系统软件和支撑软件(或工具软件)。
下面属于系统软件的是A)编辑软件B)操作系统C)教务管理系统D)浏览器(4)软件(程序)调试的任务是A)诊断和改正程序中的错误B)尽可能多地发现程序中的错误C)发现并改正程序中的所有错误D)确定程序中错误的性质(5)数据流程图(DFD图)是A)软件概要设计的工具B)软件详细设计的工具C)结构化方法的需求分析工具D)面向对象方法的需求分析工具(6)软件生命周期可分为定义阶段,开发阶段和维护阶段。
详细设计属于A)定义阶段B)开发阶段C)维护阶段D)上述三个阶段(7)数据库管理系统中负责数据模式定义的语言是A)数据定义语言B)数据管理语言C)数据操纵语言D)数据控制语言(8)在学生管理的关系数据库中,存取一个学生信息的数据单位是A)文件B)数据库C)字段D)记录(9)数据库设计中,用E-R图来描述信息结构但不涉及信息在计算机中的表示,它属于数据库设计的A)需求分析阶段B)逻辑设计一阶段C)概念设计阶段D)物理设计阶段(10)有两个关系R和T如下:则由关系K得到关系T的操作是A)选择B)投影C)交D)并(11)以下叙述正确的是A)C语言程序是由过程和函数组成的B)C语言函数可以嵌套调用,例如:fun(fun(x))C)C语言函数不可以单独编译D)C语言中除了main函数,其他函数不可作为单独文件形式存在(12)以下关于C语言的叙述中正确的是A)C语言中的注释不可以夹在变量名或关键字的中间B)C语言中的变量可以在使用之前的任何位置进行定义C)在C语言算术表达式的书写中,运算符两侧的运算数类型必须一致D)C语言的数值常量中夹带空格不影响常量值的正确表示(13)以下C语言用户标识符中,不合法的是A)_1B)AaBcC)a_bD)a—b(14)若有定义:double a=22;int i=0,k=18;,则不符合C语言规定的赋值语句是A)a=a++,i++;B)i=(a+k)<=(i+k);C)i=a%11;D)i=!a;(15)有以下程序#includemain(){ char a,b,c,d;scanf(“%c%c”,&a,&b);c=getchar(); d=getchar();printf(“%c%c%c%c\n”,a,b,c,d);}当执行程序时,按下列方式输入数据(从第1列开始,代表回车,注意:回车也是一个字符)1234则输出结果是A)1234B)12C)123D)1234(16)以i关于C语言数据类型使用的叙述中错误的是A)若要准确无误差的表示自然数,应使用整数类型B)若要保存带有多位小数的数据,应使用双精度类型C)若要处理如“人员信息”等含有不同类型的相关数据,应自定义结构体类型D)若只处理“真”和“假”两种逻辑值,应使用逻辑类型(17)若a是数值类型,则逻辑表达式(a==1)||(a!=1)的值是A)1B)0C)2D)不知道a的值,不能确定(18)以下选项中与if(a==1)a=b; else a++;语句功能不同的switch语句是A)switch(a){case:a=b;break;default:a++;}B)switch(a==1){case 0:a=b;break;case 1:a++;}C)switch(a){default:a++;break;case 1:a=b;}D)switch(a==1){case 1:a=b;break;case 0:a++;}(19)有如下嵌套的if语句if (aif(aelse k=c;elseif(belse k=c;以下选项中与上述if语句等价的语句是A)k=(aB)k=(ac)?b:c);C)k=(aD)k=(a(20)有以下程序#includemain(){in i,j,m=1;for(i=1;i<3;i++) {for(j=3;j>O;j--){if(i*j)>3)break;m=i*j;}}printf("m=%d\n",m); }程序运行后的输出结果是A)m=6B)m=2C)m=4D)m=5(21)有以下程序#include(stdio.h> main(){int a=l;b=2; for(;a<8;a++) {b+=a;a+=2;}printf("%d,%d\n",a,b);}程序运行后的输出结果是A)9,18B)8,11C)7,11D)10,14(22)有以下程序,其中k的初值为八进制数#includemain(){int k=011;printf("%d\n",k++);}程序运行后的输出结果是A)12B)11C)10D)9(23)下列语句组中,正确的是A)char *s;s="Olympic";B)char s[7];s="Olympic";C)char *s;s={"Olympic"};D)char s[7];s={"Olympic"};(24)以下关于return语句的叙述中正确的是A)一个自定义函数中必须有一条return语句B)一个自定义函数中可以根据不同情况设置多条return语句C)定义成void类型的函数中可以有带返回值的return语句D)没有return语句的自定义函数在执行结束时不能返回到调用处(25)下列选项中,能正确定义数组的语句是A)int num[0..2008];B)int num[];C)int N=2008;int num[N];D)#define N 2008int num[N];(26)有以下程序#includevoid fun(char *c,int d){*c=*c+1;d=d+1;printf("%c,%c,",*c,d);main(){char b=''a'',a=''A'';fun(&b,a);printf("%e,%e\n",b,a);}程序运行后的输出结果是A)b,B,b,AB)b,B,B,AC)a,B,B,aD)a,B,a,B(27)若有定义int(*Pt)[3];,则下列说法正确的是A)定义了基类型为int的三个指针变量B)定义了基类型为int的具有三个元素的指针数组ptC)定义了一个名为*pt、具有三个元素的整型数组D)定义了一个名为pt的指针变量,它可以指向每行有三个整数元素的二维数组(28)设有定义double a[10],*s=a;,以下能够代表数组元素a[3]的是A)(*s)[3]B)*(s+3)C)*s[3]D)*s+3(29)有以下程序#include(stdio.h)main(){int a[5]={1,2,3,4,5},b[5]={O,2,1,3,0},i,s=0;for(i=0;i<5;i++) s=s+a[b[i]]);printf("%d\n", s);}程序运行后的输出结果是A)6B)10C)11D)15(30)有以下程序#includemain(){int b [3][3]={O,1,2,0,1,2,O,1,2},i,j,t=1;for(i=0;i<3;i++)for(j=ij<=1;j++) t+=b[i][b[j][i]];printf("%d\n",t);}程序运行后的输出结果是A)1B)3C)4D)9(31)若有以下定义和语句char s1[10]="abcd!",*s2="\n123\\";printf("%d %d\n", strlen(s1),strlen(s2));则输出结果是A)5 5B)10 5C)10 7D)5 8(32)有以下程序#include#define N 8void fun(int *x,int i){*x=*(x+i);}main(){int a[N]={1,2,3,4,5,6,7,8},i;fun(a,2);for(i=O;i{printf("%d",a[i]);}printf("\n");}程序运行后的输出结果是A)1313B)2234C)3234D)1234(33)有以下程序#includeint f(int t[],int n);main{ int a[4]={1,2,3,4},s;s=f(a,4); printf("%d\n",s);}int f(int t[],int n){ if(n>0) return t[n-1]+f(t,n-1); else return 0;}程序运行后的输出结果是A)4B)1OC)14D)6(34)有以下程序#includeint fun(){ static int x=1;x*2; return x;}main(){int i,s=1,for(i=1;i<=2;i++) s=fun(); printf("%d\n",s);}程序运行后的输出结果是A)O B)1 C)4 D)8 (35)有以下程序#include#define SUB(a) (a)-(a)main(){ int a=2,b=3,c=5,d;d=SUB(a+b)*c;printf("%d\n",d);}程序运行后的输出结果是A)0B)-12C)-20D)10(36)设有定义:struct complex{ int real,unreal;} data1={1,8},data2; 则以下赋值语句中错误的是A)data2=data1;B)data2=(2,6);C)data2.real=data1.real;D)data2.real=data1.unreal;(37)有以下程序#include#includestruct A{ int a; char b[10]; double c;};void f(struct A t);main(){ struct A a={1001,"ZhangDa",1098.0};f(a); printf("%d,%s,%6.1f\n",a.a,a.b,a.c);}void f(struct A t){ t.a=1002; strcpy(t.b,"ChangRong");t.c=1202.0;}程序运行后的输出结果是A)1001,zhangDa,1098.0B)1002,changRong,1202.0C)1001,ehangRong,1098.OD)1002,ZhangDa,1202.0(38)有以下定义和语句struct workers{ int num;char name[20];char c;struct{int day; int month; int year;}s;};struct workers w,*pw;pw=&w; 能给w中year成员赋1980的语句是A)*pw.year=198O;B)w.year=1980;C)pw->year=1980;D)w.s.year=1980;(39)有以下程序#includemain(){ int a=2,b=2,c=2;printf("%d\n",a/b&c);}程序运行后的输出结果是A)OB)1C)2D)3(40)有以下程序#includemain(){ FILE *fp;char str[10];fp=fopen("myfile.dat","w");fputs("abc",fp);fclose(fp); fpfopen("myfile.data","a++"); fprintf(fp,"%d",28);rewind(fp);fscanf(fp,"%s",str); puts(str); fclose(fp); }程序运行后的输出结果是 A)abc B) 28c C) abc28D)因类型不一致而出错 二、填空题(1)一个队列的初始状态为空。
浙江省计算机二级C语言历年试卷
浙江省计算机二级C语言历年试卷一、程序填空(1)找Armstrong(水仙花)数:371=3*3*3+7*7*7+1*1*1b=i%100/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%10;(4)调用函数f,将一个整数首尾倒置。
例如:若程序输入12345,则输出54321;若程序输入-34567,则输出-76543。
return -y ;m=m/10 ;(5)调用函数f,从字符串中删除所有的数字字符。
strcpyelse(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)%26+'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,去除数组中的负数,输入数组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时的值。
2008年春浙江省计算机等考试试题(C语言)
2008年春浙江省高等学校计算机等级考试试卷(二级C)说明:(1)考生应将所有试题的答案填写在答卷上。
期中试题一到试题六请在答卷上的个小题选项的对应位置上填“√”。
(2)请将你的准考证号的后五位填写在答卷右下角的指定位置内;(3)考试时间为90分钟。
试题1(每小题3分,共12分)阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确的答案。
【程序说明】输入1个正整数n(n>=2),输出菲波那契(Fibonacci)序列的前n项,每行输出6个数。
菲波那契(Fibonacci)序列: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(2) A、x = x1 - x2 B、x = x1 + x2C、x=x1D、x=2(3) A、count / 6 = = 0 B、count % 6 ! = 0C、count % 6 = = 0D、count / 6 ! = 0(4) A、x = x1 + x2 B、x2=x1C、x=x2D、x2=x试题2(每小题3分,共12分)阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确的答案。
浙江省计算机等级二级考试 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.求满足条件的数。
2010年下半年浙江省高等学校计算机等级考试二级C程序设计试卷
2010年下半年浙江省高等学校计算机等级考试二级C程序设计试卷一、程序阅读与填空(24小题,每小题3分,共72分)1.阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案【程序说明】输入5个整数,将它们从小到大排序后输出。
运行示例:Enter an integer: 9 -9 3 6 0After sorted: -9 0 3 6 9【程序】#include <stdio.h>main(){ int i, j, n, t, a[10];pri ntf(”Enter 5 integers:”);for(i = 0; i < 5 ; i++)scanf(”%d”, (1) );for(i = 1; (2) ; i++)for(j = 0; (3) ; j++)if( (4) ) {t = a[j], a[j] = a[j+1], a[j+1] = t;}printf(”After sorted:”);for(i = 0; i < 5 ; i++)printf("=", a[i]);}【供选择的答案】(1) A、&a[i] B、a[i] C、*a[i] D、a[n](2) A、i < 5 B、i < 4 C、i >= 0 D、i > 4(3) A、j < 5–i–1 B、j < 5–i C、j < 5 D、j <= 5(4) A、a[j] < a[j+1] B、a[j] > a[j-1]C、a[j] > a[j+1]D、a[j-1] > a[j+1]2.阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案【程序说明】输出80到120之间的满足给定条件的所有整数,条件为构成该整数的每位数字都相同。
要求定义和调用函数is(n)判断整数n的每位数字是否都相同,若相同则返回1,否则返回0。
2008年9月二级C语言笔试真题及答案
2008年9月二级C语言笔试真题及答案(考试时间:120分钟,满分100分)一、选择题((1)~(10)、(21)~(40)每题2 分,(11)~(20)每题1 分,70 分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项填涂在答题卡相应位置上,答在试卷上不得分。
(1)一个栈的初始状态为空。
现将元素1、2、3、4、5、A、B、C、D、E 依次入栈,然后再依次出栈,则元素出栈的顺序是()。
A)12345ABCDE B)EDCBA54321 C)ABCDE12345 D)54321EDCBA (2)下列叙述中正确的是()。
A)循环队列有队头和队尾两个指针,因此,循环队列是非线性结构B)在循环队列中,只需要队头指针就能反映队列中元素的动态变化情况C)在循环队列中,只需要队尾指针就能反映队列中元素的动态变化情况D)循环队列中元素的个数是由队头指针和队尾指针共同决定(3)在长度为n的有序线性表中进行二分查找,最坏情况下需要比较的次数是()。
A)O(n) B)O(n2) C)O(log2n) D)O(n log2n)(4)下列叙述中正确的是()。
A)顺序存储结构的存储一定是连续的,链式存储结构的存储空间不一定是连续的B)顺序存储结构只针对线性结构,链式存储结构只针对非线性结构C)顺序存储结构能存储有序表,链式存储结构不能存储有序表D)链式存储结构比顺序存储结构节省存储空间(5)数据流图中带有箭头的线段表示的是()。
A)控制流 B)事件驱动 C)模块调用 D)数据流(6)在软件开发中,需求分析阶段可以使用的工具是()。
A)N-S 图 B)DFD 图 C)PAD 图 D)程序流程图(7)在面向对象方法中,不属于“对象”基本特点的是()。
A)一致性 B)分类性 C)多态性 D)标识唯一性(8)一间宿舍可住多个学生,则实体宿舍和学生之间的联系是()。
A)一对一 B)一对多 C)多对一 D)多对多(9)在数据管理技术发展的三个阶段中,数据共享最好的是()。
浙江省计算机二级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.三个数比较大小。
输入三个整数,按由大到小的顺序输出这三个数。
#includevoid 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 #includevoid 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个位置后输出。
#includevoid 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语言)真题+答案+模拟
2007年春浙江省高等学校计算机等级考试试卷(二级 C)试题1(每小题3分,共12分)阅读下列程序说明和程序,在每小题提供的若干可选答案中,选择一个正确答案。
[程序说明]输入一个正整数,按照从高位到低位的顺序输出各位数字。
运行示例:Enter an integer: 1902The digits are:1 9 0 2[程序]#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;(2)A、t >=10 B、 power >= 100 C、 t != 0 D、number !=0(3) A、power = = 0 B、digit != 0 C、 number != 0 D、power >=1(4) A、number / = power; B、number %=10; C、number %=power; D、number /=10;试题2(每小题3分,共12分)阅读下列程序说明和程序,在每小题提供的若干可选答案中,选择一个正确答案。
[程序说明]连续输入一批学生的成绩,直到输入成绩的数量超过50个或者输入的成绩不是有效成绩(有效成绩为0~~100),将输入的有效成绩存入数组mark中,在数组中查找并输出最高分。
浙江省高等学校二级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语言历年题目
计算机等级考试二级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分)阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案。
2008--2010浙江省二级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语言考试真题(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,主对角线为从矩阵左上角到右下角的连线。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
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的二维数组,找出最大值以及它的行下标和列下标,并输出该结果。
运行示例:Enter array(2*3):3 2 10 -9 6 -1max=a[0][2]=103 2 10-9 6 -1#include <stdio.h>main(){int col,row,i,j;int a[2][3];printf("Enter array(2*3):");for(i=0;i<2;i++)for(j=0;j<3;j++)scanf("%d", (9));(10);for(i=0;i<2;i++)for(j=0;j<3;j++)if(a[i][j]>a[row][col]){ (11)}printf("max=a[%d][%d]=%d\n",row,col,a[row][col]);for(i=0;i<2;i++){ for(j=0;j<3;j++)printf("%4d",a[i][j]);(12)}【供选择的答案】(9)A、&a[i][j] B、&a[j][i]C、a[i][j]D、a[j][i] 答案:A(10) A、row=col=2; B、row=col=0;C、a[row][col]=0;D、a[row][col]=-1; 答案:B(11) A、row=j;col=i; B、a[row][col]=a[i][j];C、row=i;col=j;D、a[row][col]=a[j][i]; 答案:C(12) A、printf(“\n”)};B、}printf(“\n”);C、;D、printf(“\n”);}答案:D试题4(每小题3分,共12分)阅读下列程序并回答问题,在每小题提供的若干可选答案中挑选一个正确答案。
【程序】#include <stdio.h>main(){int op1,op2,res;char opertor;scanf ("%d",&op1);opertor=getchar();while(opertor!='='){scanf ("%d",&op2);switch(opertor){case '+':res=op1+op2;break;case '-':res=op1-op2;break;case '*':res=op1*op2;break;case '/':res=op1/op2;break;default:res=0;}op1=res;opertor=getchar();}printf("%d\n",res);}(13)程序运行时,输入2*3-2=,输出(13)。
A、6B、2C、0D、4 答案:D(14)、程序运行时,输入15+2/3=,输出(14)。
A、16B、15C、6D、5 答案:D(15)、程序运行时,输入1+2*10-10/2=,输出(15)。
A、10B、16C、15D、25 答案:A4、程序运行时,输入1+3*5/2-7=,输出(16)。
A、3B、1C、-2D、-3 答案:A试题5(每小题3分,共12分)阅读下列程序并回答问题,在每小题提供的若干可选答案中挑选一个正确答案。
【程序】#include <stdio.h>#define MAXLEN 80main(){int k=0,number=0;char str[MAXLEN];while((str[k]=getchar())!='#')k++;str[k]='\0';for(k=0;str[k]!='\0';k++)if(str[k]>='0'&& str[k]<='9'||str[k]=='A'||str[k]=='B')if(str[k]>='0'&& str[k]<='9')number=number*12+str[k]-'0';else if(str[k]=='A'||str[k]=='B')number=number*12+str[k]-'A'+10;else ;//第15行else break; //第16行printf("%d\n",number);}(17)、程序运行时,输入10#,输出(17)。
A、16B、10C、12D、1 答案:A(18)、程序运行时,输入1a0#,输出(18)。
A、264B、10C、1D、12 答案:C(19)、第16行改为“;”后,程序运行时,输入A*0#,输出(19)。
A、0B、120C、10D、12 答案:B(20)、第16行改为“else break;”删除第15行后,程序运行时,输入1b0#,输出(20)。
A、10B、12C、276D、1 答案:B试题6(每小题3分,共12分)阅读下列程序并回答问题,在每小题提供的若干可选答案中挑选一个正确答案。
【程序】#include <stdio.h>#include <string.h>main(){ char *s[2]={"****","****"};while(*s[1]!='\0'){printf("%s\n",s[0]+strlen(s[1])-1);s[1]++;}}(21)、程序运行时,第1行输出(19)。
A、****B、***C、**D、* 答案:D(22)、程序运行时,第2行输出(19)。
A、****B、***C、**D、* 答案:C(23)、程序运行时,第3行输出(19)。
A、****B、***C、**D、* 答案:B(24)、程序运行时,第4行输出(19)。
A、****B、***C、**D、* 答案:A试题7(28分)1、定义函数fact(n)计算n的阶乘:n!=1*2*3*……*n,函数的返回值类型是double。
2、定义函数cal(m,n)计算累加和:s=m+(m+1)+(m+2) ……+n,函数的返回值类型是double。
3、定义函数main(),输入整数n,计算并输出下列算式的值。
该算式中,每一项的分子是累加和,要求调用函数cal(m,n)计算累加和;每一项的分母是阶乘,要求调用函数fact(n)计算n!。
y=1+(1+2)/2!+(1+2+3)/3!+……+(1+2+3+……n)/n!#include <stdio.h>double fact(int n)//第一题{int i;double t=1;for(i=1;i<=n;i++)t*=i;return t;}double cal(int m,int n) //第二题{double s=0;int i;for(i=m;i<=n;i++)s+=i;return s;}main()//第三题{int n,i;double s=0;printf("请输入一个正整数:");while(scanf("%d",&n),n<=0);for(i=1;i<=n;i++)s+=cal(1,i)/fact(i);printf("%f",s);}2008年秋浙江省高等学校计算机等级考试试卷(二级C)试题1(第小题3分,共12分)【程序说明】输入一批学生的成绩,遇到负数表示输入结束,要求统计并各等级成绩的学生个数。