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

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

1、国家二级( C语言)笔试模拟试卷 9及答案与解析 1 算法的空间复杂度是指 ( A)算法程序的长度 ( B)算法程序中的指令条数 ( C)算法程序所占的存储空间 ( D)算法执行过程中所需要的存储空间 2 数据的存储结构是指 ( A)数据所占的存储空间量 ( B)数据的逻辑结构在汁算机中的表示 ( C)数据在计算机中的顺序存储方式 ( D)存储在外存中的数据 3 设有下列二叉树: 对此二叉树后序遍历的结果为 ( A) ABCDEF ( B) BDAECF ( C) ABDCEF ( D) DBEFCA 4 源程序中应包含一些内部文档,以帮助阅读和理解程序,源程序的内部文档通常包括选择合适的标识

2、符、注释和 ( A)程序的视觉组织 ( B)尽量不用或少用 GOTO语句 ( C)检查输入数据的有效性 ( D)设计良好的输出报表 5 对于长度为 n的线性表,在最坏情况下,下列各排序法所对应的比较次数中正确的是 ( A)冒泡排序为 n/2 ( B)冒泡排序为 n ( C)快速排序为 n ( D)快速排序为 n(n-1)/2 6 下面不属于软件设计原则的是 ( A)抽象 ( B)模块化 ( C)自底向上 ( D)信息隐藏 7 在数据库管理系统提供的数据语言中,负责数据的完整性、安全性的定义与检查以及并发控制、故障恢复等功能的是 ( A)数据定义语言 ( B)数据转换语言 ( C)数据操纵语言

3、( D)数据控制语言 8 下列对于线性链表的描述中正确的是 ( A)存储空间不一定是连续,且各元素的存储顺序是任意的 ( B)存储空间不一定是连续,且前件元素一定存储在后件元素的前面 ( C)存储空间必须连续,且前件元素一定存储在后件元素的前面 ( D)存储空间必须连续,且各元素的存储顺序是任意的 9 以下叙述中正确的是 ( A) C程序中注释部分可以出现在程序中任意合适的地方 ( B)花括号 “”和 “”只能作为函数体的定界符 ( C)构成 C程序的基本单位是函数,所有函数名都可以由用户命名 ( D)分号是 C语句之间的分隔符,不是语句的一部分 10 以下选项中合法的实型常数是 ( A) 5

4、E2.0 ( B) E-3 ( C) 2E0 ( D) 1.3E 11 以下叙述中正确的是 ( )。 ( A)构成 C程序的基本单位是函数 ( B)可以在一个函数中定义另一个函数 ( C) main函数必须放在其他函数之前 ( D) C函数定义 的格式是 K else prinff(“%dn“,y); ( B) if(a=0) printf(“%dn“,y); else printf(“%dn“,x); ( C) fi(a!=0) prinff(“%dn“x); else printf(“%dn“,y); ( D) if(a=0) prinff(“%dn“,x); else printf(“%

5、dn“,y); 23 以下不能定义为用户标识符是 ( A) Main ( B) _0 ( C) _int ( D) sizeof 24 有以下程序 main ( ) int i,n=0; for (i=2 ;i 5;i+) do if (i%3) continue; n+; while(!i); n+; print f ( “n=%dn“ , n); 程序执行后的输出结果是 ( A) n=5 ( B) n=2 ( C) n=3 ( D) n=4 25 有以下程序 main ( ) int a=15,b=21,m=0; switCh (a%3) case 0 :m+ ;break; case 1

6、:m+; switch (b%2) default: m+; case 0 :m+; break; printf ( “%dn“ , m); 程序运行后的输出结果是 ( A) 1 ( B) 2 ( C) 3 ( D) 4 26 以下程序的输出结果是 main ( ) int a=4,b=5, c=0,d; d=!a printf ( “%dn“ , d); ( A) 1 ( B) 0 ( C)非 0的数 ( D) -1 27 若有说有 : int n=2,*p=, 则以下非法的赋值语句是 ( A) P=q; ( B) *p=*q; ( C) n=*q; ( D) p=n; 28 以下程序的输出

