c语言程序设计形考 国家开放大学电大《C语言程序设计》网络课形考网考作业及答案.docx

上传人:b****4 文档编号:12145751 上传时间:2023-04-17 格式:DOCX 页数:13 大小:20.59KB
下载 相关 举报
c语言程序设计形考 国家开放大学电大《C语言程序设计》网络课形考网考作业及答案.docx_第1页
第1页 / 共13页
c语言程序设计形考 国家开放大学电大《C语言程序设计》网络课形考网考作业及答案.docx_第2页
第2页 / 共13页
c语言程序设计形考 国家开放大学电大《C语言程序设计》网络课形考网考作业及答案.docx_第3页
第3页 / 共13页
c语言程序设计形考 国家开放大学电大《C语言程序设计》网络课形考网考作业及答案.docx_第4页
第4页 / 共13页
c语言程序设计形考 国家开放大学电大《C语言程序设计》网络课形考网考作业及答案.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

c语言程序设计形考 国家开放大学电大《C语言程序设计》网络课形考网考作业及答案.docx

《c语言程序设计形考 国家开放大学电大《C语言程序设计》网络课形考网考作业及答案.docx》由会员分享,可在线阅读,更多相关《c语言程序设计形考 国家开放大学电大《C语言程序设计》网络课形考网考作业及答案.docx(13页珍藏版)》请在冰豆网上搜索。

c语言程序设计形考 国家开放大学电大《C语言程序设计》网络课形考网考作业及答案.docx

c语言程序设计形考国家开放大学电大《C语言程序设计》网络课形考网考作业及答案

c语言程序设计形考国家开放大学电大《C语言程序设计》网络课形考网考作业及答案

国家开放大学电大《C语言程序设计》网络课形考网考作业及答案100%通过考试说明:

20__年秋期电大把该网络课纳入到“国开平台”进行考核,该课程共有4个形考任务,针对该门课程,本人汇总了该科所有的题,形成一个完整的标准题库,并且以后会不断更新,对考生的复习、作业和考试起着非常重要的作用,会给您节省大量的时间。

做考题时,利用本文档中的查找工具,把考题中的关键字输到查找工具的查找内容框内,就可迅速查找到该题答案。

本文库还有其他网核及教学考一体化答案,敬请查看。

​课程总成绩=形成性考核×50%+终结性考试×50%形考任务1一、选择题(共40分,每小题2分)题目1在每个C语言程序中都必须包含有这样一个函数,该函数的函数名为(  )。

选择一项:

A.main恭喜你,答对啦!

B.MAINC.nameD.function题目2C语言源程序文件的缺省扩展名为(  )。

选择一项:

A.cppB.exeC.objD.c题目3由C语言目标文件连接而成的可执行文件的缺省扩展名为(  )。

选择一项:

A.cppB.exeC.objD.c题目4程序运行中需要从键盘上输入多于一个数据时,各数据之间应使用的分隔符为(  )。

选择一项:

A.空格或逗号B.逗号或回车C.逗号或分号D.空格或回车题目5每个C语言程序文件的编译错误被分为(  )。

选择一项:

A.1类B.2类C.3类D.4类题目6不符合C语言规定的复合语句是(  )。

选择一项:

A.{}B.{;}C.{x=0;}D.{y=10}题目7C语言程序中的基本功能模块为(  )。

选择一项:

A.表达式B.标识符C.语句D.函数题目8在一个函数定义中,函数头包括的3个部分依次为函数类型、函数名和(  )。

选择一项:

A.表达式B.语句C.参数表D.函数体题目9在一个程序文件中,若要使用#include命令包含一个用户定义的头文件,则此头文件所使用的起止定界符为一对(  )。

选择一项:

A.尖括号B.双引号C.单引号D.花括号题目10在C语言程序中,多行注释语句使用的开始标记符为(  )。

选择一项:

A.//B./*C.*/D.**题目11在printfm=a[i][j];printf;}答:

12四、简答题:

根据下列每个题目要求编写程序(共20分,每小题4分)题目41编写一个函数,函数头格式为“doubleMean(doublea[M][N],intm,intn)”,要求返回二维数组a[m][n]中所有元素的平均值,假定在计算过程中采用变量v存放平均值。

