【计算机类职业资格】二级C语言分类模拟题559及答案解析.doc

上传人:orderah291 文档编号:1325588 上传时间:2019-10-17 格式:DOC 页数:20 大小:94.50KB
下载 相关 举报
【计算机类职业资格】二级C语言分类模拟题559及答案解析.doc_第1页
第1页 / 共20页
【计算机类职业资格】二级C语言分类模拟题559及答案解析.doc_第2页
第2页 / 共20页
【计算机类职业资格】二级C语言分类模拟题559及答案解析.doc_第3页
第3页 / 共20页
【计算机类职业资格】二级C语言分类模拟题559及答案解析.doc_第4页
第4页 / 共20页
【计算机类职业资格】二级C语言分类模拟题559及答案解析.doc_第5页
第5页 / 共20页
点击查看更多>>
资源描述

1、二级 C语言分类模拟题 559及答案解析(总分:61.00,做题时间:90 分钟)一、选择题(总题数:40,分数:61.00)1.以下 4个选项中,不能看作一条语句的是(分数:1.00)A.;B.a=5,b=2.5,c=3.6;C.if(a5);D.if(b!=5)x=2;y=6;2.已知 int类型的变量占 4个字节,现有以下程序段: #include stdio.h main() int a=1,2,3,4,5; printf(“% d“, sizeof(a); 则程序段的输出结果是_。(分数:2.50)A.5B.10C.15D.203.线性表 L=(a1,a2,a3,ai,an),下列说

2、法正确的是(分数:2.00)A.每个元素都有一个直接前件和直接后件B.线性表中至少要有一个元素C.表中诸元素的排列顺序必须是由小到大或由大到小D.除第一个元素和最后一个元素外,其余每个元素都有一个且只有一个直接前件和直接后件4.下面是有关 C语言字符数组的描述,其中错误的是_。(分数:1.00)A.不可以用赋值语句给字符数组名赋字符串B.可以用输入语句把字符串整体输入给字符数组C.字符数组中的内容不一定是字符串D.字符数组只能存放字符串5.以下叙述中正确的是_。(分数:4.00)A.构成 C程序的基本单位是函数B.可以在一个函数中定义另一个函数C.main函数必须放在其他函数之前D.所有被调用

3、的函数一定要在调用之前进行定义6.下面结构体的定义语句中,错误的是_。(分数:1.00)A.struet ord int x; int y; int z; struct ord a;B.struet ord int x; int y; int z; struct ord a;C.stmct ord int x; int y; int z;a;D.struct int x; int y; int z; a;7.有三个关系 R、S 和 T如下: R A B C a 1 2 b 2 1 c 3 1 S A B C d 3 2 c 3 1 T A B C a 1 2 b 2 1 则由关系 R和 S得到

4、关系 T的操作是_。(分数:1.00)A.选择B差C交D并8.若有定义语句: int a=3,b=2,c=1; 以下选项中错误的赋值表达式是_。(分数:1.00)A.a=(b=4)+c;B.a=b=c+1;C.a=(b=4)=3;D.a=1+(b=c=4);9.以下程序的输出结果是_。 #include stdio.h main() int i; for(i=1; i=5; i+) if(i% 2) putchar(“); else continue; putchar (“); putchar (“#“); (分数:2.50)A. #B. #C. #D. #10.下面对软件特点描述错误的是_。

5、(分数:1.00)A.软件没有明显的制作过程B.软件是一种逻辑实体,不是物理实体,具有抽象性C.软件的开发、运行对计算机系统具有依赖性D.软件在使用中存在磨损、老化问题11.若输入 ab,程序运行结果为_。 main() static char a2; scanf(“%s“,a); printf(“%c,%c“,a1,a2); (分数:1.00)A.a,bBa,Cb,D.程序出错12.对长度为 n的线性表排序,在最坏情况下,比较次数不是 n(n-1)/2的排序方法是_。(分数:1.00)A.快速排序B.冒泡排序C.直接插入排序D.堆排序13.C语言主要是借助_来实现程序模块化。(分数:1.00

6、)A.定义函数B.定义常量和外部变量C.三种基本结构语句D.丰富的数据类型14.软件调试的目的是_。(分数:1.00)A.发现错误B.更正错误C.改善软件性能D.验证软件的正确性15.有以下程序: # include stdio.h void fun(int*s) static int j=0; dosj=sj+sj+1;while(+j2); main() int k.a10=1,2,3,4,5; for(k=1;k3;k+) fun(a); for(k=0; k5;k+)pfintf(“%d“,ak); printf(“/n“); 程序运行后的输出结果是_。(分数:1.00)A.12345

