秋Word文件下载.docx
- 文档编号:16716630
- 上传时间:2022-11-25
- 格式:DOCX
- 页数:20
- 大小:34.42KB
秋Word文件下载.docx
《秋Word文件下载.docx》由会员分享,可在线阅读,更多相关《秋Word文件下载.docx(20页珍藏版)》请在冰豆网上搜索。
a(14)以下程序段输出字符串str,其中循环条件str[i]!
=0还可以写成(14)。
charstr[80];
for(i=0;
str[i]!
\0'
i++)
putchar(str[i]);
A、str[i]!
=NULLB、i<
80
C、!
(str[i]='
D、i<
=80
d(15)设变量定义为:
intn,*p;
charch,*q,*g;
则语句(15)是不正确的。
A、p=&
n;
g=q=&
ch;
B、p=&
q=&
C、p=&
g=&
chD、p=&
g=p;
a(16)设变量定义如下,则对其中的结构分量num正确的引用是(16)。
structstudent{
intnum;
Charname[20];
floatscire;
}stud[10];
A、stud[1].num=10;
B、student.stud.num=10;
C、struct.stud.num=10;
D、structstudent.num=10;
d(17)对于以下递归函数f,调用函数f(2,123)的输出结果是(17)。
voidf(intn,chara,charb,charc)
{if(n==1)
printf("
%c->
%c#"
a,b);
else
{f(n-1,a,c,b);
f(n-1,c,b,a);
}
A、1->
2#1->
3#3->
2#B、3->
3#
C、'
1'
->
'
3'
#'
2'
#C、1->
3#1->
2#3->
2#
d(18)下列程序段的输出结果是(18)。
intt,a[3]={10,5,1};
int*p;
for(p=a;
p<
a+3;
p++)
t=t+*p;
printf(“%d”,t);
A、15B、16
C、10D、不确定
c(19)设变量定义为:
int*p[3],a[3];
,(19)是正确的赋值。
A、p=&
a[9]B、*p=**a
C、p[0]=aD、**p=a
b(20)对于以下的变量定义,语句(20)在语法和语义上都是正确的。
structnode{
floatx,y;
chars[10];
}point={1,2,“abc”},*p;
A、*p=point;
B、p=point;
C、point=p;
D、p->
x=point.y;
试题三、程序填空题(每空2分,共20分)
说明:
阅读下列程序说明和相应程序,在每小题提供的若干可选答案中,挑选一个正确答案。
1.程序1、
[程序说明]
根据下式计算s的值,要求精确到最后一项的绝对值小于106。
s=1-1/3+1/5-1/7+…….
[程序]
#include<
stdio.h>
math.h>
voidmain()
{intflag=1,t=1;
(21)
while((22)){
item=flag*1.0/t;
s=s+item;
(23);
t=t+2;
}
printf(“s=%f\n”,s);
(21)A、doubleitem=2,s=0;
B、doubleitem=0,s=0;
C、doubleitem=1,s=1;
D、doubleitem=3,s=1;
(22)A、item<
1E-6B、item>
=1e-6;
C、fabs(item)<
1E-6D、fabs(item)>
=1E-6
(23)A、flag=-1B、s=-s
C、flag=-flag;
D、t=-t
2、程序2
[程序说明]
验证哥哥德巴赫猜想:
任何一个大于6的偶数均可表示为两个素数之和。
例如6=3+3,8=3+5,…,18=7+11。
将6——100之间的每个偶数都表示成两个素数之和。
函数prime(m)用于判断m是否为素数。
素数就是只能被1和自身整除的正整数,1不是素数,2是素数。
#include"
stdio.h"
math.h"
voidmain()
{inti,k;
intprime(intm);
for(i=6;
i<
=100;
i=i+2)
for(k=3;
k=<
50;
k++)
if(24){
printf("
%d=%d+%d\n"
i,k,i-k);
break;
intprime(intm)
{intk,n;
if(m==1)return0;
n=(int)sqrt(m);
for(k=2;
k<
=n;
(25);
(26);
}
(24)A、prime(i)B、prime(i)&
prime(k)
C、prime(k)&
prime(i-k)D、prime(k)
(25)A、if(m%k!
=0)return0B、if(m%k==0)return0
C、if(m%k==0)return1D、if(m%k!
=0)return1
(26)A、return0;
B、return1;
C、elsereturn0;
D、elsereturn1;
程序3
[程序说明]
输入一个字符串(少于80个字符),滤去所有的非八进制字符后,组成一个新符串(八
进制形式),然后将其转化为十进制整数后输入。
函数stoi(str)将八进制形式的字符串str
转换为十进制整数,例如,stoi(“12”)的值为10(八进制12对应十进制10)。
[程序]
#include<
{inti,k;
intstoi(char*str);
gets(s);
for(i=k=0;
s[i]!
=’\0’;
i++)
if(s[i]<
=’7’&
s[i]>
=’0’)
(27)
(28)
printf(“digit=%d\n”,(29))
intstoi(char*str)
{inti,n=0;
for(i=0;
(30)
returnn;
(27)A、s[I]=s[k];
i++B、s[k]=s[i]
C、s[k]=s[i],k++D、s[i]=s[k]
(28)A、s[i]!
=‘\0’B、s[k]!
=’\0’
C、s[i]=‘\0’D、s[k]=’\0’
(29)A、stoi(s)B、s
C、stoi(s[i])D、n
(30)A、n=n*8+(str[i]–‘0’)B、n=n*10+(str[i]–‘0’)
C、n=n*8+str[i]D、n=n*10+str[i]
试题四、程序阅读题(每小题5分,共20分)
阅读下列程序,将运行时的输出结果写在答卷纸的相应题号下。
1.程序1
#include<
voidmain()
{intx=10023
do{
printf(“%d#”,x%10);
x=x/10;
}while(x!
=0);
}
2.程序2
#inclde<
{inti,x=1,y=1;
for(i=1;
=5;
{x=x+y;
y++;
printf(“%d#”,x);
3.程序3
{inti,x=1,y=1;
voidf(intm,intn,int*px,int*py);
f(2004,70,&
x,&
y),
%d#%d#"
x,y);
f(2005,98,&
y);
%d#%d#"
voidf(intm,intn,int*px,int*py)
{intk,flag;
inttab[2][13]={
{0,31,28,31,30,31,30,31,31,30,31,30,31},
{0,31,29,31,30,31,30,31,31,30,31,30,31}
};
flag=m%4==0&
m%100!
=0||m%400==0;
for(k=1;
n>
tab[flag][k];
k++)
n=n-tab[flag][k];
*px=k;
*py=n;
4.程序4
/*假设读写文件的操作能正常完成*/
{charch,*s="
ACEDB"
;
intx;
FILE*in;
if((in=fopen("
file.txt"
"
w"
))!
=NULL)
while(*s!
fputc(*s++,in);
fclose(in);
if((in=fopen("
r"
))!
while((ch=fgetc(in))!
=EOF)
{switch(ch)
{case'
:
x=95;
case'
B'
x=85;
C'
x=75;
D'
x=60;
default:
x=0;
%d#"
x);
fclose(in);
getch();
试题五、程序设计题(每小题各10分,共30分)
1.输入法x,计算并输出下列分段函数f(x)的值。
可以调用数学库函数:
平方根函数sqrt(),绝对值函数fabs()和幂函数pow()。
2.输出一张摄氏一华氏温度转换表,摄氏温度的取值区间是[-1000C,1500C],温度间隔50C。
要求定义和调用函数ctof(c),将摄氏温度C转换成华氏温度F,计算公式:
F=32+C*9/5。
3.输入一个正整数不胜n(1≤n≤6),再输入一个n行n列的矩阵,找出该矩阵中绝对值最大的元素以及它的行下标和列下标。
2005年春二级C考试答案
(1)A
(2)B
(3)B
(4)B
(5)B
(6)A
(7)A
(8)A
(9)B
(10)A
11、B12、C13、B14、A15、D16、A17、D18、D19、C20、B
21、A22、D23、C24C25、B26、B27、C28、D29、A30、A
1、
3#2#0#0#1#
2、
2#4#7#11#16#
3、
3#10#4#8#
4、
95#75#0#60#85#
#include<
main()
{intx.y;
if(x<
0)
y=fabs(x);
elseif(x<
2)
y=sqrt(x+1);
4)
y=pow(x,3);
elsey=2*x+5;
printf(“%d”,y);
floatctof(intc)
{floatf;
f=32+c*9/5;
returnf;
{
floatctof(intc);
intj,
for(j=-100;
j<
=150;
j=j+5;
printf(“c=%d->
f=%f”,j,ctof(j));
{intn,j,k,t,x,max;
while(scanf(“%d”,&
n),!
(n>
=1&
n<
=6));
for(j=0;
j++)
for(k=0;
k<
scanf(“%d”,&
a[j][k]);
max=a[0][0];
t=0;
x=0;
if(fabs(a[j][k]>
max)
{max=a[j][k];
t=j;
x=k;
printf(“max=%d,%d%d”,a[t][x],t,x);
2006年秋浙江省高等学校
计算机等级考试试卷(二级C)
考生应将所有试题的答案填写在答卷上。
其中试题一到试题六请在答卷上的各小题选项的对应位置上填“√”。
请将你的准考证号的后五位填写在答卷右下角的指定位置内;
考试时间为90分钟。
试题1(每小题3分,共12分)
阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案。
【程序说明】
输入一行字符,统计并输出其中英文字母、数字和其他字符的个数。
运行示例:
Entercharacters:
f(x,y)=3x+5y-10
letter=5,digit=4,other=6
【程序】
voidmain()
{intdigit,i,letter,other;
(1)ch;
digit=letter=other=0;
"
);
while(
(2)!
='
\n'
if((3))
letter++;
(4)(ch>
0'
ch<
9'
digit++;
other++;
letter=%d,digit=%d,other=%d\n"
letter,digit,other);
【供选择的答案】
(1)A、*B、float
C、doubleD、char
(2)A、(ch=getchar())B、ch=getchar()
C、getchar(ch)D、putchar(ch)
(3)A、(ch>
)&
(ch>
)
B、(ch>
)||(ch>
)
C、ch>
D、ch>
(4)A、ifB、else
C、elseifD、ifelse
试题2(每小题3分,共12分)
输入一个整数,将它逆序输出。
要求定义并调用函数reverse(longnumber),它的功能是返回number的逆序数。
例如reverse(12345)的返回值是54321。
Enteraninteger:
-123
Afterreversed:
-321
{longin;
longreverse(longnumber);
"
scanf("
%ld"
&
in);
%ld\n"
(5));
longreverse(longnumber)
{intflag;
(6);
flag=number<
0?
-1:
1;
if((7))number=-number;
while(number!
=0){
res=(8);
number/=10;
returnflag*res;
(5)A、reverse()B、in
C、reverse(in)D、reverse
(6)A、res=0B、longres
C、longres=0D、res
(7)A、number>
0B、number<
0
C、number!
=0D、number==0
(8)A、number%10B、res*10+number%10
C、number/10D、res*10+number/10
试题3(每小题3分,共12分)
输入一个3行2列的矩阵,分别输出各行元素之和.
Enteranarray:
63
1-8
312
sumofrow0is9
sumofrow1is-7
sumofrow2is15
{intj,k,sum=0;
inta[3][2];
\n"
for(j=0;
j<
3;
j++)
for(k=0;
2;
%d"
(9));
j++){
(10)
sum=(11);
sumofrow%dis%d\n"
(12),sum);
(9)A、a[j][k]B、a[k][j]
C、&
a[j][k]D、&
a[k][j]
(10)A、;
B、sum=-1;
C、sum=1;
D、sum=0;
(11)A、sum+a[j][k]B、sum+a[j][j]
C、sum+a[k][k]D、0
(12)A、kB、j
C、0D、1
试题4(每小题3分,共12分)
阅读下列程序并回答问题,在每小题提供的若干可选答案中,挑选一个正确答案。
{intk;
for(k=5;
k>
0;
k--){
if(k==3)
continue;
/*第6行*/
%d"
k);
(13)程序的输出是(13)。
A、54321B、5421C、54D、3
(14)将第6行中的continue改为break后,程序的输出是(14)。
(15)将第6行中的continue删除(保留分号)后,程序的输出是(15)。
(16)将第6行全部删除后,程序的输出是(16)。
试题5(每小题3分,共12分)
{charc,s[80]="
HappyNewYear"
inti;
voidf(char*s,charc);
c=getchar();
f(s,c);
puts(s);
voidf(char*s,charc)
{intk=0,j=0;
while(s[k]!
){
if(s[k]!
=c){
s[j]=s[k];
j++;
k++;
s[j]='
(17)程序运行时,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- docx