




已阅读5页,还剩32页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
37校园网()2007年4月全国计算机等级考试二级笔试试卷C语言程序设计(考试时间120分钟,满分100分)一、选择题(1)下列叙述中正确的是( )A)算法的效率只与问题的规模有关,而与数据的存储结构无关。B)算法的时间复杂度是指执行算法所需要的计算工作量。C)数据的逻辑结构与存储结构是一一对应的。D)算法的时间复杂度与空间复杂度一定相关。(2)在结构化程序设计中,模块划分的原则是( )A)各模块应包括尽量多的功能B)各模块的规模应尽量大C)各模块之间的联系应尽量紧密D)模块内具有高内聚度、模块间具有低耦合度(3)下列叙述中正确的是( )A)软件测试的主要目的是发现程序中的错误。B)软件测试的主要目的是确定程序中错误的位置。C)为了提高软件测试的效率,最好由程序编制者自己来完成软件测试的工作。D)软件测试是证明软件没有错误。(4)下面选项中不属于面向对象程序设计特征的是( )A)继承性B)多态性C)类比性D)封装性(5)下列对队列的叙述正确的是( )A)队列属于非线性表。B)队列按“先进后出”原则组织数据。C)队列在队尾删除数据。D)队列按“先进先出”原则组织数据。(6)对下面二叉树,进行前序遍历的结果为( )A)DYBEAFCZXB) YDEBFZXCAC)ABDYECFXZD)ABCDEFXYZ(7)某二叉树中有n个度为2的结点,则该二叉树中的叶子结点为( )A)n+1B)n-1C)2nD)n/2(8)在下列关系运算中,不改变关系表中的属性个数但能减少元组个数的是( )A)并B)交C)投影D)笛卡儿乘积(9)在E-R图中,用来表示实体之间联系的图形是( )A)矩形B)椭圆形C)菱形D)平行四边形(10)下列叙述中错误的是( )A)在数据库系统中,数据的物理结构必须与逻辑结构一致。B)数据库技术的根本目标是要解决数据的共享问题。C)数据库设计是指在已有数据库管理系统的基础上建立数据库。D)数据库系统需要操作系统的支持。(11)算法中,对需要执行的每一步操作,必须给出清楚、严格的规定,这属于算法的( )A)正当性B)可行性C)确定性D)有穷性(12)下列叙述中错误的是( )A)计算机不能直接执行用C语言编写的源程序。B)C程序经C编译后,生成后缀为.obj的文件是一个二进制文件。C)后缀为.obj的文件,经连接程序生成后缀为.exe的文件是一个二进制文件。D)后缀为.obj和.exe的二进制文件都可以直接运行。(13)按照C语言规定的用户标识符命名规则,不能出现在标识符中的是( )A)大写字母B)连接符C)数字字符D)下划线(14)以下叙述中错误的是( )A)C语言是一种结构化程序设计语言。B)结构化程序有顺序、分支、循环3种基本结构组成。C)使用3种基本结构构成的程序只能解决简单问题。D)结构化程序设计提倡模块化的设计方法。(15)对于一个正常运行的C程序,以下叙述中正确的是( )A)程序的执行总是从main函数开始,在main函数结束。B)程序的执行总是从程序的第一个函数开始,在main函数结束。C)程序的执行总是从main函数开始,在程序的最后一个函数中结束。D)程序的执行总是从程序的第一个函数开始,在程序的最后一个函数中结束。(16)设变量均已正确定义,若要通过scanf(%d%c%d%c,&a1,&c1,&a2,&c2);语句为变量a1和a2赋数值10和20,为变量c1和c2赋字符X和Y。以下所示的输入形式正确的是(代表空格字符)( )A)10X20Y回车B)10X20Y回车 C)10X回车D)10X回车20Y回车 20Y回车(17)若有代数式(其中e仅代表自然对数的底数,不是变量),则以下能够正确表示该代数式的C语言表达式是( )A)sqrt(abs(nx+ex)B)sqrt(fabs(pow(n,x)+pow(x,e)C)sqrt(fabs(pow(n,x)+exp(x,e)D)sqrt(fabs(pow(x,n)+exp(x)(18)设有定义:int k=0;,以下选项的4个表达式中与其他3个表达式的值不相同的是( )A)k+B)k+=1C)+kD)k+1(19)有以下程序,其中%u表示按无符号整数输出main()unsigned short x=0xFFFF;/* x的初值为十六进制数 */printf(%un, x); 程序运行后的输出结果是( )A)-1B)65535C)32767D)0XFFFF(20)设变量x和y均已正确定义并赋值,以下if语句中,在编译时将产生错误信息的是( )A)if(x+);B)if(xy&y!=0); C)if(xy)x-D)if(y0&n5); 程序运行后的输出结果是( )A)235B)0235C)02356D)2356(24)有以下程序main()int i,j; for(i=1;i4;i+)for(j=i;j4;j+) printf(%d*%d=%d,i,j,i*j);printf(n); 程序运行后的输出结果是( )A)1*1=11*2=21*3=3B)1*1=11*2=21*3=32*1=22*2=4 2*2=42*3=63*1=3 3*3=9C)1*1=1D)1*1=1 1*2=22*2=4 2*1=22*2=4 1*3=32*3=63*3=9 3*1=33*2=6 3*3=9(25)以下合法的字符型常量是( )A)x13 B)018C)65D)n(26)在C语言中,函数返回值的类型最终取决于( )A)函数定义时在函数首部所说明的函数类型B)return语句中表达式值的类型C)调用函数时主函数所传递的实参类型D)函数定义时形参的类型(27)已知大写字母A的ASCII码是65,小写字母a的ASCII码是97,以下不能将变量c中大写字母转换为对应小写字母的语句是( )A)c=(c-A)%26+aB)c=c+32C)c=c-A+a D)c=(A+c)%26-a(28)有以下函数 int fun(char *s) char *t=s; while(*t+); return(t-s); 该函数的功能是( )A)比较两个字符的大小B)计算s所指字符串占用内存字节的个数C)计算s所指字符串的长度D)将s所指字符串复制到字符串t中(29)设已有定义:float x;则以下对指针变量p进行定义且赋初值的语句中正确的是( )A)float *p=1024;B)int *p=(float x);C)float p=&x;D)float *p=&x;(30)有以下程序 #include main() int n,*p=NULL;*p=&n;printf(input n: ); scanf(%d,&p); printf(output n: ); printf(%dn,p);该程序试图通过指针p为变量n读入数据并输出,但程序有多处错误,以下语句正确的是A)int n,*p=NULL;B)*p=&n;C)scanf(%d,&p)D)printf(%dn,p);(31)以下程序中函数f的功能是:当flag为4时,进行由小到大排序;当flag为0时,进行由大到小排序。void f(int b,int n,int flag)int i,j,t;for(i=0;in-1;i+)for (j=i+1;jbj:b i bj)t=bi;bi=bj;bj=t;main()int a10=5,4,3,2,1,6,7,8,9,10,i;f(&a2,5,0); f(a,5,1);for(i=0;i10;i+) printf(%d, a i );程序运行后的输出结果是( )A)1,2,3,4,5,6,7,8,9,10,B)3,4,5,6,7,2,1,8,9,10,C)5,4,3,2,1,6,7,8,9,10,D)10,9,8,7,6,5,4,3,2,1,(32)有以下程序void f(int b)int i;for(i=2;i6;i+) b i *=2;main()int a10=1,2,3,4,5,6,7,8,9,10,i;f(a); for(i=0;i10;i+) printf(%d, ,a i );程序运行后的输出结果是( )A)1,2,3,4,5,6,7,8,9,10, B)1,2,6,8,10,12,7,8,9,10C)1,2,3,4,10,12,14,16,9,10, D)1,2,6,8,10,12,14,16,9,10(33)有以下程序typedef structint b,p;A; void f(A c) /*注意:c是结构变量名 */int j;c.b+=1; c.p+=2;main()int i;A a=1,2;f(a);printf(%d,%dn, a.b, a.p);程序运行后的输出结果是( )A)2,3B)2,4C)1,4D)1,2(34)有以下程序main()int a44=1,4,3,2,8,6,5,7,3,7,2,5,4,8,6,1,i,j,k,t;for(i=0;i4;i+)for(j=0;j3;j+)for(k=j+1;kak i)t=aj i;aj i =ak i ;ak i=t;/*按列排序*/for(i=0;i4;i+)printf(%d, ,a i j);程序运行后的输出结果是( )A)1,6,5,7,B)8,7,3,1,C)4,7,5,2,D)1,6,2,1,(35)有以下程序main()int a44=1,4,3,2,8,6,5,7,3,7,2,5,4,8,6,1,i,k,t;for(i=0;i3;i+)for(k=i+1;k4;k+) if(a i i akk) t=ai i;ai i =akk ;ak k=t;for(i=0;i4;i+)printf(“%d,”,a0 i );程序运行后的输出结果是( )A)6,2,1,1,B)6,4,3,2,C)1,1,2,6,D)2,3,4,6,(36)有以下程序void f(int *q)int i=0;for( ;i5;i+) (*q)+;main()int a5=1,2,3,4,5,i;f(a); for(i=0;i5;i+)printf(%d, , a i );程序运行后的输出结果是( )A)2,2,3,4,5,B)6,2,3,4,5,C)1,2,3,4,5,D)2,3,4,5,6, (37)有以下程序#include main()char p20=a, b, c, d,q=abc, r=abcde;strcpy(p+strlen(q),r); strcat(p,q);printf(%d%dn, sizeof(p),strlen(p);程序运行后的输出结果是( )A)20 9B)9 9C)20 11D)11 11(38)有以下程序#include main()char p20=a, b, c, d,q=abc, r=abcde;strcat(p,r); Strcpy(p+strlen(q),q);printf(%d n,sizeof(p);程序运行后的输出结果是( )A)9B)6C)11D)7(39)有以下程序#include void f(char p10, int n ) /* 字符串从小到大排序 */ char t10; int i,j; for(i=0;in-1;i+) for(j=i+1;j0) strcpy(t,pi); strcpy(pi,pj); strcpy(pi,t); main()char p510=abc,aabdfg,abbd,dcdbe,cd;f(p,5); printf(%dn,strlen(p0);程序运行后的输出结果是( )A)2B)4C)6D)3(40)有以下程序void f(int n, int *r)int r1=0;if(n%3=0) r1=n/3;else if(n%5=0) r1=n/5;else f(-n,&r1);*r=r1;main()int m=7,r;f(m,&r); printf(%dn,r);程序运行后的输出结果是( )A)2B)1C)3D)0(41)有以下程序 main(int argc,char *argv) int n=0,i;for(i=1;iargc;i+) n=n*10+*argvi-0;printf(%dn,n); 编译连接后生成可执行文件tt.exe,若运行时输入以下命令行tt 12 345 678程序运行后的输出结果是( )A)12B)12345C)12345678D)136(42)有以下程序int a=4;int f(int n)int t=0; static int a=5;if(n%2) int a=6; t+=a+; else int a=7 ;+=a+; return t+a+; main()int s=a,i=0;for(;i2;i+) s+=f(i);printf (%dn,s);程序运行后的输出结果是( )A)24B)28C)32D)36(43)有一个名为init.txt的文件,内容如下:#define HDY(A,B) A/B# define PRINT(Y) printf(y=%dn,Y)有以下程序#include init.txtmain()int a=1,b=2,c=3,d=4,k;K=HDY(a+c,b+d);PRINT(K);下面针对该程序的叙述正确的是( )A)编译有错B)运行出错C)运行结果为y=0D)运行结果为 y=6(44) 有以下程序main() char ch=uvwxyz,*pc;pc=ch; printf(%cn,*(pc+5); 程序运行后的输出结果是( )A)zB)0C)元素ch5地址D)字符y的地址(45)有以下程序struct S int n; int a20;void f(struct S *p) int i,j,t; for(i=0;in-1;i+) for(j=i+1;jn;j+) if(p-aip-aj) t=p-ai; p-ai=p-aj; p-aj=t; main() int i; structS s=10,2,3,1,6,8,7,5,4,10,9; f(&s); for(i=0;is.n;i+) printf(%d,s.ai);程序运行后的输出结果是( )A)1,2,3,4,5,6,7,8,9,10, B)10,9,8,7,6,5,4,3,2,1,C)2,3,1,6,8,7,5,4,10,9,D)10,9,8,7,6,1,2,3,4,5,(46)有以下程序struct S int n; int a20; ;void f(int *a,int n) int i; for(i=0;in-1;i+) ai+=i;main() int i; struct S s=10,2,3,1,6,8,7,5,4,10,9; f(s.a, s.n); for(i=0;is.n;i+) printf(%d, s.ai);程序运行后的输出结果是( )A)2,4,3,9,12,12,11,11,18,9,B)3,4,2,7,9,8,6,5,11,10,C)2,3,1,6,8,7,5,4,10,9, D)1,2,3,6,8,7,5,4,10,9,(47)有以下程序段typedef struct node int data; struct node *next; *NODE;NODE p;以下叙述正确的是( )A)p是指向struct node结构变量的指针的指针。B)NODE p;语句出错。C)p是指向struct node结构变量的指针。D)p是struct node结构变量。(48)有以下程序main() unsigned char a=2,b=4,c=5,d; d=a|b; d&=c; printf(%dn,d); 程序运行后的输出结果是( ) A)3B)4C)5D)6(49)有以下程序#include main()FILE *fp; int k,n,a6=1,2,3,4,5,6;fp=fopen(d2.dat,w);fprintf(fp, %d%d%dn,a0,a1,a2); fprintf(fp, %d%d%dn,a3,a4,a5);fclose(fp);fp=fopen(d2.dat,r);fscanf(fp, %d%d,&k,&n); printf(%d%dn,k,n);fclose(fp);程序运行后的输出结果是( )A)1 2B)1 4C)123 4D)123 456(50)有以下程序#include main ()FILE *fp; int i,a6=1,2,3,4,5,6;fp=fopen(d3.dat,w+b);fwrite(a,size(int),6,fp);fseek(fp,sizeof(int)*3, SEEK_SET);/*该语句使读文件的位置指针从文件头向后移动3个int型数据*/fread(a,sizeof(int),3,fp); fclose(fp);for(i=0;i6;i+) printf(%d, , a i);程序运行后的输出结果是( )A)4,5,6,4,5,6,B)1,2,3,4,5,6,C)4,5,6,1,2,3,D)6,5,4,3,2,1,二、填空题(每空2分,共40分)请将每一个空的正确答案写在答题卡【1】至【20】序号的横线上,答在试卷上不得分。注意:以命令关键字填空的必须写完整。(1) 在深度为7的满二叉树中,度为2的结点个数为_。(2) 软件测试分为白箱(盒)测试和黑箱(盒)测试,等价类划分法属于_ 测试。(3) 在数据库系统中,实现各种数据管理功能的核心软件称为_。(4) 软件生命周期可分为多个阶段,一般分为定义阶段、开发阶段和维护阶段。编码和测试属于 _阶段。(5)在结构化分析使用的数据流图(DFD)中,利用 _ 对其中的图形元素进行确切解释。(6)执行以下程序后的输出结果是 _ 。main()int a=10;a=(3*5,a+4); printf(a=%dn,a);(7)当执行以下程序时,输入1234567890,则其中while循环体将执行_次。include main() char ch;while(ch=getchar()=0) printf(#);(8)以下程序的运行结果是 _。int k=0;void fun(int m) m+=k; k+=m; printf(m=%dn k=%d,m,k+);main() int i=4;fun(i+); printf(i=%d k=%dn,i,k);(9)以下程序的运行结果是_ 。main()int a=2,b=7,c=5;switch(a0)case 1:switch(b0)case 1:switch(); break;case 2: printf(!); break;case 0: switch(c=5) case 0: printf(*); break;case 1: printf(#); break;case 2: printf($); break;default : printf(&);printf(n);(10)以下程序的输出结果是 _。# include main() printf(%dn,strlen(IBMn0121);(11)已定义char ch$; int i=1,j;执行j=!ch&i+以后,i的值为 _。(12)以下程序的输出结果是 _。# include main() char a=1, 2, 3, 4, 0;printf(%d dn, sizeof(a), srelen(a) ); (13)设有定义语句:int a3=0,1,2;,则数组元素a12的值为 _。(14)以下程序的功能是:求出数组x中各相邻两个元素的和,依次存放到a数组中,然后输出,请填空。main()int x10, a9, i;for (i=0;i10;i+)scanf(%d,&x i);for( _ ; i10; i+)ai-1=x i+ _ for(i=0;i9;i+)printf(%d, a i);printf(n);(15)以下程序的功能是:利用指针指向3个整型变量,并通过指针运算找出3个数中的最大值,输出到屏幕上,请填空。main()int x,y,z,max,*px,*py,*pz,*pmax;scanf(%d%d%d,&x,&y,&z);px=&x;py=&y;pz=&z;pmax=&max;_ ;if(*pmax*py) *pmax=*py;if(*pmax*pz) *pmax=*pz;printf(max=%dn,max);(16)以下程序的输出结果是 _ int fun(int*x,int n)if(n=0)return x0;else return x0+fun(x+1,n-1);main()int a=1,2,3,4,5,6,7;printf(%dn, fun(a,3);(17)以下程序的输出结果是 _# include main()char *s1,*s2,m;s1=s2=(char*)malloc(sizeof(char);*s1=15;*s2=20;m=*s1+*s2;printf(%dn,m);(18)设有说明struct DATEint year;int month; int day;请写出一条定义语句,该语句定义d为上述结构体变量,并同时为其成员year、month、day 依次赋初值2006、10、1: _; (19)设有定义:FILE*fw;,请将以下打开文件的语句补充完整,以便可以向文本文件readme.txt的最后续写内容。fw=fopen(readme.txt, _ );2007年4月全国计算机等级考试二级笔试试卷C语言程序设计答案和解析一、选择题(1)【答案】B【解析】根据时间复杂度和空间复杂度的定义可知,算法的时间复杂度和空间复杂度并不相关。数据的逻辑结构就是数据元素之间的逻辑关系,它是从逻辑上描述数据元素之间关系的,是独立于计算机中的,数据的存储结构上研究数据元素和数据元素之间的关系如何在计算机中表示,它们并非一一对应的。算法的执行效率不仅与问题的规模有关,还与数据的存储结构有关。(2)【答案】D【解析】在结构化程序设计中,一般优秀的软件设计都要尽量做到高内聚、低耦合,这也是模块划分的原则。(3)【答案】A【解析】软件测试时为了发现错误而执行程序的过程,为了达到较好的效果,一般由独立的第三者来进行。(4)【答案】C【解析】面向对象程序设计的3个主要特征是:封装性、继承性、多态性。(5)【答案】D【解析】队列具有“先进先出”的特点,它是一种具有操作受限的线性表,只允许在队列的队尾进行插入,队首进行删除操作。(6)【答案】C 【解析】二叉树的遍历方法分为3类:前序(先根)遍历、中序(中根)遍历和后续(后根)遍历。以前序遍历为例,方法是:先遍历根节点,然后再前序遍历左子树,然后再前序遍历右子树。(7)【答案】A【解析】考查二叉树中,树或者节点的度与节点的关系。最好的办法是自己画图验证。(8)【答案】B 【解析】投影会减少属性的个数,但不改变元组个数,而笛卡尔积会增加属性的个数,同时会增加元组个数,并和交都不会改变属性的个数,因为他们都是针对同类关系的关系运算,但并会增加元组的个数,而交会减少元组的个数。(9)【答案】C【解析】E-R模型可用E-R图来表示,它具有3个要素:实体(矩形)、属性(椭圆)、实体间的联系(菱形)。(10)【答案】A【解析】数据库的物理结构与逻辑结构无关,(11)【答案】C【解析】算法的5个特性是:有穷性,确定性,可行性,有0到多个输入,1到多个输出。(12)【答案】D【解析】用C语言编写的源程序不能直接运行,经过编译和链接之后才能运行。编译后得到的是.obj工程文件和链接后得到的可执行文件是二进制文件,但是只有可执行文件才能运行。(13)【答案】B 【解析】用户自定义标识符的规则:字母、数字、下划线组成;以字母、下划线开头(14)【答案】C【解析】3种基本结构包括:顺序结构、选择结构和循环结构。这3种结构可以完成几乎所有的功能。(15)【答案】A【解析】main函数是主函数,是程序入口,所有C程序都是从main函数开始执行的。C语言源程序中,main函数有且只有一个。(16)【答案】D【解析】scanf函数默认的分隔符是空格、tab和回车键,但是如果在格式控制部分出现了这3个之外的其他符号,就要严格按照格式控制的要求来输入。(17)【答案】C【解析】熟悉常用数学函数:sqrt(求平方根),pow(求n次方),fabs(浮点数绝对值),abs(整数绝对值),exp(e的n次方)等。(18)【答案】A【解析】k+、+k以及k=k+1在单独的表达式中含义是相同的,都是将k的值加1后再赋给k,而C只是将k值加1,并没有对k重新赋值。(19)【答案】B【解析】考查有符号数、无符号数以及正数、负数在内存中的存储形式。要记住的是无符号数的所有二进制位都是作为数值位的,而有符号的数的最高位是作为符号位的。(20)【答案】C【解析】if和else之间只能有一条语句或者一条复合语句,语句的标志是分号,复合语句的标志是大括号。(21)【答案】D【解析】表达式的值为0,也就是逻辑值为假。只有最后一项不成立。(22)【答案】C【解析】考查switch和continue语句的用法。break是中断并退出当前循环,而continue是中断本次循环,继续进行下一次。(23)【答案】A【解析】考查do-while循环以及switch语句和break语句。首先执行循环体语句一次,由于k=5,没有case匹配,执行default。由于default后面没有break,所以还要执行case 2和case 4,最后判断while后面的表达式。(24)【答案】B【解析】考查的是循环嵌套的问题,本题是双层for循环。首先是i=1,j=13的情况,然后输出换行,左对齐。(25)【答案】A【解析】考查字符常量的定义:单引号括起来的一个字符,也可以是转义字符。65是字符串而不是字符。D项要用单引号,B项中为八进制转义字符,但是八进制数不能出现8,因此错误A项为十六进制转义字符,不需要以0x开头。(26)【答案】A【解析】考查函数返回值类型的问题。一般情况下,return后面的函数的返回值类型应该跟函数定义时规定的返回值类型一致。当不一致时,以函数定义时首部规定的类型为准。(27)【答案】D【解析】考查字符常量之间的加减混合运算。应该熟练记忆:a的ASCII值是97,A比a小32,并且字符常量之间的加减运算是以ASCII为标准的。(28)【答案】C【解析】本题涉及到4个问题:指针与字符串的关系,字符串的存储,指针的移动,指针的比较。首先是将指针指向字符串开头,然后将指针后移并判断当前内容是不是字符串结尾符0,最后将指针与字符串头指针(地址)比较,求得字符串长度。(29)【答案】D【解析】本题考查的是指针变量的定义和初始化。指针变量的赋初值有3种方法:通过变量的地址、通过指针变量之间的值传递、通过标准函数molloc和calloc。复制号(=)左右两边的类型应该相同。(30)【答案】A【解析】本题考查的是指针变量赋空指针以及指针变量的引用。由于指针本身就是为了存储地址的便利,正确用法应该是scanf(%d,p)和printf(%d,*p)。(31)【答案】B【解析】本题考查的是函数的调用、数组元素的引用以及双层for循环冒泡排序算法。第一次排序是从a2开始的5个元素从大到小排列,第二次是从开头开始的5个元素从小到大排列。(32)【答案】B【解析】本题考查的是函数的传址调用,并将a2到a5四个元素分别乘以2。(33)【答案】D【解析】本题考查的是结构体变量成员的引用和函数的传值调用。由于传值调用中,形参的改变不影响实参,所以最终结构体变量a中的成员值不发生变化。(34)【答案】A【解析】根据题意,三层for循环实现的是将二维数组元素按照每列从小到大排序,然后将j行i列的元素输出。(35)【答案】B【解析】考查的依然是双层for循环的冒泡排序,不过本题考查的是对角线元素的排序。(36)【答案】B【解析】本题考查的是函数的传址调用。将数组名作为数组首地址进行传递,然后取数组元素值进行加1运算。(37)【答案】C【解析】本题考查的是字符数组、字符串的存储,以及常用字符串处理函数的应用。先将字符串r拷贝到p中从p+strlen(q)开始的地址空间中,然后将字符串q连接到p之后。(38)【答案】B【解析】strcpy函数的功能是将字符串q复制到从p3位置开始的存储单元,同时复制字符串结束标志到p6。(39)【答案】C【解析】依然是考查双层for循环的冒泡排序,按照字典顺序,将字符串从小到大排列,最后输出第一个字符串的长度。(40)【答案】A【解析】本题考查的是函数的传值、传址以及递归调用。(41)【答案】D【解析】本题考查的是C语言的深入讨论部分。其中main函数有两个默认参数:argc表示参数个数(包括可执行程序本身),argv表示所有参数组成的字符串数组。(42)【答案】B【解析】本题考查的是静态变量的初始化的问题。静态变量在程序中只被初始化一次,以后都不再执行初始化操作,并且当初始化的时候,其值为0。(43)【答案】D【解析】本题考查的是编译预处理问题。在宏替换中,只是执行的简单文本替换,而不会进行计算。HDY(a+b,c+d)替换之后应该是a+b/c+d。(44)【答案】A【解析】本题考查的是字符串的存储以及指针对字符串元素的引用。指针赋初值指向的是字符串的开头,然后用间接运算符(*)取内容。(45)【答案】A【解析】本题中,实参是结构体变量的地址,因此形参的改变会影响到实参的数值。(46)【答案】A【解析】本题中在调用函数时将结构体变量的两个成员作为实参,其中的数组a实际上给函数f()传递的是该数组的地址,因此在函数f()所对应的形参发生改变时,该数组内的数据也会发生改变。(47)【答案】C【解析】本题考查的是结构体变量类型指针的定义。NODE本身就是结构体指针类型,p自然也就是指向结构体类型的指针变量。(48)【答案】B【解析】本题考查的是位运算。先将a、b、c分别转化为对应的ASCII码值的二进制表示。然后在进行位运算。(49)【答案】D【解析】将有6个元素的整型数组分2行输出到一个文件中,因为输出的都是数字而且没有分隔符,所以每行都被认为是一个数,换行符作为分隔符出现。(50)【答案】A【解析】首先利用fwrite将数组a中的数据写到文件中,fseek的功能是读文件的位置,指针从文件头向后移动3个实型数据,这时文件位置指针指向的是文件的第四个实型数据“4”。Fread将文件fp中的后3个数据4、5、6读到数组a中,这样数组的数据就成了4,5,6,4,5,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年树林林地流转与林业资产投资合同
- 2025版生物信息分析软件销售与技术服务合同
- 2025华远国际陆港集团所属企业社会招聘40人考试参考试题及答案解析
- 策划书的格式要求
- 银行流动资金担保借贷合同
- 出口商品收购合同
- 会计业务与技能
- 广西贵港市港南中学三文科班2026届化学高二第一学期期末考试试题含答案
- 科技产品创新
- 解析卷浙江省嵊州市7年级上册期末测试卷必考点解析试题(含答案解析)
- 2025年部编版语文四年级上册全册单元、期中、期末测试题及答案(共10套)
- 患者期望与实际效果-洞察及研究
- 风力发电税务培训课件
- 2025年长沙市中考物理试卷真题(含答案)
- 检验科生化培训课件
- 数控安全培训课件
- 配电类“两种人”题库(2025年3月修编)改
- 假期返校安全教育
- 建设工程管理的毕业论文
- 中国工笔花鸟画技法课件
- 正面吊安全管理制度
评论
0/150
提交评论