7、B.23445C.34756D.3574516.以下程序中函数 f的功能是:当 flag为 1时,进行由小到大排序;当 flag为 0时,进行由大到小排序。 #include stdio.h void f(int b,int n,int flag) int i,j,t; for(i=0;in-1;i+) for(j=i+1;jn;j+) if(flag?bibj:bibj) t=bi;bi=bj;bj=t; main() int a10=5,4,3,2,1,6,7,8,9,10,i; f( f(a,5,1); for(i=0;i10;i+) printf(“%d,“,ai); 程序运行后的输出

8、结果是_。(分数:1.00)A.1,2,3,4,5,6,7,8,9,10,B.3,4,5,6,7,2,1,8,9,10,C.5,4,3,2,1,6,7,8,9,10,D.10,9,8,7,6,5,4,3,2,1,17.有以下程序: main() int a=0, b=0; a=10; /*给 a赋值 b=20; 给 b赋值 */ printf(“a+b=%d/n“, a+b); /输出计算机结果 程序运行后的输出结果是_。(分数:2.50)A.a+b=10B.a+b=30C.30D.出错18.有以下程序: matin() char * s=“one“, “two“, “three“, *p;

9、p=s1; printf(“% c, % s/n“, *(p+1),so); 执行后的输出结果是_。(分数:2.00)A.n, twoB.t, oneC.w, oneD.o, two19.若有以下程序 #includestdio.h typedef struct stu char name10, gender; int score; STU; void f(STU a, STU b) b=a; printf(“%s, %c, %d,“, b.name, b.gender, b.score); main() STU a=“Zhao“, “m“, 290, b=“Qian“, “f“, 350;

10、f(a, b); printf(“%s, %c, %d/n“, b.name, b.gender, b.score); 则程序的输出结果是_。(分数:2.00)A.Zhao, m, 290, Qian, f, 350B.Zhao, m, 290, Zhao, m, 290C.Qian, f, 350, Qian, f, 350D.Zhao, m, 290, Zhao, d, 35020.关于“while(条件表达式)循环体”,以下叙述正确的是_。(分数:2.50)A.条件表达式的执行次数总是比循环体的执行次数多一次B.循环体的执行次数总是比条件表达式的执行次数多一次C.条件表达式的执行次数与循

11、环体的执行次数一样D.条件表达式的执行次数与循环体的执行次数无关21.有如下定义: struct int num; char name10; struct inf y; int m; int d; birth; s,* ps= 以下对内嵌结构体成员的引用形式错误的是_。(分数:1.00)A.ps.birth.yB.birth.yC.ps-birth.yD.(*ps).birth.y22.下列函数的功能是_。 void fun(char*a,char*b) while(*b=*a)!=“/0“) a+;b+; (分数:1.00)A.检查 a和 b所指字符串中是否有“/0“B.使指针 b指向 a所

12、指字符串C.将 a所指字符串和 b所指字符串进行比较D.将 a所指字符串赋给 b所指空间23.设有定义: char s81;int i=0; 以下不能将一行(不超过 80个字符)带有空格的字符串正确读入的语句或语句组是_。(分数:2.00)A.scanf(“%s“,s);B.while(si+=getchar()!=“/n“);si=“/0“;C.gets(s);D.doscanf(“%c“,si);while(si+!=“/n“);si=“/0“;24.程序中已构成如下图所示的不带头结点的单向链表结构,指针变量 s、p、q 均已正确定义,并用于指向链表结点,指针变量 s总是作为头指针指向链表

