收藏 分销(赏)

2022年全国计算机二级c语言考试真题预测详细解答系列一.doc

上传人:人****来 文档编号:9814544 上传时间:2025-04-09 格式:DOC 页数:23 大小:82.54KB 下载积分:10 金币
下载 相关 举报
2022年全国计算机二级c语言考试真题预测详细解答系列一.doc_第1页
第1页 / 共23页
2022年全国计算机二级c语言考试真题预测详细解答系列一.doc_第2页
第2页 / 共23页


点击查看更多>>
资源描述
9月全国计算机级别考试二级C语言笔试试题 一、选择题((1)—(10)、(21)—(40)每题2分,(11)—(20)每题1分,共70分) (1)下列数据构造中,属于非线性构造是(C) A)循环队列     B) 带链队列     C) 二叉树     D)带链栈 (2)下列数据成果中,可以根据“优秀后出”原则存取数据是(B) A) 循环队列     B) 栈     C)队列     D)二叉树 (3)对于循环队列,下列论述中对旳是(D) A)队头指针是固定不变 B)队头指针一定不小于队尾指针 C)队头指针一定不不小于队尾指针 D)队头指针可以不小于队尾指针,也可以不不小于队尾指针 (4)算法空间复杂度是指(A) A)算法在实行过程中所需要计算机寄存空间 B)算法所解决数据量 C)算法程序中语句或指令条数 D)算法在实行过程中所需要临时工作单元数 (5)软件设计中划分模块一种准则是(B) A) 低内聚低耦合 B) 高内聚低耦合 C) 低内聚高耦合 D) 高内聚高耦合 (6)下列选项中不属于构造化程序设计原则是(A) A) 可封装 D) 自顶向下 C) 模块化 D) 逐渐求精 (7)软件具体设计产生图如下:   该图是(C) A) N-S图 B) PAD图 C) 程序环节图 D) E-R图 (8)数据库管理系统是(B) A)操作系统一部分 B) 在操作系统支持下系统软件 C) 一种编译系统 D) 一种操作系统 (9)在E-R图中,用来表达实体联系图形是(C) A) 椭圆图 B) 矩形 C) 菱形 D) 三角形 (10)有三个关系R,S和T如下:       其中关系T由关系R和S通过某种操作得到,该操作为(D) A)     选择 B)      投影 C)     交 D)     并 (11)如下论述中对旳是      A)程序设计任务就是编写程序代码并上机调试      B)程序设计任务就是拟定所用数据构造      C)程序设计任务就是拟定所用算法      D)以上三种说法所有不完整 解析:选D。原文见高教版二级教程P2,程序设计任务涉及A、B、c及有关文档。   (12)如下选项中,能用作顾客标记符是 A)void B)8_8 C)_0_ D)unsigned 解析:选C。标记符由字母或下划线开头,核心字不能用作标记符。     A、D为核心字,B以数字开头,因此所有是错误。   (13)阅读如下程序      #include <stdio.h>      main()      { int case; float printF;        printf(“请输入2个数:”);        scanf(“%d %f”,&case,&pjrintF);        printf(“%d %f\n”,case,printF);      }      该程序编译时产生错误,其出错因素是      A)定义语句出错,case是核心字,不能用作顾客自定义标记符      B)定义语句出错,printF不能用作顾客自定义标记符      C)定义语句无错,scanf不能作为输入函数使用      D)定义语句无错,printf不能输出case值 解析:选A。case是核心字,核心字不能用作标记符。C语言核心字见教材附录。 (注:标记符辨别大小写,printf是核心字,可用作标记符,固然printF也可以)   (14)表达式:(int)((double)9/2)-(9)%2值是      A)0       B)3       C)4       D)5 解析:选B。考点为运算符优先级。   括号>强制类型转换int>乘除>加减   (int)((double)9/2)一(9)%2=(int)(9.0/2)-(9)%2=(int)(4.5)-1=3   (15)若有定义语句:int x=10;,则表达式x-=x+x值为      A)-20     B)-10     C)0     D)10 解析:选B。考点为复合赋值运算符。(注意x+x作为一种整体)     x-=x+x→x=x-(x+x) →x=-x=-10     (16)有如下程序      #include <stdio.h>      main()      { int a=1,b=0;        printf(“%d,”,b=a+b);        printf(“%d\n”,a=2*b);      }      程序运营后输出成果是      A)0,0       B)1,0       C)3,2       D)1,2 解析:选D。考点为赋值表达式使用,赋值表达式值和变量值是同样。     printf在输出赋值表达式值时,先赋值再输出。     b=a+b=l+0=1    a=2*b=2   17)设有定义:int a=1,b=2,c=3;,如下语句中实行效果和其他三个不同样是      A)if(a>b) c=a,a=b,b=c;      B)if(a>b) {c=a,a=b,b=c;}      C)if(a>b) c=a;a=b;b=c;      D)if(a>b) {c=a;a=b;b=c;} 解析:选C。考点为if句和逗号表达式使用。 逗号运算符也称为顺序求值运算符,依次实行逗号表达式中每个表选式。逗号表达式是一种整体,复合语句也是一种整体,当a>b时,A、B、D中if后语句可以作为整体被实行,把a、b值互换。C等价语句形式为:    if(a>b)   c=a;     a=b;b=c;    不能实现a、b值互换。   (18)有如下程序      #include <stdio.h>      main()      { int c=0,k;        for (k=1;k<3;k++)        switch (k)        { default: c+=k          case 2: c++;break;          case 4: c+=2;break;        }        printf(“%d\n”,c);      }      程序运营后输出成果是      A)3       B)5       C)7       D)9 解析:选A。考点为switch语句使用。 switch语句中case和default顺序可以任意,不影响程序成果。switch语句在循环中被实行2次。 k=l时,  c+=k   c=0+1=1    无break,继续实行 c++   c=2    有break,终结switch  k=2时,c++  c=3        有break,终结switch ,循环结束,输出c。      (19)如下程序段中,和语句:k=a>b?(b>c?1:0):0;功能相似是      A)if((a>b)&&(b>c)) k=1;         else k=0;      B)if((a>b)||(b>c) k=1;         else k=0;      C)if(a<=b) k=0;         else if(b<=c) k=1;      D)if(a>b) k=1;         else if(b>c) k=1;          else k=0; 解析:选A。考点为条件表达式使用。 语句功能为:   a>b且b>c时,k=l   a>b且b<=e时,k=0   a<=b时,k=0 符合语句功能只有A。   20)有如下程序      #include <stdio.h>      main()      { char s[]={“012xy”};int i,n=0;       for(i=0;s[i]!=0;i++)         if(s[i]>=’a’&&s[i]<=’z’) n++;       printf(“%d\n”,n);      }      程序运营后输出成果是      A)0       B)2       C)3       D)5 解析:选B。考点为字符数组使用。C语言用字符数组寄存字符串,用\O作为结束标志。(\0是ASCII码值为0字符,也即数值0)程序功能为记录字符数组s中小写字符个数,n为计数器。   (21)有如下程序      #include <stdio.h>      main()      { int n=2,k=0;        while(k++&&n++>2);        printf(“%d %d\n”,k,n);      }      程序运营后输出成果是      A)0 2       B)1 3       C)5 7       D)1 2 解析:选D。考点为while语句使用。该while(k++&&n++>2);循环体为空语句,因此程序是输出退出while循环后k、n值。k++为先使用k值再增1。先使用k值,k=0,逻辑和成果为。,第一次实行while循环时条件就不成立,直接退出循环,k值增1,n值没有任何变化。   (22)有如下定义语句,编译时会浮现编译错误是      A)char a=’a’;      B)char a=’\n’;      C)char a=’aa’;      D)char a=’\x2d’; 解析:选C。考点为字符型变量赋值和基本概念。字符型为单引号括起一种字符。 A为原则字符型赋值措施, B为把一种转义字符赋值给字符变量,也是对旳。 C为单引号括起两个字符,不符合字符型定义。 D表面看上去是错误,其实是对旳,也是一种转义字符。 ‘/x2d’表达ASCII码值为16进制数2d字符,即‘-’号。   (23)有如下程序 #include <stdio.h> main() { char c1,c2;   c1=’A’+’8’-‘4’;   c2=’A’+’8’-‘5’;   printf(“%c,%d\n”,c1,c2); } 已知字母AASCII码为65,程序运营后输出成果是      A)E,68       B)D,69       C)E,D       D)输出无定值 解析:选A。考点为字符型数据使用和基本知识。字符型数据在内存中寄存是字符ASCII码值,可以作为整型数据来解决。英文字符和数字在ASCII码表中是按顺序排列。  c1=‘A’+‘8'-‘4’=‘A’+‘4’=E               c2=‘A’+‘8’-‘5’=‘A’+3=‘D’   (24)有如下程序      #include <stdio.h>      void fun(int p)      { int d=2;        p=d++; printf(“%d”,p);}      main()      { int a=1;       fun(a); printf(“%d\n”,a);}      程序运营后输出成果是      A)32       B)12       C)21       D)22 解析:选C。考点为函数参数传播。c语言中函数参数传播是值传播,是把实参值传给形参,是单向传播,形参变化不会影响到实参值。程序中,把实参a值传给形参p,p=1,然后p=d++,再次赋值后p=2.输出p值2。返回到主程序中,输出a值1。(形参p变化不会影响到实参a值,a值仍为1)   (25)如下函数findmax拟实目前数组中查找最大值并作为函数值返回,但程序中有错导致不能实现预定功能 #define MIN -      int findmax (int x[],int n)      { int i,max;        for(i=0;i<n;i++)        { max=MIN;          if(max<x[i]) max=x[i];}        return max;      }      导致错误因素是      A)定义语句int i,max;中max未赋初值      B)赋值语句max=MIN;中,不应给max赋MIN值      C)语句if(max<x[i]) max=x[i];中鉴定条件设立错误      D)赋值语句max=MIN;放错了位置 解析:选D。考点为求最大值算法。max=MIN.不应当放在循环内,而应当放到for循环前面。先让max取最小整数,这样第1次循环时max就可以获得第1个数组元素值,然后在循环中把背面数组元素依次和max比较,让max取大值。   (26)有如下程序      #include <stdio.h>      main()      { int m=1,n=2,*p=&m,*q=&n,*r;        r=p;p=q;q=r;        printf(“%d,%d,%d,%d\n”,m,n,*p,*q);      }      程序运营后输出成果是      A)1,2,1,2       B)1,2,2,1       C)2,1,2,1       D)2,1,1,2  解析:选B。考点为指针基本概念。 p、q为指针,初始化时p指向m,q指向n。实行r=p; p:q;q:r;后,p和q值互换,从而p指向n,q指向m。指针变化不会影响m、n值,最后*p和*q值为n、m值。   (27)若有定义语句:int a[4][10],*p,*q[4];且0≤i<4,则错误赋值是      A)p=a      B)q[i]=a[i]      C)p=a[i]      D)p=&a[2][1] 解析:选A。考点为指向二维数组指针使用措施。   p为基类型为int指针,指向一种整型数据,也就可咀指向一种数组元素,因此D对旳。  a是二维数组名,寄存二维数组首地址,但二维数组名是一种行指针,其基类型为具有10个元素一维数组。因此A错误,两者基类型不一致(p+1指向下一种元素,而a+l指向二维数组下一行)。如果p定义为int(*p)[10],才可以赋值p=a。在C语言中,二维数组a[4][10]可以看做是由4个元素构成一维数组,这4个元素为a[0]、a[l]、a[2]、a[3],而其中每个元素又是由10个元素构成维数组。  在这里,a[i]也是一种数组名,可以表达一维数组首地址,但a[i]是一种列指针,基类型为int.指向一维数组第1个元素。同步,指针数组q每个数组元素q[i]基类型也为int,因此p、a[i]、q[i]基类型一致,选项B、C是对旳。   (28)有如下程序      #include <stdio.h>      #include<string.h>      main()      { char str[ ][20]={“One*World”, “One*Dream!”},*p=str[1];        printf(“%d,”,strlen(p));printf(“%s\n”,p);      }      程序运营后输出成果是      A)9,One*World      B)9,One*Dream      C)10,One*Dream      D)10,One*World 解析:选C。考点为二维字符数组使用和strlen()函数使用。 初始化p=str[l]后,p指向第二个字符串“One*Dream!”。strlen()函数计算字符串长度时不涉及结束标志,因此strlen(p)=10。   (29)有如下程序      #include <stdio.h>      main()      { int a[ ]={2,3,5,4},i;        for(i=0;i<4;i++)        switch(i%2)        { case 0:switch(a[i]%2)               {case 0:a[i]++;break;                case 1:a[i]--;               }break;          case 1:a[i[=0; } for(i=0;i<4;i++) printf(“%d”,a[i]); printf(“\n”); }      A)3 3 4 4      B)2 0 5 0      C)3 0 4 0      D)0 3 0 4 解析:选C。考点为switch语句。 外部switch语句在循环中被实行4次。i=0时,实行case 0.  内部switch语句也实行case 0,  a[i]++    a[0]=3   i=1时,实行case 1,a[l]=0  排除法,只有C对旳。 i=2时,实行case 0.  内部switch语句实行case 1.  a[i]--    a[2]=4 i=3时,实行case 1,a[3]=0  最后依次输出为:3 0 4 0   (30)有如下程序      #include <stdio.h> #include<string.h>      main() { char a[10]=”abcd”;   printf(“%d,%d\n”,strlen(a),sizeof(a)); } 程序运营后输出成果是      A)7,4        B)4,10        C)8,8        D)10,10 解析:选B。考点为strlen()函数和sizeof()运算符使用。     strlen()函数计算字符串长度时,遇到结束标志为止,且长度不涉及结束标 志,因此strlen(a)=4,排除法选B。     sizeof()运算符操作数可以是类型名或变量名、数组名等,当操作数是数组名时,其成果是数组总字节数,所咀sizeof(a)=10。   (31)下面是有关C语言字符数组描述,其中错误是      A)不可以用赋值语句给字符数组名赋字符串      B)可以用输入语句把字符串整体输入给字符数组      C)字符数组中内容不一定是字符串      D)字符数组只能寄存字符串 解析:选D。考点为字符数组使用。 字符数组名是数组首地址,是常量,不能被重新赋值,因此A对旳。可以用scanf(“%s”,str)对字符串整体输入,str可以是字符数组名或字符指针,因此B对旳。C和D说法对立,肯定有一种对旳,用排除法A、B选项主线不用看。字符数组所有元素可以只寄存一般字符,不寄存结束标志。因此D错误。   (32)下列函数功能是      fun(char * a,char * b)      { while((*b=*a)!=’\0’) {a++,b++;} }      A)将a所指字符串赋给b所指空间      B)使指针b指向a所指字符串      C)将a所指字符串和b所指字符串进行比较      D)检查a和b所指字符串中与否有’\0’  解析:选A。考点为指针概念及while循环。 While循环条件为:(*b=*a)!='\0’,实行时先把指针a所指向字符赋给指针b所在内存单元,如果该字符不是结束标志“\0”,实行循环体a++;b++;,指针a、b分别指向下一种字符单元。再鉴定循环条件,如果成立,继续把指针a所指向字符赋给指针b所在内存单元,直到遇到结束标志为止。因此对旳答案为A。   (33)设有如下函数        void fun(int n,char * s) {……}      则下面对函数指针定义和赋值均是对旳是      A)void (*pf)(); pf=fun;      B)viod *pf(); pf=fun;      C)void *pf(); *pf=fun;      D)void (*pf)(int,char);pf=&fun; 解析:选A。考点为指向函数指针使用措施。 函数名代表函数入口地址。指向函数指针应当定义为void(*pf)( )。如果定义为void *pf( ),则表达函数pf返回值为一种基类型为void指针。综上,因此对旳答案为A。   (34)有如下程序      #include <stdio.h>      int f(int n);      main()      { int a=3,s;        s=f(a);s=s+f(a);printf(“%d\n”,s);      }      int f(int n)      { static int a=1;        n+=a++;        return n;      }      程序运营后来输出成果是      A)7        B)8        C)9        D)10 解析:选C.考点为静态局部变量使用。     主函数和f函数中a所有为局部变量,作用域所有在本函数之内,互不影响。f函数中a为静态局部变量,占用固定内存单元,下一次调用时仍可保存上次调用时值。也就是说,如果多次调用f函数,a定义只在第一次调用时有效,从第二次调用开始,a定义相称于不存在,直接使用a值。主函数中调用了2次f(a),第一次调用,s=f(a)=f(3)  f函数:n=3  a=l    n=n+(a++)=4  a=2  返回n,主函数s=4。第二次调用,s=s+f(a)=4+f(3)(a值为主函数中a值)  f函数n=3  a=2    n=n+(a++)=5  a=3  返回n,主函数s=4+f(3)=4+5=9  最后输出s值为9。   (35)有如下程序      #include <stdio.h>      #define f(x) x*x*x      main()      { int a=3,s,t;        s=f(a+1);t=f((a+1));        printf(“%d,%d\n’,s,t);      }      程序运营后输出成果是      A)10,64        B)10,10        C)64,10       D)64,64 解析:选A。考点为带参数宏定义。 宏定义中参数授有类型,仅为字符序列,不能当作表达式运算。宏展开时,把实参字符串原样写在替代文本中。s=f(a+l)=a+l*a+l*a+l=10 t=f((a+1))=(a+1)*(a+1)*(a+1)=64   (36)下面构造体定义语句中,错误是      A)struct ord {int x;int y;int z;}; struct ord a;      B)struct ord {int x;int y;int z;} struct ord a;      C)struct ord {int x;int y;int z;} a;      D)struct {int x;int y;int z;} a; 解析:选B。考点为构造体变量定义。 可以先定义构造体类型,再定义构造体变量,如A。 可以在定义构造体类型同步定义构造体变量,如C。 可以直接定义构造体变量,没有类型名,如D。 B选项错误,定义构造体类型同步使用此类型。   (37)设有定义:char *c;,如下选项中可以使字符型指针c对旳指向一种字符串是     A)char str[ ]=”string”;c=str;     B)scanf(“%s”,c);     C)c=getchar();     D)*c=”string”; 解析:选A。考点为字符指针使用。 选项A为对旳使用措施。先将字符串存于字符数组中,然后将数组名赋给字符指针。(数组名代表数组首地址,定义数组时为其分派拟定地址)选项C错误。getchar( )函数输入个字符给字符型变量,而不是字符指针。选项B和D有类似错误,两个选项并无语法错误,但运营时也许会浮现问题。 因素:在选项B和D中,字符指针没有被赋值,是个不拟定值,指向一种不拟定内存区域,这个区域也许寄存有用指令或数据。在这个不拟定区域重新寄存字符串,也许会发生无法预知错误。   (38)有如下程序     #include <stdio.h>     #include<string.h>     struct A     { int a; char b[10]; double c;};     struct A f(struct A t);     main()     { struct A a={1001,”ZhangDa”,1098.0};     a=f(a);jprintf(“%d,%s,%6.1f\n”,a.a,a.b,a.c);     }     struct A f(struct A t)     ( t.a=1002;strcpy(t.b,”ChangRong”);t.c=1202.0;return t; )     程序运营后输出成果是     A)1001,ZhangDa,1098.0     B)1001,ZhangDa,1202.0     C)1001,ChangRong,1098.0     D)1001,ChangRong,1202.0 解析:选D。考点为构造体类型在函数中应用。 由于使用构造体变量,程序看似很杂乱。但在使用中,构造体变量和一般变量作用是同样。如果这样看,程序实行环节如下:函数调用f(a)将实参a传给形参t,函数内部对t重新赋值,然后返回t;主函数a=f(a),把返回值t赋给a,然后输出a,其实就是t值。   (39)若有如下程序段     int r=8;     printf(“%d\n”,r>>1);     输出成果是     A)16     B)8     C)4     D)2 解析:选C。考点为位运算中右移运算符使用。   每右移一次,相称于除以2。本题中,r=(8)10=(0000 1000)2   r>>1后,r=( 0000 0100)2 =(4)10   (40)下列有关C语言文献论述中对旳是     A)文献由一系列数据依次排列构成,只能构成二进制文献     B)文献由构造序列构成,可以构成二进制文献或文本文献     C)文献由数据序列构成,可以构成二进制文献或文本文献     D)文献由字符序列构成,其类型只能是文本文献 解析:选C。C语言中根据数据组织形式,分为二进制文献和ASCII码文本文献。一种C文献是一种字节序列或二进制序列,而不是一种记录(构造)序列。   二、填空题(每空2分,共30分) (1)某二叉树有5个度为2结点和3个度为1结点,则该二叉树中共有 14 个结点。 解析:度为2结点有5个,则度为0结点(叶子结点)为5+1=6个,度为1结点有3个,总结点数位5+6+3=14个。   (2)程序环节图中菱形框表达是 逻辑条件 。 (3)软件开发过程核心分为需求分析、设计、编码和测试四个阶段,其中 需求分析阶段产生“软件需求规格阐明书。 (4)在数据库技术中,实体集之间联系可以是一对一或一对多或多对多,那么“学生”和“可选课程”联系为 多对多 。 解析:一种学生可以选多门功课,一门功课可以多种学生选择。   (5)人员基本信息一般涉及:身份证号,姓名,性别,年龄等。其中可以作为主核心字是 身份证号码 。 解析:核心字值不能反复,只能是唯一。   (6)若有定义语句:int a=5;,则表达式:a++值是 5 。 解析:a++先使用a值再增长1。   (7)若有语句double x=17;int y;,当实行y=(int)(x/5)%2;后来y值为 1 。 解析:y=(int)(3.  )%2=3%2=1。   (8)如下程序运营后输出成果是 1  0 。 #include <stdio.h> main() { int x=20;   printf(“%d”,0<x<20);   printf(“%d\n”,0<x&&x<20); } 解析:“<”结合性为从左到右。计算O<x<20,x=20,O<x为1,然后1<20成果为1。关系运算符优先级不小于逻辑运算符。0<x&&x<20相称于(0<x)&&(x<20),成果为0。   (9)如下程序运营后输出成果是   5   。 #include <stdio.h> main() { int a=1,b=7;   do {       b=b/2;a+=b;      } while (b>1);   printf(“%d\n”,a);} 解析:考点为do while语句使用措施。 程序实行环节:a=l b=7 实行循环体,b=b/2=3  a=4;b>l条件成立,再实行循环体,b=b/2=1 a=5;此时,b>l条件不成立,输出a值5。   (10)有如下程序 #include <stdio.h> main() { int f,f1,f2,i;   f1=0;f2=1;   printf(“%d %d”,f1,f2);   for(i=3;i<=5;i++)   { f=f1+f2; printf(“%d”,f);     f1=f2; f2=f;   }   printf(“\n”); } 程序运营后输出成果是 0  1  123 。 解析:程序实行环节:     fl=0 f2=1输出:0 1 For循环变量中i只起到控制循环次数作用,循环3次。 i=3  f=f1+f2=0+1=1输出1;       f1=f2=1  f2=f=l i=4  f=f1+f2=1+1=2输出2;       f1=f2=1  f2=f=2 i=5  f=f1+f2=1+2=3输出3;       f1=f2=2  f2=f=3 注意循环内输出格式控制符没有空格,因此123持续输出。   (11)有如下程序 #include <stdio.h> int a=5; void fun(int b) { int a=10;   a+=b;printf(“%d”,a); } main() { int c=20;   fun(c);a+=c;printf(“%d\n”,a); } 程序运营后输出成果是 3025 。 解析:考点为全局变量和局部变量使用措施。 全局变量作用域为定义开始到文献结束。局部变量作用域为定义其函数内部。当局部变量和全局变量同名时,在局部变量作用域内,全局变量不起作用。 程序实行环节:调用函数fun(c),实参c传给形参b,b=20,局部变量a起作用,a=10,a+=b  a=a+b=10+20=30,输出a值30。返回到主函数:a+=c  此时a为全局变量。a=a+c=5+20=25,输出a值25。注意格式控制符无空格,因此持续输出。   (12)设有定义: struct person { int ID;char name[12];}p; 请将scanf(“%d”, &p.ID );语句补充完整,使其可觉得构造体变量p成员ID对旳读入数据。 解析:考点为构造体成员引用措施。 构造体变量成员引用措施: 构造体变量.成员名   (13)有如下程序 #include <stdio.h> main() { char a[20]=”How are you?”,b[20];   scanf(“%s”,b);printf(“%s %s\n”,a,b); } 程序运营时从键盘输入:How are you?<回车> 则输出成果为 How are you?  How 。 解析:考点为字符串输人输出。 c语言中用字符数组寄存字符串,此题中字符数组a赋值和输出属于正常使用措施。核心是字符数组b输入,C语言把空格作为字符串输入分隔符,因此字符数组b只能接受到How。(具体参照教材P145页)   (14)有如下程序 #include <stdio.h> typedef struct { int num;double s}REC; void fun1( REC x ){x.num=23;x.s=88.5;} main() { REC a={16,90.0 };   fun1(a);   printf(“%d\n”,a.num);} 程序运营后输出成果是  16  。 解析:考点为函数参数传播。C语言中函数参数传播是值传播,是把实参值传给形参,是单向传播,形参变化不会影响到实参值。此程序特殊地方是实参和形参所有是构造体变量,使用措施和一般变量是同样。   (15)有如下程序 #include <stdio.h> fun(int x) { if(x/2>0) run(x/2);   printf(“%d ”,x);} main( ) { fun(6);printf(“\n”); } 程序运营后输出成果是 1  3  6 。 解析:考点为函数递归调用。程序实行过程是先递推、后递归过程。当x=1时,条件不成立,递归终结。
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 考试专区 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服