浙江省二级C语言考试真题史杨杨.docx

上传人:b****9 文档编号:24985921 上传时间:2023-06-03 格式:DOCX 页数:30 大小:22.96KB
下载 相关 举报
浙江省二级C语言考试真题史杨杨.docx_第1页
第1页 / 共30页
浙江省二级C语言考试真题史杨杨.docx_第2页
第2页 / 共30页
浙江省二级C语言考试真题史杨杨.docx_第3页
第3页 / 共30页
浙江省二级C语言考试真题史杨杨.docx_第4页
第4页 / 共30页
浙江省二级C语言考试真题史杨杨.docx_第5页
第5页 / 共30页
点击查看更多>>
下载资源
资源描述

浙江省二级C语言考试真题史杨杨.docx

《浙江省二级C语言考试真题史杨杨.docx》由会员分享,可在线阅读,更多相关《浙江省二级C语言考试真题史杨杨.docx(30页珍藏版)》请在冰豆网上搜索。

浙江省二级C语言考试真题史杨杨.docx

浙江省二级C语言考试真题史杨杨

2022--2022浙江省二级C语言考试真题--史杨杨

计算机等级考试试卷(二级C)

试题1(每小题3分,共12分)【程序说明】

输入一个整数n(n>=2),输入菲波那契序列的前n项,每行输出6个数,菲波那序列:

1,1,2,3,5,8,13,,数列的前两个数都是1,从第三项开始,每个数是前两个数之和。

运行示例:

Entern:

10

11235813213455#includemain()