7、结果是 char cchar(char ch) if(ch =A return ch; main ( ) char s = “ABC+abc=defDEF“ , *p=s; while (*p) *p=cchar(*p); p+; printf “%$n“, s); ( A) abc+ABC=DEFdef ( B) abc+abc=defdef ( C) abcABCDEFdef ( D) abcabcdefdef 29 有以下程序 main ( ) int a=7,b=8, *p, *q, *r; p- q= r=p; p=q; q=r; printf (“%d, %d, %d, %dn“,

8、 *p, *q, a, b); 程序运行后的输出结果是 ( A) 8,7,8,7 ( B) 7,8,7,8 ( C) 8,7,7,8 ( D) 7,8,8,7 30 以下程序的功能是 : 给 r输入数据后计算半径 r圆面积 s。程序在编译时出错。 main () /* Beginning */ int r; float s; scanf ( “%d“, s=*r*r; printf (“s=%fn“, s); 出错的原因是 ( A)注释语句书写位置错误 ( B)存放圆半径的变量 r 不应该定义为整型 ( C)输出语句中格式描述符非法 ( D)计算圆面积的赋值语句中使用了非法变量 31 有以下程

9、序 main ( ) int x8 =8,7,6,5, 0, 0,*s; s=x+3; printf (“ %dn“ ,s2 ); 执行后输出结果是 ( A)随机值 ( B) 0 ( C) 5 ( D) 6 32 有以下程序 main ( ) char a =a,b, c,d, e,f,g,h,0; int i,j; i=sizeof (a); j=strlen(a); print f (“ %d, %dn“ i, j ); 程序运行后的输出结果是 ( A) 9,9 ( B) 8,9 ( C) 1,8 ( D) 9,8 33 有以下程序 main ( ) char a7=“a00a00“; i

10、nt i,j; i=sizeof(a); j=strlen(a); printf ( “ %d %dn“,i, j); 程序运行后的输出结果是 ( A) 2 2 ( B) 7 6 ( C) 7 2 ( D) 6 2 34 有以下定义 : #include stdio.h char a10,*b=a; 不能给数组 a输入字符串的语句是 ( A) gets(a) ( B) gets(a0) ( C) gets( ( D) gets(b); 35 有以下程序 : main ( ) char *p 10 = “abc“, “aabdfg“ , “dcdbe“, “abbd“ , “cd“ ; prin

11、tf(“%dn“, strten(p4 ); 执行后输出结果是 ( A) 2 ( B) 3 ( C) 4 ( D) 5 36 下列函数定义中,会出现编译错误的是 ( A) max(int x,int y, int *z) *z=x y?x:y; ( B) int max(int x,y) int z; z=x y ? x:y; return z; ( C) max(int x, int y) int z; z=x y?x:y; return(z); ( D) int max(int x, int y) return(x y?x:y); 37 设有定义: int n1=0.n2, *p= ( B

12、) t=fun(D,16.5); ( C) fun(65,2.8): ( D) fun(32,32); 40 有以下程序 main ( ) int a10=1,2,3,4,5,6,7,8,9,10,*p=. print f (“%dn“ , *p+*q); 程序运行后输出结查是 ( A) 16 ( B) 10 ( C) 8 ( D) 6 41 有以下程序 main () char p=a,b,c,q =“abc“; printf ( “%d %dn“ , sizeof (p) , sizeof (q); 程序运行后输出结果是 ( A) 4 4 ( B) 3 3 ( C) 3 4 ( D) 4

13、3 42 有以下程序 #define f(x) (xx) main ( ) int i1, i2; i1=f (8) /f(4); i2=f (4+4) /f (2+2); printf(“%d, %dn“ ,i1,i2); 程序运行后的输出结果是 ( A) 64,28 ( B) 4,4 ( C) 4,3 ( D) 64,64 43 有以下程序 main () char a1= M ,a2=m; printf(“%cn“, (a1, a2) ); 以下叙述中正确的是 ( A)程序输出大写字母 M ( B)程序输出小写字母 m ( C)格式说明符不足,编译出错 ( D)程序运行时产生错信息 44

14、 有以下程序 main () unsigned int a; int b=-l; a=b; printf(“%u“,a); 程序运行后的输出结果是 ( A) -1 ( B) 65535 ( C) 32767 ( D) -32768 45 有以下程序 : #include string.h main() char str20=“Hello“,“Beijing“*p=str; printf(“%n“,strlen(p+20); 程序运行后的输出结果是 ( A) 0 ( B) 5 ( C) 7 ( D) 20 46 有以下程序 : #include string.h main(int argc, c

15、har *argv ) int i,len-0; for(i=l;i argc;i+=2) len+=strlen(argvi); printf(“%dn“,len); 经编译链接后生成的可执行文件是 ex.exe,若运行时输入以下带参数的命令行 ex abcd efg h3 k44 执行后输出的结果是 ( A) 14 ( B) 12 ( C) 8 ( D) 6 47 在说明语句: int *f();中,标识符 f代表的是 ( A)一个用于指向整型数据的指针变量 ( B)一个用于指向一维数组的行指针 ( C)一个用于指向函数的指针变量 ( D)一个返回值为指针型的函数名 48 有如下程序 #i

16、nclude stdio.h main() FILE *fp1; fp1;fopen(“ftxt“,“w“); fprintf(fpl, “abc“) fclose(fpl); 若文本文件 f1.txt中原有内容为: good,则运行以上:程序后文件 f1.Mt中的内容为 ( A) goodabc ( B) abcd ( C) abc ( D) abcgood 49 下列关于 C语言数据文件的叙述中正确的是 ( A)文件由 ASCII码字符序列组 成, C语言只能读写文本文件 ( B)文件由二进制数据序列组成, C语言只能读写二进制文件 ( C)文件由记录序列组成,可按数据的存放形式分为二进制

17、文件和文本文件 ( D)文件由数据流形式组成,可按数据的存放形式分为二进制文件和文本文件 50 以下叙述中不正确的是 ( A) C语言中的文本文件以 ASCII码形式存储数据 ( B) C语言中对二进制位的防问速度比文本文件快 ( C) C语言中,随机读写方式不使用于文本文件 ( D) C语言中,顺序读写方式不使用于二进制文件 51 算法执行过程中所需要的基本运算次数 称为算法的 _。 52 数据的 _结构在计算机存储空问中的存放形式称为数据的存储结构或物理结构。 53 数据流图的类型有 _和事务型。 54 在关系数据库中,将数据表示成二维表,每一个二维表称为 _。 55 在数据库理论中,数据

18、库总体逻辑结构的改变,如修改数据模式、增加新的数据类型、改变数据间联系等,不需要相应修改应用程序,称为 _。 56 以下程序运行后的输出结果是【 】。 main() int x=0210; printf(“%Xn“,x); 57 若有程序: main() int i,j; scanq(“i=%d,j=%d“, printf(“i=%d,j=%dn“, i,j); 要求给 i赋 10,给 j赋 20,则应该从键盘输入【 】。 58 若有以下程序: main() int, p, a=5; if(P=a!=0) printf(“%dn“, p); else printf(“%dn“, p+2); 执

19、行后输出结果是【 】。 59 当运行以下程序时,输入 abed,程序的输出结果是:【 】。 insert(char str) int i i=strlen(str); while(i 0) str2*i=stri; str2*-1=*; i-; printf(“%sn“, str); main() char str40; scanf(“%s“,sB) ; insert(str); 60 以下程序运行后的输出结果是【 】。 main() int a44=1,2,3,4, 5, 6, 7, 8, 11, 12,13,14, 15,16,17,18; int i=0,j=0, s=0; while(

20、i+ 4) if(i=2|=4)continue; j=0; do s+=aij; j+; while(j 4); Printf(“%dn“, s); 61 己定义 char ch=$; int i=l,j;,执行 j=!ch 64 以下 程序运行后的输出结果是【 】。 struct NODE int num; stmct NODE *next; ; main() struct NODE s3=1, 0), 2, 0), 3, 0), *p, *q, *r; int sum=0; s0 next=s+1; s1 next=s+2; s2 next=s; p=s q=p- next; r=q-