13、的第一个结点。 (分数:2.00)A.删除首结点B.尾结点成为首结点C.首结点成为尾结点D.删除尾结点25.支持子程序调用的数据结构是_。(分数:2.00)A栈B树C.队列D.二叉树26.有如下程序: #includestdio.h int sub(double a,double b) return(int)(a-b); main_ printf(“%d/n“,sub(3.8,2.1); 程序运行后的输出结果是_。(分数:1.00)A.2.0B.1.7C.2D.127.C语言编译程序的功能是(分数:2.00)A.执行一个 C语言编写的源程序B.把 C源程序翻译成 ASCII码C.把 C源程序翻

14、译成机器代码D.把 C源程序与系统提供的库函数组合成一个二进制执行文件28.以下不能定义为用户标识符的是_。(分数:1.00)A.scanfB.VoidC._3comD.int29.在软件生产过程中,需求信息的来源是 _ 。(分数:2.00)A.程序员B.项目经理C.设计人员D.软件用户30.在 C中,可以作为用户标识符的是_。(分数:1.00)A.void define WORDB.as_b3 _224 ElseC.Switch -wer caseD.4b DO SIG31.设有定义语句:char a=“/72“;,则变量 a_。(分数:2.50)A.包含 1个字符B.包含 2个字符C.包含

15、 3个字符D.定义不合法32.有如下程序: #includestdio.h struct pair int first,second; ; struct pair get_min_max(int* array,int len) int i; struct pair res; res.first=array0; res.second=array0; for(i=1;ilen;i+) if (arrayires.first) res.first=arrayi; if (arrayires.second) res.second=arrayi; return res; main() int array

16、6=19,21,3,4; struct pair min_max=get_min_max(array,6); printf(“rain=%d,max=%d/n“,min_max.first,min_max.second); 程序运行后的输出结果是_。(分数:1.00)A.min=0,max=6B.min=1,max=20C.min=1,max=19D.min=0,max=2133.软件调试的目的是_。(分数:1.00)A.发现错误B.更正错误C.改善软件性能D.验证软件的正确性34.若变量 x、y 已正确定义并赋值,以下符合 C语言语法的表达式是_。(分数:1.00)A.x+1=yB.+x,y

17、=x-C.x=x+10=x+yD.double(x)/1035.以下叙述中正确的是_。(分数:1.00)A.在语句 char str=“string!“;中,数组 str的大小等于字符串的长度B.语句 char str10=“string!“;和 char str10=“string!“;并不等价C.对于一维字符数组,不能使用字符串常量来赋初值D.对于字符串常量“string!“,系统已自动在最后加入了“/0“字符,表示串结尾36.有以下程序 #includestdio.h void fun(int a, int n) int i, t; for(i=0; in/2; i+)t=ai; ai=

18、an-1-i; an-1-i=t; main() int k10=1, 2, 3, 4, 5, 6, 7, 8, 9, 10, i; fun(k, 5); for(i=2; i8; i+)printf(“%d“, ki); printf(“/n“); 程序的运行结果是_。(分数:2.00)A.345678B.876543C.1098765D.32167837.有以下程序: #includestdio.h main() int a=1,b=2,c=3; char flag; flag=b=2 switch(a) case 1:switch(flag) case 0: printf(“*“);br