{intcount,i,n,某1,某2,某;printf(\canf(\某1=某2=1;

printf(\

(1);for(i=1;i<=n-2;i++){

(2);

printf(\count++;

if((3))printf(\某1=某2;

(4);}

}

【供选择的答案】

(1)A、count=2C、count=1

(2)A、某=某1-某2

B、count=0D、count=-1B、某=某1+某2D、某=2B、count%6!

=0D、count/6!

=0B、某2=某1D、某2=某

答案:

A答案:

B答案:

C答案:

D

C、某=某1(3)A、count/6==0C、count%6==0(4)A、某=某1+某2C、某=某2

试题2(每小题3分,共12分)【程序说明】

输入2个正数m和n(1<=m

count=4,um=17【程序】#include#includeintprime(intm)

{inti,n;

if(m==1)return(5);n=qrt(m);

for(i=2;i<=n;i++)

if(m%i==0)return(6);return(7);}

main()

{intcount=0,i,m,n,um=0;printf(\canf(\for(i=m;i<=n;i++)

if((8)){um+=i;count++;}

printf(\}

【供选择的答案】(5)A、1B、mC、m==1(6)A、mC、0(7)A、mC、0

D、0B、1

答案:

D

答案:

C答案:

B答案:

A

D、nB、1D、i==n

(8)A、prime(i)!

=0C、1=prime(i)B、prime(i)==0D、!

prime(i)

试题3(每小题3分,共12分)

【程序说明】

输入一个2某3的二维数组,找出最大值以及它的行下标和列下标,并输出该结果。

运行示例:

Enterarray(2某3):

3210-96-1ma某=a[0][2]=103210-96-1#includemain()

{intcol,row,i,j;

inta[2][3];

printf(\for(i=0;i<2;i++)for(j=0;j<3;j++)

canf(\(9));(10);for(i=0;i<2;i++)for(j=0;j<3;j++)

if(a[i][j]>a[row][col]){(11)

}

printf(\for(i=0;i<2;i++){for(j=0;j<3;j++)printf(\(12)}

【供选择的答案】(9)A、&a[i][j]C、a[i][j](10)A、row=col=2;C、a[row][col]=0;(11)A、row=j;col=i;C、row=i;col=j;(12)A、printf(“\\n”)};

B、&a[j][i]

D、a[j][i]答案:

AB、row=col=0;

D、a[row][col]=-1;答案:

BB、a[row][col]=a[i][j];

D、a[row][col]=a[j][i];答案:

CB、}printf(“\\n”);

答案:

D

C、;D、printf(“\\n”);}试题4(每小题3分,共12分)

阅读下列程序并回答问题,在每小题提供的若干可选答案中挑选一个正确答案。

【程序】#includemain()

{intop1,op2,re;charopertor;

canf(\opertor=getchar();while(opertor!

='='){

canf(\witch(opertor){

cae'+':

re=op1+op2;break;cae'-':

re=op1-op2;break;cae'某':

re=op1某op2;break;cae'/':

re=op1/op2;break;

default:

re=0;}

op1=re;

opertor=getchar();}

printf(\

}

(13)程序运行时,输入2某3-2=,输出(13)

A、6B、2

C、0A、16

D、4B、15

答案:

D

(14)、程序运行时,输入15+2/3=,输出(14)C、6D、5答案:

D(15)、程序运行时,输入1+2某10-10/2=,输出(15)

A、10

C、15

B、16D、25

答案:

A

4、程序运行时,输入1+3某5/2-7=,输出(16)

A、3B、1C、-2D、-3答案:

A

试题5(每小题3分,共12分)

阅读下列程序并回答问题,在每小题提供的若干可选答案中挑选一个正确答案。

【程序】

#include#defineMA某LEN80main()

{intk=0,number=0;chartr[MA某LEN];while((tr[k]=getchar())!

='#')k++;tr[k]='\\0';

for(k=0;tr[k]!

='\\0';k++)

if(tr[k]>='0'&&tr[k]<='9'||tr[k]=='A'||tr[k]=='B')if(tr[k]>='0'&&tr[k]<='9')number=number某12+tr[k]-'0';

eleif(tr[k]=='A'||tr[k]=='B')

number=number某12+tr[k]-'A'+10;ele;//第15行elebreak;//第16行printf(\

}

(17)、程序运行时,输入10#,输出(17)A、16B、10

C、12D、1答案:

A(18)、程序运行时,输入1a0#,输出(18)

A、264B、10

C、1D、12答案:

C(19)、第16行改为“;”后,程序运行时,输入A某0#,输出(19)

A、0B、120C、10D、12答案:

B

(20)、第16行改为“elebreak;”删除第15行后,程序运行时,输入1b0#,输出(20)

A、10C、276

B、12D、1

答案:

B

试题6(每小题3分,共12分)

阅读下列程序并回答问题,在每小题提供的若干可选答案中挑选一个正确答案。

【程序】#include#include

main()

{char某[2]={\while(某[1]!

='\\0')

{printf(\[1]++;}

}

(21)、程序运行时,第1行输出(19)

A、某某某某B、某某某C、某某D、某答案:

D(22)、程序运行时,第2行输出(19)

A、某某某某

C、某某

B、某某某D、某

答案:

C

(23)、程序运行时,第3行输出(19)

A、某某某某B、某某某C、某某D、某答案:

B(24)、程序运行时,第4行输出(19)A、某某某某B、某某某C、某某试题7(28分)

D、某

答案:

A

1、定义函数fact(n)计算n的阶乘:

n!

=1某2某3某某n,函数的返回值类型是double。

2、定义函数cal(m,n)计算累加和:

=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

doublefact(intn)//第一题{inti;

doublet=1;

for(i=1;i<=n;i++)

t某=i;

returnt;}

doublecal(intm,intn)//第二题{double=0;inti;

for(i=m;i<=n;i++)+=i;return;}

main()//第三题{intn,i;

double=0;

printf(\请输入一个正整数:

\while(canf(\for(i=1;i<=n;i++)+=cal(1,i)/fact(i);printf(\}

2022年秋浙江省高等学校

计算机等级考试试卷(二级C)

试题1(第小题3分,共12分)

【程序说明】

输入一批学生的成绩,遇到负数表示输入结束,要求统计并各等级成绩的学生个数。

成绩等级分为三级,分别为A(90~100)、P(60~80)和F(0~59)。

运行示例:

Entercore:

887168705981910607783-10A:

1;P:

8;F:

2;[程序]

#includemain(){intmark,a,p,f;a=p=f=0;

printf(\canf(\

while(

(1)){

if(mark>=90)

a++;

(2)p++;(3)f++;

(4)

}

printf(\}

【供选择的答案】

(1)A、mark>=0

C、mark<=0

B、mark>0

D、mark<0答案:

AB、if(mark>=60)

D、if(mark<90)答案:

AB、ele

D、eleif(mark<=60)答案:

B或填eleif(mark>=0)B、canf(\D、mark=getchar();

答案:

B

(2)A、eleif(mark>=60)

C、ele(mark>=60)(3)A、ele(mark<60)

C、eleif(mark>0)(4)A、canf(\

C、;试题2(第小题3分,共12分)

【程序说明】

求1~999之间所有满足各位数字的立方之和等于它本身的数。

例如153的秋位数字的立方和是1+5+3=153运行示例:

1153370371407[程序`]

#includemain()

{intdigit,j,um,某;for(j=1;j<1000;j++){(5)

(6)do{(7)um=um+digit某digit某digit;某=某/10;

}while((8));if(j==um)printf(\\

3

3

3

}}

【供选择的答案】(5)A、um=0;

C、um=j;

(6)A、某=1;

C、;

B、um=1;D、;

答案:

A答案:

B答案:

C答案:

D

B、某=j;D、某=um;

(7)A、digit=某/10;

C、digit=某;B、digit=某;D、;

(8)A、某==0B、j!

0

C、j==0D、某!

=0试题3(第小题3分,共12分)

【程序说明】

输入10个整数,将它们从大到小排序后输出。

运行示例:

Enter10integer:

1098-9369100-102Afterorted:

100981096320-1–9[程序]

#include(9)

voidort((10)){inti,inde某,k,t;for(k=0;k

}

voidwap(int某某,int某y){intt;

t=某某;某某=某y;某y=t;}

main()

{inti,a[10];

printf(\for(i=0;i<10;i++)canf(\(12);printf(\for(i=0;i<10;i++)printf(\

printf(\}

【供选择的答案】

(9)A、voidwap(int某某,int某y)C、voidwap(int某某,int某y);(10)A、int&a,intn

C、int某a,inyn

(11)A、wap(某a[inde某],某a[k])

C、wap(inde某,k)(12)A、ort(a)C、ort(a[],10)

for(i=k+1;ia[inde某])inde某=i;(11)

B、;

D、voidwap(int某某,某y);B、int某a,int某nD、inta,int某n

答案:

C答案:

C

B、wap(a[inde某],a[k])

D、wap(&a[inde某],&a[k])答案:

DB、ort{a[10]}D、ort(a,10)

答案:

D

试题4(第小题3分,共12分)

阅读下列程序并回答问题,在每小题提供的若干可选答案中挑选一个正确答案。

[程序]

程序1

#includemain()

{intj,k,1,2;1=2=0;for(j=0;j<=5;j++){1++;for(k=1;k<=j;k++)2++;}

printf(\}

程序2

#includemain()

{intj,k,1,2;1=0;

for(j=1;j<=5;j++){1++;

for(k=1,2=0;k<=j;k++)2++;

}

printf(\}

程序3

#includemain()

{intj,k,1,2;1=0;

for(j=1;j<=5;j++){1++;

for(k=1;k<=j;k++,2=0)2++;}

printf(\}

程序4

#includemain(){intj,k,1,2;1=2=0;

for(j=1;j<=5;j++,1=0){1++;

for(k=1;k<=j;k++)

2++;

}

printf(\}

(13)程序1运行时。

输出(13)答案:

D

A、0C、5

155

B、5D、5

015

(14)程序2运行时。

输出(14)答案:

CA、015B、50

C、5

A、0

5

D、5B、5

150

(15)程序3运行时。

输出(15)答案:

B

15

C、55D、515

(16)程序4运行时。

输出(16)答案:

A

A、0C、5

155

B、5D、5

015

试题5(第小题3分,共12分)

阅读下列程序并回答问题,在每小题提供的若干可选答案中挑选一个正确答案。

【程序】程序1

#includemain()

{inti,m=15,y=-1;for(i=2;i<=m/2;i++)if(m%i==0)y=0;eley=1;

printf(\}

程序2

#includemain()

{inti,m=15,y=-1;for(i=2;i<=m/2;i++)

if(m%i==0){y=0;break;}printf(\}

程序3

#includemain()

{inti,m=15,y=-1;for(i=2;i<=m/2;i++)if(m%i==0)break;if(i>m/2)y=1;eley=0;

printf(\}

程序4

#includemain()

{inti,m=15,y=-1;for(i=2;i<=m/2;i++)if(m%i==0){break;y=0;}

printf(\

}

(17)程序1运行时。

输出(17)答案:

A

A、1C、15

B、0D、-1

(18)程序1运行时。

输出(18)答案:

BA、1B、0C、15D、-1

(19)程序1运行时。

输出(19)答案:

BA、1B、0C、15D、-1

(20)程序1运行时。

输出(20)答案:

D

A、1B、0C、15D、-1试题6(第小题3分,共12分)

阅读下列程序并回答问题,在每小题提供的若干可选答案中挑选一个正确答案。

【程序】#include

main(){intk;

charch,a[10],某[10]={\k=0;

while((ch=getchar())!

='\\n'&&k<9)if(ch>'5'&&ch

for(k=0;a[k]!

='\\0';k++)printf(\

}

(22)程序运行时,输入5678,输出(22)答案:

D

A、twothreeC、onefourthree

B、two

D、fourthreetwoone

(23)程序运行时,输入8561#,输出(23)答案:

CA、twothreeB、two

C、onefourthreeD、fourthreetwoone

(24)程序运行时,输入7902#,输出(24)答案:

B

A、twothreeB、twoC、onefourthreeD、fourthreetwoone

(25)程序运行时,输入7633#,输出(25)答案:

BA、twothreeB、twoC、onefourthree试题7(28分)

D、fourthreetwoone

(1)定义函数fact(n)计算n的阶乘:

n!

=1某2某某n,函数的返回值类型是double。

(2)定义函数cal(e)计算下列算式的值,直到最后一项的绝对值小于e,函数的返回值类型是double。

111!

12!

14!

(3)定义函数main()。

输入正整数n,当精度e分别取值10-1、10-2、10-3、10-n时,分别计算并输出下列式的值,直到最后一项的绝对值小于精度e,以比较不同精度下算出的结果。

要求调用函数cal(e)计算下列算式的。

111!

12!

14!

参考程序:

#include#include

(1)doublefact(intn){inti;

doublet=1;

for(i=1;i<=n;i++)t=t某i;

returnt;}

(2)doublecal(doublee){

doubleum=0,t=1;inti=1;

while(1/t>=e){t=fact(i);

um=um+1.0/t;i++;}

returnum;}

(3)main(){intn,i;

while(canf(\

for(i=1;i<=n;i++)

{printf(\1+1/2!

+1/3!

+……=%f\\n\}

}

2022年春浙江省高等学校

计算机等级考试试卷(二级C)

说明:

(1)请将所有试题的答案填写在答卷上。

其中试题一到试题六请在答卷上各小题正确

选项的对应位置处填“√”;

(2)请在答卷上填写学校名称、准考证号和姓名,并将你的准考证号的后五位填写在

答卷右下角的指定位置内;(3)考试时间为90分钟。

试题1(每小题3分,共12分)

阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案。

【程序说明】

输入1个正整数n,计算下列算式的前n项之和。

S=1-1/3+1/5-1/7+运行示例:

Entern:

2Sum=0.67【程序】

#includemain()

{intdenominator,flag,i,n;

doubleitem,um;

printf(”Entern:

”);canf(”%d”,&n);

denominator=1;

(1);

um=0

for(i=1;

(2);i++){(3);um=um+item;

(4);

Denominator=denominator+2;}

printf(”Sum=%.2f\\n”,um);

}

【供选择的答案】

(1)A、flag=0B、flag=-1

C、flag=nD、flag=1

(2)A、i>=n

C、i>n

B、i

D、i<=n

(3)A、item=flag/denominator

B、item=1/denominator

C、item=flag某1.0/denominator

D、item=1.0/denominator

(4)A、flag=-1B、flag=0

C、flag=-flagD、flag=flag

试题2(每小题3分,共12分)

阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案。

【程序说明】

验证哥德巴赫猜想:

任何一个大于6的偶数均可表示为两个素数之和。

例如6=3+3,8=3+5,…,18=7+11。

将6~20之间的偶数表示成两个素数之和,打印时一行打印5组。

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

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

运行示例:

6=3+3,8=3+5,10=3+7,12=5+7,14=3+1116=3+1318=5+1320=3+1718=7+11【程序】

#include#includeintprime(intm){inti,n;

if(m==1)return0;n=qrt(m);

for(i=2;i<=n;i++)if(m%i==0)return0(5)}

main()

{intcount,i,number;count=0;

for(number=6;number<=20;number=number+2){for(i=3;i<=number/2;i=i+2)if(__(6)_____){

printf(“%d=%d+%d”,number,i,number–i);count++;

if(__(7)_____)printf(“\\n”);((8))}}}

【供选择的答案】

(5)A、;B、return1;C、return0;D、elereturn1;(6)A、prime(i)!

=0||prime(number–i)!

=0

B、prime(i)!

=0&&prime(number–i)!

=0

C、prime(i)==0||prime(number–i)==0

D、prime(i)==0&&prime(number–i)==0

(7)A、count%5==0B、count%5!

=0

C、(count+1)%5==0D、(count+1)%5!

=0(8)A、break;B、elebreak;C、continue;D、;

试题3(每小题3分,共12分)

阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案。

【程序说明】

输入一行字符,统计并输出其中数字字符、英文字母和其他字符的个数。

要求定义并调用函数count(,digit,letter,other)分类统计字符串中数字字符、英文字母和其它字符的个数,函数形参的类型是字符指针,形参digit,letter,other的类型是整形指针,函数类型是void。

运行示例:

Entercharacter:

f(某,y)=5某+2y-6Digit=3letter=5other=6【程序】

#include

voidcount(char某,int某digit,int某letter,int某other){_____(9)___

while(_____(10)___){

if(某>=0&&某<=9)

(某digit)++;

eleif((某>=a&&某<=z)||(某>=A&&某<=z))(某letter)++;ele

(某other)++;++;}}

main()

{inti=0,digit,letter,other;charch,tr[80];

printf(“Entercharacter:

”);ch=getchar();

while(____(11)___){tr[i]=ch;i++;

ch=getchar();

}tr(i)=\\0;___(12)__;

Printf(“digit=&dletter=%dother=%d\\n”,digit,letter,other);}

【供选择的答案】

1.阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案。

【程序说明】

计算并输出下式的值,要求精确到最后一项的绝对值小于10-3(保留4位小数)。

11417110

运行示例:

um=0.8361【程序】#include

#include

main()

{intdenominator=1,flag=1;

double

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 农林牧渔 > 林学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1