云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > 2009年9月全国计算机等级考试二级笔试试卷

2009年9月全国计算机等级考试二级笔试试卷

  • 62 次阅读
  • 3 次下载
  • 2025/5/1 23:44:11

{int i;

for(i=1;i<=40;i++) {if(i++%5=0)

if (++i%8=0) printf(\

printf(\执行后的输出结果是________。 A)5 B)24 C)32 D)40

(24)以下选项中,值为1的表达式________。 A)1-\)1-\ C)\)\(25)有以下程序

fun(int x,int y){return(x+y);} main()

{int a=1,b=2,c=3,sum; sum=fun((a++,b++b,a+b),c++); printf(\执行后的输出结果是________。

A)6 B)7 C)8 D)9 (26)有以下程序 main()

{ char s[ ]= \,s[0]); }

执行后的结果是________。 A)输出字符a的ASCII码 B)输出字符c的ASCII码 C)输出字符c D)程序出错

(27)有以下程序 fun(int x,int y)

{static int m=0,i=2; i+=m+1;m=i+x+y; return m; } main()

{int j=1,m=I,k;

k=fun(j,m); printf(\ k=fun(j,m); printf(\执行后的输出结果是________。 A)5,5 B)5,11 C)11,11 D)11,5 (28)有以下程序fun(int x) {int p;

if(x==0║x= =1) return(3); p=x-fun(x=2); retum p; }main()

{ prinf(\执行后的输出结果是________。A)7 B)3 C)3 D)0

(29)在16位编译系统上,右有定义int a[ ]={10,20,30},*p=&a;,当执行p++;后,下列说法错误的是________。

A)p向高地址移了一个字节 B)p抽高地址移了一个存储单元C)p向高地址移了两个字节 D)p与a+1等价

(30)有以下程序 main()

{int a=1,b=3,c=5;

int *p1=&a,*p2=&b,*p=&c; *p=*p1*(*p2); printf(\ }执行后的输出结果是 A)1 B)2 C)3 D)4

(31)若有定义:int w[3][5];,则以下不能正确表示该数组元素的表达式是________。 A)*(*w+3) B)*(w+1)[4] C)*(*(w+1)) D)*(&w[0][0]+1)

(32)若有以下函数首部int fun(double x[10],int *n) 则下面针对此函数声母语句中正确的是________。 A)int fun(double x,int *n); B)int fun(double ,int);C)int fun(double*x,int n); D)int fun(double *,int*); (33)若有定义语句:int k[2][3],*pk[3];,则以下语句中正确的是________。 A)pk=k; B)pk[0]=&k[1][2]; C)pk=k[0]; D)pk[1]=k; (34)有以下程序

void change(int k[ ]){k[0]=k[5];} main()

{int x[10]={1,2,3,4,5,6,7,8,9,10},n=0;

while(n<=4) {change(&x[n]);n++;} for(n=0;n<5;n++) printf(\ } 程序运行后输出的结果是________。A)678910 B)13579 C)12345 D)62345 (35)若要求定义具有10个int型元素的一维数组a,则以下定义语句中错误的是 A)#define N 10 Int a[N] B)#define n 5 Int a[2*n] C)int a[5+5] D)int n=10,a[n] (36)有以下程序

main() {int x[3][2]={0},I;

for(I=0;I<3;I++) scanf(\ printf(\若运行时输入:246<回车>,则输出结果为________。A)2 0 0 B)2 0 4 C)2 4 0 D)2 4 6 (37)有以下程序 main()

{char s[ ]={ \

ps=s; printf(\程序运行后的输出结果是________。 A)a B)e C)u D)元素s[4]的地址

(38)以下语句中存在语法错误的是________。 A)char ss[6][20];ss[1]= \ B)char ss[][20]={ \)char *ss[6];ss[1]= \ D)char *ss[]={\(39)若有定义:char *x= “abcdefghi”;,以下选项中正确运用了strepy函数的是________。 A)char y[10]; strcpy(y,x[4]); B)char y[10]; strcpy(++y,&x[1]);

C)char y[10],*s; strcpy(s=y+5,x);D)char y[10],*s; strcpy(s=y+1,x+1); (40)有以下程序

int add(int a,int b){return+b};} main()

{int k,(*f)(),a=5,b=10; f=add;

… }则以下函数调用语句错误的是________。A)k=(*f)(a,b); B)k=add(a,b);C)k=*f(a,b); D)k=f(a,b); (41)有以下程序#include main(int argc,char *argv[]) {int i=1,n=0;

