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

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

1、国家二级( C语言)笔试模拟试卷 118及答案与解析 1 算法的时间复杂度是指 ( )。 ( A)执行算法程序所需要的时间 ( B)算法程序的长度 ( C)算法执行过程中所需要的基本运算次数 ( D)算法程序中的指令条数 2 下列描述中,不是线性表顺序存储结构特征的是 ( )。 ( A)不便于插入和删除 ( B)需要连续的存储空间 ( C)可随机访问 ( D)需另外开辟空间来保存元素之间的关系 3 按照 “先进后出 ”原则组织数据的数据结构是 ( )。 ( A)队列 ( B)栈 ( C)双向 链表 ( D)二叉树 4 有下列二叉树,对此二叉树前序遍历的结果为 ( )。 ( A) ACBEDGF

2、H ( B) ABDGCEHF ( C) HGFEDCBA ( D) ABCDEFGH 5 对建立良好的程序设计风格,下列描述正确的是 ( )。 ( A)程序应该简单、清晰、可读性好 ( B)符号名的命名只需要符合语法 ( C)充分考虑程序的执行效率 ( D)程序的注释可有可无 6 下列不属于软件工程的 3个要素的是 ( )。 ( A)工具 ( B)过程 ( C)方法 ( D)环境 7 下列选项 中不属于软件生命周期开发阶段任务的是 ( )。 ( A)软件测试 ( B)概要设计 ( C)软件维护 ( D)详细设计 8 使用白盒测试法时,确定测试数据应该根据 ( )和指定的覆盖标准。 ( A)程

3、序的内部逻辑 ( B)程序的复杂结构 ( C)使用说明书 ( D)程序的功能 9 数据库 DB、数据库系统 DBS、数据库管理系统 DBMS之间的关系是 ( )。 ( A) DB包括 DBS和 DBMS ( B) DBMS包括 DB和 DBS ( C) DBS包括 DB和 DBMS ( D)没有任何关系 10 对关系 S和 R进行集合运算,结果中既包含 S中的所有元组也包含 R中的所有元组,这样的集合运算称为 ( )。 ( A)并运算 ( B)交运算 ( C)差运算 ( D)积运算 11 下列叙述错误的是 ( )。 ( A)在 C语言中的保留字必须小写 ( B)变量的存储类型决定了变量的存储位

4、置及其生存期 ( C)宏定义以 #define开头,行末必须加分号 ( D)在 C语言中的注释行可以出现在程序的任何位置 12 若有运算符:、 =、 %、 sizeof,则它们按优先级 (由高至低 )的正确排列顺序为 ( )。 ( A) %、 sizeof、 = ( B) sizeof、 %、 =、 ( C) sizeof、 %、 = ( D) sizeof、 %、 = 13 已知 int a=2, b=3;则执行表达式 a=a b后,变量 a的值为 ( )。 ( A) 0 ( B) 1 ( C) 2 ( D) 3 14 假定 w、 x、 y、 m均为 int型变量,则执行下列的语句后, m的

5、值是 ( )。 w=6,x=4,y=3; m=(w x)?w:x; m=(m y)?m:y; ( A) 3 ( B) 4 ( C) 5 ( D) 6 15 若变量 a, b已正确定义,且 b已正确赋值,则合法的语句是 ( )。 ( A) b=double(b); ( B) +b; ( C) a=a+=5; ( D) a=double(b); 16 执行下列程序中的输出语句后, a的值是 ( )。 main() int a; printf(“%dn“,(a=2*3,a*5,a+7); ( A) 17 ( B) 37 ( C) 6 ( D) 13 17 若有下列定义 (设 int类型变量占 2个字

6、节 ): int i=8; 则下列语句: printf(“i=%08d“,i); 输出的结果是 ( )。 ( A) i=8, ( B) i=00000008, ( C) i=08, ( D) 8 18 两次运行下列的程序,如果从键盘上分别输入 3和 1,则输出结果是 ( )。 main() int x; scanf(“%d“, if(x+ 2)printf(“%d“,x); else printf(“%dn“,x-); ( A) 4和 2 ( B) 4和 1 ( C) 4和 0 ( D) 3和 1 19 运行下列程序时,若输入的数据为 “1,2,3”,则输出结果是 ( )。 main() fl

7、oat a,b,c,t; scanf(“%f,%f,%f“, if(a b) t=a;a=b;b=t; if(a c) t=a;a=c;c=t; if(b c) t=b;b=c;c=t;) printf(“%fn%fn%fn“,a,b,c); ( A) 1 ( B) 1.00 2.00 3.00 3.00 2.00 ( C) 1 ( D) 3.000000 3 2.000000 2 1.000000 20 下列能正确定义一维数组的选项是 ( )。 ( A) int a5=0,1,2,3,4,5); ( B) char a=0,1,2,3,4,5; ( C) char a=A,B,C; ( D)

8、 int a5=“0123“; 21 已定义下列函数: int fun(int *p) return *p;) fun函数返回值是 ( )。 ( A)不确定的值 ( B)一个整数 ( C)形参 p中存放的值 ( D)形参 p的地址值 22 下列程序的输出结果是 ( )。 #include stdio.h main() int a=2,b=3,p; p=f(a,b); printf(“%d“,p); int f(a,b) int c; if(a b)c=1; else if(a=b)c=0; else c=-1; return(c); ( A) -1 ( B) 0 ( C) 1 ( D) 2 2

