[计算机类试卷]国家二级(C语言)笔试模拟试卷31及答案与解析.doc

上传人:dealItalian200 文档编号:503450 上传时间:2018-11-29 格式:DOC 页数:31 大小:97KB
下载 相关 举报
[计算机类试卷]国家二级(C语言)笔试模拟试卷31及答案与解析.doc_第1页
第1页 / 共31页
[计算机类试卷]国家二级(C语言)笔试模拟试卷31及答案与解析.doc_第2页
第2页 / 共31页
[计算机类试卷]国家二级(C语言)笔试模拟试卷31及答案与解析.doc_第3页
第3页 / 共31页
[计算机类试卷]国家二级(C语言)笔试模拟试卷31及答案与解析.doc_第4页
第4页 / 共31页
[计算机类试卷]国家二级(C语言)笔试模拟试卷31及答案与解析.doc_第5页
第5页 / 共31页
点击查看更多>>
资源描述

1、国家二级( C语言)笔试模拟试卷 31及答案与解析 1 算法的空间复杂度是指 ( )。 ( A)算法程序的长度 ( B)算法程序中的指令条数 ( C)算法程序所占的存储空间 ( D)算法执行过程中所需要的存储空间 2 数据的存储结构是指 ( )。 ( A)数据所占的存储空间 ( B)数据的逻辑结构在计算机中的存放形式 ( C)数据在计算机中的顺序存储方式 ( D)存储在计算机外存中的数据 3 有下列二叉树, 对此二叉树前序遍历的结果为 ( )。 ( A) ACFHIBEDG ( B) ABCDEFGHI ( C) ABDEGCFHI ( D) ABCDEFHGI 4 下列描述中正确的是 ( )

2、。 ( A)程序就是软件 ( B)软件开发不受计算机系统的限制 ( C)软件既是逻辑实体,又是物理实体 ( D)软件是程序、数据和相关文档的集合 5 两个或两个以上模块之间联系的紧密程度称为 ( )。 ( A)耦合性 ( B)内聚性 ( C)复杂性 ( D)数据传输特性 6 数据库技术的根本目标是要解决数据的 ( )。 ( A)存储问题 ( B)共享问题 ( C)安全问题 ( D)保护问题 7 下列不属于软件工程的 3个要素的是 ( )。 ( A)工具 ( B)过程 ( C)方法 ( D)环境 8 关系数据库管理系统能实现的专门关系运算包括 ( )。 ( A)排序、索引、统计 ( B)选择、投

