【计算机类职业资格】二级C语言分类模拟题545及答案解析.doc
《【计算机类职业资格】二级C语言分类模拟题545及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C语言分类模拟题545及答案解析.doc(18页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C语言分类模拟题 545及答案解析(总分:64.50,做题时间:90 分钟)一、选择题(总题数:40,分数:64.50)1.函数调用 strcat(strcpy(str1, str2), str3)的功能是_。(分数:1.00)A.将字符串 str1复制到字符串 str2中后再连接到字符串 str3之后B.将字符串 str1连接到字符串 str2之后再复制到字符串 str3之后C.将字符串 str2复制到字符串 str1中后再将字符串 str3连接到字符串 str1之后D.将字符串 str2连接到字符串 str1之后再将字符串 str1复制到字符串 str3中2.有下列程序: #incl
2、udestdio.h structst int(x,y)date2=1,10,2,20; main() structst*p=date; printf(“%d,“,p-y);printf(“%d/n“,(+p)-x); 程序的运行结果是 _ 。(分数:1.00)A.10,1B.20,1C.10,2D.20,23.C语言规定,在一个 C程序中,main 函数的位置_。(分数:2.00)A.必须在系统调用的库函数之后B.必须在程序的开始C.必须在程序的最后D.可以在任意位置4.以下程序的输出结果是 _ 。 #includestdio.h int a33=1,2,3,4,5,6,7,8,9,*p;
3、main() p=(int*)malloc(sizeof(int); f(p,a); printf(“% d/n“,*p); free(p); f(int *s,int p3) *s=p11;)(分数:2.00)A.1B.4C.7D.55.有以下程序 #includestdio.h #define SUB(X,Y)(X+1)*Y main() int a=3,b=4; printf(“%d/n“,SUB(a+,b+); 程序运行后的输出结果是_。(分数:2.00)A.16B.20C.12D.256.以下叙述中正确的是(分数:1.00)A.C语言程序将从源程序中第一个函数开始执行B.可以在程序中
4、由用户指定任意一个函数作为主函数,程序将从此开始执行C.C语言规定必须用 main作为主函数名,程序从此开始执行,在此结束D.main作为用户标识符,用以命名任意一个函数作为主函数7.若有定义:float x=1.5;int a=1,b=3,c=2;,则正确的 switch语句是_。(分数:2.50)A.switch(a+b)case 1:printf(“*/n“);case 2+1:printf(“*/n“);B.switch(int)x);case 1:printf(“*/n“);case 2:printf(“*/n“);C.switch(x)case 1.0:printf(“*/n“);
5、case 2.0:printf(“*/n“);D.switch(a+b)case 1:printf(“*/n“);case c:printf(“*/n“);8.以下说法正确的是_。(分数:2.00)A.C语言程序总是从第一个的函数开始执行B.在 C语言程序中,要调用函数必须在 main函数中定义C.C语言程序总是从 main函数开始执行D.C语言程序中的 main函数必须放在程序的开始部分9.有以下程序 #includestdio.h main() int n,*p=NULL; *p= printf(“Input n:“); scanf(“%d“, printf(“output n:“); p
6、rintf(“%d/n“,p); 该程序试图通过指针 p为变量 n读入数据并输出,但程序有多处错误,以下语句正确的是_。(分数:1.00)A.int n,*p=NULL;B.*p=C.scanf(“%d“,10.有以下程序: #include stdio.h void fun(int a, int n) int i,t; for(i=0;in/2;i+ +) t=ai; ai=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
7、(“/n“); 程序的运行结果是_。(分数:2.00)A.321678B.876543C.1098765D.34567811.以下函数的功能是:通过键盘输入数据,为数组中的所有元素赋值。 # include stdio.h # define N 10 void fun(int xN) int i=0; while(iN) scanf(“%d“,_); 在程序中下划线处应填入的是_。(分数:1.00)A.x+iB.xi+1C.x+(i+)D.x+i12.有以下程序 #includestdio.h void fun(char*c,int d) *c=*c+1; d=d+1; printf(“%c,
8、%c,“*c,d); main() char b=“a“,a=“A“; fun(b,a); printf(“%c,%c/n“,b,a); 程序运行后的输出结果是_。(分数:2.00)A.b,B,b,AB.b,B,B,AC.a,B,B,aD.a,B,a,B13.若有定义和语句: int a,b; scanf(“%d,%d,“,a,b); 以下选项中的输入数据,不能把值 3赋给变量 a、值 5赋给变量 b的是_。(分数:1.00)A.3,5,4B.3,5C.3,5,D.3,514.设有程序段: int k=12; while(k=1) k=k-1; 则下列描述中正确的是 _ 。(分数:2.00)A
9、.while循环执行 10次B.循环是无限循环C.循环体语句一次也不执行D.循环体语句执行一次15.以下选项中,合法的是_。(分数:1.00)A.char str3=“d“,“e“,“b“,“u“,“g“,“/0“;B.char str4; str4=“hello world“;C.char name10; name=“china“;D.char strl5=“pass“,str26; str2=strl;16.常采用的两种存储结构是 _ 。(分数:2.00)A.顺序存储结构和链式存储结构B.散列方法和索引方式C.链表存储结构和数组D.线性存储结构和非线性存储结构17.在软件开发中,需求分析阶
10、段产生的主要文档是_。(分数:2.00)A.可行性分析报告B.软件需求规格说明书C.概要设计说明书D.集成测试计划18.若有以下程序 #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; f(a,b); printf(“%s,%c,%d/n“,b.name,b.gender,b.
11、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,f,35019.把实体一联系模型转换为关系模型时,实体之间多对多联系在模型中是通过( )。(分数:1.00)A.建立新的属性来实现B.建立新的关键字来实现C.建立新的关系来实现D.建立新的实体来实现20.有以下程序: #include stdio.h #include string.h struct S char name10 ; ; main() struct S s
12、1, s2; strcpy(s1.name,“XXX“); strcpy(s2.name,“=“); s1 = s2; printf(“%sin“, s1.name); 程序运行后的输出结果是_。(分数:1.00)A.=B.XXXC.=XXDX=21.以下错误的定义语句是_。(分数:1.00)A.int x4=1,2,3,1,2,3,1,2,3,1,2,3;B.int x43=1,2,3,1,2,3,1,2,3,1,2,3;C.int x3=0,1,1,2,3;D.int x3=1,2,3,4;22.以下所列对结构类型变量 tdl的声明中错误的是_。(分数:3.00)A.typedef str
13、uct aaint n;float m;AA;B.#define AA struct aaAAint n;float m;)tdl;AAtdl;C.structint n; float m;)aa;D.structint n;float m;tdl;struct aa tdl;23.有以下程序 #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(“d1
14、.dat“,“r“); fscanf(fp,“%d“, fclose(fp); printf(“%d/n“,n); 程序的运行结果是_。(分数:2.00)A.12300B.123C.1D.32124.请阅读以下程序: #includestdio.h #includestring.h void fun(int b) static inti=0; do bi+=bi+1;while(+i2); main() int k,a5=1,3,5,4,9); fun(a); for(k=0;k5;k+)printf(“%d“,ak); 上面程序的输出是_。(分数:2.50)A.13579B.48579C.4
15、8549D.4899925.有以下计算公式: (分数:2.00)A.y=sqrt(x);if(x0)y=sqrt(-x);B.if(x=0)y=sqrt(x);else y=sqrt(-x);C.if(x=0) y=sqrt(x);if(x0)y=sqrt(-x);D.y=sqrt(x=0?x:-x);26.下列程序的运行结果是_。 #includestdio.h #define ADD(x) x+x main() int m=1, n=2, k=3; int s=ADD(m+n)*k; printf(“s=%d“, s); (分数:2.50)A.sum=18B.sum=10C.sum=9D.
16、sum=2527.设有以下程序段: struct person char name10; char sex; float weight; zhangsan,*ptr; ptr= 若要从键盘读入姓名给结构体变量 zhangsan的 name成员,输入项错误的是_。(分数:1.00)A.scanf(“%s“,zhangsan-name);B.scanf(“%s“,zhangsan.name);C.scanf(“%s“,ptr-name);D.scanf(“%s“,(*ptr).name);28.有以下程序 #includestdio.h #define S(x)4*(x)*x+1 main() i
17、nt k=5,j=2; printf(“%d/n“,S(k+j); 程序运行后的输出结果是_。(分数:2.00)A.143B.197C.33D.2829.下列说法不正确的是 _ 。(分数:2.00)A.C语言程序是以函数为基本单位的,整个程序由函数组成B.C语言程序的一条语句可以写在不同的行上C.C语言程序的注释行对程序的运行功能不起任何作用,所以注释应该尽可能少写D.C语言程序的每个语句都以分号结束30.有以下结构体说明、变量定义和赋值语句: struct STD char name10; int age; char sex; s5,*ps; ps=s0; 则以下 scanf函数调用语句有错
18、误的是_。(分数:1.00)A.scanf(“%s“,s0.name);B.scallf(“%d“,s0.age);C.scanf(“%c“,(ps-sex);D.scanf(“%d“,ps-age);31.在 C语言中,以下说法不正确的是_。(分数:2.00)A.在 C程序中,整数和实数都能被准确无误地表示出来B.在 C程序中,任何一个变量名都代表存储器中的一个位置C.静态变量的生存期与整个程序的运行期相同D.C语言中,任何变量都必须先声明才能进行引用32.以下不能输出字符 A的语句是(注:字符 A的 ASCII码值为 65,字符 a的 ASCII码值为 97)_。(分数:1.00)A.pr
19、intf(“%c/n“, “a“-32);B.printf(“%d/n“, “A“);C.printf(“%c/n“, 65);D.printf(“%c/n“, “B“-1);33.已知 int a=6;则执行 a+=a-=a*a;语句后,a 的值为_。(分数:2.00)A.36B.0C.-24D.-6034.有以下程序 #include stdio.h main() int i,s=0,t=1,2,3,4,5,6,7,8,9; for(i=0;i9;i+=2) s+=*(t+i); printf(“%d/n“,s); 程序执行后的输出结果是_。(分数:1.00)A.25B.20C.45D.3
20、635.有以下程序: #include stdio.h struct S int a;int b; main( ) struct S a, *p= a.a=99; printf(“%d/n“,_); 程序要求输出结构体中成员 a的数据,以下不能填入横线处的内容是_。(分数:1.00)A.aB.*p.aC.p-aD.(*p).a36.设有定义:int x=2;,以下表达式中,值不为 6的是_。(分数:2.00)A.2*x,x+=2B.x+,2*xC.x*=(1+x)D.x*=x+137.一棵二叉树共有 25个结点,其中 5个是叶子结点,则度为 1的结点数为_。(分数:1.00)A.16B.10C
21、.6D.438.若有定义语句:int x=10;,则表达式 x-=x+x的值为_。(分数:2.00)A.0B.-20C.-10D.1039.以下叙述中正确的是_。(分数:1.00)A.数组下标的下限是 1B.数组下标的下限由数组中第一个非零元素的位置决定C.数组下标的下限由数组中第一个被赋值元素的位置决定D.char c1,c2,*c3,c440;是合法的变量定义语句40.以下叙述中正确的是_。(分数:1.00)A.每个后缀为.C 的 C语言源程序都可以单独进行编译B.每个后缀为.C 的 C语言源程序都应该包含一个 main函数C.在 C语言程序中,main 函数必须放在其他函数的最前面D.在
22、 C语言程序中,只有 main函数才可单独进行编译二级 C语言分类模拟题 545答案解析(总分:64.50,做题时间:90 分钟)一、选择题(总题数:40,分数:64.50)1.函数调用 strcat(strcpy(str1, str2), str3)的功能是_。(分数:1.00)A.将字符串 str1复制到字符串 str2中后再连接到字符串 str3之后B.将字符串 str1连接到字符串 str2之后再复制到字符串 str3之后C.将字符串 str2复制到字符串 str1中后再将字符串 str3连接到字符串 str1之后 D.将字符串 str2连接到字符串 str1之后再将字符串 str1复
23、制到字符串 str3中解析:2.有下列程序: #includestdio.h structst int(x,y)date2=1,10,2,20; main() structst*p=date; printf(“%d,“,p-y);printf(“%d/n“,(+p)-x); 程序的运行结果是 _ 。(分数:1.00)A.10,1B.20,1C.10,2 D.20,2解析:解析 data2是两个结构体组成的数组,p 指向结构体数组的首地址,p-y 访问第一个结构体的第二个元素;(+p)x 访问第二个结构体的第一个元素。所以输出为 10.2。3.C语言规定,在一个 C程序中,main 函数的位置_
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 语言 分类 模拟 545 答案 解析 DOC
