国家开放大学C语言程序的设计A第三次形考任务和答案_第1页
国家开放大学C语言程序的设计A第三次形考任务和答案_第2页
国家开放大学C语言程序的设计A第三次形考任务和答案_第3页
国家开放大学C语言程序的设计A第三次形考任务和答案_第4页
国家开放大学C语言程序的设计A第三次形考任务和答案_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

/一、选择题〔共30分,每小题2分在下面的函数声明语句中,存在着语法错误的是〔

。a.AA<inta,intb>b.AA<int,int>c.AA<inta;intb>d.AA<inta,int>题目2在下面的保留字中,不能作为函数的返回值类型的是〔

。c.enumd.long题目3假定p是一个指向float型数据的指针,则p+1所指数据的地址比p所指数据的地址增加的字节数为<

>。a.1b.2c.4d.8题目4假定a为一个数组名,在下面的表达式中,存在语法错误的是<

>。a.a[i]b.*a++c.*ad.*<a+1>题目5用calloc函数创建具有10个整型元素的一维数组的正确语句是〔

。*p=calloc<10,2>;*p=calloc<10>;*p=calloc<10,4>;*p=malloc<10>题目6假定变量m定义为"intm=7;",则下面正确的语句为〔

。p=&m;*p=&m;&p=*m;*p=m;题目7假定k是一个double类型的变量,则定义变量p的正确语句为〔

。a.doublep=&k;*p=&k;c.double&p=*k;d.char*p="Thankyou!";题目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=&b[0];c.pb=b+2;d.pb=b[5];题目10已知"int*p=malloc<100>;",要释放p所指向的动态内存,正确的语句为〔

。a.free<p>;b.freep;c.free<*p>;d.free[p];题目11在程序的一个文件中定义的函数,若要在另一个文件中调用,则必须在这另一个文件中给出该函数的〔

。a.原型语句b.参数表c.函数名d.返回类型题目12假定一个函数定义为"staticintf1<intx,inty>{returnx+y;}",该函数名称为〔

。c.f1d.return题目13假定一个函数的原型语句为"intff<int*x>;",一个整型数组为a[10],则下面函数调用表达式不正确的是〔

。a.ff<a>b.ff<a[0]>c.ff<a+3>d.ff<&a[0]>题目14假定一个函数的数组参数说明为chara[],与之等价的指针参数说明为〔

。a.charab.char*ac.char&ad.char**a题目15假定一个函数的二维数组参数说明为charw[][N],与之等价的指针参数说明为〔

。a.char<*w>[N]b.char*w[N]c.char<*w>Nd.char**a二、判断题〔共30分,每小题2分。叙述正确则回答"是",否则回答"否"题目16在C语言中,一个函数由函数头和函数体组成。对错题目17在函数模块之外定义的变量称为全局变量,若没有被初始化则系统隐含对它赋初值0。对错题目18如果一个函数只允许同一程序文件中的函数调用,则不应在该函数定义的开始前加上保留字static。对错题目19如果在一个函数体中又出现对自身函数的调用,此种函数调用被称为递归调用。对错题目20调用系统函数时,要先使用#include命令包含该系统函数的原型语句所在的系统头文件。对题目21函数形参变量不属于局部变量。对错题目22假定p所指对象的值为25,p+1所指对象的值为46,则*p++的值为46。对错题目23假定p所指对象的值为25,p+1所指对象的值为46,则*++p的值为25。对错题目24假定p所指对象的值为25,p+1所指对象的值为46,则执行*<p++>运算后,p所指对象的值为46。对错题目25假定a是一个指针数组,则a+i所指对象的地址比a地址大4*i字节。对错题目26若要把一个整型指针p转换为字符指针,则采用的强制转换表达式为<char*>p。对错题目27假定一个数据对象为int*类型,则指向该对象的指针类型仍为int*类型。错题目28假定x为一个简单变量,则&x表示x的地址。对题目29若p指向x,则*p与x的值不同。错题目30NULL是一个符号常量,通常作为空指针值,它代表的值为0。对三、写出下列每个程序运行后的输出结果〔共20分,每小题4分题目31#include<stdio.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>;

}z=31题目32

#include<stdio.h>

#include<string.h>

voidfun<charss[]>;

voidmain<>{

chars[15]="0123456789";

fun<s>;

printf<"%s\n",s>;

}

voidfun<charss[]>{

inti,n=strlen<ss>;

for<i=0;i<n/2;i++>{

charc=ss[i];

ss[i]=ss[n-1-i];

ss[n-1-i]=c;

}

}9876543210题目33

#include<stdio.h>

intCount<inta[],intn,intx>

{

inti,c=0;

for<i=0;i<n;i++>

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>;

}b=4题目34#include<stdio.h>

voidmain<>{

inta[8]={3,5,7,9,2,3,4,8};

ints=0,*p;

for<p=a;p<a+8;>s+=*p++;

printf<"s=%d\n",s>;

}s=41题目35#include<stdio.h>

intLA<int*a,intn,intx>{

inti,s=0;

for<i=0;i<n;i++>

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>;

}1320四、写出下列每个函数的功能〔共20分,每小题4分题目36doubleSF<doublex,intn>{

//n为正整数

doublep=1,s=1;

inti;

for<i=1;i<=n;i++>{

p*=x;

s+=p;

}

returns;

}函数功能为:计算x+x2+x3+……+xn的值并返回。题目37intSG<intx>{

//x为大于等于2的整数

inti=2;

while<i*i<=x>{

if<x%i==0>break;

i++;

}

if<i*i<=x>return0;elsereturn1;

}函数功能为:判断一个整数是否是质数〔素数,若是则返回1,否则返回0。题目38intWB<inta[],intn,intx>{

for<inti=0;i<n;i++>

if<a[i]==x>return1;

return0;

}从数组a[n]中顺序查找值为x的元素,若查找成功则返回1,否则返回0。题目39intfun<intm,intn>{

intc=0;

staticintb=2;

if<m<b||n<b>returnm*n;

elseif<m%b==0&&n%b==0>{c=b;returnc*fun<m/b,n/b>;}

else{b++;returnfun<m,n>;}

}函数功能为:一个递归函数过程,求出两个自然数m和n的最小公倍数。题目40intL

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论