19、eak; case 1: printf(“%“);break; case 0: switch(c) case 1: printf(“$“);break; case 2: printf(“break; default: printf(“#“); printf(“/n“); 程序运行后的输出结果是_。(分数:1.00)A.*$B.%#C.%c=3;,以下语句中与之等价的是_。(分数:2.50)A.if(a=1)b=2;c=3;B.if(a!=1); else b=2;c=3;C.if(a=1)c=3;b=2;D.(a=1)?b=2:a=a;c=3;39.有以下程序 #include stdio.h

20、 int fun(int n if(n=1) return 1; else return(n+fun(n-1); main() int x; scanf(“%d“, x=fun(x); printf(“%d/n“,x); 执行程序时,给变量 x输入 10,程序的输出结果是_。(分数:1.00)A.55B.54C.65D.4540.有以下程序 main() int i; for(i=0;i3;i+) switch(i) case 0: printf(“%d“,i); case 2: printf(“%d“,i); default: printf(“%d“,i); 程序运行后的输出结果是_。(分数

21、:1.00)A.022111B.021021C.000122D.012二级 C语言分类模拟题 559答案解析(总分:61.00,做题时间:90 分钟)一、选择题(总题数:40,分数:61.00)1.以下 4个选项中,不能看作一条语句的是(分数:1.00)A.;B.a=5,b=2.5,c=3.6;C.if(a5);D.if(b!=5)x=2;y=6; 解析:解析 选项 D)为两条语句。2.已知 int类型的变量占 4个字节,现有以下程序段: #include stdio.h main() int a=1,2,3,4,5; printf(“% d“, sizeof(a); 则程序段的输出结果是_。

22、(分数:2.50)A.5B.10C.15D.20 解析:解析 int 类型的数组 a初始化了 5个整数,它隐含地定义了 a数组大小为 5个元素,而一个 int变量占 4个字节,所以程序输出 20。3.线性表 L=(a1,a2,a3,ai,an),下列说法正确的是(分数:2.00)A.每个元素都有一个直接前件和直接后件B.线性表中至少要有一个元素C.表中诸元素的排列顺序必须是由小到大或由大到小D.除第一个元素和最后一个元素外,其余每个元素都有一个且只有一个直接前件和直接后件 解析:解析 线性表可以为空表;第一个元素没有直接前件,最后一个元素没有直接后件;线性表的定义中,元素的排列并没有规定大小顺

23、序。4.下面是有关 C语言字符数组的描述,其中错误的是_。(分数:1.00)A.不可以用赋值语句给字符数组名赋字符串B.可以用输入语句把字符串整体输入给字符数组C.字符数组中的内容不一定是字符串D.字符数组只能存放字符串 解析:解析 用来存放字符量的数组称为字符数组。字符数组也可以是二维或多维数组,对一个字符数组,如果不做初始化赋值,则必须说明数组长度,还可用 printf函数和 scanf函数一次性输出/输入一个字符数组中的字符串,而不必使用循环语句逐个地输入/输出每个字符。通常用一个字符数组来存放一个字符串。所以 D选项不正确。5.以下叙述中正确的是_。(分数:4.00)A.构成 C程序的

24、基本单位是函数 B.可以在一个函数中定义另一个函数C.main函数必须放在其他函数之前D.所有被调用的函数一定要在调用之前进行定义解析:6.下面结构体的定义语句中,错误的是_。(分数:1.00)A.struet ord int x; int y; int z; struct ord a; B.struet ord int x; int y; int z; struct ord a;C.stmct ord int x; int y; int z;a;D.struct int x; int y; int z; a;解析:解析 定义一个结构体的一般形式为: struet结构名成员列表; 说明结构变量

25、有 3种方法: 1先定义结构体,再说明结构变量 struct结构名 成员列表; struct结构名变量名 1、变量名 2; 故选项 B正确。 2在定义结构类型的同时说明结构变量 struct结构名 成员列表 变量名列表; 故选项 C正确。 3直接说明结构变量 struct 成员列表 变量名列表; 故选项 D正确。 使用方法 1定义结构体时,在右括号的后面不能省略分号,故选项 A错误。7.有三个关系 R、S 和 T如下: R A B C a 1 2 b 2 1 c 3 1 S A B C d 3 2 c 3 1 T A B C a 1 2 b 2 1 则由关系 R和 S得到关系 T的操作是_。(

26、分数:1.00)A.选择B差 C交D并解析:解析 关系 T中的元素是关系 R去掉与关系 S中相同的元组,符合差操作,选项 B正确。8.若有定义语句: int a=3,b=2,c=1; 以下选项中错误的赋值表达式是_。(分数:1.00)A.a=(b=4)+c;B.a=b=c+1;C.a=(b=4)=3; D.a=1+(b=c=4);解析:解析 b=4 不能作为左值,所以本题答案为 C。9.以下程序的输出结果是_。 #include stdio.h main() int i; for(i=1; i=5; i+) if(i% 2) putchar(“); else continue; putchar

27、 (“); putchar (“#“); (分数:2.50)A. # B. #C. #D. #解析:解析 本例考查 cuntinue语句的基本使用方法。在程序中,当 i%2为真时,执行输出语句,否则执行 continue语句,即开始 i+运算,进入下一次循环,即当 i是偶数时(i%2 为 0)无任何输出。10.下面对软件特点描述错误的是_。(分数:1.00)A.软件没有明显的制作过程B.软件是一种逻辑实体,不是物理实体,具有抽象性C.软件的开发、运行对计算机系统具有依赖性D.软件在使用中存在磨损、老化问题 解析:解析 软件具有以下特点:软件是一种逻辑实体,具有抽象性;软件没有明显的制作过程;软

28、件在使用期间不存在磨损、老化问题;对硬件和环境具有依赖性;软件复杂性高,成本昂贵;软件开发涉及诸多的社会因素。故 D选项正确。11.若输入 ab,程序运行结果为_。 main() static char a2; scanf(“%s“,a); printf(“%c,%c“,a1,a2); (分数:1.00)A.a,bBa,Cb, D.程序出错解析:解析 在 C语言中,数组下标是从 0开始的,因此,上面的程序 a1的值为 b,a2的下标超出数组范围,a2无值。12.对长度为 n的线性表排序,在最坏情况下,比较次数不是 n(n-1)/2的排序方法是_。(分数:1.00)A.快速排序B.冒泡排序C.直

29、接插入排序D.堆排序 解析:解析 除了堆排序算法的比较次数是 O(nlog 2 n),其他的都是 n(n-1)/2。13.C语言主要是借助_来实现程序模块化。(分数:1.00)A.定义函数 B.定义常量和外部变量C.三种基本结构语句D.丰富的数据类型解析:解析 C 语言是由函数组成的,函数是 C语言的基本单位。所以可以说 C语言主要是借助定义函数来实现程序模块化。14.软件调试的目的是_。(分数:1.00)A.发现错误B.更正错误 C.改善软件性能D.验证软件的正确性解析:解析 软件调试的目的是诊断和改正程序中的错误,改正以后还需要进行测试。15.有以下程序: # include stdio.

30、h void fun(int*s) static int j=0; dosj=sj+sj+1;while(+j2); main() int k.a10=1,2,3,4,5; for(k=1;k3;k+) fun(a); for(k=0; k5;k+)pfintf(“%d“,ak); printf(“/n“); 程序运行后的输出结果是_。(分数:1.00)A.12345B.23445C.34756D.35745 解析:解析 本题考查静态变量,静态变量有储存已经操作过的值,所以 fun(a)s0=3,s1=5,s2=7,所以答案选择 D。16.以下程序中函数 f的功能是:当 flag为 1时,进行

31、由小到大排序;当 flag为 0时,进行由大到小排序。 #include stdio.h void f(int b,int n,int flag) int i,j,t; for(i=0;in-1;i+) for(j=i+1;jn;j+) if(flag?bibj:bibj) t=bi;bi=bj;bj=t; main() int a10=5,4,3,2,1,6,7,8,9,10,i; f( f(a,5,1); for(i=0;i10;i+) printf(“%d,“,ai); 程序运行后的输出结果是_。(分数:1.00)A.1,2,3,4,5,6,7,8,9,10,B.3,4,5,6,7,2,

32、1,8,9,10, C.5,4,3,2,1,6,7,8,9,10,D.10,9,8,7,6,5,4,3,2,1,解析:解析 flag 为 1小时从小到大排序,flag 为 0时从大到小排序,这道题要注意排序的起始,和排序的个数,答案选择 B。17.有以下程序: main() int a=0, b=0; a=10; /*给 a赋值 b=20; 给 b赋值 */ printf(“a+b=%d/n“, a+b); /输出计算机结果 程序运行后的输出结果是_。(分数:2.50)A.a+b=10 B.a+b=30C.30D.出错解析:解析 本题中/*/为多行注释,所以可知 b=20为注释语句,在程序运行

33、时不起作用,b 仍为0,所以本题中选项 A正确。18.有以下程序: matin() char * s=“one“, “two“, “three“, *p; p=s1; printf(“% c, % s/n“, *(p+1),so); 执行后的输出结果是_。(分数:2.00)A.n, twoB.t, oneC.w, one D.o, two解析:解析 程序定义了一个指针数组 s和一个字符型指针变量 p。s 有 3个元素,其中 s0指向字符串“one,s1指向字符串“two“,s2指向字符串“three“,执行 p=s1后 p指向字符串“two“,所以*(p+1)=w。19.若有以下程序 #inc

34、ludestdio.h typedef struct stu char name10, gender; int score; STU; void f(STU a, STU b) b=a; printf(“%s, %c, %d,“, b.name, b.gender, b.score); main() STU a=“Zhao“, “m“, 290, b=“Qian“, “f“, 350; f(a, b); printf(“%s, %c, %d/n“, b.name, b.gender, b.score); 则程序的输出结果是_。(分数:2.00)A.Zhao, m, 290, Qian, f,

35、350 B.Zhao, m, 290, Zhao, m, 290C.Qian, f, 350, Qian, f, 350D.Zhao, m, 290, Zhao, d, 350解析:解析 f 函数将结构体 a赋值给 b,然后输出,注意这是值传递,不会改变 main中结构体 b值,所以答案选择 A。20.关于“while(条件表达式)循环体”,以下叙述正确的是_。(分数:2.50)A.条件表达式的执行次数总是比循环体的执行次数多一次 B.循环体的执行次数总是比条件表达式的执行次数多一次C.条件表达式的执行次数与循环体的执行次数一样D.条件表达式的执行次数与循环体的执行次数无关解析:解析 循环执行

36、最后一次条件表达式,条件不成立,循环结束,所以条件表达式的执行次数总是比循环体的执行次数多一次,正确,选择 A。21.有如下定义: struct int num; char name10; struct inf y; int m; int d; birth; s,* ps= 以下对内嵌结构体成员的引用形式错误的是_。(分数:1.00)A.ps.birth.y B.birth.yC.ps-birth.yD.(*ps).birth.y解析:解析 使用结构体指针对结构体成员进行访问时,形式为结构指针名-结构成员名,或者(*结构指针名)结构成员名,题目中 ps为结构体指针,因此判断 A选项引用形式错误

37、,答案为 A选项。22.下列函数的功能是_。 void fun(char*a,char*b) while(*b=*a)!=“/0“) a+;b+; (分数:1.00)A.检查 a和 b所指字符串中是否有“/0“B.使指针 b指向 a所指字符串C.将 a所指字符串和 b所指字符串进行比较D.将 a所指字符串赋给 b所指空间 解析:解析 将 a数组里元素赋值给 b数组,直到数组 a的末尾,所以选择 D。23.设有定义: char s81;int i=0; 以下不能将一行(不超过 80个字符)带有空格的字符串正确读入的语句或语句组是_。(分数:2.00)A.scanf(“%s“,s); B.whil

38、e(si+=getchar()!=“/n“);si=“/0“;C.gets(s);D.doscanf(“%c“,si);while(si+!=“/n“);si=“/0“;解析:解析 字符串的输入不能使用“scanf(“%s“,s);”,而应该使用“gets(s)”,因此选择 A。24.程序中已构成如下图所示的不带头结点的单向链表结构,指针变量 s、p、q 均已正确定义,并用于指向链表结点,指针变量 s总是作为头指针指向链表的第一个结点。 (分数:2.00)A.删除首结点B.尾结点成为首结点C.首结点成为尾结点 D.删除尾结点解析:解析 循环找到末尾节点,然后赋值给第一个节点,所以选择 C。25

39、.支持子程序调用的数据结构是_。(分数:2.00)A栈 B树C.队列D.二叉树解析:解析 栈支持子程序调用。栈是一种只能在一端进行插入或删除的线性表,在主程序调用子函数时要首先保存主程序当前的状态,然后转去执行子程序,最终把子程序的执行结果返回到主程序中调用子程序的位置,继续向下执行,这种调用符合栈的特点,因此本题的答案为 A。26.有如下程序: #includestdio.h int sub(double a,double b) return(int)(a-b); main_ printf(“%d/n“,sub(3.8,2.1); 程序运行后的输出结果是_。(分数:1.00)A.2.0B.1

40、.7C.2D.1 解析:解析 在类型转换过程中,如果较高类型转换成较低类型,直接忽略多余位数。程序执行过程为:调用函数 sub(3.8,2.1),3.8-2.1=1.7(double 类型),(int)强制转换将 1.7转换成 int类型 1,然后返回 1并输出。27.C语言编译程序的功能是(分数:2.00)A.执行一个 C语言编写的源程序B.把 C源程序翻译成 ASCII码C.把 C源程序翻译成机器代码 D.把 C源程序与系统提供的库函数组合成一个二进制执行文件解析:28.以下不能定义为用户标识符的是_。(分数:1.00)A.scanfB.VoidC._3comD.int 解析:解析 本题选

41、项 D中 int为 C语言的保留字,是错误的。注意:C 语言的标识符是区分大小写的,void是 C语言的保留字,而 Void不是 C语言的保留字,故 Void也可定义为用户标识符。29.在软件生产过程中,需求信息的来源是 _ 。(分数:2.00)A.程序员B.项目经理C.设计人员D.软件用户 解析:解析 软件需求是指用户对目标软件系统在功能、性能、设计约束等方面的要求,是由用户提出的。30.在 C中,可以作为用户标识符的是_。(分数:1.00)A.void define WORDB.as_b3 _224 Else C.Switch -wer caseD.4b DO SIG解析:解析 选项 A中

42、的 void是 C语言的关键字。选项 C中的-wer 前边有一个字符是减号,而 case是关键字。选项 D中的 4b是以数字开头。31.设有定义语句:char a=“/72“;,则变量 a_。(分数:2.50)A.包含 1个字符 B.包含 2个字符C.包含 3个字符D.定义不合法解析:解析 “是转义字符,但是“/72“表示 ASCII码里的 1个字符。32.有如下程序: #includestdio.h struct pair int first,second; ; struct pair get_min_max(int* array,int len) int i; struct pair re

43、s; res.first=array0; res.second=array0; for(i=1;ilen;i+) if (arrayires.first) res.first=arrayi; if (arrayires.second) res.second=arrayi; return res; main() int array6=19,21,3,4; struct pair min_max=get_min_max(array,6); printf(“rain=%d,max=%d/n“,min_max.first,min_max.second); 程序运行后的输出结果是_。(分数:1.00)A

44、.min=0,max=6B.min=1,max=20C.min=1,max=19D.min=0,max=21 解析:解析 本题首先在 main函数定义一个数组 array,然后定义了一个结构变量 min_max。min_max使用函数 get_min_max()的返回值进行初始化,函数 get_min_max()的功能就是将数组中的最小值和最大值取出来后分别赋值给结构变量 min_max中的 first和 second两个整形变量,数组长度为 6个单位,初始化 4个数据,剩下 2个默认为 0,因此答案为 D选项。33.软件调试的目的是_。(分数:1.00)A.发现错误B.更正错误 C.改善软件

45、性能D.验证软件的正确性解析:解析 软件调试的目的是诊断和改正程序中的错误,改正以后还需要进行测试。34.若变量 x、y 已正确定义并赋值,以下符合 C语言语法的表达式是_。(分数:1.00)A.x+1=yB.+x,y=x- C.x=x+10=x+yD.double(x)/10解析:解析 A 选项中不能将变量 y赋给表达式,C 选项中错误与 A选项一样,D 选项中强制类型转换表达式应写成(double)x/10。35.以下叙述中正确的是_。(分数:1.00)A.在语句 char str=“string!“;中,数组 str的大小等于字符串的长度B.语句 char str10=“string!“

46、;和 char str10=“string!“;并不等价C.对于一维字符数组,不能使用字符串常量来赋初值D.对于字符串常量“string!“,系统已自动在最后加入了“/0“字符,表示串结尾 解析:解析 字符串中的字符依次存储在内存中一块连续的区域内,并且把空字符“/0“自动附加到字符串的尾部作为字符串的结束标识,故字符个数为 n的字符串在内存中应占(n+1)个字节。A 选项中数组长度比字符串长度小一个字节,字符串中包含隐含的结尾符;B 选项中两者等价;C 选项中可以使用字符串常量来给一维字符数组赋值,就像 B选项中一样。36.有以下程序 #includestdio.h void fun(int a, int n) int i, t; for(i=0; in/2; i+)t=ai; ai=an-

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

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

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