3、影、连接 ( C)关联、更新、排序 ( D)显示、打印、制表 9 将 E-R图转换到关系模式时,实体与实体间的联系可以表示成 ( )。 ( A)属性 ( B)关系 ( C)键 ( D)域 10 设计数据库的存储结构属于 ( )。 ( A)需求分析 ( B)概念设计 ( C)逻辑设 计 ( D)物理设计 11 C语言的基本单位是 ( )。 ( A)函数 ( B)过程 ( C)子程序 ( D)子函数 12 下列不正确的转义字符是 ( )。 ( A) ( B) t ( C) n ( D) 088 13 能正确表 “当 x的取值在 1, 10和 100, 110范围内为真,否则为假 ”的表达式是 (

4、)。 ( A) (x =1) printf(“%d%dn“,x-,-y) ; ( A) 88 ( B) 77 ( C) 78 ( D) 87 16 若有 “double a;”,则正确的输入语句是 ( )。 ( A) scanf(“%1f“,A) ; ( B) scanf(“%f“, ( C) scanf(“%1f“, ( D) scanf(“%1e“, 17 下列选项中合法的赋值语句是 ( )。 ( A) a=b=34 ( B) a=34,b=34 ( C) i-1; ( D) m=(int)(x+y); 18 若整型变量 a、 b、 c、 d中的值依次为: 1、 4、 3、 2。则条件表达

5、式 a b?a:cd?c:d的值是 ( )。 ( A) 1 ( B) 2 ( C) 3 ( D) 4 19 假定所有变量均已正确说明,下列程序段运行后 x的值是 ( )。 a=b=c=0;x=12; if(!A) x-; else x=5; if(C) x=3; else x=4; ( A) 11 ( B) 4 ( C) 12 ( D) 3 20 设变量 a、 b、 c、 d和 y都已正确定义并赋值。若有下列 if语句 if(a B) if(c= =D) y=0; else y=1; 该语句所表示的含义是 ( )。 ( A) ( B) ( C) ( D) 21 在以下给出的表达式中,与 whi

6、le(E)中的 (E)不等价的表达式是 ( )。 ( A) (! E=0) ( B) (E 0 E O) ( C) (E=0) ( D) (E! =0) 22 要求通过 while循环不断读入字符,当读入字母 N时结束循环。若变量已正确定义,以下正确的程序段是 ( )。 ( A) while( ch = getchar( ) ! =N) printf(“ %c“,ch); ( B) while(ch = getehar() ! =N)printf(“%c“,ch); ( C) while (ch = getehar() = = N)printf( “%c“, ch); ( D) while (

7、ch = getchar( ) = N)printf(“%c“, ch ); 23 有以下程序 :#include stdio.h main( ) int i,s=0,t = 1,2,3,4,5,6,7,8,9; for(i=0;i 9;i+=2) s+=*(t+i); prinff(“% d n “,s); ( A) 45 ( B) 20 ( C) 25 ( D) 36 24 有以下程序 :#include stdio.h int fun(int n) if(n = 1) return 1; else return( n + fun( n - 1 ) );main( ) int x; sea

8、nf(“% d“ ,x = fun(x) ;pfinff( “% d n“ ,x); 执行程序时,给变量 x输入 10,程序的输出结果是 ( )。 ( A) 55 ( B) 54 ( C) 65 ( D) 45 25 以下叙述中错误的是 ( )。 ( A)可以通过 typedef增加新的类型 ( B)可以用 tyPedef将已存在的类型用新的名字来表示 ( C)用 typedef定义新的类型名后,原有类型名仍有效 ( D)用 tyPedcf可以为各种类型起别名,但不能为变量起别名 26 有以下程序段: struct st int x; int * y; * pt; int a = 1,2 ,b

9、 = 3,4; struct st c2 = 10,a,20,b; pt=c; 以下选项中表达式的值为 11的是 ( )。 ( A) *pt- y ( B) pt- x ( C) +pt- x ( D) (pt+)- x 27 设 fp为指向某二进制文件的指针,且已读到此文件末尾,则函数 feof(fp)的返回值为 ( )。 ( A) EOF ( B)非 0值 ( C) 0 ( D) NULL 28 设有以下语句: int a=1, b=2, c; c=a (b 2);执行后, c的值为 ( )。 ( A) 6 ( B) 7 ( C) 8 ( D) 9 29 表达式 3.6-5/2+1.2+5

10、%2的值是 ( )。 ( A) 4.3 ( B) 4.8 ( C) 3.3 ( D) 3.8 30 有以下程序: #includo stdio.h main() int y=10; while(y-)printf(“y=%dn“,y); 程序执行后的输出结果是 ( )。 ( A) y=0 ( B) y= -1 ( C) y=1 ( D) while 构成无限循环 31 有以下程序 :#include stdio.h main( ) int a =0,b =0,c =0,d =0; if(a = 1) b=1;c=2; else d=3; pfintf( “%d,%d,%d ,%d n“ ,a,

11、b,c,d); ( A) 0,1,2,0 ( B) 0,0,0,3 ( C) 1,1,2,0 ( D)编译有错 32 若有定义 :float x=1.5;int a=1,b=3,c=2; 则正 确的 switch语句是 ( )。 ( A) switch(x) case 1.0: printf(“*n“); case 2.0: printf(“ * * n“ ); ( B) switch(iht)x); case 1: printf(“ * n“ ); case 2: printf(“ * * n“ ); ( C) switch(a +b) case 1: printf(“ * n“ ); ca

12、se 2 + 1: printf(“ * * n“ ); ( D) switch(a + b) case 1: pfintf(“ * n“ ); case c: pfintf(“ * * n“); 33 有以下程序 :#include stdio.h void swap(char * x,ehar * y) char t; t= *x; *x: *y; *y=t;main ( ) char *s1 =“abc“, * s2 =“123“; swap(s1 ,s2); printf(“%s,%s n“ ,s1 ,s2);程序执行后的输出结果是 ( )。 ( A) 123,abe ( B) abe

13、,123 ( C) 1bc,a23 ( D) 321,cba 34 有以下程序 :#include stdio.h main( )int i,t 3 = 9,8,7,6,5,4,3,2,1; for(i=0;i 3;i+) printf(“%d “,t2-il-i);程序执行后的输出结果是 ( )。 ( A) 7 5 3 ( B) 3 5 7 ( C) 3 6 9 ( D) 7 5 1 35 有以下程序 :#include stdio.h fun( char p 10) int n=0,i; for(i=0;i 7;i +) if(pi0 =T) n+; return n;main( ) ch

14、ar sir 10 = “Mon“ ,“Tue“ ,“Wed“ ,“Thu“ ,“Fri“ ,“Sat“ ,“Sun“ ; prlnff(“ % dn“ ,fun(str) );程序执行后的输出结果是 ( )。 ( A) 1 ( B) 2 ( C) 3 ( D) 0 36 执行以下程序后, test.txt文件的内容是 (若文件能正常打开 ) ( )。 #include stdio.h #include stdlib.h main( ) FILE * fp; char * s1 = “Fortran“ , * s2 = “Basic“; if(fp = fopen( “test. txt“ ,

15、“ wb“ ) = = NULL) prinff( “Cant open test. txt file n“); exit(1); fwrite( s1 ,7,1 ,fp); /* 把从地址 s1开始到 7个字符写到 fp所指文件中 */ fseek(fp,OL,SEEK_SET); /*文件位置指针移到文件开头 */ fwrite (s2,5,1,fp); felose (fp); ( A) Basiean ( B) BasieFortran ( C) Basic ( D) FortranBasie 37 若有说明语句 :double * p,a;则能通过 scanf语句正确给输入项读入数据