doubleMean(doublea[M][N],intm,intn){inti,j;doublev=0.0;for(i=0;i

doubleMean(doublea[M][N],intm,intn){inti,j;doublev=0.0;for(i=0;i

intFF(inta[],intn){if(n==1)returna[0];elsereturnFF(a,n-1)*a[n-1];}答:

intFF(inta[],intn){if(n==1)returna[n-1];elsereturna[n-1]*FF(a,n-1);}题目43编写一个主函数,利用while循环,求出并显示满足不等式的最小n值。

#includevoidmain(){inti=0,s=0;while(s<=1000){i++;s+=i*i;}printf(“满足不等式的最小n值是:

%d\n“,i);}答:

#includevoidmain(){inti=0;doubles=0;//或inti=1;doubles=1;while(s<5)s+=(double)1/++i;printf(“n=%d\n“,i);}题目44编写一个主函数,求出满足不等式22+42+...+n2<1000的最大n值,假定分别用i和s作为取偶数值和累加值的变量,并限定使用do循环编程。

#includevoidmain(){inti=0,s=0;do{i+=2;s+=i*i;}while(s<1000);printf(“满足不等式的最大n值是:

%d\n“,i-2);}答:

#includevoidmain(){inti=0;//用i作为依次取值偶数的变量ints=0;//用s作为累加变量do{i+=2;s+=i*i;}while(s<1000);printf(“n=%d\n“,i-2);}题目45编写一个主函数,计算并输出12+22+...+n2值,其中n值由键盘输入。

#includevoidmain(){inti,n,s=0;printf(“请输入一个整数n:

“);scanf(“%d“,&n);for(i=1;i<=n;i++)s+=i*i;printf(“s=%d\n“,s);}答:

#includevoidmain(){inti;//用i作为计数(循环)变量ints=0;//用s作为累加变量intn;printf(“输入一个自然数:

“);scanf(“%d“,&n);for(i=1;i<=n;i++)s+=i*i;printf(“s=%d\n“,s);}形考任务3一、选择题(共30分,每小题2分)题目1在下面的函数声明语句中,存在着语法错误的是()。

选择一项:

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

选择一项:

a.voidb.intc.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个整型元素的一维数组的正确语句是()。

选择一项:

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.intp=&m;b.int*p=&m;c.int&p=*m;d.int*p=m;题目7假定k是一个double类型的变量,则定义变量p的正确语句为()。

选择一项:

a.doublep=&k;b.int*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;}”,该函数名称为()。

选择一项:

a.staticb.intc.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[],与之等价的指针参数说明为()。

1B选择一项:

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#includeintWF(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#includevoidfun(charss[]);voidmain(){chars[15]=“0123456789“;fun(s);printf(“%s\n“,s);}voidfun(charss[]){inti,n=strlen(ss);for(i=0;i

987543210题目33#includeintCount(inta[],intn,intx){inti,c=0;for(i=0;ix)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#includevoidmain(){inta[8]={3,5,7,9,2,3,4,8};ints=0,*p;for(p=a;p

s=41题目35#includeintLA(int*a,intn,intx){inti,s=0;for(i=0;i

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

计算出1+x+x2+...+xn的值并返回。

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

判断x是否为一个质数(素数),若是则返回1,否则返回0。