9、3 有下列程序: 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=1,k; k=fun(j,m);printf(“%d,“,k); k=fun(j,m);printf(“%dn“.k); 执行后的输出结果是 ( )。 ( A) 5, 5 ( B) 5, 11 ( C) 11, 11 ( D) 11, 5 24 下列循环体的执行次数是 ( )。 #include stdio.h main() int i,j; for(i=0 j=1;i j+1;i+=1,j-) printf(“%dn“

10、,j); ( A) 3 ( B) 2 ( C) 1 ( D) 0 25 设变量 x和 y均已正确定义并赋值。下列 if语句中,在编译时将产生错误信息的是 ( )。 ( A) if(x+ +); ( B) if(x y ( C) if(x 0)x- ( D) if(y 0); else y+ +; else x+ +; 26 下列字符数组初始化语句中,不正确的是 ( )。 ( A) char c=goodmorning; ( B) char c20=“goodmorning“; ( C) char c=a,b,c,d); ( D) char c=“goodmorning“); 27 下列程序的输

11、出结果是 ( )。 #include stdio.h void p(int *x) printf(“%d“,+*x); void main() int y=3; p( ( A) 3 ( B) 4 ( C) 2 ( D) 5 28 下列程序的运行结果为 ( )。 #include stdio.h void abc(char*str) int a,b,i,j; for(i=j=0;stri!=0;i+) if(stri!=a strj+=stri; strj=0; void main() char str=“abcdef“; abc(str); printf(“str=%s“,str); ( A)

12、 str=bcdef ( B) str=abcdef ( C) str=a ( D) str=ab 29 变量 m的值为 8, m的地址为 1010,若欲使 p为指向 m的指针变量,则下列赋值正确的是 ( )。 ( A) ( B) int(*q)(); ( C) int*q; ( D) int*q(); 31 下列二维数组初始化语句中,不正确的是 ( )。 ( A) int b2=1,2,3,4,5,6,7; ( B) int b35=0,0,0); ( C) int b4=1,2,3,4,5,6); ( D) int b32=(1,2),(3,4),(5,6); 32 下列程序中函数 son

13、()的功能是对数组 a中的数据进行由大到小的排序。 #include stdio.h void sort(int a,int n) int i,j,t; for(i=0;i n-1;i+) for(j=i+1;j n;j+) if(ai aj) t=ai;ai=aj;aj=t; main() int a10=1,2,3,4,5,6,7,8,9,10,i; sort( for(i=0;i10;i+)printf(“%d,“,ai); 程序运行后的输出结果是 ( )。 ( A) 1,2,3,4,5,6,7,8,9,10, ( B) 10,9,8,7,6,5,4,3,2,1, ( C) 1,8,7,

