江苏省计算机变态二级文档格式.docx
- 文档编号:17400497
- 上传时间:2022-12-01
- 格式:DOCX
- 页数:12
- 大小:19.63KB
江苏省计算机变态二级文档格式.docx
《江苏省计算机变态二级文档格式.docx》由会员分享,可在线阅读,更多相关《江苏省计算机变态二级文档格式.docx(12页珍藏版)》请在冰豆网上搜索。
,则以下语句中能够实现此功能的是
(26)
A.s="
B.s[20l="
C.strcat(s,"
);
D.strcpy(s,"
27.已知有声明"
a[4][4]={{1,2,3,4},{5,6,7,8),{9,10,11,12},{13,14,15,16)};
若需要引用值为12的数组元素,则下列选项中错误的是(
27
)
A.*(a+2)+3
B.*(*(a+2)+3)
C.*(a[2]+3)
D.a[2][3]
28.已知有声明"
n;
float
x,y;
y=n=x=3.89;
后,y的值为
(
28
A.3
B.3.0
C.3.89
D.4.0
29.已知有声明"
a=12,b=15,c;
则执行表达式"
c=(a||(b-=a))"
后,变量b和c的值分别为(
29
)
A.3,1
B.15,12
C.15,1
D.3,12
30.下列叙述中,正确的是
_____(30)______
A.C语言中的文件是流式文件,因此只能顺序存取文件中的数据。
B.调用fopen函数时若用"
r"
或"
r+"
模式打开一个文件,该文件必须在指定存储位置或默认存储位置处存在。
C.当对文件进行了写操作后,必须先关闭该文件然后再打开,才能读到该文件中的第1个数据
D.无论以何种模式打开一个已存在的文件,在进行了写操作后,原有文件中的全部数据必定被覆盖
二、填空题(将答案填写在答题纸的相应答题号内,每个答案只占一行,共30分)
●
基本概念
1.
数学式
所对应的c语言表达式为pow(x,
__
(1)__)。
2.
已知有声明"
ch='
g'
则表达式ch=ch-'
a'
+'
A'
的值为字符
(2)
的编码。
3.
在C语言系统中,如果一个变量能正确存储的数据范围为整数-32768~32767,则该变量在内存中占_____(3)_____个字节。
'
4.
a[3][2]={{1,2),{3,4},{5,6}},*p=a[0];
printf("
%d\n"
*(p+4));
后的输出结果为__(4)___
5.
已知有声明和语句"
a;
scanf("
a=%d"
&
a);
欲从键盘上输入数据使a中的值为3,则正确的输入应是
_____(5)_____
•
阅读程序
6.
以下程序运行时输出到屏幕的结果为
(6)
#include
#define
MAX(A,B)
A>
B?
2*A:
2*B
void
main()
{int
a=1,b=2,c=3,d=4,t;
t=MAX(a+b,c+d);
t);
}
7.以下程序运行时输出到屏幕的结果是
(7)
#include
main()
a=1,b=2;
a+=b;
b=a-b;
a-=b;
%d,%d\n"
a,b);
8.以下程序运行时输出到屏幕的结果是
(8)
swap(int
a,int
b)
t;
if(a>
b)t=a,a=b,b=t;
x=13,y=11,z=12;
if(x>
y)swap(x,y);
z)swap(x,z);
if(y>
z)swap(y,z);
%d\t%d\t%d\n"
x,y,z);
9•以下程序运行时输出到屏幕的结果第一行是
(9)
第二行是
(10)
第三行是(11)
g(int
x,int
y)
{
return
x+y;
f(int
{
{static
x=2;
2)
x=x*x;
y=x;
else
y=x+1;
a=3;
g(a,2));
f(a,3));
f(a,2));
10.以下程序运行时输出到屏幕的结果是
(12)
fun(int
m,int
n)
{if(m>
=n)
%d"
m);
else
fun(m+1,n);
fun(1,2);
11.以下程序运行时输出到屏幕的结果第二行是
(13)
第四行是
(14)
N
6
i,j,a[N+1][N+1];
for(i=1;
i<
=N;
i++)
{a=1;
a[1]=1;
for(i=3;
for(j=2;
j
a[j]=a[i-1][j-1]+a[i-1][j];
for(j=1;
j<
=i;
j++)
M"
a[j]);
\n"
12.以下程序运行时输出到屏幕的结果第一行是
(15)
(16)
fun(char
*p1,char
*p2);
i;
a[]="
54321"
puts(a+2);
fun(a,a+4);
puts(a);
*p2)
{char
while(p1
{t=*p1;
*p1=*p2;
*p2=t;
p1+=2,p2-=2;
13.以下程序运行时输出至到屏幕的结果第一行是(17)
第二行是(18)
typedef
struct{int
}direction;
visible(direction
s,direction
A,direction
B,direction
C)
{direction
p1,p2;
d;
p1.x=B.x-A.x;
p1.y=B.y-A.y;
p2.x=C.x-A.x;
p2.y=C.y-A.y;
d=s.x*p1.x*p2.x+s.y*p1.y*p2.y;
M\n"
d);
d>
0;
*ss[]={"
invisible"
"
visible"
};
direction
s={1,1},T={1,1},A={0,0},B={2,1};
puts(ss[visible(s,T,A,B)]);
完善程序
14.以下程序的功能是:
统计一个字符串中数字字符"
0"
到"
9"
各自出现的次数,统计结果保存在数组
count中。
例如,如果字符串为"
lenterschar4543123564879ffgh"
则统计结果为:
1:
2
2:
1
3:
4:
3
5:
6:
7:
8:
9:
1。
试完善程序以达到要求的功能。
*t,int
count[])
*p=t;
while(
_____(19)_____
if(*p>
='
0'
&
*p<
9'
count[_____(20)_____]++;
p++;
s[80]="
1enterschar4543123564879ffgh"
count[10]={0},i;
fun(s,count);
for(i=0;
10;
if(count)
%d:
%d
i,count);
15.下列程序的功能是对a数组a[0]~a[n-1]中存储的n个整数从小到大排序。
排序算法是:
第一趟通
过比较将n个整数中的最小值放在a[0]中,最大值放在a[n-1]中;
第二趟通过比较将n个整数中的
次小值放在a[1]中,次大值放在a[n-2]中;
......,依次类推,直到待排序序列为递增序列。
试完喜
程序以达到要求的功能。
7
sort(int
a[],int
i,j,min,max,t;
___(21)___;
______(22)______
for(j=i+l;
if(a[j]
if(a[j]>
a[max])max=j;
if(min!
=i)
{t=a[min];
a[min]=a;
a=t;
if(max!
=n-i-1)
if(max==i)
a[min]=a[n-i-1];
a[n-i-1]=t;
{t=a[max];
a[max]=a[n-i-1];
}
a[N]={8,4,9,3,2,1,5},i;
sort(a,N);
sorted:
i
16.下列程序中函数find_replace的功能是:
在s1指向的字符串中查找s2指向的字符串,并用s3指向
的字符串替换在s1中找到的所有s2字符串。
若sl字符串中没有出现s2字符串,则不做替换并使
函数返回0,否则函数返回1。
find_replace(char
s1[],char
s2[],char
s3[])
i,j,k,t=0;
temp[80];
if(s1[0]=='
\0'
||s2[0]=='
)return
s1!
k=0;
j=i;
while(s1[j]==s2[k]&
s2[k]!
j++;
___(23)_________
if(s2[k]=='
strcpy(temp,&
s1[j]);
___________(24)________;
i=i+strlen(s3);
_______(25)_________;
t=1;
line[80]="
This
is
a
test
program
and
data."
substr1[10]="
test"
substr2[10]="
actual"
k;
k=find_replace(line,substr1,substr2);
if(______(26)_______)
puts(line);
not
found\n"
17.设hl和h2分别为两个单链表的头指针,链表中结点的数据结构为:
struct
node
data;
node
*next;
}NODE;
.
sea_del函数的功能是:
删除hl指向的链表中首次出现的与h2指向的链表中数据完全匹配的
若干个连续结点,函数返回hl指向链表的头指针。
例如,初态下,hl指向链表和h2指向链表如下图所示:
试完善函数sea_del以达到要求的功能。
NODE
*sea_del(NODE
*h1,NODE
*h2)
{NODE
*p,*ph,*q,*s;
ph=NULL;
p=q=h1;
s=h2;
if(h1==NULL||__(22)__)
h1;
while(p!
=NULL&
s!
=NULL)
{while(q->
data==s->
data&
q&
s)
q=q->
next;
s=
__(28)__;
if(s!
=NULL)
/*失配时,h1起始结点后移,h2从首结点开始*/
ph=p;
p=q=p->
s=__(29)__;
、
if(ph==NULL)
h1=q;
ph->
next=q;
__(30)__
改错题:
[程序功能]
输入两个正确日期且年份在1900-9999范围内,计算
并输出两个日期之间间隔的天数,例如:
2008-8-1
和2009-8-1之间间隔的天数为365
提示:
能被4整除并且不能被100整除的年份是闰年,能
被400整除的年份也是闰年,其他年份则是平年
[测试数据与运行结果]
显示:
first
date:
输入:
1980-2-1
second
2009-8-1
输出:
10774
days
[含有错误的源程序]
<
stdio.h>
leap(int
y)
((y)%4==0
(y)%100!
=0||(y)%400==0)
d
y,m,d;
days(struct
d
d1,struct
d2)
mon[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}};
long
td=0;
for(i=d1.y;
d2.y;
td=leap(i)?
366:
365;
d1.m;
td-=mon[leap(d1.y)];
td-=d1.d-1;
d2.m;
td+=mon[leap(d2.y)];
td+=d2.d-1;
td;
{struct
d1,d2;
%d-%d-%d"
d1.y,d1.m,d1.d);
d2.y,d2.m,d2.d);
td=days(d1,d2);
%ld"
td);
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 江苏省 计算机 变态 二级