【计算机类职业资格】国家二级C语言程序设计机试(选择题)模拟试卷6及答案解析.doc

上传人:registerpick115 文档编号:1332415 上传时间:2019-10-17 格式:DOC 页数:12 大小:66.50KB
下载 相关 举报
【计算机类职业资格】国家二级C语言程序设计机试(选择题)模拟试卷6及答案解析.doc_第1页
第1页 / 共12页
【计算机类职业资格】国家二级C语言程序设计机试(选择题)模拟试卷6及答案解析.doc_第2页
第2页 / 共12页
【计算机类职业资格】国家二级C语言程序设计机试(选择题)模拟试卷6及答案解析.doc_第3页
第3页 / 共12页
【计算机类职业资格】国家二级C语言程序设计机试(选择题)模拟试卷6及答案解析.doc_第4页
第4页 / 共12页
【计算机类职业资格】国家二级C语言程序设计机试(选择题)模拟试卷6及答案解析.doc_第5页
第5页 / 共12页
点击查看更多>>
资源描述

1、国家二级 C 语言程序设计机试(选择题)模拟试卷 6 及答案解析(总分:80.00,做题时间:90 分钟)一、选择题(总题数:40,分数:80.00)1.设循环队列的存储空间为 Q(1:35),初始状态为 front=rear=35。现经过系列入队与退队运算后,front=15,rear=15,则循环队列中的元素个数为( )。(分数:2.00)A.20B.0 或 35C.15D.162.下列关于栈的叙述中,正确的是( )。(分数:2.00)A.栈底元素一定是最后入栈的元素B.栈操作遵循“先进后出”的原则C.栈顶元素一定是最先入栈的元素D.以上三种说法都不对3.下列链表中,其逻辑结构属于非线性结

2、构的是( )。(分数:2.00)A.双向链表B.带链的栈C.二叉链表D.循环链表4.在关系数据库中,用来表示实体间联系的是( )。(分数:2.00)A.网状结构B.树状结构C.属性D.二维表5.公司中有多个部门和多名职员,每个职员只能属于一个部门,一个部门可有多名职员。则实体部门和职员间的联系是( )。(分数:2.00)A.1:m 联系B.m:n 联系C.1:1 联系D.m:1 联系6.C 语言中最基本的数据类型包括( )。(分数:2.00)A.整型、实型、逻辑型B.整型、字符型、数组C.整型、实型、字符型D.整型、实型、结构体7.数据字典(DD)所定义的对象都包含于( )。(分数:2.00)

3、A.软件结构图B.方框图C.数据流图(DFD 图)D.程序流程图8.软件需求规格说明书的作用不包括( )。(分数:2.00)A.软件设计的依据B.软件可行性研究的依据C.软件验收的依据D.用户与开发人员对软件要做什么的共同理解9.下列各项中属于黑盒测试方法的是( )。(分数:2.00)A.边界值分析B.路径覆盖C.语句覆盖D.逻辑覆盖10.下列各项中不属于软件设计阶段任务的是( )。(分数:2.00)A.制订软件确认测试计划B.数据库设计C.软件总体设计D.算法设计11.以下叙述中正确的是( )。(分数:2.00)A.在 C 语言程序中,main 函数必须放在其他函数的最前面B.每个后缀为C

4、的 C 语言源程序都可以单独进行编译C.在 C 语言程序中,只有 main 函数才可单独进行编译D.每个后缀为C 的 C 语言源程序都应该包含一个 main 函数12.C 语言中的标识符分为关键字、预定义标识符和用户标识符,以下叙述中正确的是( )。(分数:2.00)A.预定义标识符(如库函数中的函数名)可用作用户标识符,但失去原有含义B.用户标识符可以由字母和数字任意顺序组成C.在标识符中大写字母和小写字母被认为是相同的字符D.关键字可用作用户标识符,但失去原有含义13.以下选项中表示一个合法的常量的是(说明:符号口表示空格)( )。(分数:2.00)A.999B.0XabC.123E02D

5、.27e14.C 语言主要是借助以下哪个功能来实现程序模块化?( )(分数:2.00)A.定义函数B.定义常量和外部变量C.三种基本结构语句D.丰富的数据类型15.以下叙述中错误的是( )。(分数:2.00)A.非零的数值型常量有正值和负值的区分B.常量是在程序运行过程中值不能被改变的量C.定义符号常量必须用类型名来设定常量的类型D.用符号名表示的常量叫符号常量16.若有定义和语句: int a,b; scanf(“d,d“,&a,b);以下选项中的输入数据,不能把值 3赋给变量 a、把值 5 赋给变量 b 的是( )。(分数:2.00)A.3,5,B.3,5,4C.35D.3,517.C 语

6、言中 char 类型数据占字节数为( )。(分数:2.00)A.3B.4C.1D.218.下列关系表达式中,结果为“假”的是( )。(分数:2.00)A.(3+4)6B.(3 1=4)2C.36B.(3 1=4)2 C.32 为假。19.若以下选项中的变量全部为整型变量,且已正确定义并赋值,则语法正确的 switch 语句是( )。(分数:2.00)A.switch(a+9) ease c1:y=ab; case c2:y=a+b; B.switch a*b case 10:x=a+b; default:y=ab; C.switch(a+b) case1case3:y=a+b;breakcas

7、e case3 DreaK; case0:case4:y=ab; D.switch(a*a+b*b) default:break; case 3:y=a+b;break; case 2:y=ab;break; 解析:解析:选项 A,当 c1 和 c2 相等时,不成立;选项 B,a*b 要用括号括起来;选项 C,case 与后面的数字用空格隔开。20.有以下程序: #include main() int a=一 2,b=0; while(a+b); prinff(“d,dn”,a,b); 程序运行后的输出结果是( )。(分数:2.00)A.13B.0,2C.0,3D.1,2 解析:解析:考查 w

8、hile 循环以及自加运算,其中 a+是 a 先参与运算再自加 1,而+b 是 b 先自加 1 再参与运算。第一次进入循环:a 的值是一 2,b 的值是 0,判断条件为一 2&1,2 个值都是非零,while 判断条件成立,接着进入第二次循环。这时 a 的值是一 1,b 的值是 1,判断条件即为一 1&2,表达式的值为真,进入第三次循环。这时 a 的值是 0,b 的值是 2,判断条件为 0&3,与运算左边的值为 0,即判断为假。此时跳出循环,执行 prinff 语句,这时 a 的值是 1,b 的值是 2。21.有以下程序: #include main() int a=2,4,6,8,*P=a,

