77范文网 - 专业文章范例文档资料分享平台

历年二级C语言笔试真题及答案(17)

来源:网络收集 时间:2021-02-21 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

历年二级C语言笔试真题及答案

A)scanf(“%s”,s[0].name); B)

scanf(“%d”,&s[0].age); C)

scanf(“%c”,&(ps>sex)); D)

scanf(“%d”,ps>age);

(46)若有以下定义和语句

union data{ int i; char c; float f;x; int y;} 则以下语句正确的是________。

A)x=10.5; B)x.c=101; C)y=x; D)printf(“%d\n”,x);

47)程序中已构成如下图所示的不带头结点的单向链表结构,指针变量s、p、q均已正确定义,并用于指向链表结点,指针变量s总是作为头指针指向链表的第一个结点。

data next

a

b

c NULL 若有以下程序段

q=s; s=s>next; p=s;

while(p->next) p=p->next;

p->next=q; q->next=NULL;该程序段实

现的功能是________。

A)首结点成为尾结点B)尾结点成为首结点C)删除首结点D)删除尾结点(48)若变量已正确定义,则以下语句的输出结果是________。

s=32; s^=32;printf(“%d”,s);A)-1 B)0 C)1 D)32

(49)以下叙述中正确的是________。A)C语言中的文件是流式文件,因此只能顺序存取数据

B)打开一个已存在的文件并进行了写操作后,原有文件中的全部数据必定被覆盖C)在一个程序中当对文件进行了写操作后,必须先关闭该文件然后再打开,才能读到第1个数据

D)当对文件的读(写)操作完成之后,必须将它关闭,否则可能导致数据丢失(50)有以下程序

#include <stdio.h>

main()

{FILE *fp; int i; char ch[]=”abcd”,t;

fp=fopen(“abc.dat”,”wb+”);

for(i=0;i<4;i++)fwriter&ch[],1,1fp; fseek(fp,-2L,SEEK_END);

fread(&t,1,1,fp);

fclose(fp);

printf(“%c\n”,t); }程序执行后的输出结果是________。A)d B)c C)b D)a 二、填空题(每空2分,共40分)

********(1)下列软件系统结构图的宽度为【1】。

(2)【2】的任务是诊断和改正程序中的错误。

(3)一个关系表的行称为【3】。(4)按“先进后出”原则组织数据的数据结构是【4】。

(5)数据结构分为线性结构和非线性结构,带链的队列属于【5】。

(6)设有定义:float x=123.4567;,则执行以下语句后的输出结果是【6】。printf("%f\n",(int)(x*100+0.5)/100.0); (7)以下程序运行后的输出结果是【7】。main()

{ int

m=011,n=11;printf("%d %d\n",++m,n+

+);}

(8)以下程序运行后的输出结果是

【8】。

main()

{ int x,a=1,b=2,c=3,d=4;

x=(a<b)?a:b; x=(x<c)?x:c;

x=(d>x)?x:d; printf("%d\n",x);}

9)有以下程序,若运行时从键盘输入:

18,11<回车>,则程序输出结果是【9】。

main()

{ int a,b; printf("Enter

a,b:");scanf("%d,%d",&a,&b);

while(a!=b)

{ while(a>b) a-=b; while(b>a)

b-=a; }

printf("%3d%3d\n",a,b); ynexa

m.cn[云南考试网] }

(10)以下程序的功能是:将输入的正整

数按逆序输出。例如,若输入135,则输

出531。请填空。

#include <stdio.h>

main()

{int n,s;printf("Enter a number:");

scanf("%d",&n); printf("Output: ");

do

{ s=n%10; printf("%d",s); 【10】;}

while(n!=0); printf("\n"); }

11)以下程序中,函数fun的功能是计算

x2-2x+6,主函数中将调用fun函数计算:

y1=(x+8)2-2(x+8)+6

y2=sin2(x)-2sin(x)+6

请填空。

#include "math.h"

double fun(double x)

{ return(x*x-2*x+6); }

main()

{ double x,y1,y2; printf("Enter x:");

scanf("%lf",&x);

y1=fun( 【11】); y2=fun( 【12】);

printf("y1=%lf,y2=%lf\n",y1,y2); }

(12)下面程序的功能是:将N行N列

二维数组中每一行的元素进行排列,第0

行从小到大排序,第1行从大到小排

序,第2行从小到大排序,第3行从大到

小排序。例如:

#define N 4

Void sort (int a[][N])

{int i,j,k,t;

for (i=0;i<N;i++)

for(j=0;j<N-1;j++)

for(k=【13】;k<N;k++) /*判断下标是否

为偶数来确定按升序或降序来排列*/

if(【14】?a[j]<a[j][k]:a[j]>a[k])

{t=a[j] a[j]=a[k];

a[k]=t; } }

void outarr(int a[N][N])

{...........}

main()

{int

aa[N][N]={{2,3,4,1}{8,6,5,7}{11,12,10,9}{

15,14,16,13}};

outarr(aa);/*以矩阵的形式输出二维数组

*/

sort(aa);outarr(aa);}

(13)下列程序中的函数strcpy2()实现字

符串两次复制,即将t所指字符串复制两

次到s所指内存空间中,合并形成

一个新的字符串。例如,若t所指字符串

为efgh,调用strcpy2后,s所指字符串

为efghefgh。请填空。

#include <stdio.h>

#include <string.h>

void strcpy2(char *s,char *t)

{ char *p=t;

while(*s++=*t++);

s= 【15】;

while( 【16】=*p++);}

main()

{ char str1[100]="abcd",str2[]="efgh";

strcpy2(str1 ,str2); printf("%s\n",str1);}

(14)下面程序的运行结果是【17】。

#include <stdio.h>

int f(int a[],int n)

{if(n>1)

return a[0]+f(a+1,n-1);

else return a[0];}

main()

{int aa[10]={1,2,3,4,5,6,7,8,9,10},s;

s=f(aa+2,4); printf("%d\n",s);}

(15)下面程序由两个源文件t4.h和t4.c

组成,程序编译运行的结果是【18】。

t4.h的源程序为:

#define N 10

#define f2(x) (x*N)

t4.c的源程序为:

#include <stdio.h>#define M 8

#define f(x) ((x)*M)

#include "t4.h"

main()

{int i,j; i=f(1+1); j=f2(1+1);

printf("%d%d\n",i,j); }

(16)下面程序的功能是建立一个有3个

节点的单向循环链表,然后求各个节点数

值域data中数据的和请填空。

#include <stdio.h>

#include <stdlib.h>

struct NODE{ int data;

struct NODE *next; };

main()

{struct NODE *p,*q,*r; int

sum=0;p=(struct

NODE*)malloc(sizeof(struct NODE));

q=(struct NODE*)malloc(sizeof(struct

NODE)); r=(struct

NODE*)malloc(sizeof(struct NODE));

p->data=100; q->data=200;

r->data=200;

p->data=q; q->data=r;

r->data=p;

m=p->data+p->next->data+r->next->dat

a 【19】;

printf("%d\n",sum); }

(17)有以下程序,其功能是:以二进制

“写”方式打开文件d1.dat,写入1~100

这100个整数后关闭文件。再以二进制

17

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说教育文库历年二级C语言笔试真题及答案(17)在线全文阅读。

历年二级C语言笔试真题及答案(17).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/jiaoyu/1189459.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: