263 同步自测C语言程序设计实验与习题指导 习题答案Word文件下载.docx
- 文档编号:16282341
- 上传时间:2022-11-22
- 格式:DOCX
- 页数:18
- 大小:20.63KB
263 同步自测C语言程序设计实验与习题指导 习题答案Word文件下载.docx
《263 同步自测C语言程序设计实验与习题指导 习题答案Word文件下载.docx》由会员分享,可在线阅读,更多相关《263 同步自测C语言程序设计实验与习题指导 习题答案Word文件下载.docx(18页珍藏版)》请在冰豆网上搜索。
(A)30(B)72(C)48(D)54
8.在C语言中,以下叙述错误的是(C)。
(A)函数被调用时,系统才为形参分配内存
(B)实参和对应形参的数据类型必须一致
(C)实参可以是变量、常量或表达式
(D)形参可以是变量、常量或表达式
9.一个数据类型为void的函数中可以没有return语句,那么函数的被调用时(A)。
(A)没有返回值(B)返回一个系统默认值
(C)返回只有用户临时决定(D)返回一个不确定的值
10.C语言中规定,函数调用中用简单变量做实参时,它和对应形参之间的数据传递方式是(B)。
(A)地址传递(B)单向值传递
(C)由实参传给形参,再由形参传回给实参(D)由用户指定传递方式
11.以下程序的输出结果是(B)。
#include<
intx=3,y=4;
voidmain()
{intx=0;
x+=y++;
printf(〞%d〞,x);
}
(A)3(B)4(C)5(D)6
12.在下面C语言的函数说明语句中,正确的是(A)。
(A)intfun(intx,inty);
(B)intfun(intx,y);
(C)intfun(x,y);
(D)intfun(intx;
inty);
13.下面程序执行后输出为(D)。
#include<
intf(intn)
{if(n==1)return1;
elseif(n==2)return2;
elsereturnf(n-1)+f(n-2);
voidmain()
{printf(〞%d\n〞,f(4));
}
(A)1(B)2(C)3(D)5
14.C语言规定,函数返回值的类型是由(D)
(A)return语句中的表达式类型所决定
(B)调用该函数时的主函数类型所决定
(C)调用该函数时系统临时所决定
(D)在定义函数时所指定的函数类型所决定
15.在一个C源程序文件中定义的全局变量,其作用域为(B)。
(A)整个源程序文件(B)从定义处开始到本源程序文件结束
(C)整个主函数(D)所处C程序的所有源程序文件中
16.以下程序运行后,输出结果是(B)。
#definePT5.5
#defineS(x)PT*x*x
{inta=1,b=2;
printf(〞%4.1f\n〞,S(a+b));
(A)49.5(B)9.5(C)22.0(D)45.0
17.以下对C语言函数的有关描述,正确的是(D)。
(A)在C中调用函数时,只能把实参的值传送给形参,形参的值不能传送给实参
(B)C函数既可以嵌套定义又可以递归调用
(C)函数必须有返回值,否则不能使用函数
(D)C程序中有调用关系的所有函数必须放在同一个源程序文件中
18.C语言中,以下叙述中错误的是(A)。
(A)主函数中定义的变量是全局变量
(B)同一程序中,全局变量和局部变量可以同名
(C)全局变量的作用域从定义处开始到本源程序文件结束
(D)局部变量的作用域被限定在其所定义的局部范围中
19.在一个char类型的函数定义中,函数体中有return0;
语句,该语句(B)。
(A)是错误的(B)能正确向主调函数返回整型数0
(C)在执行时不予理睬(D)在执行时会中断程序运行
20.如果程序中有#include〞文件名〞则意味着(A)。
(A)将"
文件名"
所指的那个文件的全部内容,在此命令行出现的这一点上,插入源程序
(B)指定标准输入输出
(C)宏定义一个函数
(D)条件编译说明
21.凡是未显式定义存储类别的局部变量,其默认的存储类别是(A)。
(A)自动的(B)静态的(C)外部的(D)寄存器的
22.以下程序的输出结果是(D)。
{inta[]={1,2,3,4},i,x=0;
for(i=0;
i<
4;
i++){fun(a,&
x);
printf("
\n"
);
fun(int*s,int*y)
{staticintt=3;
*y=s[t];
t--;
(A)1234(B)0000(C)4444(D)4321
23.以下程序的输出结果是(D)。
fun(intx)
{if(x/2>
0)fun(x/2-2);
%d"
{fun(20);
printf("
(A)2082-1(B)2820(C)8(D)-12820
24.函数func(inta){printf("
}的返回值类型是(A)。
(A)int类型(B)void类型
(C)没有返回值(D)无法确定
25.若用数组名作为函数调用的实参,则传递给形参的是(A)。
(A)数组的首地址(B)数组第一个元素的值
(C)数组中全部元素的值(D)数组元素的个数
二、填空题
1.以下递归函数是求n!
之值。
floatfac(intn)
{floatf;
if(n==0||n==1)
f=1;
else
f=n*fac(n-1);
return(f);
2.下面的函数用以验证命题:
100以内的奇数的平方被8整除,余数均为1,若命题成立,则返回1,否则返回0。
请填空完成该函数。
intfunc()
{inta,flag=1;
for(a=1;
a<
=100;
a+=2)
if(a*a%8==1)
{flag=0;
break;
}
return(flag);
3.下面函数mfc用于求取两个正整数的最大公因子,请填空完善函数。
intmcf(inta,intb)
{inttemp;
while(b)
{temp=a%b;
a=b;
b=temp;
returna;
4.函数strlength(s)是返回字符串s的长度。
请填空完善函数。
strlength(chars[])
{inti=0;
while(s[i]!
='
\0'
)i++;
return(i);
}
5.下面程序的功能是用递归的方法将一个整型数num的各为数字转换为对应的数字字符输出,请填空完善程序。
{voidconvert(intn);
intnum;
scanf("
&
num);
if(num<
0)
{putchar('
-'
num=-num;
convert(num);
voidconvert(intn)
{intj;
j=n/10;
if(j>
convert(j);
putchar(n);
6.下面程序的功能是统计字符串中大小写字母的个数,请填空完成程序。
#include<
#defineIA(x)①
{charstr[80],*s,ch;
intcount=0;
gets(str);
s=str;
while(*s)
{ch=*s++;
if(IA(ch))
count++;
thesumis%d\n"
count);
7.下面函数的功能是将一个正整数n的每位数分离出来,并将其求和。
请填空。
intpp(longn)
{intx;
if(n<
10)
x=n;
else
x=pp(n/10)+n%10;
return(x);
三、读程序写结果题
1.下面程序的输出结果是(9,19)。
#include<
intfunc(int,int);
{intk=4,m=1,p;
p=func(k,m);
%d,"
p);
intfunc(inta,intb)
{staticintm=1,n=2;
n+=m+1;
m=n+a+b;
returnm;
2.写出下面程序的运行结果(f=6。
intf(intnum,intrun)
{staticintfact,i;
if(run==0)
{fact=1;
i=1;
fact*=i;
if(++i<
=num)
f(num,1);
return(fact);
{inti=0;
printf("f=%d\n",f(3,0));
3.下列程序的运行结果是(123)。
{voidadd();
inti;
3;
i++)
add();
voidadd()
{staticintx=0;
x++;
printf(〞%d〞,x);
4.以下程序的运行结果是1
2
3
voidincrement()
{staticintx=0;
x=x+1;
printf("%d\n",x);
}
{increment();
increment();
5.下面程序的输出结果是(30)。
{intf(intn);
inti,k,s=0;
for(i=1;
=6;
i++)
{k=f(i);
if(k%6!
=0)
continue;
if(k>
100)
s=s+k;
printf(〞%d〞,s);
intf(intn)
{staticintf=1;
f=f*n;
returnf;
6.下列程序的输出结果是(-5,-12,-7)。
sub(intx,inty,int*z)
{*z=y-x;
main()
{inta,b,c;
sub(10,5,&
a);
sub(7,a,&
b);
sub(a,b,&
c);
printf("%4d,%4d,%4d\n",a,b,c);
7.下面程序的输出结果是(10,20,30)。
voidf1(intx,inty,int*sum)
{*sum=x+y;
++x,++y;
{inta=10,b=20,c=100;
void(*f)(intx,inty,int*sum);
f=f1;
(*f)(a,b,&
printf(〞%d,%d,%d\n〞,a,b,c);
8.下面程序执行时,如果输入字符序列ABCDE!
运行结果是(!
EDCBA)。
stdio.h>
{voidreverse();
reverse();
voidreverse()
{charc;
c=getchar();
if(c=='
!
'
)prinf(〞%c〞,c);
else
{reverse();
%c"
c);
9.下列程序的运行结果是(4321)。
voidfun(intx)
{putchar(′0′+x%10);
if(x/10)
fun(x/10);
{intm=1234;
fun(m);
putchar(′\n′);
10.下列程序的输出结果是(7)。
voidsub(int*a,intn,intk)
{if(k<
=n)
sub(a,n/2,2*k);
*a+=k;
{intx=0;
sub(&
x,8,1);
11.下面程序的输出结果是
(2)。
intm=13;
{intfun(intx,inty);
inta=7,b=5;
fun(a,b)/m);
intfun(intx,inty)
{intm=3;
returnx*y-m;
12.下面程序的输出结果是(17,7,7
17,8,11)。
intx=12,y=7;
voidmain()
{intx=18,z;
z=x-y++;
{inty,z;
while(y=x--)
{y/=3;
if(y%3==0)
{z=(++y);
%d,%d,%d\n"
x,y,z);
13.给出以下程序的运行结果(5,25)。
intx,y,a=15,b=10;
voidnum()
{x=a-b;
y=a+b;
{
inta=7,b=5;
x=x+a;
y=y-b;
num();
printf(〞%d,%d\n〞,x,y);
14.以下程序的运行结果(1,7,3
10,7,3
1,7,3
10,7,4
6,7,4)。
intx=1,y=2,z=3;
{intx=6;
y=5;
funca();
funca()
{registerintc=10;
intx;
y=7;
x=c;
funb();
funb();
funb()
{staticinta=2;
z=++a;
15.以下程序的运行结果(123456
33-2
2,5,1
123,456)。
inta=123;
{externa,b;
%d\t%d\n"
a,b);
{inta=3,b=2,c=l;
c-=++b;
b*=a+c;
%d\t%d\t%d\n"
a,b,c);
{intb=5,c=12;
c/=b*2;
a-=c;
a+=--c;
%d,%d\n"
intb=456;
16.以下程序的运行结果(j=2
S=10)。
externintj=1;
intsum(intx);
intk,s;
j++;
j=%d\n"
j);
for(k=1;
k<
=10;
k++)
s=sum(k);
s=%d\n"
s);
{intj=0;
j++;
intsum(intj)
x+=j;
return(x);
17.以下程序的运行结果(15,145)。
#defineMIN(x,y)(x)<
(y)?
(x):
(y)
#defineMUL(x,y)x*y
ints,t,k,m;
s=10;
t=15;
k=10*MIN(s,t);
m=MUL(s+t,s-t);
%d,%d"
k,m);
18.以下程序的运行结果(6)。
#defineFUN(x,y)x*y
{inta=2,b=3;
FUN(1+a,1+b));
四、编程题
1.函数delspace的功能是删除一个字符串中所有的空格。
例如,输入字符串为"
Thisisastring"
则输出结果为"
Thisisastring"
。
测试用主函数如下所示,请编制函数delspace。
string.h>
{char*delspace(char*str);
chars[81],*ds;
gets(s);
ds=delspace(s);
\nResult:
%s\n"
ds);
2.函数adddigit的原型为intadddigit(intnum);
,其功能是求num各位数字之和。
要求编制该函数并用相应的主函数进行测试。
3.实现判断一个正整数是否为素数的函数首部为intisprime(intx),当x是素数时函数返回1,否则返回0。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 263 同步自测C语言程序设计实验与习题指导 习题答案 同步 自测 语言程序设计 实验 习题 指导 答案
![提示](https://static.bdocx.com/images/bang_tan.gif)