14、6,5,4,3,2,9,10, ( D) 1,2,10,9,8,7,6,5,4,3, 33 下列判断正确的是 ( )。 ( A) char a=“ABCD“;等价于 char*a;*a=“ABCD“; ( B) char str10=“ABCD“);等价于 char str10;str=“ABCD“); ( C) char*s=“ABCD“;等价于 char s;*s=“ABCD“; ( D) char c5=“ABCD“,d5=“ABCD“;等价于 char c5=d5=“ABCD“; 34 下列语句中,在字符串 s1和 s2相等时显示 “they are Equal”的是 ( )。 ( A

15、) if(*s1=*s2) ( B) if(!strcmp(s1,s2) puts(“they are Equal“); puts(“they are Equal“); ( C) if(s1=s2) ( D) if(strcmp(s1,s2) Puts(“they are Equal“); pros(“they are Equal“); 35 下列叙述中错误的是 ( )。 ( A)在 C语言中,函数中的自动变量可以赋初值,每调用一次赋一次初值 ( B)在 C语言中,在调用函数时,实参和对应形参在类型上只需赋值兼容 ( C)在 C语言中,外部变量的隐含类型是自动存 储类别 ( D)在 C语言中,

16、函数形参的存储类型是自动 (auto)类型的变量 36 下列程序的输出结果是 ( )。 #include stdio.h #define F(x)2.84+x #define w(y)printf(“%d“,(int)(y) #define P(y)w(y)putchar(n) main() int x=2; P(F(5)*x); ( A) 12 ( B) 13 ( C) 14 ( D) 16 37 若有下列说明和语句,则对结构体变量 st中成员 i的引用方式不正确的是( )。 Struct stu int i; int name; st,*p; p= ( A) st.i ( B) *p.i

17、( C) (*p).i ( D) p- i 38 下列说法错误的是 ( )。 ( A)下列结构体定义时,占据了 5个字节的空间 struct student int num; int age; char sex; ( B)结构体的成员名可以与程序中的变量名相同 ( C)对结构体中的成员可以单独使用,它的作用相当于普通变量 ( D)结构体可以嵌套定义 39 若 x=10010111,则表达式 (3+(int)(x) int i,j; gets(s); for(i=j=0;si !=0;i+) if(si!=c)_; sj=O; puts(s); 55 下列程序的运行结果是 _。 #include

18、 stdio.h func (a,b) static int m=0,i=2; i+=m+ 1; m=i+a+b; return(m); main() int k=5,m=3,p; p= func (k, m); printf(“%d“, p); p= func (k, m); printf(“%d、 n“ ,p); 国家二级( C语言)笔试模拟试卷 118答案与解析 1 【正确答案】 C 【试题解析】 所谓的算法的时间复杂度,是指执行算法所需要的工作量,可以用算法在执行过程中所需基本运算的执行次数来度量算法的工作量。 2 【正确答案】 D 【试题解析】 线性表的顺序存储是用一片连续的空间来存

19、放数据元素,其特点是逻辑上相邻的元素在物理位置上也相邻。数据元素之间逻辑上的先后关系自动隐含在物理位置的相邻元素之中,因此,不需要另外开辟空间来保存元素之间的关系。 3 【正确答案】 B 【试题解析】 栈是一种特殊的线性表,其插入和删除运算都只在线性表的一端进行,而另一端是封闭的。进行插入、删除的一端称为栈顶,封闭的一端称为栈底。栈顶元素是最后被插入的元素,不是最后被删除的,是按先进后出的原则组织数据的。 4 【正确答案】 B 【试题解析】 对二叉树的前序遍历是指:先访问根结点,然后访问左子树,最后访问右子树,并且,在访问左、右子树时,先访问根结点,再依次访问其左、右子树。 5 【正确答案】

20、A 【试题解析】 “清晰第一,效率第二 ”,在考虑到程序的执行效率的同时,一定要保证程序清晰、可读;对符号名的命名,除了要符合语法要求外,还要具有一定的含义;程序的注释可以帮助程序员理解程序,不是可有可无的。 6 【正确答案】 D 【试题解析】 软件工程包括 3个要素,即方法、工具和过程。方法是完成软件工程项目的技术手段:工具支持软件的开发、管理和文档生成;过程支持软件开发的各个环节的控制、管理。 7 【正确答案】 C 【试题解析】 软件的生命周期可分为软件定义、软件开发及软件运行维护 3个阶段。其中软件定义阶段的主要工作有可行 性研究与计划制定和需求分析等;软件开发阶段的主要工作有概要设计、

21、详细设计和测试等;软件运行维护阶段的主要工作是软件的运行及后期的维护等。 8 【正确答案】 A 【试题解析】 白盒测试是把测试对象看作是一个打开的盒子,允许测试人员利用程序内部的逻辑结构及相关信息来设计或选择测试用例,对程序所有的逻辑路径进行测试。所以,白盒测试的对象基本上是源程序,以程序的内部逻辑和指定的覆盖标准测试数据。 9 【正确答案】 C 【试题解析】 数据库系统 (DBS)由数据库 (DBS)、数据库管理系统 (DBMS)、数据库管理员、硬件平台和软件平台 5个部分组成,可见 DB和 DBMS都是 DBS的组成部分。 10 【正确答案】 A 【试题解析】 关系的并运算是指,由结构相同

22、的两个关系合并,形成一个新的关系,其中包含两个关系中的所有元组。 11 【正确答案】 C 【试题解析】 本题涉及 C语言最基本的 4个知识点: C语言的保留字必须小写; 变量的存储类型不同,其存储位置和生存期也不一样: C语言允许其注释部分出现在程序中的任何位置; 宏定义以 #define开头,行末不需要加分号。 12 【正 确答案】 D 【试题解析】 主要考查运算符的优先级。 sizeof的优先级最高。后面的顺序是: %、,优先级最低的是 “=”。 13 【正确答案】 B 【试题解析】 先计算关系表达式 a b=2 3为真 (表达式为真时,如果变量为 int型变量则真用 1表示,假用 0表示

23、 ),即 a=1。 14 【正确答案】 A 【试题解析】 条件表达式 “a?b:c”的含义是:当 a为真时,其值等于表达式 b的值,当 a为假时,其值等于表达式 c的值。第一个表达式: w=6 x=4为假,所以返回 x的值,即 m=x=4;第二个表达式: m=4 y=3为假,所以返回 y的值,即m=y=3。 15 【正确答案】 B 【试题解析】 要解答此题只要知道两个知识点: 在 C语言中规定进行强制类型转换的格式是: (double)变量名; 在 C语言中不允许给表达式赋值。 16 【正确答案】 C 【试题解析】 本题考查逗号表达式。本题的返回值是 a+7, a=2*3=6, a+7=13(

24、注意:本题问的是 a的值,而不是程序的输出值 )。 17 【正确答案】 B 【试题解析】 本题考查 printf函数的格式。 “%08”格 式符中的 “0”表示在指定数据输出宽度的同时,在数据前面的多余空格处加 “0”; “8”表示指定数据的输出宽度为 8位。 18 【正确答案】 A 【试题解析】 本题考查 if else语句。首先 scanf函数通过键盘读入 x的值。当x=3时,第一个 if语句,先判断条件,取 x的值 3和 2比较,然后将 x的值加 1,发现条件成立,执行下列的 printf语句,输出 x的值 4。当 x=1时,第一个 if语句,先判断条件,取 x的值 1和 2比较,然后将

25、 x的值加 1(x的值变为 2),发现条件不成立,执行下列的 else语句,先输出 x的值 2,再将 x的值减 1。 19 【正确答案】 D 【试题解析】 本题考查 if语句。第 1个 if语句,实现如果 a b,则交换 a、 b值的功能;第 2个 if语句,实现如果 a c,则交换 a、 c的值的功能;第 3个 if语句,实现如果 b c,则交换 b、 c的值的功能。 3个 if语句结合起来实现的功能就是将 a、 b、 c按从大到小排序。 20 【正确答案】 B 【试题解析】 在定义数组时,如果赋给的初始值个数大于数值的长度,这样就会越界,因此选项 A)错误;选项 C)中定义的是一个字符变量

