【计算机类职业资格】二级C语言分类模拟题554及答案解析.doc
《【计算机类职业资格】二级C语言分类模拟题554及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C语言分类模拟题554及答案解析.doc(18页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C 语言分类模拟题 554 及答案解析(总分:59.00,做题时间:90 分钟)一、选择题(总题数:40,分数:59.00)1.若有定义 int a; float b; double c; 程序运行时输入: 3 4 5回车 能把值 3 输入给变量 a、4 输入给变量 b、5 输入给变量 c 的语句是_。(分数:3.00)A.scanf(“%lf%lf%lf“, B.scanf(“%d%lf%lf“, C.scanf(“%d%f%f“, D.scanf(“%d%f%lf“, 2.以下叙述正确的是_。(分数:1.00)A.C 语言程序是由过程和函数组成的B.C 语言函数可以嵌套调用,例如:f
2、un(fun(x)C.C 语言函数不可以单独编译D.C 语言中除了 main 函数,其他函数不可作为单独文件形式存在3.下面程序的输出结果是_。 #define a 121 const b=12; enum ca1,a2; main() printf(“%d,%d,%d“,sizeof(a),sizeof(b),sizeof(enum c); (分数:1.00)A.121,0,4B.2,2,2C.0,2,4D.0,2,24.设文件指针 fp 已定义,执行语句 fp=fopen(“file“,“w“);后,以下针对文本文件 file 操作叙述的选项中正确的是_。(分数:2.00)A.只能写不能读
3、B.写操作结束后可以从头开始读C.可以在原有内容后追加写D.可以随意读和写5.设有定义:int a10=0,1,2,3,4,5,6,7,8,9,*p=a,i;,若 0i9,则对 a 数组元素的引用错误的是_。(分数:1.00)A.a10B.*( ch=“A“+“5“-“3“; printf(“%d, %c/n“, ch, ch); 程序的输出结果是(分数:2.00)A.67,CB.B,CC.C,DD.不确定的值7.在 C 语言中,只有在使用时才占用内存单元的变量,其存储类型是(分数:2.00)A.auto 和 registerB.extern 和 registerC.auto 和 static
4、D.static 和 register8.在 C 语言中,不适用于局部变量的存储类说明符是 _(分数:1.00)A.autoB.registerC.staticD.extern9.以下选项中表示一个合法的常量是(说明:符号表示空格)_。(分数:1.00)A.999B.0XabC.123E0.2D.2.7e10.有以下程序: #includestdio.h int a=1; int f(int c) static int a=2; c=c+1; return(a+)+c; main() int i, k=0; for(i=0; i2; i+)int a=3; k+=f(a); k+=a; pri
5、ntf(“%d/n“, k); 程序运行结果是_。(分数:2.50)A.14B.15C.16D.1711.若已包括头文件string.h且已有定义 char s118,s2=“ABCDE“和 int i,现要将字符串 “ABCDE“赋给 s1,下列语句错误的是 _(分数:1.00)A.strcpy(s1,s2)B.strcpy(s1,“ABCDE“);C.s1=“ABCDE“;D.for(i=0;i6;i+)s1i=s2i;12.若有以下程序: #include stdio.h void f(int n); main() void f(int n); f(5); void f(int n) p
6、rintf(“% d/n“, n); 则以下叙述中,不正确的是_。(分数:1.00)A.若在主函数中对函数 f()进行说明,则只能在主函数中正确调用函数 f()B.若在主函数前对函数 f()进行说明,则在主函数和其他函数中都可以正确调用 f()C.对于以上程序,编译时系统会报错,提示对 f()函数重复说明D.函数 f()无返回值,所以可用 void 将其类型定义为无值型13.以下涉及字符串数组、字符指针的程序片段,没有编译错误的是_。(分数:1.00)A.char line;line=“=“:B.char *name10,*str;name=“Hello World“;C.char str11
7、0,str210=“prog.c“;str1=str2;D.char name10,*str=“Hello World“;14.下列程序执行后的输出结果是_。 void func(int*a,int b) b0=*a+6; main() int a,b5=0; a=0;b0=3; func( printf(“%d/n“,b0); (分数:2.00)A.6B.7C.8D.915.有以下程序 #includestdio.h int f(int n) int t=0,a=5; if(n/2)int a=6;t+=a+; elseint a=7;t+=a+; return t+a+; main() i
8、nt s=0,i=0; for(;i2;i+)s+=fi); printf(“%d/n“,s); 程序运行后的输出结果是_。(分数:1.00)A.24B.28C.32D.3616.若有如下说明,且 int 类型占两个字节,则正确的叙述为_。 struct st int a; int b2; a;(分数:2.50)A.结构体变量 a 与结构体成员 a 同名,定义是合法的B.程序只在执行到该结构体时才为结构体 st 分配存储单元C.程序运行时为结构体 st 分配 8 字节存储单元D.类型名 struct st 可以通过 extern 关键字提前引用17.若有以下程序 #includestdio.h
9、 #define S(x) x*x #define T(x)S(x)*S(x) main() int k=5, j=2; printf(“%d, %d/n“, S(k+j), T(k+j); 则程序的输出结果是_。(分数:2.00)A.17, 37B.49, 2401C.17, 289D.49, 28918.设有以下说明,则不正确的叙述是_。 union un int a; char b; float c; arr;(分数:2.50)A.arr 所占的内存长度等于成员 c 的长度B.arr 的地址和它的各成员的地址都是同一地址C.arr 可以作为函数参数D.不能在定义 arr 时对它初始化19
10、.有以下程序: #includestdio.h main() short c=124; c=c_; printf(“%d/n“, c); 若要使程序的运行结果为 248,应在横线处填入的是_。(分数:1.00)A.2B.|248C. char *a; a=s; for(i=0,j=0;ai!=“/0“;i+) if(ai=“0“j+;) sj=“/0“; main() char*s=“aa89gggh“;del(s);printf(“/n%s“,s);(分数:2.50)A.aaB.89C.ggghD.aa89gggh22.以下程序的输出结果是_。 main() char st20=“hello
11、/0/t/“; printf(“%d%d/n“,strlen(st), sizeof(st); (分数:1.00)A.9 9B.5 20C.13 20D.20 2023.下列叙述中,正确的是_。(分数:1.00)A.线性链表是线性表的链式存储结构B.栈与队列是非线性结构C.双向链表是非线性结构D.只有根结点的二叉树是线性结构24.有如下程序: #includestdio.h struct pair int first,second; ; struct pair get_min_max(int*array,int len) int i; struct pair res; res.first=ar
12、ray0; res.second=array0; for(i=1;ilen;i+) if(arrayires.first) res.first=arrayi; if(arrayires.second) res.second=arrayi; return res; main() int array5=9,1,3,4; struet pair min_max=get_min_max(array,5) printf(“min=%d,max=%din“,min_max.first,min_max.second); 程序运行后的输出结果是_。(分数:1.00)A.min=1,max=9B.min=0,m
13、ax=9C.min=1,max=4D.min=0,max=425.有以下程序片段: y=-1; if(x!=0) if(x0) y=1; else y=0; 其能正确表示的数学函数关系是 A B C D (分数:2.00)A.B.C.D.26.设有以下定义和语句 int a32=1,2,3,4,5,6,*p3; p0=a1; 则*(p0+1)所代表的数组元素是(分数:1.00)A.a01B.a10C.a11D.a1227.以下叙述中错误的是( )。(分数:1.00)A.用户定义的函数中可以没有 return 语句B.用户定义的函数中可以有多个 return 语句,以便可以调用一次返回多个函数值
14、C.用户定义的函数中若没有 return 语句,则应当定义函数为 void 类型D.函数的 return 语句中可以没有表达式28.C 语言主要是借助_来实现程序模块化。(分数:1.00)A.定义函数B.定义常量和外部变量C.三种基本结构语句D.丰富的数据类型29.以下关于 switch 语句的叙述中正确的是_。(分数:1.00)A.所有 case 的标号都应当是连续的B.每个 case 语句标号后面可以没有 break 语句C.char 型常量不能做 case 的标号使用D.default 必须放在全部 case 的最后30.若有以下定义: char s100=“string“; 则下述函数
15、调用中,_是错误的。(分数:1.00)A.strlen(strcpy(s, “Hello“)B.strcat(s,strcpy(s1, “s“);C.puts(puts(“Tom“)D.! strcmp (“ “, s)31.若有定义语句“int a,b;double x;”,则下列选项中没有错误的是_。(分数:1.00)A.switch(x%2) case 0: a+;break;case 1:b+; break;default:a+;b+;B.switch(int) x/2.0) case 0: a+;break;case 1:b+; break;default:a+; b+;C.swit
16、ch(int) x%2) case 0: a+;break;case 1:b+;break;default:a+;b+;D.switch(int) (x)%2) case 0.0: a+;break;case 1.0:b+;break;default:a+;b+;32.若有以下定义和语句 ( ) int u010,vOx10,w10; printf(“%d,%d%d/n“,u,v,w); 则输出结果是(分数:1.00)A.8,16,10B.10,10,10C.8,8,10D.8,10,1033.逻辑模型是面向数据库系统的模型,下面属于逻辑模型的是_。(分数:1.00)A.关系模型B.谓词模型C
17、.物理模型D.实体联系模型34.有以下程序 #includestdio.h main() int x,y,z; x=y=1; z=x+,y+,+y; printf(“%d,%d,%d/n“,x,y,z); 程序运行后的输出结果是_。(分数:1.00)A.2,3,1B.2,3,2C.2,3,3D.2,2,135.以下叙述中错误的是_。(分数:2.00)A.C 程序对预处理命令行的处理是在程序执行的过程中进行的B.预处理命令行的最后不能以分号表示结束C.#define MAX 是合法的宏定义命令行D.在程序中凡是以”#”开始的语句行都是预处理命令行36.C 源程序中不能表示的数制是_。(分数:1.
18、00)A.十六进制B.八进制C.十进制D.二进制37.下列叙述中错误的是_。(分数:1.00)A.算法的时间复杂度与问题规模无关B.算法的时间复杂度与计算机系统无关C.算法的时间复杂度与空间复杂度没有必然的联系D.算法的空间复杂度与算法运行输出结果的数据量无关38.下列选项中,能正确定义数组的语句是_。(分数:1.00)A.int num02008;B.int num;C.int N=2008;int numN;D.#define N 2008int numN;39.以下数据结构中不属于线性数据结构的是_。(分数:2.00)A.队列B.线性表C.二叉树D栈40.对于一个正常运行的 C 程序,以
19、下叙述中正确的是_。(分数:2.50)A.程序的执行总是从程序的第一个函数开始,在 main 函数结束B.程序的执行总是从 main 函数开始C.程序的执行总是从 main 函数开始,在程序的最后一个函数中结束D.程序的执行总是从程序的第一个函数开始,在程序的最后一个函数中结束二级 C 语言分类模拟题 554 答案解析(总分:59.00,做题时间:90 分钟)一、选择题(总题数:40,分数:59.00)1.若有定义 int a; float b; double c; 程序运行时输入: 3 4 5回车 能把值 3 输入给变量 a、4 输入给变量 b、5 输入给变量 c 的语句是_。(分数:3.0
20、0)A.scanf(“%lf%lf%lf“, B.scanf(“%d%lf%lf“, C.scanf(“%d%f%f“, D.scanf(“%d%f%lf“, 解析:解析 int,float,double 对应的格式控制符分别为%d,%f,%lf,所以答案选择 D。2.以下叙述正确的是_。(分数:1.00)A.C 语言程序是由过程和函数组成的B.C 语言函数可以嵌套调用,例如:fun(fun(x) C.C 语言函数不可以单独编译D.C 语言中除了 main 函数,其他函数不可作为单独文件形式存在解析:解析 C 语言程序是由主函数和若干子函数构成的,可以嵌套使用。主函数调用子函数,子函数在定义时
21、是并列的,子函数可相互调用或被多次调用。3.下面程序的输出结果是_。 #define a 121 const b=12; enum ca1,a2; main() printf(“%d,%d,%d“,sizeof(a),sizeof(b),sizeof(enum c); (分数:1.00)A.121,0,4B.2,2,2 C.0,2,4D.0,2,2解析:解析 sizeof 函数是取变量所占的存储空间的字节数,标识 a 代表常量 121;const b=12;,其中数据类型可以缺省,默认为整型;enum ca1,a2;定义了个枚举类型 enum c,a1,a2 为枚举元素,在C 编译时,对枚举元
22、素按常量处理,它们的值按定义顺序依次为 0,1。因此它们的字节数均为 2,2,2。4.设文件指针 fp 已定义,执行语句 fp=fopen(“file“,“w“);后,以下针对文本文件 file 操作叙述的选项中正确的是_。(分数:2.00)A.只能写不能读 B.写操作结束后可以从头开始读C.可以在原有内容后追加写D.可以随意读和写解析:解析 本题考查文件操作函数 fopen()的基础知识。以“w”方式打开文件,只能写不能读,故选项 A 正确。5.设有定义:int a10=0,1,2,3,4,5,6,7,8,9,*p=a,i;,若 0i9,则对 a 数组元素的引用错误的是_。(分数:1.00)
23、A.a10 B.*( ch=“A“+“5“-“3“; printf(“%d, %c/n“, ch, ch); 程序的输出结果是(分数:2.00)A.67,C B.B,CC.C,DD.不确定的值解析:7.在 C 语言中,只有在使用时才占用内存单元的变量,其存储类型是(分数:2.00)A.auto 和 register B.extern 和 registerC.auto 和 staticD.static 和 register解析:解析 在 C 语言中只有自动变量和寄存器变量在使用时才占用内存单元。8.在 C 语言中,不适用于局部变量的存储类说明符是 _(分数:1.00)A.autoB.regist
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 语言 分类 模拟 554 答案 解析 DOC