9、i; for(i=0;iA.2B.8C.4D.6 解析:解析:本题通过语句“*p=a”将一维数组 a 的首地址的值赋值给变量 p,即 p 的值为 2。执行 for循环,ai=*p+,表示将 p 的值赋给 ai后,再进行+操作。因此 4 次循环后 a2的值为 6。故 D 选项正确。22.下列叙述中正确的是( )。(分数:2.00)A.可以用关系运算符比较字符串的大小B.空字符串不占用内存,其内存空间大小是 0C.两个连续的单引号是合法的字符常量D.两个连续的双引号是合法的字符串常量 解析:解析:比较两个字符串大小用函数 strcmp(str1,str2),空字符串有结尾符,所以也要占用字节,两个

10、双引号表示地是空字符串。23.有以下程序: #include main() int ilia33=2,4,6,i,*P=&aa00; for(i=0;iA.2 6B.2 3 C.4 3D.4 6解析:解析:本题主要考查指针与数组。观察题目,可以发现,*p=&aa00语句实际是将数组 aa 的首地址赋给指针变量 p,将 i 的值带入 for 循环中,i=0 时,aa01=3,*p=2,*p 输出地是指针所指向的数组值,此时 p 所指向地是 aa00,输出 2,而 i=1 时执行了+p 操作,使指针向后移动指向 aa01,所以在输出*p 时应为 3。故 B 选项正确。24.有以下程序: #incl

11、ude int f(int x) return x*x+1: void main() int a,b=0; for(a=0;aA.ABEB.BDI C.BCFD.BCD解析:解析:第一次循环时,b=1,输出结果为 B;第二次循环时,b=3,输出结果为 D;第三次循环时,b=8,输出结果为 I。25.以下选项中,能正确进行字符串赋值的是( )。(分数:2.00)A.char*s=“ABCDE”; B.char s5=A,B,C,D,E;C.char s45=“ABCDE”;D.char*s;get(s);解析:解析:本题考查字符数组的初始化。B 选项中赋值号右侧是赋值给一个字符串数组,而左边是一

12、个字符数组,所以错误;C 选项中字符串包含 6 个字符,所以不能赋值给左边只能存放 5 个字符的字符串数组中。D 选项 gets 函数中参数需要指定长度。故 A 选项正确。26.有以下程序: #include int fun(int x) int P; if(x=0 x=1) return 3; P=xfun(x 一 2);return(P); main() printf(“dn”,fun(9); 程序运行后的输出结果是( )。(分数:2.00)A.4B.5C.9D.7 解析:解析:本题考查函数的递归调用。执行 fun(9)后,fun(9)=9 一(7 一(5 一(3 一 f(1)=7,故 D

13、 选项正确。27.有以下程序: #include main() int a=10,20,30,40,*P=a,i; for(i=0;i=3;i+) ai=*p;P+; prinff(“dn”,a2); 程序运行后的输出结果是( )。(分数:2.00)A.30 B.40C.10D.20解析:解析:for 循环结束后,数组 a 的值并没有变化,由于数组是由 0 开始,所以 a2的值是 30。28.有以下程序: #include #define N 3 void fun(int aN,int b) int i,j; for(i=0;i=2;i+) int max=ai0; for(j=i;j=2;j

14、+) if(max=2;i+) printf(“d,”,yi); printf(“n”); 程序运行后的输出结果是( )。(分数:2.00)A.2,4,8,B.3,6,9, C.3,5,7,D.1,3,5,解析:解析:fun 函数功能是把数组 a 的每一行的最大值赋给 b,a 的第一行的最大值是 3,第二行的最大值是 6,第三行的最大值是 9,所以答案是 3,6,9,。29.有以下程序: #include int fun(char*s) char*P=S: while(*P+!=0); return(Ps); main() char*r=“01234”; printf(“dn”,fun(r);

15、 程序的运行结果是( )。(分数:2.00)A.6 B.5C.4D.3解析:解析:程序执行过程为:定义字符串指针 r,并为其初始化为“01234”,调用函数 fun(r),将指针传入函数 while 循环找到字符串的结束符地址,然后使这个指针指向结束符下一个单元,结束循环。返回字符串首地址与结束符下一个地址之差,也即是字符串长度加 1。输出地址差为 6。30.以下选项中,合法的是( )。(分数:2.00)A.char str3=d,e,b,u,g,0; B.char str4:str4=“hello world”;C.char name10;name=“china”;D.char strl5=

16、“pass”,str26;str2=strl;解析:解析:选项 B 不能把一个字符串赋值给一个字符变量,选项 C 和 D 犯了同样的错误是把字符串赋给了数组名。31.有以下程序段: int fun(char*s) char*P; P=s: if(*s=0)return 0; while(*+P);return(PS); 该段程序是用来( )。(分数:2.00)A.计算字符串所占字节数B.实现字符串的赋值C.计算字符串的长度 D.将字符串逆序存放解析:解析:在 fun()函数中定义了指针 p,首先把 s 地址赋给 p,再通过 while 函数移动指针 p,当 p 指针指向单元为 0 时,退出 w

17、hile 循环,返回此时 p 和 s 地址之差,即字符串长度。32.有以下程序: #include void main() char a510=“one”,“two”,“three”,“four”,“five”; int i,j;char t; for(i:0;iaj0) t:ai0; ai0=aj0; aj0=t; puts(a1); 程序运行后的输出结果是( )。(分数:2.00)A.two owo B.fix owoC.two fovD.owo off解析:解析:for 循环完成的功能是把二维数组 a 的第一列的字母按从小到大排序,其他列的字母不变。33.有以下程序: #include

18、int a=1,b=2; void funl(int a,int b) prinff(“dd”,a,b); void fun2() a=3b=4; void main() funl(5,6);fun2(); prinff(“ddn”,a,b); 程序运行后的输出结果是( )。(分数:2.00)A.1256B.5634 C.5612D.3456解析:解析:funl 是输出局部变量的值,fun2 是把全局变量的值改成 3,4,所以输出结果是 5634。34.有以下程序: #include void func(int n) static int num=1; num=num+n; printf(“d

19、”,num); main() func(3);func(4); prinff(”n”); 程序运行后的输出结果是( )。(分数:2.00)A.4 8 B.3 4C.3 5D.4 5解析:解析:第一次调用 func 函数时输出 4,第二次调用 func 函数时 num 值并不会释放,仍然是上次修改后的值 4,第二次调用结果为 8,所以输出结果是 4 8。35.有以下程序: #include #include void fun(int*pl,int*p2,int*s) s=(int*)malloc(sizeof(int); *s=*p1+*p2: free(s); void main() int

20、a=1,b=40,*q=&a; fun(&a,&b,q); printf(“dn”,*q); 程序运行后的输出结果是( )。(分数:2.00)A.42B.0C.1 D.41解析:解析:fun 函数功能是新开辟内存空间存放 a 和 b 的地址,q 的地址并没有变化,所以应该还是指向地址 a。36.有以下程序: #include struct STU char name9; char sex; int score2; void f(struct STU a) struct STU b=“Zhao”,m,85,90; a1=b; main() struct STU c2=“Qian”,f,95,92

21、,“Sun”,m,98,99; f(c); printf(”s,c,d,d,”,c0nanle,c 0sex,c 0score0,c0score1); prinff(“s,c,d,dn”,c1name,c1sex,c1score0,c1score1); 程序运行后的输出结果是( )。(分数:2.00)A.Zhao,m,85,90,Sun,m,98,99B.Zhao,m,85,90,Qian,f,95,92C.Qian,f,95,92,Sun,m,98,99D.Qian,f,95,92,Zhao,m,85,90 解析:解析:fun 函数是为结构体数组的第二个数赋值,数组的第一个数没有变化,所以正