26、 C:选项 D)中整型数组 a中只能存 储整型数据,而不能存储字符串常量 “0123”。 21 【正确答案】 B 【试题解析】 由函数 int fun(int *p)return *p;的定义可知,返回值为整型指针变量 p所指向的数据。 22 【正确答案】 A 【试题解析】 本题考查 if else语句。在 int f(a, b)中:第一个 if语句,先判断条件,发现 a b条件不成立,则执行与其配对的 else语句;第二个 if语句,先判断条件,发现 a=b条件不成立,则执行与其配对的 else语句, c=-1。 23 【正确答案】 B 【试题解析】 子函数 fun(int x,int y)

27、,将变量 m和 i声明为局部静态变量,因此第 1次调用主函数后,局部静态变量 m和 i的值为 5和 3,第 1次函数调用结束时,它们的值不释放保持不变,所以第 2次调用时,局部静态变量 m和 i的初始值分别为 5和 3,即在执行 “i+=m+1”时, i的值为 9,因此最终 m的值为 11。 24 【正确答案】 C 【试题解析】 本题考查 for循环。第一次循环前先判断循环条件,此时 i=0,j=1, i j+1成立,循环第一次;第二次循环前先判断循环条件,此时 i=1, j=0,(j-是先使用 j的值再减 1), i j+1不成立,结束循环。 25 【正确答案】 C 【试题解析】 选项 A)

