【计算机类职业资格】二级C语言分类模拟题566及答案解析.doc
《【计算机类职业资格】二级C语言分类模拟题566及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C语言分类模拟题566及答案解析.doc(12页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C 语言分类模拟题 566 及答案解析(总分:43.50,做题时间:90 分钟)一、选择题(总题数:30,分数:43.50)1.若有以下定义和语句 #include stdio.h char s110=“abcd!“,*s2=“/n123/“; printf(“%d%d/n“,strlen(s1),strlen(s2); 则输出结果是_。(分数:1.00)A.10 7B.10 5C.5 5D.5 82.有以下程序: #include stdio.h main( ) int a =2,4,6,8, *p=a,i; for(i=0;i4;i+) ai=*p+; printf(“%d/n“,a
2、2); 程序的输出结果是_。(分数:1.00)A.2B.8C.4D.63.下列叙述中正确的是_。(分数:1.00)A.循环队列有队头和队尾两个指针,因此,循环队列是非线性结构B.在循环队列中,只需要队头指针就能反映队列中元素的动态变化情况C.在循环队列中,只需要队尾指针就能反映队列中元素的动态变化情况D.循环队列中元素的个数是由队头指针和队尾指针共同决定4.以下叙述中正确的是_。(分数:1.00)A.当对文件的读(写)操作完成之后,必须将它关闭,否则可能导致数据丢失B.打开一个已存在的文件并进行了写操作后,原有文件中的全部数据必定被覆盖C.在一个程序中当对文件进行了写操作后,必须先关闭该文件然
3、后再打开,才能读到第 1 个数据D.C 语言中的文件是流式文件,凶此只能顺序存取数据5.有以下程序: #include stdio.h #define N 2 #define M N+1 #define NUM (M+1) * M/2 main( ) printf(“%d/n“,NuM); 程序运行后的输出结果是_。(分数:5.00)A.4B.8C.9D.66.下列程序段正确的是_。(分数:1.00)A.#include stdio.hmain() int i, j;int(i)=j;B.#include stdioh;main()C.include stdiohmain() int i, j
4、;D.#include stdiohmain()7.以下叙述中正确的是_。(分数:2.00)A.在 C 语言中,逻辑真值和假值分别对应 1 和 0B.关系运算符两边的运算对象可以是 C 语言中任意合法的表达式C.对于浮点变量 x 和 y,表达式:x= =y 是非法的,会出编译错误D.分支结构是根据算术表达式的结果来判断流程走向的8.设有以下函数:void fun(int n,char*s).,则下列对函数指针的定义和赋值均正确的是_。(分数:1.50)A.void(*pf)(int,char);pf=B.void*pf();pf=fun;C.void*pf();*pf=fun;D.void(*
5、pf)(int,char*);pf=fun;9.有以下程序: #includestdio.h main() int a=0,b=0; for(;a5;a+) if(a%2=0)continue; b+=a; break; printf(“%d/n“,b); 程序运行后的输出结果是_。(分数:1.00)A.1B.4C.0D.1010.若有以下程序: #include stdio.h int *f(int *s,int *t) int *k; if(*s*t) k=s; s=t; t=k; return s; main( ) int i=3,j=5, *p= r=f(p,q); printf(“%
6、d,%d,%d,%d,%d/n“,i,j,*p,*q,*r); 则程序的输出结果是_。(分数:2.00)A.3,5,5,3,5B.3,5,3,5,5C.5,3,5,3,5D.5,3,3,5,511.C 语言函数返回值的类型是由_决定的。(分数:1.00)A.return 语句中的表达式类型B.调用函数的主调函数类型C.调用函数时临时D.定义函数时所指定的函数类型12.有以下程序: #includestdio.h main() char ch=“B“; while(ch“E“) pfintf(“%d“,ch-“A“); ch+; printf(“/n“); 程序运行后的输出结果是_。(分数:1.
7、00)A.123B.ABCC.abcD.01213.下列关于栈的叙述正确的是_。(分数:1.00)A.栈按“先进先出”组织数据B.栈按“先进后出”组织数据C.只能在栈底插入数据D.不能删除数据14.在 16 位 IBM-PC 机上使用 C 语言,若有如下定义 struct data int i; char ch; double f; b; 则结构变量 b 占用内存的字节数是(分数:1.00)A.1B.2C.7D.1115.下列叙述中正确的是_。(分数:1.00)A.每一个结点有两个指针域的链表一定是非线性结构B.所有结点的指针域都为非空的链表一定是非线性结构C.循环链表是循环队列的链式存储结构
8、D.线性结构的存储结点也可以有多个指针16.以下选项中,能正确表示 a10 或 a0 的关系表达式是_。(分数:1.00)A.a=10 or a=0B.a=10|a=0C.a=10int d;程序运行时输入:c=1,d=2回车,能把字符 1 输入给变量 e、整数 2 输入给变量 d 的输入语句是_。(分数:1.00)A.scanf(“c=%d d=%d“,B.scanf(“c=%c d=%d“,C.scanf(“c=%d,d=%d“,D.scanf(“c=%c,d=%d“,19.不合法的 main 函数命令行参数表示形式是 _(分数:1.00)A.main(int a, char *c)B.m
9、ain(int arc,char *arv)C.main(int argc,char *argv)D.main(int argv,char*argc)20.以下选项中不能用作 C 程序合法常量的是_。(分数:1.00)A.1.234B.“/123“C.123D.“/x7D“21.以下结构体类型说明和变量定义中正确的是_。(分数:2.00)A.typedef structint n;char c;REC;REC t1,t2;B.struct REC;int n;char c;);REC t1,t2;C.typedef struct REC;int n=0;char c=“A“;t1,t2;D.s
10、tructint n;char c;REC;REC t1,t2;22.有下列二叉树,对此二叉树中序遍历的结果为 _ 。 (分数:2.00)A.BDYEACFXZB.DYBEAFCZXC.ABCDEFXYZD.ABDYECFXZ23.设有定义: int a=1, b=2, c=3; 以下语句中执行效果与其他三个不同的是_。(分数:1.00)A.if(ab) c=a, a=b, b=c;B.if(ab) c=a, a=b, b=c;C.if(ab) c=a; a=b; b=c;D.if(ab) c=a; a=b; b=c;24.结构化程序所要求的基本结构不包括_。(分数:1.00)A.顺序结构B.
11、GOTO 跳转C.选择(分支)结构D.重复(循环)结构25.某系统结构图如下图所示: (分数:1.00)A.0B.1C.2D.326.设已有声明“int x=1,2,3,4,5,6),*p=”,则值为 3 的表达式是_。(分数:2.00)A.*+pB.*(p+)C.+*PD.(*p)+27.有以下程序 #includestdio.h main() FILE*fp;int a10=1,2,3,i,n; fp=fopen(“d1.dat“,“w“); for(i=0;i3;i+) fprintf(fp,“%d“,ai); fprintf(fp,“/n“); fclose(fp); fp=fopen
12、(“d1.dat“,“r“); fscanf(fp,“%d“, fclose(fp); printf(“%d/n“,n); 程序的运行结果是_。(分数:2.00)A.12300B.123C.1D.32128.以下是 while 语句的基本形式: while(表达式) 语句; 其中“表达式”_。(分数:2.50)A.必须是逻辑表达式B.必须是关系表达式C.必须是逻辑表达式或关系表达式D.可以是任意合法的表达式29.语句“pfintf(“a/bhow“are“y/bou/n“);”的输出结果是_。(分数:2.50)A.a/bhow“are“y/bouB.a/bhow“are“y/bouC.how“
13、are“youD.ahow“are“y/bou30.在 32 位编译器上,设有定义 char *str1=“Hello“, str2=“Hello“;, 则以下语句 printf(“%d%d“, sizeof(str1), sizeof(str2); 的输出结果是_。(分数:1.00)A.5 6B.5 5C.6 6D.4 6二级 C 语言分类模拟题 566 答案解析(总分:43.50,做题时间:90 分钟)一、选择题(总题数:30,分数:43.50)1.若有以下定义和语句 #include stdio.h char s110=“abcd!“,*s2=“/n123/“; printf(“%d%d
14、/n“,strlen(s1),strlen(s2); 则输出结果是_。(分数:1.00)A.10 7B.10 5C.5 5 D.5 8解析:解析 s1 的长度为 5,s2 字符串末尾“/”表示一个字符,所以长度也为 5,答案选择 C。2.有以下程序: #include stdio.h main( ) int a =2,4,6,8, *p=a,i; for(i=0;i4;i+) ai=*p+; printf(“%d/n“,a2); 程序的输出结果是_。(分数:1.00)A.2B.8C.4D.6 解析:解析 本题通过语句“*p=a”将一维数组 a 的首地址的值赋值给变量 p,即 p 的值为 2。执
15、行 for循环,ai=*p+,指将 p 的值赋给 ai后,再进行自增操作,因此 4 次循环后 a2的值为 6。因此 D 选项正确。3.下列叙述中正确的是_。(分数:1.00)A.循环队列有队头和队尾两个指针,因此,循环队列是非线性结构B.在循环队列中,只需要队头指针就能反映队列中元素的动态变化情况C.在循环队列中,只需要队尾指针就能反映队列中元素的动态变化情况D.循环队列中元素的个数是由队头指针和队尾指针共同决定 解析:解析 循环队列有队头和队尾两个指针,但是循环队列仍是线性结构,因此 A 错误;在循环队列中需要队头与队尾两个指针来共同反映队列中元素的动态变化情况,因此 B 与 C 错误,故本
16、题答案为 D。4.以下叙述中正确的是_。(分数:1.00)A.当对文件的读(写)操作完成之后,必须将它关闭,否则可能导致数据丢失 B.打开一个已存在的文件并进行了写操作后,原有文件中的全部数据必定被覆盖C.在一个程序中当对文件进行了写操作后,必须先关闭该文件然后再打开,才能读到第 1 个数据D.C 语言中的文件是流式文件,凶此只能顺序存取数据解析:解析 B 选项中打开一个已存在的文件并进行了写操作后,原有文件中的全部数据不一定被覆盖,也可以对源文件进行追加操作等。C 选项中在一个程序中当对文件进行了写操作后,不用先关闭该文件然后再打开,才能读到第 1 个数据,可以用 fseek()函数进行重新
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 语言 分类 模拟 566 答案 解析 DOC