题目38intWB(inta[],intn,intx){for(inti=0;i

从数组a[n]中顺序查找值为x的元素,若查找成功则返回1,否则返回0。

题目39intfun(intm,intn){intc=0;staticintb=2;if(m

一个递归函数过程,求出两个自然数m和n的最小公倍数。

题目40intLK(doublea[],intn){doubles=0;inti,m=0;for(i=0;i=s)m++;returnm;}答:

求出并返回数组a的n个元素中大于等于平均值的元素个数。

形考任务4一、选择题(共30分,每小题2分)题目1假定有“structBOOK{chartitle[40];floatprice;};structBOOKbook;”,则不正确的语句为()。

选择一项:

a.structBOOK*x=malloc(book);b.structBOOKx={“C++Programming“,27.0};c.structBOOK*x=malloc(sizeof(structBOOK));d.structBOOK*x=&book;题目2假定有“structBOOK{chartitle[40];floatprice;}book;”,则正确的语句为()。

选择一项:

a.structBOOKx=&book;b.structBOOK*x=&book;c.structBOOKx=calloc(BOOK);d.structBOOK*x=BOOK;题目3在结构类型的定义中,不同数据成员的定义项之间采用的分隔符是()。

选择一项:

a.句点b.冒号c.分号d.逗号题目4假定一个结构类型的定义为“structA{inta,b;doublec;};”,则该类型的长度为()。

选择一项:

a.8b.10c.12d.16题目5假定一个结构类型的定义为“structD{inta;D*next;};”,则该类型的长度为()。

选择一项:

a.4b.8c.12d.16反馈Youransweriscorrect.题目6假定要访问一个结构指针变量x中的数据成员a,则表示方法为()。

选择一项:

a.x.ab.x->ac.x(a)d.x{a}题目7与结构成员访问表达式x.name等价的表达式为()。

选择一项:

a.x->nameb.&x->namec.(&x)->named.(*x)->name题目8假定一个链表中结点的结构类型为“structAA{intdata,structAA*next;};”,则next数据成员的类型为()。

选择一项:

a.structAAb.structAA*c.AAd.int题目9假定一个链表的表头指针为f,结点中包含有data和next域,则向该链表的表头插入一个地址为p的结点时,应执行的操作为()。

选择一项:

a.p->next=fb.p->next=f和f=pc.f=p->nextd.f->next=p和f=p题目10标准输入设备键盘的文件流标识符是()。

选择一项:

a.stdinb.stdoutc.stderrd.stdio题目11表示文件结束符的符号常量为()。

选择一项:

a.eofb.Eofc.EOFd.feof题目12C语言中打开一个数据文件的系统函数为()。

选择一项:

a.fgetc()b.fputc()c.fclose()d.fopen()题目13从一个数据文件中读入以换行符结束的一行字符串的系统函数为()。

选择一项:

a.gets()b.fgets()c.getc()d.fgetc()题目14向一个二进制文件中写入信息的函数fwrite()带有的参数个数为()。

选择一项:

a.1b.2c.3d.4题目15在C语言中,为只写操作打开一个文本文件的方式为()。

选择一项:

a.“a“b.“r+“c.“r“d.“w“二、判断题(共40分,每小题2分。

叙述正确则回答“是”,否则回答“否”)题目16在结构类型的定义中,其中的数据成员可以是本身类型的直接对象。

选择一项:

对错题目17在结构类型的定义中,允许出现结构类型不完整的超前定义。

选择一项:

对错题目18定义结构类型的变量时,不能够同时进行初始化。

选择一项:

对错题目19使用一个结构类型时,必须一起使用关键字struct和类型标识符。

选择一项:

对错题目20假定一个结构类型的定义为“structA{inta,b;A*c;};”,则该类型的长度为12。

选择一项:

对错题目21假定一个结构类型的定义为“structB{inta[5];char*b;};”,则该类型的长度为20。

选择一项:

对错题目22执行calloc(n,8)函数调用时,将动态分配得到8*n个字节的存储空间。

选择一项:

对错题目23执行malloc(sizeof(structBB))函数调用时,得到的动态存储空间能够保存具有structBB结构类型的一个对象。

选择一项:

对错题目24假定要访问一个结构对象x中的由a指针成员所指向的对象,则表示方法为x.a。

选择一项:

对错题目25假定要访问一个结构指针p所指对象中的b指针成员所指的对象,则表示方法为p->b。

选择一项:

对错题目26与结构成员访问表达式(*fp).score等价的表达式是fp->score。

选择一项:

对错题目27在C语言中,对二进制文件的所有不同打开方式共有6种。

选择一项:

对错题目28C语言中的标准输入和输出设备文件都属于字符文件。

选择一项:

对错题目29在一个磁盘数据文件的文件名中,文件主名和扩展名都是必须的,不可省略。

选择一项:

对错题目30在数据文件打开方式字符串中,字符r、w和a具有确定的含义,分别代表读、写和追加方式。

选择一项:

对错题目31一个磁盘数据文件的文件名由文件主名和扩展名所组成,其中间用圆点分开。

选择一项:

对错题目32C语言系统中提供一个用来描述文件属性的类型标识符为FILE。

选择一项:

对错题目33每次只能向文本文件中写入一个字符,不能一次写入一个字符串。

选择一项:

对错题目34对二进制文件进行读和写操作将使用相同的系统函数。

选择一项:

对错题目35在C语言中,系统函数fseek()用来移动数据文件中的文件位置指针。

选择一项:

对错三、写出下列每个程序运行后的输出结果(共15分,每小题5分)题目36#includestructWorker{charname[15];//姓名intage;//年龄floatpay;//工资};voidmain(){struct

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 工程科技 > 能源化工

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1