22、确答案应选D。37.以下针对全局变量的叙述中错误的是( )。(分数:2.00)A.用 extern 说明符可以限制全局变量的作用域 B.全局变量是在函数外部任意位置上定义的变量C.全局变量的作用域是从定义位置开始至源文件结束D.全局变量的生存期贯穿于整个程序的运行期间解析:解析:在不同编译单位内用 extem 说明符来扩展全局变量的作用域,extern 可以将全局变量作用域扩展到其他文件,而不是限制全局变量的作用域,故选 A。38.以下关于宏的叙述中错误的是( )。(分数:2.00)A.宏名必须用大写字母构成 B.宏替换不具有计算功能C.宏替换不具有计算功能D.宏替换不占用运行时间解析:解析:

23、宏名习惯采用大写字母,以便与一般变量区别,但是并没有规定一定要用大写字母,故选A。39.若有定义语句 int b=2;,则表达式(b2)(3b)的值是( )。(分数:2.00)A.4B.8 C.0D.2解析:解析:2 的二进制数为 010,左移两位后的二进制数为 01000,转成二制数为 8,(32)为真即1,81=8,所以结果为 8。40.有以下程序: #include main() FILE*fp; int i,a E 6=1,2,3,4,5,6; fp=fopen(“d2dat”,“W+”); for(i=0;iA.4,5,6,1,2,3,B.1,2,3,3,2,1,C.1,2,3,4,5,6,D.6,5,4,3,2,1, 解析:解析:这是对文件的操作,把数组的数写到文件里,然后再从文件里倒序读出。所以输出结果为6,5,4,3,2,1,。

展开阅读全文
相关资源
猜你喜欢
  • JIS Z 8317-1-2008 Technical drawings -- Indications of dimensions and tolerances -- Part 1 General principles《技术制图 尺寸和公差的表示法 第1部分 通用原理》.pdf JIS Z 8317-1-2008 Technical drawings -- Indications of dimensions and tolerances -- Part 1 General principles《技术制图 尺寸和公差的表示法 第1部分 通用原理》.pdf
  • JIS Z 8318-2013 0684 Technical product documentation (TPD) -- Indication method of tolerances for linear and angular dimensions《技术产品文件(TPD) 线性和角度尺寸公差的标注方法》.pdf JIS Z 8318-2013 0684 Technical product documentation (TPD) -- Indication method of tolerances for linear and angular dimensions《技术产品文件(TPD) 线性和角度尺寸公差的标注方法》.pdf
  • JIS Z 8321-2000 Technical drawings -- General principles of presentation -- Preparation of lines by CAD system《技术图纸 表示的一般规则 CAD系统绘制直线的表示》.pdf JIS Z 8321-2000 Technical drawings -- General principles of presentation -- Preparation of lines by CAD system《技术图纸 表示的一般规则 CAD系统绘制直线的表示》.pdf
  • JIS Z 8461-2001 Linear calibration using reference materials《使用标准物质进行的线性校正》.pdf JIS Z 8461-2001 Linear calibration using reference materials《使用标准物质进行的线性校正》.pdf
  • JIS Z 8462-1-2001 Capability of detection -- Part 1 Terms and definitions《探测能力 第1部分 术语和定义》.pdf JIS Z 8462-1-2001 Capability of detection -- Part 1 Terms and definitions《探测能力 第1部分 术语和定义》.pdf
  • JIS Z 8462-3-2006 Capability of detection -- Part 3 Methodology for determination of the critical value for the response variable when no calibration data are u.pdf JIS Z 8462-3-2006 Capability of detection -- Part 3 Methodology for determination of the critical value for the response variable when no calibration data are u.pdf
  • JIS Z 8503-1-2002 Ergonomic design of control centres -- Part 1 Principles for the design of control centres《控制中心的人类工效学设计 第1部分 控制中心的设计原理》.pdf JIS Z 8503-1-2002 Ergonomic design of control centres -- Part 1 Principles for the design of control centres《控制中心的人类工效学设计 第1部分 控制中心的设计原理》.pdf
  • JIS Z 8503-1998 Ergonomic principles related to mental workload -- Design principles《金属加工负荷相关的人机工程学原理 设计原理》.pdf JIS Z 8503-1998 Ergonomic principles related to mental workload -- Design principles《金属加工负荷相关的人机工程学原理 设计原理》.pdf
  • JIS Z 8503-2-2006 Ergonomic design of control centres -- Part 2 Principles for the arrangement of control suites《控制中心的人类工效学设计 第2部分 控制序列排列的原则》.pdf JIS Z 8503-2-2006 Ergonomic design of control centres -- Part 2 Principles for the arrangement of control suites《控制中心的人类工效学设计 第2部分 控制序列排列的原则》.pdf
  • 相关搜索

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

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