while(i

printf(“%d\\n”,n); }该程序生成的可执行文件名为:proc.exe。若运行时输入命令行: proc 123 45 67 则程序的输出结果是________。A)3 B)5 C)7 D)11 (42)有以下程序

void fun2(char a, char b){printi(“%b%c”,a,b);} char a= ?A?,b= ?B?;

void fun1( ){ a= ?C?l b= ?D?; } main( ) { fun1( )

printf( “%c%c”,a,b);fun2(?E?, ?F?); } 程序的运行结果是________。A)CDEF B)ABEF C)ABCD D)CDAB

(43)有以下程序 #include #define N 5 #define M N+1 #define f(x) (x*M) main()

{int i1,i2; i1=f(2); i2=f(1+1); printf(“%d %d\\n”,i1,i2); } 程序的运行结果是________。 A)12 12 B)11 7 C)11 11 D)12 7

(44)设有以下语句 typedef struct TT{char c; int a[4];}CIN; 则下面叙述中正确的是________。 A)可以用TT定义结构体变量 B)TT是struct类型的变量C)可以用CIN定义结构体变量 D)CIN是struct TT类型的变量

(45)有以下结构体说明、变量定义和赋值语句 struct STD {char name[10]; int age; char sex;

}s[5],*ps; ps=&s[0];} 则以下scanf函数调用语句中错误引用结构体变量成员的是________。 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 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(\

(7)以下程序运行后的输出结果是 【7】 。 main()

{ int m=011,n=11;printf(\ %d\\n\(8)以下程序运行后的输出结果是 【8】 。 main()

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

x=(ax)?x:d; printf(\

9)有以下程序,若运行时从键盘输入:18,11<回车>,则程序输出结果是 【9】 。 main()

{ int a,b; printf(\ while(a!=b)

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

printf(\ynexam.cn[云南考试网] }

(10)以下程序的功能是:将输入的正整数按逆序输出。例如,若输入135,则输出531。请填空。 #include main()

{int n,s;printf(\ scanf(\ do

{ s=n; printf(\ 【10】 ;} while(n!=0); printf(\ }

11)以下程序中,函数fun的功能是计算x2-2x+6,主函数中将调用fun函数计算: y1=(x+8)2-2(x+8)+6 y2=sin2(x)-2sin(x)+6 请填空。

#include \

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

{ double x,y1,y2; printf(\ scanf(\ y1=fun( 【11】 ); y2=fun( 【12】 ); printf(\

(12)下面程序的功能是:将N行N列二维数组中每一行的元素进行排列,第0行从小到大排序,第1

行从大到小排

序,第2行从小到大排序,第3行从大到小排序。例如: #define N 4 Void sort (int a[][N])

{int i,j,k,t;

for (i=0;i

for(k=【13】;ka[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 #include

void strcpy2(char *s,char *t) { char *p=t;

while(*s++=*t++); s= 【15】 ;

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

{ char str1[100]=\ strcpy2(str1 ,str2); printf(\(14)下面程序的运行结果是 【17】 。 #include 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(\

(15)下面程序由两个源文件t4.h和t4.c组成,程序编译运行的结果是 【18】 。t4.h的源程序为: #define N 10 #define f2(x) (x*N) t4.c的源程序为:

#include #define M 8 #define f(x) ((x)*M) #include \ main()

{int i,j; i=f(1+1); j=f2(1+1); printf(\ } (16)下面程序的功能是建立一个有3个节点的单向循环链表,然后求各个节点数值域data中数据的和请

填空。

#include #include 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->data 【19】 ; printf(\ }

(17)有以下程序,其功能是:以二进制“写”方式打开文件d1.dat,写入1~100这100个整数后关闭文件。再以二进制“读”方式打开文件d1.dat,将这100个整数读入另一个数组b中,并打印输出,请填空。

  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

{int i; for(i=1;i<=40;i++) {if(i++%5=0) if (++i%8=0) printf(\ printf(\执行后的输出结果是________。 A)5 B)24 C)32 D)40 (24)以下选项中,值为1的表达式________。 A)1-\)1-\ C)\)\(25)有以下程序 fun(int x,int y){return(x+y);} main() {int a=1,b=2,c=3,sum; sum=fun((a++,b++b,a+b),c++); printf(\执行后的输出结果是________。 A)6 B)7 C)8 D)9 (26)有以下程序 main() { char s[ ]= \,s[0]); }

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com