16、的程序段是 ( )。 ( A) *p= sCanf(“%1f“,p); ( B) *p= scanf(“%f“,p); ( C) p= scanf( “% 1f“ , * p); ( D) p = scanf( “% 1f“ , p); 38 有以下程序 : #include stdio.h main( ) ehar c1,c2,c3,c4,c5,c6; scanf( “% c% c% c% c“, c5 = getehar( ); c6 = getchar( ); putehar(c1); putehar(c2); printf(“%c%cn“, c5, c6); 23 回车 45678 回

17、车 ( A) 1267 ( B) 1256 ( C) 1278 ( D) 1245 39 以下不合法的用户标识符是 ( )。 ( A) j2_KEY ( B) Double ( C) 4d ( D) _8 40 有以下程序 : #include stdio.h int fun(int x, int n) static int sum =0,i; for(i=0;i n;i + )sum + =xi; return sum; int a =1,2,3,4,5,b=6,7,8,9,s=0; s = fun(a,5) + fun(b,4) ;printf( “%d n“,s);程序执行后的输出结果是

18、 ( )。 ( A) 45 ( B) 50 ( C) 60 ( D) 55 41 设有以下定义和语句: char str20=“Program“, *P; p=str; 则以下叙述中正确的是 ( )。 ( A) *p与 str0中的值相等 ( B) str与 p的类型完全相同 ( C) str数组的长度和 p所指向的字符串长度相等 ( D)数组 str中存放的内容和指针变量 p中存放的内容相同 42 有以下程序: #include stdio.h main( ) char * p = “3697“ ,“2548“ ; int i,j; long num =0; for(i =0;i 2;i +

19、 ) j =0; while(pij! =0) if(pij-0)%2) num=10*num+pij-0; j+ =2; printf( “%d n“ ,num);程序执行后的输出结果是 ( )。 ( A) 35 ( B) 37 ( C) 39 ( D) 3975 43 有以下程序 :#inelude stdio.h main( ) int i,j,x=0; for(i=0;i 2;i+ ) x+; for(j=0;j =3;j +) fi(j%2) continue; x+; x+; pfinff( “x = % dn“,x); 程序执行后的输出结果是 ( )。 ( A) x=4 ( B)

20、 x=8 ( C) x=6 ( D) x=12 44 以下叙述中错误的是 ( )。 ( A) C语言源程序经编译后生成后缀为 .obj的目标程序 ( B) C程序经过编译、连接步骤之后才能形成一个真正可执行的二进制机器指令文件 ( C)用 C语言编写的程序称为源程序,它以 ASCII代码形式存放在一个文本文件中 ( D) C语言中的每条可执行语句和非执行语句最终都将被转换成二进制的机器指令 45 以下叙述中错误的是 ( )。 ( A)算法正确的程序最终一定会结束 ( B)算法正确的程序可以有零个输出 ( C)算法正 确的程序可以有零个输入 ( D)算法正确的程序对于相同的输入一定有相同的结果