28、和选项 B)在条件判断语句的后面是空语句,什么都不做;在选项 D)if后面是一个复合空语句;而在选项 C)中,在 x-后面少了一个分号,所以程序段在编译时,会出现语法错误。 26 【正确答案】 A 【试题解析】 本题考查两个概念: 用单引号括起来的一个字符常量只能存放一个字符; C语言中没有字符串变量,只能用字符数组来存储字符串。 选项 A)中一个单引号内放了若干个字符是错误的;选项 B)和选项 D)选项中将一个字符串赋值给一个字符数组是允许的。 27 【正确答案】 B 【试题解析】 本题考查函数调用时的参数传递。在函数调用时,形参是指向实参的指针变量,则 printf的执行结果为 3+1=4

29、。 28 【正确答案】 A 【试题解析】 本题考查函数调用时的参数传递。通过函数 abc的执行,将字符串中的字母 a去掉,保留剩下的。由于是通过指针调用,所以改变字符串的结果。 29 【正确答案】 D 【试题解析】 指针变量是通过指向变量地址来指定变量值的。这里只要取 m的地址 赋给 p,即可实现使 p为指向 m的指针变量。 30 【正确答案】 B 【试题解析】 本题考查的是指针函数。指针函数定义的基本格式为:类型说明符(*函数名 )()。其中,类型说明符表示返回的指针值指向的数据类型。 31 【正确答案】 D 【试题解析】 在对二维数组元素赋初值时,可以只对部分元素赋初值,未赋初值的元素自动

30、取 0; C语言规定,对于二维数组,只可以省略第 1个方括号中的常量表达式,而不能省略第 2个方括号中的常量表达式:赋的初值不能多于事先定义好的数组元素个数。 在选项 D)赋值表达 式中对每一维的元素赋初值应用 ,而不是 ()。 32 【正确答案】 C 【试题解析】 本程序中的函数 sort(int a,int n)实现的功能是将数组 a中的前 n个数进行从大到小排序。 sort(&a1,7)是将数组中从 a1到 a7这 7个数进行从大到小排序,其他数不变。 33 【正确答案】 D 【试题解析】 a=“ABCD“书写错误,因为 “=”左边不能出现常量;数组名 s是代表 s数组首地址的地址常量,

31、而不是变量;字符串只有在定义时维数可以省略。 34 【正确答案】 B 【试题解析】 字符串比较不能用两个等于号 (=)来进行比较,应使用函数strcmp(s1,s2)来比较。函数 stremp(s1,s2)的功能是:当字符串 s1和 s2相等时,返回值为 0。因此,当表达式 !strcmp(s1,s2)=1时,条件成立,执行后面的语句,输出 they are Equal。 35 【正确答案】 C 【试题解析】 外部变量在编译时由系统分配永久的内存空间,所以外部变量的类型不是自动存储类别。 36 【正确答案】 A 【试题解析】 本题考查带参数的宏的定义及相关运 算。P(F(5)*x)=P(2.8

32、4+5*2)=P(12.84),调用 w(12.84),输出 (int)(12.84)=12。 37 【正确答案】 B 【试题解析】 本题主要考查结构指针: p=&st,访问结构体的成员,可以通过结构变量访问,即 st.i,也可以用等价的指针形式即 (*p).i和 p- i。 38 【正确答案】 A 【试题解析】 本题主要考查定义结构体的几个特点: 结构的定义明确了结构的组成形式,定义了一种 C语言中没有而用户需要的新的数据类型。与其他的数据类型不同,在程序编译的 时候结构的定义并不会使系统为该结构分配内存空间,只有在说明结构变量时才分配内存空间; 结构体的成员名可以与程序中的变量名相同: 结

33、构体中的成员可以单独使用,它的作用相当于普通变量; 结构体可以嵌套定义。 39 【正确答案】 A 【试题解析】 本题主要考查运算表达式的运算。 3+(int)(x)的结果是10011010, 3的结果是 11111100,二者逻辑与得 10011000。 40 【正确答案】 B 【试题解析】 本题考查文件使用方式标识符。方式 “wb”为输出打开一个二进制文件;方式 “wb+”为读写建立一个新的二进制文件;方式 “rb+”为读写打开一个二进制文件:方式 “rb”为输入打开一个二进制文件。 41 【正确答案】 加工 【试题解析】 数据流图是从数据传递和加工的角度,来刻画数据流从输入到输出的移动变换

