C程序设计等级考试复习16模拟题参考答案范文教学文稿文档格式.docx
《C程序设计等级考试复习16模拟题参考答案范文教学文稿文档格式.docx》由会员分享,可在线阅读,更多相关《C程序设计等级考试复习16模拟题参考答案范文教学文稿文档格式.docx(14页珍藏版)》请在冰豆网上搜索。
i<
5;
i++)/*用二重循环产生二维数组*/
-10111for(j=0;
j<
j++)
-1-1011if(i<
j)a[i][j]=1;
-1-1-101elseif(j>
j)a[j][j]=-1;
-1-1-1-10elsea[i][j]=0;
2、编一程序打印输出如下图案for(i=0;
i++)/*打印输出*/
A{for(j=0;
j++)
BBBprintf("
%d"
a[i][j]);
CCCCCprintf("
\n"
);
/*输出一行后换行*/
DDDDDDD}
EEEEEEEEE}
main()
{inti,j;
charch='
A'
space='
'
;
/*定义字符变量ch,space*/
for(i=1;
6;
i++)/*i循环控制打印行数,共5*/
{for(j=1;
40-i;
j++)/*输出39-i个空格,即将第一行打印在第40列上..*/
printf("
%c"
space);
for(j=0;
k<
2*i-1;
k++)/*打印2*i-1个字符,即第一行打印1个....*/
ch);
ch++;
/*输出一行后,让ch增加1,即变为相邻的下一字符*/
/*输出一行后,换行*/
}
3、编一个函数voidfun(char*ss),它的功能是:
把ss字符串中的字符按逆序存放。
例如:
若输入字符串为ABCDEFG,则逆置后的字符串为GFEDCBA。
在主函数main调用该函数实现输入任意字符串,按逆置打印输出。
#include"
string.h"
voidfun(char*ss)
{inti,j,k;
charch;
k=strlen(ss);
/*求出字符串的长度*/
for(i=0;
k/2;
i++)/*将字符串倒置,即第O个与第k-1个交换,....*/
{j=k-i-1;
ch=*(ss+i);
*(ss+i)=*(ss+j);
*(ss+j)=ch;
main()
{charstr[80];
/*定义一字符数组,存放字符串数据*/
Enterthestring\n"
scanf("
%s"
str);
/*输入字符串*/
fun(str);
/*调用函数,倒置字符串*/
模拟试题二
一、填空题(10)
1、322、交换x和y变量的值
3、11134、5
5、9.56、2
三、写出程序的输出结果(20)
1、62、8113、100104、8,175、CDG
四、根据各编程题意填空(25)
1、"
bi.dat"
、&
j、fp
2、inta[]、a[k]!
=a[0]、k
3、printf("
Enterthe10number\n"
)、&
a[i]、k=i、a[i]
五、编程题(20)
1.请编一个函数intfun(intpm),它的功能是:
判断pm是否是素数。
若pm是素数,返回1;
若不是素数,返回0。
pm的值由主函数从键盘读入。
intfun(intpm)
{inti;
for(i=2;
=pm/2;
i++)
if(pm%2==0)return0;
return1;
{intx,k;
%d"
&
x);
k=fun(x);
if(k)printf("
%d是素数\n"
x);
elseprintf("
%d不是素数\n"
}
2.请编写函数voidfun(int*a,int*n,inty),它的功能是:
把y值插入到a数组中,a数组中的数由主函数按由小到大的次序从键盘读入,y的值也从键盘读入。
插入后,数组中的数仍然有序。
voidfun(int*a,int*n,inty)
{intk,i;
k=*n;
for(i=0;
*n;
if(y<
a[i])
{k=i;
break;
if(k<
*n)
for(i=*n;
i>
k;
i--)
a[i]=a[i-1];
a[k]=y;
(*n)++;
{inta[]={......}
intn=1,y,i;
y);
fun(a,&
n,y);
for(i=0;
n;
i++)
a[i]);
模拟试题三
1、是指向含有n个元素的一维数组的指针变量的指针变量2、1
3、.1234、4
5、9006、存储单元
7、28、8
9、非010、y<
=x&
y>
=z
1、i=6j=7202、Theoutputof5.3is:
3、Theoutputof5.5
21->
10101
123->
7B
1、t=-t*x*x/(n*(n+1))、n+=2、epsil<
=0
2、i=j、i--、j++
3、"
r"
、"
w"
、!
feof(fp1)
1.编一个C函数是将字符数组中的小写字母转换成大写字母,或者将字符数组中的大写字母转换成小写字母。
voidstruplw(char*pc)
{while(*pc!
='
0'
)
{if(*pc>
A'
&
*pc<
Z'
)*pc+=32;
elseif(*pc>
a'
z'
)*pc-=32;
pc++;
}
1.请编一个函数intfun(floats[],intn),它的功能是:
求高于平均分的人数,并作为函数值返回。
数组s中存放n位学生的成绩。
数组s的值由主函数从键盘读入,用-1来结束输入。
intfun(floats[],intn)
{inti,k=0;
floataver,y=0;
y=y+s[i];
aver=y/n;
if(s[i]>
y)k++;
returnk;
{floats[100],x,m,n=0;
%f"
x)
while(x!
=-1&
n<
100)
{s[n]=x;
n++;
m=fun(s,n);
m=%d"
m);
模拟测试(四)
一、单项选择题(14)
11
12
13
14
二、填空题(14)
1、692、0.5*a*b
3、fabs(a+b)*fabs(a-b)4、a>
b&
a>
c
5、m%n==0或!
(m%n)6、9、9、3
7、-178、m=1F
9、5*3=1510、inta[5],*p=a
11、012、4
13、fopen("
a.dat"
"
rw"
)14、地址传递
1、10225713202、bcdefga32
cdefgab3
defgabc5
7
四、根据各编程题意填空(22)
1、ints1=0,s2=0;
、ch=getchar()、||ch>
ch<
'
、printf("
%d,%d"
s1,s2)
2、int,intn,char*ch、printf("
"
)、
printf("
ch[i])、printf("
)
3、head!
=NULL、p=p.next、no==p.num
五、编程题(30)
1.输入20个整数,输出其中能被组中其它元素整除的那些数组元素。
{inta[20],i,j,k;
Enterthenumber=\n"
20;
a[i]);
{k=1;
/*用k判断a[i]是否被其它元素整除,首先设为1,即表示能被其它元素整除*/
for(j=0;
j++)/*判断a[i]是否被其它元素整除*/
if(i!
=j)/*此条件可以不要;
即此语句可以不用,因为自身除自身一定能整除*/
if(a[i]%a[j]!
=0)/*如果被其中一个整除了则k=0,并中断j的循环,判断下一个a[i]*/
{k=0;
}
if(k==1)printf("
2.编写一个函数,在n个元素的一维数组中,统计比相邻元素大的数组元素个数并将统计数返回(不考虑a[0]和a[n–1]),要求以指针变量而不是数组名作参数。
intcount(float*a,intn)
{inti,num;
num=0;
/*置num的初值为0*/
for(i=1;
n-1;
i++)/*依次比较a[i]与相邻元素的关系*/
if(a[i]>
a[i-1]&
a[i]>
a[i+1])/*如果比相邻元素大,则计数*/
num++;
returnnum;
3.把文本文件d1.dat复制到文本文件d2.dat中,要求仅复制d1.dat中除英文字符和数字以外的其它内容。
#include"
stdio.h"
{FILEfp1,fp2;
/*定义两个文件类型指针变量*/
fp1=fopen("
d1.dat"
/*以读方式打开文件d1.dat*/
fp2=fopend("
d2.dat"
W"
/*以写方式打开文件d2.dat*/
while(!
feof(fp1))/*如果没遇到文件结束标志,则循环地读一个字符*/
{ch=fgetc(fp1);
/*从文件d1.dat中读出一个字符*/
if(!
((ch>
="
A"
Z"
)||(ch>
a"
z"
)||(ch>
0"
9"
))
fputc(ch,fp2);
/*如果不是字母或数字字符,则写入到文件d2.dat中*/
fclose(fp1);
/*关闭文件d1.dat*/
人民广场地铁站有一家名为“漂亮女生”的饰品店,小店新开,10平方米不到的店堂里挤满了穿着时尚的女孩子。
不几日,在北京东路、淮海东路也发现了“漂亮女生”的踪影,生意也十分火爆。
现在上海卖饰品的小店不计其数,大家都在叫生意难做,而“漂亮女生”却用自己独特的经营方式和魅力吸引了大批的女生。
fclose(fp2);
(4)信息技术优势
模拟测试(五)
调研提纲:
一、填空题(15)
1、(-b+sqrt(b*b-4*a*c))/(2*a)2、!
(ch>
9'
3、2.44、10
加拿大beadworks公司就是根据年轻女性要充分展现自己个性的需求,将世界各地的珠类饰品汇集于“碧芝自制饰品店”内,由消费者自选、自组、自制,这样就能在每个消费者亲手制作、充分发挥她们的艺术想像力的基础上,创作出作品,达到展现个性的效果。
5、int(或整型)6、10,12
7、128、0,-1
送人□有实用价值□装饰□9、8,u10、our
11、312、5
13、3
(一)创业机会分析二、单项选择题(20)
(把正确答案填入下表各对应的题号下)
300-400元1632%1
Beadwrks公司还组织各国的“芝自制饰品店”定期进行作品交流,体现东方女性聪慧的作品曾在其他国家大受欢迎;
同样,自各国作品也曾无数次启发过中国姑娘们的灵感,这里更是创作的源泉。
五、创业机会和对策分析3
然而影响我们大学生消费的最主要的因素是我们的生活费还是有限,故也限制了我们一定的购买能力。
因此在价格方面要做适当考虑:
我们所推出的手工艺制品的价位绝大部分都是在50元以下。
一定会适合我们的学生朋友。
1、18—262、3,2,5—3,3,5——4,3,6—3,4,6
3、144、4321
1、s[k].aver、s[k].aver>
s[maxsub].aver、maxsub=k
2、int*m、k>
3、char*s、sign=-1;
k++;
、digit=0、digit=10*digit+s[k]-'
1.输入m和n(m≥n≥0)后,计算
表达式的值并输出。
要求将计算阶乘的运算写成函数fact(n),函数返回值的类型为float。
floatfact(intn)
{inti;
floats=1.0
=n;
i++)
s=s*i;
returns;
{intn,m;
floaty
do/*输入m,n,如果m<
n或n<
0,则重输入:
即要求m>
=n>
=0*/
{scanf("
%d%d"
m,&
n)
}while(m<
n||n<
0);
y=fact(m)/(fact(n)*fact(m-n));
%f\n"
y);
3.统计当前目录下文本文件data.txt中字符'
$'
出现的次数,并将统计结果写入当前目录下的文本文件res.txt。
charch;
intn;
data.txt"
fp2=fopen("
res.txt"
while((ch=fgetc(fp1))!
=EOF)
if(ch=='
)n++;
fprintf(fp2;
"
n);
/*把数值数据写入文本文件中要用fprintf()函数*/
fcolse(fp2);
模拟测试(六)
1、162、sqrt((x2-x1)*(x2-x1)+(y2-y1)*(y2-y1))
3、a/sin(alfa/180*3.14159)4、ch>
5、a+b!
a*b==06、4、4、10、6
7、258、177
9、7+15=2210、chara[15]="
continue"
11、9512、windows
13、printf("
%d\n"
m)14、地址传递
1、42527162、
-
|
3、142
114
321
1、#include"
math.h"
、for(i=0;
i++)scanf("
a[i])、
pjz=pjz/20、printf("
t)
2、&
time.second、time.second、
time.minute++、time.hour==24
3、inti=0;
、p=head、p=p.next
1、编程,输入一个10进制正整数,然后输出它所对应的八进制数。
{intx;
printf("
%o"
2、编写一个函数,求6行、6列的二维数组全体元素中负数的个数。
intfun(floata[6][6])
{inti,j,m=0;
if(a[i][j]<
0)m++;
returnm;
3、编程,把文本文件d1.dat复制到文本文件d2.dat(其中的大写英文字母要转换为小写字母)。
#include"
{FILE*fp1,*fp2;
while((ch=fgetc(fp1))!
=EOF)/*从文件d1.dat读出一个字符赋值给ch,如果不为结束标志,则执行循环*/
{if(ch>
)/*判断ch是否是大写字母*/
ch=ch+32;
/*大写字母转换为小写字母*/
putc(ch,fp2);
/*将字符写入到d2.dat文件中*/
fclose(fp2);