21、46 以下叙述中错误的是 ( )。 ( A) C程序必须由一个或一个以上的函数组成 ( B)函数调用可以作为一个独立的语句存在 ( C)若函数有返回值,必须通过 return语句返回 ( D)函数形参的值也可以传回给对应的实参 47 以下不合法的数值常量是 ( )。 ( A) 11 ( B) le1 ( C) 3.0E0.5 ( D) 0xabcd 48 已定义以下函数: int fun(int *p) return *p; 函数 fun的返回值是 ( )。 ( A)不确定的值 ( B)一个整数 ( C)形参 p中存放的值 ( D)形参 p的地址值 49 以下叙述中正确的是 ( )。 ( A)

22、预处理命令行必须位于 C源程序的起始位置 ( B)在 C语言中,预处理命令行都以 “#”开头 ( C)每个 C程序必须在开头包含预处理命令行: #include stdio.h ( D) C语言的预处理不能实现宏定义和条件编译的功能 50 有以下程序: #include stdio.h void funl (char * p) char * q; q=p; while( *q! =0) (*q) +;q+;mains( ) char a = “Program“ , * p; p = fun1 (p); printf(“% s n“ ,a);程序执行后的输出结果是 ( )。 ( A) Prohs

23、bn ( B) Prphsbn ( C) Progsbn ( D) Program 51 软件的需求分析阶段的工作,可以概括为四个方面:【 】、需求分 析、编写需求规格说明书和需求评审。 52 在先左后右的原则下,根据访问根结点的次序,二叉树的遍历可以分为三种:前序遍历、【 】遍历和后序遍历。 53 数据字典是各类数据描述的集合,它通常包括五个部分,即数据项、数据结构、数据流、【 】和处理过程。 54 数据结构包括数据的逻辑结构、数据的【 】以及对数据的操作运算。 55 如果一个工人可管理多个设施,而一个设施只被一个工人管理,则实体 “工人 ”与实体 “设备 ”之间存在【 】联系。 56 表示

24、 “整数 x的绝对值大于 5”时值为 “真 ”的 C语言 表达式是【 】。 57 函数 pi的功能是根据以下近似公式求 值: 请在下面的函数中填空,完成求 的功能。 #include math.h double pi(long n) double s = 0.0; long i; for(i = 1;i = n; i+) s = s +【 】 ; return (sqrt(6*s); 58 设在主函数中有以下定义和函数调用语句,且函数 fun为 void型,请写出函数fun的首部【 】。要求形参名为 b。 main() double s1022; int n; fun(s); 59 以下程序的

25、输出结果是【 】。 #include stdio.h void fun() static int a=0; a + =2; printf(“%d“,a); main() int cc; for(cc = 1;cc 4; cc+) fun(); printf(“n“); 60 下列程序的运行结果是【 】。 #include stdio.h main() union EXAMPLE struct int x; int y; in; int a; int b; e; e.a=1;e.b=2; e.in.x=e.a*e.b; e.in.y=e.a+e.b; printf(“%d,%dn“,e.in.x

26、,e.in.y); 61 函数 mycmp(char *s,char *t)的功能是比较字符串 s和 t的大小,当 s等于 t时返回 0,当 s t时返回正值,当 s t时返回负值。请填空。 mycmp( char *s,char *t) while ( *s=*t) if(*s= =0) return 0; +s; +t; return(【 】 ); 62 若有以 下定义和语句,则使指针 p指向值为 36的数组元素的表达式是【 】。 int a10=19,23,44,17,37,28,49,36,*p; p=a; 63 下面的语句要使指针 p指向一个 double类型的动态存储单元,请填空。

