【计算机类职业资格】二级C语言分类模拟题570及答案解析.doc
《【计算机类职业资格】二级C语言分类模拟题570及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C语言分类模拟题570及答案解析.doc(15页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C 语言分类模拟题 570 及答案解析(总分:42.50,做题时间:90 分钟)一、选择题(总题数:30,分数:42.50)1.设有以下说明语句: struct ex int x; float y; char z; example; 则下面的叙述中,不正确的是_。(分数:2.50)A.struct 是结构体类型的关键字B.example 是结构体类型名C.x,y,z 都是结构体成员名D.structex 是结构体类型名2.有以下程序(注:字母 A 的 ASCII 码值是 65) #include stdio.h void fun(char *s) while(*s) if(*s%2) p
2、rintf(“%c“,*s); s+; main() char a=“BYTE“; fun(a); printf(“/n“); 程序运行后的输出结果是_。(分数:1.00)A.YTB.BTC.YED.BY3.以下叙述中错误的是_。(分数:1.00)A.用户定义的函数中可以没有 return 语句B.用户定义的函数中可以有多个 return 语句,以便可以调用一次返回多个函数值C.用户定义的函数中若没有 return 语句,则应当定义函数为 void 类型D.函数的 return 语句中可以没有表达式4.有以下程序: #includestdio.h main() char s=“rstuv“;
3、printf(“%c/n“, *s+2); 程序运行后的输出结果是_。(分数:1.00)A.tuvB.字符 t 的 ASCII 码值CtD.出错5.有以下程序 #includestdio.h main() int i,j,m=1; for(i=1;i3;i+) for(j=3;j0;j-) if(i*j3)break; m*=i*j; printf(“m=%d/n“,m); 程序运行后的输出结果是_。(分数:1.00)A.m=4B.m=2C.m=6D.m=56.下列程序段的输出结果是 int n=“c“; switch(n+) default: printf(“error“);break; c
4、ase “a“: case “A“: case “b“: case “B“: printf(“good“);break; case “c“: case “C“: printf(“pass“); case “d“: case “D“: printf(“warn“); (分数:1.00)A.passwarnB.passerrorC.goodpasswarnD.pass7.下面程序段的运行结果是( )。 char a=“abcdefgh“; char *p=a; p+=3; printf(“%d/n“,strlen(strcpy(p,“ABCD“);(分数:1.00)A.8B.12C.4D.78.有
5、以下程序: #includestdio.h main() int a1,a2;char c1,c2; scanf(“%d%c%d%c“, printf(“%d,%c,%d,%c“,a1,c1,a2,c2); 若想通过键盘输入,使得 a1 的值为 12,a2 的值为 34,c1 的值为字符 a,c2 的值为字符 b,程序运行后的输出结果是:12,a,34,b。则正确的输入格式是(以下 代表空格,CR代表回车)_。 A B (分数:1.00)A.B.C.D.9.有以下程序 #includestdio.h int f(int x); main() int a,b=0; for(a=0;a3;a+=1
6、) b+=f(a);putchar(“A“+b); int f(int x) ( return x*x+1; 程序运行后输出结果是_。(分数:2.00)A.BDIB.BCDC.ABED.BCF10.有以下程序 #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(“/n“); 程序的运行结果是_。
7、(分数:1.00)A.321678B.876543C.1098765D.34567811.有以下函数: int aaa(char*s) char*t=s; while(*t+); t-; return(t-s); 以下关于 aaa 函数功能叙述正确的是_。(分数:1.00)A.将串 s 复制到串 tB.比较两个串的大小C.求字符串 s 的长度D.求字符串 s 所占字节数12.有以下计算公式 (分数:1.00)A.if(x=0) y=sqrt(x);else y=sqrt(-x);B.y=sqrt(x);if(x0) y=sqrt(-x);C.if(x=0) y=sqrt(x);if(x0) y
8、=sqrt(-x);D.y=sqrt(x=0 x:-x);13.若有以下函数首部 int fun(double x10, int*n) 则下面针对此函数的函数声明语句中正确的是_。(分数:2.00)A.int fun(double *, int*);B.int fun(double, int);C.int fun(double *x, int n);D.int fun(double x, int*n);14.数据库系统的三级模式不包括_。(分数:1.00)A.概念模式B.内模式C.外模式D.数据模式15.有以下程序: # include stdio.h main() int a,b,k,m,*
9、p1,*p2; k=1,m=8; p1=k,p2=m; a=/*p1-m;b=*p1+*p2+6; printf(“%d“,a); printf(“%d/n“,b); 编译时编译器提示错误信息,你认为出错的语句是_。(分数:1.00)A.a=/*p1-m;B.b=*p1+*p2+6;C.k=1,m=8;D.p1=k,p2=m;16.计算机能直接执行的程序是_。(分数:2.00)A.源程序B.目标程序C.汇编程序D.可执行程序17.设有以下语句 int a=1, b=2, c; c=a(b2); 执行后,c 的值为_。(分数:2.00)A.9B.7C.8D.618.C 语言中,下列不合法的字符常
10、量是_。(分数:1.00)A.“/xff“B.“/65“C.“ int i; scanf(“% d“, for(i=1; i3; i+) a0=a0+ai; printf(“a0=% d/n“, a0); (分数:2.50)A.3B.6C.7D.420.一棵二叉树共有 25 个结点,其中 5 个是叶子结点,则度为 1 的结点数为_。(分数:1.00)A.16B.10C.6D.421.以下选项中,与 k=n+完全等价的表达式是_。(分数:1.00)A.k=n, n=n+1B.n=n+1, k=nC.k=+nD.k+=n+122.以下选项中可用作 C 语言中合法用户标识符的是_。(分数:1.00)
11、A._123B.voidC.-abcD.2a23.有以下程序: #includestdio.h int func(int, int); main() int k=4, m=1, p; p=func(k, m); printf(“%d, “, p); p=func(k, m); printf(“%d/n“, p); int func(int a, int b) static int m, i=2; i+=m+1; m=i+a+b; return(m); 程序运行后的输出结果是(分数:1.00)A.8,17B.8,16C.8,20D.8,824.请阅读以下程序: #includestdio.h m
12、ain() int x=1,y=0,a=0,b=0; switch(x) case 1: switch(y) case 0:a+;break; case 2: a+,b+;break; printf(“a=%d,b=%d/n“,a,b); 上面程序的输出结果是(分数:1.00)A.a=2,b=1B.a=1,b=1C.a=1,b=0D.a=2,b=225.若有以下定义和语句: int a=010,b=0x10,c=10; printf(“%d,%d,%d/n“,a,b,c); 则输出结果是_。(分数:2.00)A.8,10,10B.10,10,10C.8,8,10D.8,16,1026.有以下程
13、序 #includestdio.h int fun(int n) if(n) return fun(n-1)+n; else return 0; main() printf(“%d/n“, fun(3); 程序的运行结果是(分数:2.00)A.4B.5C.6D.727.设有以下说明,则不正确的叙述是_。 union un int a; char b; float c; arr;(分数:2.50)A.arr 所占的内存长度等于成员 c 的长度B.arr 的地址和它的各成员的地址都是同一地址C.arr 可以作为函数参数D.不能在定义 arr 时对它初始化28.有以下程序(注:字符 a 的 ASCI
14、I 码值为 97): #include stdio.h main( ) char *s=“abc“; do printf(“%d“, *s%10); +s; while(*s); 程序运行后的输出结果是_。(分数:2.00)A.789B.abcC.7890D.97989929.以下选项中,合法的实数是_。(分数:1.00)A.1.5E2B.E1.1C.2.10ED.1.9E1.430.以下叙述中正确的是_。(分数:2.00)A.如果根据算法需要使用无限循环(即通常所称的“死循环”),则只能使用 while 语句B.对于“for(表达式 1;表达式 2;表达式 3)循环体”首先要计算表达式 2
15、的值,以便决定是否开始循环C.对于“for(表达式 1;表达式 2;表达式 3)循环体”,只在个别情况下才能转换成 while 语句D.只要适当地修改代码,就可以将 do-while 与 while 相互转换二级 C 语言分类模拟题 570 答案解析(总分:42.50,做题时间:90 分钟)一、选择题(总题数:30,分数:42.50)1.设有以下说明语句: struct ex int x; float y; char z; example; 则下面的叙述中,不正确的是_。(分数:2.50)A.struct 是结构体类型的关键字B.example 是结构体类型名 C.x,y,z 都是结构体成员名
16、D.structex 是结构体类型名解析:2.有以下程序(注:字母 A 的 ASCII 码值是 65) #include stdio.h void fun(char *s) while(*s) if(*s%2) printf(“%c“,*s); s+; main() char a=“BYTE“; fun(a); printf(“/n“); 程序运行后的输出结果是_。(分数:1.00)A.YTB.BTC.YE D.BY解析:解析 fun 函数输出 ASCII 码值为奇数的字符,所以答案选择 C。3.以下叙述中错误的是_。(分数:1.00)A.用户定义的函数中可以没有 return 语句B.用户定
17、义的函数中可以有多个 return 语句,以便可以调用一次返回多个函数值 C.用户定义的函数中若没有 return 语句,则应当定义函数为 void 类型D.函数的 return 语句中可以没有表达式解析:解析 本题重点考察函数返回值的相关知识,函数的值只能通过 return 语句返回主调函数,在函数中允许有多个 return 语句,但每次调用只能有一个 return 语句被执行,因此只能返回一个函数值。不返回函数值的函数,可以明确定义为“空类型”,类型说明符为“void。因此 B 选项正确。4.有以下程序: #includestdio.h main() char s=“rstuv“; pri
18、ntf(“%c/n“, *s+2); 程序运行后的输出结果是_。(分数:1.00)A.tuvB.字符 t 的 ASCII 码值Ct D.出错解析:解析 本题中,语句 printf 函数输出的是字符指针 s 所指变量的 ASCII 表对应值,即 ASCII 表中值为 s0+2 的字符。所以选 C。5.有以下程序 #includestdio.h main() int i,j,m=1; for(i=1;i3;i+) for(j=3;j0;j-) if(i*j3)break; m*=i*j; printf(“m=%d/n“,m); 程序运行后的输出结果是_。(分数:1.00)A.m=4B.m=2C.m
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 语言 分类 模拟 570 答案 解析 DOC