21、next; sum+=q- next- num; sum+=r- next- next- num; printf(“%dn“,sum); 65 下面程序的运行结果是【 】。 int f(int a,int n) if(n 1)return a0+f( printf(“%dn“, s); 66 以下程序中函数 f的功能是在数组 x的 n个数 (假定 n个数互不相同 )小找出最大最小数,将其中最小的数与第一个数对换,把最大的数与最后一个数对换。请填空。 #include stdio.h void f(int x,int n) int p0, p1, i, j, t, m; i=j=x0; p0=p

22、1=0; for(m=O; m n; m+) if(xm i) i=xm; p0=m; else if(xm j) j=xm; p1=m; ) t=xp0; xp0=xn-1;xn-1=t; t=xpl; xp1=【 】 ;【 】 =t main() int a10, u; for(u=0; u 10; u+) scamp(“%d“, f(a, 10); for(u=0; u 10; u+)printf(“%d“, au); ptintf(“n“); 67 以下程序中,函数 SumColumMin的功能足:求出 M行 N列二维数组每列元素中的最小值,并计算它们的和值。和值通过形参传回主函数输出

23、。请填空。 #define M 2 #define N 4 void SumColumMm(int aMN, int*sum) int i,j,k,s=0; for(i=0; i N; i+) k=0; for(j=1;j M;j+) if(aki aji) k=j; s+=【 】 ; 【 】 =s; main() int xMn)=3;, 5, 1, 4, 1,8, 3, s; SumC01umMm(【 】 ); ptintf(“%dn“,s); 国家二级( C语言)笔试模拟试卷 9答案与解析 1 【正确答案 】 D 【试题解析】 算法的空间复杂度一般是指这个算法执行时所需要的内存空间,其中

24、包括算法程序所占的空间、输入的初始数据所占的存储空间以及算法执行过程中所需要的额外空间,其中额外空间还包括算法程序执行过程的工作单元以及某种数据结构所需要的附加存储空间。 2 【正确答案】 B 【试题解析】 数据的存储结构是数据元素在计算机存储器内的表示。数据的存储结构是逻辑结构用计算机语言的实现,即建立数据的机内表示。 3 【正确答案】 D 【试题解析】 二叉树的遍历分为先序、中序、后序三种不同方式 本题要求后序遍历,其遍历顺序应该为:后序遍历左子树 -后序遍历右子树 -访问根结点。按照定义,后序遍历序列是 DBEPCA,故答案为 D。 4 【正确答案】 A 【试题解析】 源程序文档化主要包

25、括三个方面的内容:标识符的命名、程序中添加注释以及程序的视觉组织。 5 【正确答案】 D 【试题解析】 假设线性表的长度为 n,在最坏情况下,冒泡排序和快速排序需要的比较次数为 n(n-4)/2。由此可见,选项 D正确。 6 【正确答案】 C 【试题解析】 软件设计的原则包括:抽象、模块化,信 息隐蔽和模块独立性。所以自底向上不是软件设计原则。答案为 C。 7 【正确答案】 D 【试题解析】 在数据库管理系统提供的数据语言中,数据控制语言负责数据的完整性、安全性的定义与检查以及并发控制、故障恢复等功能。 8 【正确答案】 A 【试题解析】 在链式存储结构中,存储数据的存储空间可以不连续,各数据

26、结点的存储顺序与数据元素之间的逻辑关系可以不一致,数据元素之间的逻辑关系,是由指针域来确定的。由此可见,选项 A的描述正确。 9 【正确答案】 A 【试题解析】 “/*”与 “*/”之 间的信息称为注释信息,在 C语言中,允许在任何能够插入空格符的位置插入注释,但 C语言的注释不能进行嵌套,故选项 A正确;在 C语言中,函数体是从花括号 “”开始,到花括号 “”结束但没有规定花括号“”和 “”只能作为函数体定界符,故选项 B错误;选项 C中前半句是正确的,在C程序中由有一个或多个函数所组成,但不是所有的函数都由用户自己命名,有些函数比如库函数,主函数 main()就不能由用户来命名,故选 C不

27、正确;在 C语言中明确规定每条语句以分号 “; ”结束,分号是语句不可缺少的一部分,故选项D不正 确。所以, 4个选项中选项 A符合题意。 10 【正确答案】 C 【试题解析】 在 C语言中,实数有两种表示形式:十进制数形式与指数形式。 一般形式的实数:小数形式的实数由整数部分、小数点和小数部分组成 (必须要有小数点 ), 指数形式的小数;指数形式的实数由尾数部分、 e(E)和指数部分组成 (字母 e或E的前后必须要有数字,且其后面的指数必须为整数 )。 选项 A中, 5E2.0中 E后面的 2.0不是整数;选项 B中, E前面没有数字:选项D中, E后面没有数字。最终可以判断选项 C正确。

28、11 【 正确答案】 A 【试题解析】 构成 C程序的基本单位是函数, A) 正确;函数的定义是互相平行、独立的,一个函数内不能定义另一个函数, B) 错误; main函数可以在其他函数之前定义,也可以在其他函数之后定义, C) 错误; C函数定义的一般格式分为传统格式和现代格式,传统格式也称 K?“|!#%&() “空格 ”30个特殊符号组成。所以在计算圆面积的赋值语句中出现的 是非法字符,将引起编译出错应该选择 D。 31 【正确答案】 B 【试题解析】 本题考核的知识点是指向一维数组的指针 变量,通过赋值语句“s=x+3”,使指针变量 s指向数组元素 x3,输出语句中的 s2等价于 *(