27、 p =【 】 malloc(sizeof(double); 64 以下程序的输出结果是【 】。 #include stdio.h #define MAX(x,y) (x) (y)? (x):(y) main() int a=5,b=2,c=3,d=3,t; t = MAX(a+b,c+d)*10; printf(“%dn“,1); 65 执行以下程序段后, s的值为【 】。 static char ch=“600“; int a,s=0; for(a=0;cha =0a+) s=10*s+cha-0; 66 在对文件进行操作的过程中,若要求文件的位置指针重新指向文件的开头,应当调用的函数是【

28、 】函数。 67 下列程序的字符串中各单词之间有一个空格,则程序的输出结果是【 】。 #include stdio.h #include string.h main() char str1=“How do you do“, *p1=str1; strcpy(str1+strlen(str1)/2,“es she“); printf(“%sn“,p1); 68 以下函数 inverse的功能是使一个字符串按逆序存放,请填空。 inverse(char str) char m; int i,j; for(i=0,j=strlen(str);i strlen(str)/2;【 】 ,j-) m=st

29、ri; stri=【 】 ; 【 】 ; 国家二级( C语言)笔试模拟试卷 31答案与解析 1 【正确答案】 D 【试题解析】 一个算法的空间复杂度,一般是指执行这个算法所需的存储空间。一个算法所占用的存储空间包括算法程序所占用的空间、输入的初始数据所占用的存储空间及算法执行过程中所需要的额外空间。 2 【正确答案】 B 【试题解析】 数据的存储结构,又称为数据的物理结构,是数据的逻辑结构在计算机中的存放形式。数据的存储结构有顺序结构、链式结构、散列结构和索引结构等。 3 【正确答案】 C 【试题解析】 对二叉树的前序遍历是指;先访问根结点,然后访问左子树,最后访问右子树 ,并且,在访问左,右

30、子树时,先访问根结点,再依次访问其左,右子树。 4 【正确答案】 D 【试题解析】 软件是运行在计算机硬件之上的逻辑实体,包括程序,数据和相关的文档。软件的开发、运行对计算机系统具有依赖性,受计算机系统的限制。 5 【正确答案】 A 【试题解析】 耦合性是模块间互相连接的紧密程皮的度量,取决于各个模块之间接口的复杂度、调用方式以及哪些信息通过接口。 6 【正确答案】 B 【试题解析】 在数据库系统中,需要对数据进行集中、统一的管理,以达到被多个应用程序共享的 目标。 7 【正确答案】 D 【试题解析】 软件工程包括 3个要素,即方法,工具和过程。方法是完成软件工程项目的技术手段;工具支持软件的

31、开发、管理和文档生成:过程支持软件开发的各个环节的控制、管理。 8 【正确答案】 B 【试题解析】 关系数据库管理系统的专门关系运算包括选择运算、投影运算和连接运算 9 【正确答案】 B 【试题解析】 将 E-R图转换成指定 RDBMS中的关系模式是数据库逻辑设计的主要工作。从 E-R图到关系模式的转换是比较直接的,实体和联系都可以表示成关系。 10 【正确答案】 D 【试题解析】 物理设计阶段主要解决选择文件存储结构和确定文件存取方法的问题,包括选择存储结构、确定存取方法、选择存取路径、确定数据的存放位置。 11 【正确答案】 A 【试题解析】 C语言是函数式的语言,它的基本组成单位是函数,

32、在 C语言中任何程序都是由一个或者多个函数组成的。 12 【正确答案】 D 【试题解析】 是反斜线转义字符; t是水平跳格转义字符; n是换行转义字符; C语言中没有规定 088为转义字符。 13 【正确答案】 C 【试题解析】 本题考查逻辑与 (else y=1;是 if(a B)语句的一个子句。所以整个C语句表达式的意思是:在 a b的情况下,如果 c=d则 y=0,否则 y=1。所以,选项 C)为正确答案。 21 【正确答案】 C 【试题解析】 while(表达式 )语句用来实现 “当型 ”循环结构,当表达式为非 0值时,执行 while循环体语句。选项 A)若 E非。即为 1,选项 B

33、)与选项 D)的结果也为 1,只有选项 C)为 0。 22 【正确答案】 A 【试题解析】 此题中选项 B)与选项 C)首先在书写上就有 错误;题目要求当读人的字母为非字母 N时才执行 printf语句,依据选项 D)的要求,只有当读人的字母为 N时才执行 printf句,故也错误。 23 【正确答案】 C 【试题解析】 程序中的 *(t+i)相当于 ti。由于 for循环变量的增量为 2,因此 i分别取值 0, 2, 4, 6, 8,因为 t0=1, t2=3, t4=5, t6=7, t8=9,对其进行求和运算,结果为 25。 24 【正确答案】 A 【试题解析】 函数调用将实参 x=10

34、传给形参 n,语句 n 1不成立,执行 else语句,递归调用 fun函数。 fun函数共被调用 8次,即 fun(9), fun(8), , fun(2),由此可得 n=10+9+1=55 ,所以 x=55。 25 【正确答案】 A 【试题解析】 选项 A)错误,原因是 typedef可以声明新的类型名来代替已有的类型名,但却不能增加新的类型。 26 【正确答案】 C 【试题解析】 题目中定义了一个 str构体类型,然后定义了 “型的结构体指针变量 *pt及结构体数组 c,并对结构体数组进行了初始化,且将结构体指针变量 Pt指向了数组 c,则 pt- x的值为 10,所以 +Pt- x的值为

