奥鹏作业答案 - 分忧网!奥鹏作业答案,奥鹏在线作业答案,奥鹏作业答案及毕业论文分忧

电大作业答案,国开在线作业答案,国开在线考核_分忧网

当前位置: 主页 > 电大作业 >

C语言程序设计 形考任务3

时间:2024-12-23 11:39来源:未知 作者:admin 点击:
一、选择题(共30分,每小题2分) 1.(单选题)在下面的函数声明语句中,存在着语法错误的是()。 A.AA(int a, int b) B.AA(int, int) C.AA(int a; int b) D.AA(int a, int) 正确答案:C.AA(int a; int b) 2.(单选题)在下面的保留字中,不能作为函数的返回值类
一、选择题(共30分,每小题2分)
1.(单选题)在下面的函数声明语句中,存在着语法错误的是()。
A.AA(int a, int b)
B.AA(int, int)
C.AA(int a; int b)
D.AA(int a, int)
正确


2.(单选题)在下面的保留字中,不能作为函数的返回值类型的是()。
A.void
B.int
C.enum
D.long
正确


3.(单选题)假定p是一个指向float型数据的指针,则p+1所指数据的地址比p所指数据的地址增加的字节数为()。
A.1
B.2
C.4
D.8
正确


4.(单选题)假定a为一个数组名,在下面的表达式中,存在语法错误的是()。
A.a[i]
B.*a++
C.*a
D.*(a+1)
正确


5.(单选题)用calloc函数创建具有10个整型元素的一维数组的正确语句是()。
A.int *p=calloc(10,2);
B.int *p=calloc(10);
C.int *p=calloc(10,4);
D.int *p=malloc(10)
正确


6.(单选题)假定变量m定义为“intm=7;”,则下面正确的语句为()。
A.int p=
B.int *p=
C.int
D.int *p=m;
正确


7.(单选题)假定k是一个double类型的变量,则定义变量p的正确语句为()。
A.double p=
B.int *p=
C.double
D.char *p="Thank you!";
正确


8.(单选题)若有语句为“inta[10],x,*pa=a;”,要把数组a中下标为3的元素值赋给x,则不正确的语句为()。
A.x=pa[3];
B.x=*(a+3);
C.x=a[3];
D.x=*pa+3;
正确


9.(单选题)假定有语句为“intb[10];int*pb;”,则下面不正确的赋值语句为()。
A.pb=b;
B.pb=
C.pb=b+2;
D.pb=b[5];
正确


10.(单选题)已知“int*p=malloc(100);”,要释放p所指向的动态内存,正确的语句为()。
A.free(p);
B.free p;
C.free(*p);
D.free[p];
正确


11.(单选题)在程序的一个文件中定义的函数,若要在另一个文件中调用,则必须在这另一个文件中给出该函数的()。
A.原型语句
B.参数表
C.函数名
D.返回类型
正确


12.(单选题)假定一个函数定义为“staticintf1(intx,inty){returnx+y;}”,该函数名称为()。
A.static
B.int
C.f1
D.return
正确


13.(单选题)假定一个函数的原型语句为“intff(int*x);”,一个整型数组为a[10],则下面函数调用表达式不正确的是()。
A.ff(a)
B.ff(a[0])
C.ff(a+3)
D.ff(a[0])
正确


14.(单选题)假定一个函数的数组参数说明为chara[],与之等价的指针参数说明为()。1B
A.char a
B.char* a
C.char a
D.char**a
正确


15.(单选题)假定一个函数的二维数组参数说明为charw[][N],与之等价的指针参数说明为()。
A.char (*w)[N]
B.char *w[N]
C.char (*w)N
D.char**a
正确


二、判断题(共30分,每小题2分。叙述正确则回答“是”,否则回答“否”)
16.(对错题)在C语言中,一个函数由函数头和函数体组成。
A.对
B.错
正确


17.(对错题)在函数模块之外定义的变量称为全局变量,若没有被初始化则系统隐含对它赋初值0。
A.对
B.错
正确


18.(对错题)如果一个函数只允许同一程序文件中的函数调用,则不应在该函数定义的开始前加上保留字static。
A.对
B.错
正确


19.(对错题)如果在一个函数体中又出现对自身函数的调用,此种函数调用被称为递归调用。
A.对
B.错
正确