29、s+2),即x5僖为 0。所以, B选项为所选。 32 【正确答案】 D 【试题解析】 本题中首先定义了字符数组 a,由于它的长度省略,所以其长度由初值个数确定,为 9。接着将 sizeof()函数返回的值赋给 i (SIZeof()函数的作用是返回运算对象占用的字符数 ),所以 i值为 9。然后将 strlen()函数的返回值赋给j(strlen()函数的作用是返回字符串的长度,不包括字符串的结束标记 0),所 以 j值为 8,所以最后输出的 i, j的值为 9, 8。所以 4个选项中 D正确。 33 【正确答案】 C 【试题解析】 本题主要考查的是 C语言中的数组长度和字符串长度。数组长度

30、指的是一个数组所占内存空间的字节数,数组长度可以通过 sizeof(数组名 )来求得;字符串长度是指从指定内存地址开始直到碰到第一个 0字符为止所经过的字符数 (不包括 0字符 ),字符串长度可以通过字符串函数 strlen(字符串首地址值 )来求得。所以本题程序运行后,变量 i中是数组 a的长度 7,变量 j中是数组a中第一个 0字符 之前的字符数 2:选项 C符合题意。 34 【正确答案】 B 【试题解析】 本题考核的知识点是函数 gets()的应用。函数 gets()的调用形式为 gets(str_adr); str_adr是存放字符串的起始地址。可以是字符数组名、字符指针或字符数组元素