34、过程。其中的每一个加工对应一个处理模块。 42 【正确答案】 重复 (或循环 ) 【试题解析】 结构化程序设计包括 3种基本的结构:顺序结构、选择结构和重复结构 (循环结构 ),利用这 3种结构就足以表达出各种其他形式结构的程序设计方法。其中利用循环结构,可以简化大量的程 序执行。 43 【正确答案】 顺序存储 (顺序方式存储 ) 【试题解析】 二分法查找对表的要求是有序的顺序表,即第一要求是数据元素有序,第二要求是按顺序方式存储。 44 【正确答案】 扇出 【试题解析】 在结构图中,调用一个给定模块的模块个数称为扇入,一个模块直接调用的其他模块个数称为扇出。 45 【正确答案】 数据库管理系

35、统 【试题解析】 数据库管理系统是数据库的管理机构,它是一种系统软件,负责数据库中的数据组织、数据操纵、数据维护、控制及保护和数据服务等。 46 【 正确答案】 (x 0)&(y 0)|(x 0)&(z 0)|(y 0)&(z 0) 【试题解析】 题目要求 “x、 y和 z中至少有两个为正数 ”,即 x、 y和 z这 3个数中必须有两个是正数,且这 3个数中的哪两个数都有可能是正数,所以它们之间是或的关系。 47 【正确答案】 a= a+b 【试题解析】 a+=b与 a= a+b等价,作用是把变量 a的值加 b后再赋给变量 a。 48 【正确答案】 a=2,b=3 【试题解析】 分析程序,程序

36、从 x=1语句开始执行,之后执行第一个 switch语句, switch(x)=switch(1),所以执行 case 1, case 1语句中包含一个复合 switch语句:这时执行第二个 switch语句,此时 y=1,所以 switch(y)=switch(1),因此执行case 1,将 b加 1,得到 b=2,遇到 break语句,退出第二个 switch语句,则整个case 1的复合语句执行完毕,由于在这个 case 1的后面没有 break语句使其退出第一个 switch语句,所以接着执行下列的 case 2后面的语句,即将 a、 b各加 1,得到 a=2, b=3。 49 【正确

37、答案】 顺序结构 【试题解析】 结构化程序有 3种基本结构,即顺序结构、选择结构 (包括 if语句和 switch语句 )和循环结构 (包括 for语句、 while语句、 dowhile 语句 )。 50 【正确答案】 0 【试题解析】 解答本题需要注意表达式 “k=0“,它是赋值表达式而不是关系表达式,不论 k为何值,表达式 k=0总会使 k为 0,所以不能进入循环。 51 【正确答案】 252H 【试题解析】 要解答本题,首先要明白在对指针进行加、减运算时,数字 “1”不是十进制数的 “1”,而是指 “1”个存储单元长度。 1个存储单元长度占存储空间的多少,应该视具体情况而定,如果存储单

38、元的基类型是血型,则移动 1个存储单元的长度就是位移 2个字节;如果存储单元基类型是 float型,则移动 1个存储单元的长度就是位移 4个字节。所以 p+13所指向的数组元素的地址为: 200H+(13*4) H 252H。 52 【正确答案】 6 【试题解析】 strlen ()函数的作用是计算字符串的长度并作为函数的返回值,这里的长度不包括串尾的结束标志, 0。 t,是转义字符,代表横向跳若干格 ; “是转义字符,代表双引号; 023只代表一个字符,而不管转义字符后面有几个字符: xAB 是以两位十六进制数 AB表示的 ASCII码字符,只代表一个字符: n是转义字符,代表回车换行。 5

39、个子符常量各代表一个字符,再加上字母 C,所以返回的长度是 6。 53 【正确答案】 8 【试题解析】 本题考查带参数的宏定义及相关运算。运算过程为:t=B*2=A+3*2=2+3*2=8。 54 【正确答案】 sj+=si 【试题解析】 循环开始后如果数组 s中储存值与字符 c相同,则 i+直接跳过当前值;如果不相同,则将当前值赋予数组指定位置,并通过 j+将下标加 1,指向下一元素要存储的位置。 55 【正确答案】 11 23 【试题解析】 在主函数中第一次调用 func子函数时, m=0, i=2, i=i+m+1=3,m=i+a+b=3+5+3=11。因为在子函数中将 m和 i定义成了 static类型,所以在子函数中对 m和 i进行的改变在下一次调用子函数时能进行保存,所以第二次调用子函数时, m=11, i=3,则 i=i+m+1=15, m=i+a+b=15+5+3=23。

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

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

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