20.(对错题)调用系统函数时,要先使用#include命令包含该系统函数的原型语句所在的系统头文件。
A.对
B.错
正确


21.(对错题)函数形参变量不属于局部变量。
A.对
B.错
正确


22.(对错题)假定p所指对象的值为25,p+1所指对象的值为46,则*p++的值为46。
A.对
B.错
正确


23.(对错题)假定p所指对象的值为25,p+1所指对象的值为46,则*++p的值为25。
A.对
B.错
正确


24.(对错题)假定p所指对象的值为25,p+1所指对象的值为46,则执行*(p++)运算后,p所指对象的值为46。
A.对
B.错
正确


25.(对错题)假定a是一个指针数组,则a+i所指对象的地址比a地址大4*i字节。
A.对
B.错
正确


26.(对错题)若要把一个整型指针p转换为字符指针,则采用的强制转换表达式为(char*)p。
A.对
B.错
正确


27.(对错题)假定一个数据对象为int*类型,则指向该对象的指针类型仍为int*类型。
A.对
B.错
正确


28.(对错题)假定x为一个简单变量,则x表示x的地址。
A.对
B.错
正确


29.(对错题)若p指向x,则*p与x的值不同。
A.对
B.错
正确


30.(对错题)NULL是一个符号常量,通常作为空指针值,它代表的值为0。
A.对
B.错
正确


三、写出下列每个程序运行后的输出结果(共20分,每小题4分)
31.(简答题)#includestdio.h
intWF(intx,inty){
x=x+y;
y=x+y;
returnx+y;
}
voidmain(){
intx=5,y=7;
intz=WF(x,y);
printf("z=%d\n",z);
}
正确


32.(简答题)#includestdio.h
#includestring.h
voidfun(charss[]);
voidmain(){
chars[15]="0123456789";
fun(s);
printf("%s\n",s);
}
voidfun(charss[]){
inti,n=strlen(ss);
for(i=0;ii++){
charc=ss[i];
ss[i]=ss[n-1-i];
ss[n-1-i]=c;
}
}
正确


33.(简答题)#includestdio.hintCount(inta[],intn,intx){inti,c=0;for(i=0;ii++)if(a[i]x)c++;returnc;}voidmain(){inta[8]={20,15,32,47,24,36,28,70};intb=Count(a,8,30);printf("b=%d\n",b);}
正确


34.(简答题)#includestdio.h
voidmain(){
inta[8]={3,5,7,9,2,3,4,8};
ints=0,*p;
for(p=a;p)s+=*p++;
printf("s=%d\n",s);
}
正确


35.(简答题)#includestdio.h
intLA(int*a,intn,intx){
inti,s=0;
for(i=0;ii++)
if(a[i]x)s+=a[i];
returns;
}
voidmain(){
inta[8]={5,10,15,8,12,3,9,20};
intb=LA(a,5,10);
intc=LA(a+2,6,10);
printf("%d%d\n",b,c);
}
正确


四、写出下列每个函数的功能(共20分,每小题4分)
36.(简答题)doubleSF(doublex,intn){//n为正整数
doublep=1,s=1;
inti;
for(i=1;ii++){
p*=x;
s+=p;
}
returns;
}
正确答案

37.(简答题)intSG(intx){//x为大于等于2的整数
inti=2;
while(i*i=x){
if(x%i==0)break;
i++;
}
if(i*i=x)return0;elsereturn1;
}
正确答案

38.(简答题)intWB(inta[],intn,intx){
for(inti=0;ii++)
if(a[i]==x)return1;
return0;
}
正确答案

39.(简答题)intfun(intm,intn){
intc=0;
staticintb=2;
if(mb||nb)returnm*n;
elseif(m%b==0n%b==0){c=b;returnc*fun(m/b,n/b);}
else{b++;returnfun(m,n);}
}
正确答案

40.(简答题)intLK(doublea[],intn){
doubles=0;
inti,m=0;
for(i=0;ii++)s+=a[i];
s/=n;
for(i=0;ii++)
if(a[i]=s)m++;
returnm;
}
正确答案

(责任编辑:admin)有不懂可以加客服微信:vq800020900 咨询
------分隔线----------------------------
猜您喜欢
栏目导航
推荐内容
热点内容

要做作业扫码我

微信扫码客服

提示信息×