35、 11,故选项 C)正确。 27 【正确答案】 B 【试题解析】 若函数 feof()返回 0,则表示文件指针没有到文件末尾;如果返回非 0,则表示到了文件末尾。 28 【正确答案】 D 【试题解析】 先算括号内的表达式,即先对 b进行左移运算: b的二进制为 0000 0010,左移后变为 0000 1000,然后再与 a进行异或运算 (参与运算的两个对应位相同,则为 0,相异则为 1),结果为 0000 1001,换算成十进制数结果为 9。对于左移运算也可直接用此规则:左移 1位相当于 该数乘以 2,左移 2位相当于该数乘以22=4,依此类推。 29 【正确答案】 D 【试题解析】 算术运

36、算符的结合方向为 “自左至右 ”,先按运算符的优先级别高低次序执行,同时在 C中两个整数相除或求余数其结果依旧为整数。计算后结果为3.6-2+1.2+1=3.8。 30 【正确答案】 B 【试题解析】 程序首先判断 y值是否非 0,显然 y=10满足条件, y自减 1,再次执行 while语句,判断 y为 9的值是否满足条件,满足条件, y自减 1, ,直到 y为 0,条件不成立,结束循环, y自减 1后变为 -1,所以输 出结果为 y=-1。 31 【正确答案】 D 【试题解析】 程序中 if子句后面有 2条语句 b=1; c=2;需要用 括起来,成为一条复合语句,否则 else找不到与之配

37、对的 if,所以编译出错。 32 【正确答案】 C 【试题解析】 选项 A)中 case后面的表达式为浮点型,选项 D)中 case后面的表达式存在字符变量 c,故选项 A)、 D)错误;在选项 B)中, switch后面的表达式加了分号显然有错。 33 【正确答案】 C 【试题解析】 C语言中,字符串常量在内存中是以字符数组的形式存放的 ,形参字符指针 x和 y指向的是各字符串的首地址,在 swap函数中, *x与 *y交换的是字符串的第一个字符,即字符 a与 1的交换,而字符串中其他字符保持不变。 34 【正确答案】 B 【试题解析】 由初始化可知,数组 t是一个三行三列的二维数组,执行

38、for循环语句输出 t2-ii分别为 t20, t11, t02,得到输出结果为 357。 35 【正确答案】 B 【试题解析】 数组名 str作为函数参数将实参数组的起始地址传给形参数组 p,当形参数组发生变化时主函数中 的实参数组中的值也随之发生变化。调用 fun函数执行 for循环语句后, n为 2,返回给 main函数输出。 36 【正确答案】 A 【试题解析】 程序以 “只写 ”方式打开一个名为 test.txt的文件,并向该文件写入指针变量 s1指向的 7个字符 “Fortran“,执行 fseek函数,使文件位置指针移到文件的开头,再次向文件输入指针变量 s2指向的 5个字符 “

39、Basic“这时系统会覆盖原有的内容 “Fortr“,所以最后 test.txt里的内容为: Basican。 37 【正确答案】 D 【试题解析】 p=后,e.in.x=e.a=e.b=2;执行语句 e.in.x= e.a*e.b;时, e.a的值为 2, e.b的值为 2,所以运算得出 e.in.x的值为 4;执行语句 e.in.y= e.a+e.b时,由于 e.in.x和 e.a、 e.b占用的是同一段内存单元,所以此时的 e.a、 e.b的值为 4,因此运算得出 e.in.y的值为4+4=8。程序最后的输 出结果为 4, 8。 61 【正确答案】 *s-*t 【试题解析】 本题考查比较

40、字符串的大小。函数的两个形参是两个字符指针变量,指针变量的值是字符串的首地址, *s和 *t表示 s和 t指向的第一个字符,在while循环中,通过 s和 t指针的移动,不断改变所指字符,通过返回 s和 t的第一个不同字符的 ASCII码的差值 *s-*t得到结果。 62 【正确答案】 p=p+7或 p+=7 【试题解析】 本题考查通过指针引用数组元素。值为 36的数组元素在 a数组中是第 8个元素,即 a7。在程序中, p=a;语句将数组 a的首地址赋给了指针变量p,则可以用 *(p+i)来表示数组元素, *(p+i)与 ai等价, a7可表示为 *(p+7)。要使指针 p指向 a7,可以用 p= p+7移动指针,故填写 p=p+7或 p+=7。 63 【正确答案】 (double *) 【试题解析】 本题考查强制类型转换。函数 malloc的默认返回是 void *,若要使指针指向 double类型,必须进行类型转换,类型转换格式为: (数据类型 *)。 64 【正确答案】 7

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

当前位置:首页 > 考试资料 > 职业资格

copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1