31、的地址。 gets函数用来从终端键盘读入字符串 (包括空格符 ),直到读入一个换行符为止。换行符读入后,不作为字符串的内容。本题中定义一个长度为 10的字符数组,和一个指针变量 b,并且通过赋值让它指向数组 a;选项 A。选项 B。选项 C和选项 D中只有选项 B中 gets函数的参数 a0不能表示数组 a的首地址,故选项 B不正确。所以, 4个选项中选项 B符合题意。 35 【正确答案】 A 【试题解析】 本题考核的知识点是指针数组的定义和 strlen()函数的应用。本题中首先定义了一个长度为 10的指针数组,并赋初值,因此执行 strlen(p4后的返回值为字符串 “cd”的长度为 2。

32、所以, 4个选项中选项 A符合题意。 36 【正确答案】 B 【试题解析】 本题考核的知识点是函数的定义方法。选项 B中在说明形参时,省略了第二个参数的类型,故选项 B编译不能通过。 所以, 4个选项中选项 B符合题意。 37 【正确答案】 A 【试题解析】 本题考查的是指针的运算。题目中定义了两个变量 n1和 n2,又定义了两个指针 p和 q分别指向变量 n2和 n1。要通过指针实现 n2=n1,就是要将 q所指内容赋给 p所指内容,即 *p*q。所以应该选择 A。 38 【正确答案】 A 【试题解析】 静态局部变量在整个程序运行期间,静态局部变量在内存的静态存储区中占据着永久性的存储单元。

33、由此可知静态局部变量的生存期将一直延长到程序运行结束。故选项 A正确;而全局变量的只有一种静态存储类 别,故全局变量说明为 stattc存储类,和没有说明为 static存储类其生存期都是一直延长到程序运行结束,故选项 B不正确;未赋初值的 auto型变量的初值是随机的,未赋初值的 static型变量的初值是 0(故选项 C和选项 D不正确 )。所以; 4个选项中选项 A符合题意。 39 【正确答案】 D 【试题解析】 本题考查了函数的定义。题目中定义的函数 fun()有两个参数,一个是字符型变量 ch,另一个是浮点型变量 x,函数类型是 void即无返回值。选项A调用 fun的第 1个参数是

34、字符串常量与字符变量不匹配,所以不正确 。选项 B是有返回值函数的调用形式,不正确。选项 C的第 1个参数是错误的字符常量,字符常量是用单引号括起来的一个字符 (是转义字符可能有多个字符 ),故也不正确。选项 D使用两个整型常量调用 fun这在 C语言中是允许的。因为整型到字符型可以自动转换,整型到浮点型也可以自动转换。故应该选择 D。 40 【正确答案】 B 【试题解析】 本题考查的是指针的简单应用。题目中首先定义了一个 int型数组a并初始化了,然后定义了两个指针变量 p和 q,并分别初始化 p为指向数组元素a3、 q指向 p后面的第 2个元素即指向 a5。所以最终输出的值为 a3+a5的

35、值10。应该选 B。 41 【正确答案】 C 【试题解析】 本题考查的是字符数组的初始化。字符数组即可以用 初始化列裹 来初始化,也可以用一个字符串常量来初始化。但字符串常量系统会自动为其添加结束标记 0,故比实际长度要多一位,所以本题输出为 3 4,应该选择 C。 42 【正确答案】 C 【试题解析】 本题考查的是带参数的宏。宏替换与函数调用不同,前者是字面上的,在编译期间完成,后者是内容上的,在运行期间才进行。题目中第 1条要替换的语句 i1=(8)/f(4);展开后是 i1=(8*)/(4*4);结果使 i1=4而第 2条语句i2=f(4+4)/f(2+2);展开后为 i2=(4+4*4

36、+4)/(2+2*2+2);结果使 i2=24/8=3。故应该选择 C。 43 【正确答案】 B 【试题解析】 本题考查的是逗号表达式。因为整个逗号表达式的值为逗号表达式最后一个于表达式的值,所以本题输出的是 a2的值 m。故应该选择 B。 44 【正确答案】 B 【试题解析】 本题考核的知识点是无符号整型数据的简单运用。程序中定义了一个无符号整型变量 a和一 个整型变量 b,并且给它赋初值为 -1,整型在计算机中都以二进制表示的, -1在二进制表示为 1000 0000 0000 0001,所以当表示为无符号整数时转换为十进制为 32767,故最后输出的无符号型 a的值为 32767。所以,

37、 4个选项中选项 B符合题意 45 【正确答案】 C 【试题解析】 本题考核的知识点是二维数组的初始化及库函数 strlen()的应用。主函数中定义了一个二维字符数组并初始化,初始化后的结果为 str0=“Hello“,str1=“Beijing“,然后定义一个字符指针变量 p并让 它指向数组的首地址,即指向 str0,而在 C语言中无论是一维还是多维数组,其元素在内存中都是顺序存放的,故 p+20后指针指向 str1,所以 strlen(P+20);返回的是 str1中的字符串的长度,即 Beijing的长度为 7,所以最后输出的值为 7,所以, 4个选项中选项 C符合题意。 46 【正确答

38、案】 D 【试题解析】 本题考核的知识点是带寥数的主函数的应用。主函数的第一个参数argc为整形参数,记下从命令行输入的参数的个数;第二个参数 argv是一个字符型的指针数组,它的每一个元素指向命令 行输入的参数字符数。在本例中 argc的值为 5, argv0指向字符串 “ex“, argv1指向参数字符串 “abed”, argv2指向字符串 “efg”, argv3指向参数字符串 “h3”, argv4指向参数字符串 “K44”。在main()函数中, for循环执行了 2次,当 i-1时, len=0+strlen(argv1),而其中argv1=“abcd”,故此时 len的值为 4

39、;当 i=3时, len=4+strlen(argv3),而其中argv3=“h3”,故此时 len的值为 6; 当 i=5时,退出循环,故最后输出的 len的住为 6。所以, 4个选项中选项 D符合题意。 47 【正确答案】 D 【试题解析】 本题考核的知识点是指针作为函数返回值的定义方式。定义指向整型元素的指针变量形式为: hat*指针变量名。定义指向整型一维数组的行指针形式为: int(*指针变量名 长度 ,定义指向返回值为整型的函数的指针变量的形式为: int(*函数名 )(),定义返回值为指向整型的指针型函数的形式为: int*函数名(),本题定义的是一个返回值为指针型的函数 f()。所以, 4个选项中 D为所选。 48 【正确答案】 C 【试题解析】 本题考核的知识点是操作文件的几个基本函数。主函数中定义了一个文件指针中 1,然后通过 fopen()函数,以写的方式打开文件 “f1 txt,并让指针印 1指向它,接着调用 fptind()函数将 “abc”写到文件 fp1所指的文件里,由于开始 fp1指向文件的 “f1.txt”的开始位置,因此 “abc”将把文件 “f1.txt”里原来的内容

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

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

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