【计算机类职业资格】二级C语言笔试-282及答案解析.doc
《【计算机类职业资格】二级C语言笔试-282及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C语言笔试-282及答案解析.doc(27页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C语言笔试-282 及答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:40,分数:70.00)1.C语言结构体类型变量在程序执行期间( )。(分数:2.00)A.所有成员一直驻留在内存中B.没有成员驻留在内存中C.部分成员驻留在内存中D.只有一个成员驻留在内存中2.下列选项中不合法的十六进制数是( )。(分数:2.00)A.“0“xffB.“0“X11C.“0“xlgD.“0“Xabc3.有以下程序:main()unionchar ch2;int d:s;s.d=0x4321;printf(“%x,%x/n“,s.ch0,s.ch1);在 16位编译系统上,程序执
2、行后的输出结果是()。(分数:2.00)A.21,43B.43,21C.43,00D.21,004.下列程序的输出结果是( )。# includestdio.hmain()int a=0 ,1;for(i=1;i5;i+)switch(i)case 0:case 3:a+=1;case 1:case 2:a=2;default:a+=3:printf(“%d“ ,a);(分数:2.00)A.19B.18C.6D.85.有以下程序:main()int a=0,b=0;a=10; /*给 a赋值b=20; 给 b赋值 */printf(“a+b=%d/n“,a+b);/输出计算机结果程序运行后的输
3、出结果是( )。(分数:2.00)A.a+b=10B.a+b=30C.30D.出错6.设有以下定义和语句:char str20=“Program“,*p;p=str;则以下叙述中正确的是( )。(分数:2.00)A.*p与 str0的值相等B.str与 p的类型完全相同C.str数组长度和 p所指向的字符串长度相等D.数组 tr中存放的内容和指针变量 p中存放的内容相同7.标准库函数 fgets(s,n,file)的功能是( )。(分数:2.00)A.从文件 file中读取长度为 n的字符串存入字符数组 s中B.从文件 file中读取长度为不超过 n-1个字符的字符串放到字符数组 s中C.从文
4、件 file中读到 n个字符串存入字符数组 s中D.从文件 file中读取长度为 n-1个字符的字符串存入字符数组 s中8.若有说明“char s130=“abc“,s2=“defghi“;”,则在使用函数 stcat(s1,s2)后结果是( )。(分数:2.00)A.s1的内容更新为 abcdefghiB.s1的内容更新为 defghi/0C.s1的内容更新为 defghiabc/0D.s1的内容更新为 abcdefghi/09.#define能作简单的替代,用宏来替代计算多项式 5*x*x+5*x+5的值的函数 f,正确的宏定义语句为( )。(分数:2.00)A.#define f(x)
5、5*x*x+5*x+5B.#define f5*x*x+5*x+5C.# define f(a) (5*a*a+5*a+5)D.#define (5*x*x+5*x+5) f(x)10.有下列函数定义:int fun(double a,double b)return a*b;)若下列选项中所用变量都已经正确定义并赋值,错误的函数调用是( )。(分数:2.00)A.if(fun(x,y)B.z=fun(fun(x,y),fun(x,y);C.z=fun(fun(x,y)x,y);D.fun(x,y);11.有以下程序:main()int num44=1,2,3,4,5,6,7,8,9,10,11
6、,12,13,14,15,16,i,j;for(i=0;i4;i+)for(j=0;ji;j+) printf(“%4c“,“);for(j=_;j4;j+) printf(“%4d“,numij);printf(“/n“);若要按以下形式输出数组右上半三角1 2 3 46 7 811 1216则在程序下划线处应填入的是()。(分数:1.00)A.i-1B.iC.i+1D.4-i12.有以下程序:int fun(int x,int y)return(x+y);main()int a=1,b=2,c=3,sum;sum=fun(a+,b+,a+b),c+);printf(“%d/n“ ,sum)
7、;执行后的输出结果是( )。(分数:1.00)A.6B.7C.8D.913.已知 i、j、k 为 int型变量,若要从键盘输入 2、3、4CR,使 i、j、k 的值分别为 2、3、4,下列正确的输入语句是( )。(分数:1.00)A.scanf(“%3d,%3d,%3d“,.i,j,%k);B.scanf(“%d,%d,%d“,i,j,k);C.scanf(“%d%d%d“,.i,j,k);D.scanf(“i=%d,j=%d,k=%d“,i,j,k);14.对下列二叉树(分数:1.00)A.ACBDFEGB.ACBDFGEC.ABDCGEFD.FCADBEG15.源程序的文档不包括( )。(
8、分数:1.00)A.符合号名的命名要有实际意义B.正确的文档形式C.良好的视觉组织D.正确的程序注释16.下列叙述中正确的是( )。(分数:1.00)A.在赋值表达式中,赋值号的左边既可以是变量,也可以是任意表达式B.实型变量中允许存放整型数C.若 a和 b类型相同,在执行赋值 a=b后,b 中的值将放入 a中,但 b中的值不变D.在 C程序中,求余算符“%”两边的类型相同时才能进行运算17.有以下程序:main()int a=0,b=lO,c=0,d=0;if(a=1) b=1;c=2;else d=3;printf(“%d, %d,%d,%d/n“ ,a,b,c,d);程序输出( )。(分
9、数:1.00)A.0,1,2,0B.0,0,0,3C.1,1,2,0D.编译有错18.下列程序的输出结果是( )。main()int a=6,b=3,c;if(ab)c=a*b;printf(“%d%d,%d/n“ ,b,a,c);elsec=b/a; printf(“% d,%d,%d/n“,b,a,c);(分数:1.00)A.3,6,18B.3,6,2C.6,3,18D.6,3,219.有下列程序:# includestdio.hmain()int x=0;int y=0;while(x7+y)y-;x+;printf(“%d,%d“,y,x);程序的输出结果是( )。(分数:1.00)A
10、.0,7B.7,7C.0,6D.1,620.若有定义“double a;”,则正确的输入语句是( )。(分数:1.00)A.scanf(“%1f“ ,a);B.scanf(“%f“,a);C.scanf(“%1f“,-a)D.scanf(“%1e“,a);21.数据库系统的核心是( )。(分数:2.00)A.数据模型B.数据库管理系统C.数据库D.数据库管理员22.若有定义和语句:int*pp,*p,a=20,b=10;pp=p;p=a;p=b;printf(“%d,%d/n“,*p,*pp);则输出结果是()。(分数:2.00)A.20,10B.20,20C.10,20D.10 ,1023.
11、函数调用 strcat(strcpy(str1,str2) ,str3)的功能是( )。(分数:2.00)A.将字符串 str1复制到字符串 str2中后再连接到字符串 str3之后B.将字符串 str1连接到字符串 str2之后再复制到字符串 str3之后C.将字符串 str2复制到字符串 str1之后再将字符串 str3连接到字符串 str1之后D.将字符串 str2连接到字符串 str1之后再将字符串 str1复制到字符串 str3中24.若有以下的说明和语句,则在执行 for语句后,*(*(pt+1)+2)表示的数组元素是()。int t33,*pt3,k;for(k=O;k3;k+)
12、ptk=tk0;(分数:2.00)A.t20B.t22C.t12D.t2125.下列叙述中正确的是( )。(分数:2.00)A.算法的执行效率与数据存储结构无关B.算法的空间复杂度是指算法程序中指令(或语句)的条数C.算法的有穷性是指算法必须能在执行有限个步骤之后终止D.以上 3种描述都不对26.下列 4个关于 C语言的结论中错误的是( )。(分数:2.00)A.可以用 do-while语句实现的循环一定可以用 while语句实现B.可以用 for语句实现的循环一定可以用 while语句实现C.可以用 while语句实现的循环一定可以用 for语句实现D.do-while语句与 while语句
13、的区别仅是关键字“while”出现的位置不同27.下列程序的输出结果是( )。# includestdio.hmain()struct stint y,x,z;unionlong i;int j;char k:un;printf(“%d,%d/n“, sizeof(struct st),sizeof(un);(分数:2.00)A.6,2B.6,4C.8,4D.8,628.下列程序的运行结果是( )。# includestdio.hmain()int a=2,b=3,c=4;if(ab)if(b0)c=0;else c+;printf(“%d/n“ ,c);(分数:2.00)A.2B.3C.5D
14、.429.下列程序的运行结果是( )。# includestdio.hvoid fun(int*s,int*p)static int t=3;*p=st;t-:void main()int a=2,3,4,5),k;int x:for(k=0,k4,k+)fun(a,x);printf(“%d,“,x);(分数:2.00)A.5,4,3,2B.2,3,4,5C.2,2,2,2D.5,5,5,530.有以下程序:void funl(char*p)char*q;q=p;while(*q!=/0)(*q)+;q+;main()char a=“Program“),*p;p=a3;funl(p);pri
15、ntf(“%s/n“ ,a);程序执行后的输出结果是( )。(分数:2.00)A.ProhsbnB.PrphsbnC.ProgsbnD.Program31.下列能正确定义且赋初值的语句是( )。(分数:2.00)A.int n1=n2=1;B.char c=99;C.float f=f+1;D.double x=1.2E5.6:32.下列叙述中正确的是( )。(分数:2.00)A.break语句只能用于 switch语句体中B.continue语句的作用是使程序的执行流程跳出包含它的所有循环C.break语句只能用在循环体内和 switch语句体内D.在循环体内使用 break语句和 cont
16、inue语句的作用相同33.为了提高软件的独立性,模块之间最好是( )。(分数:2.00)A.控制耦合B.公共耦合C.内容耦合D.数据耦合34.在 16位编译系统上,若有定义“int a=10,20,30,*p=a;”,当执行“p+;”后,下列说法错误的是()。(分数:2.00)A.p向高地址移了一个字节B.p向高地址移了一个存储单元C.p向高地址移了两个字节D.p与 a+1等价35.若希望下列的程序运行后输出 25,程序空白处的正确选项是( )。main()int i,j=50,a=7,4,10,5,8;for( )j+=ai;printf(“%d“,j-40);(分数:2.00)A.i=1
17、;i4;+iB.i-1;i3;+iC.i-4;i2;i-D.i-2;i4;+i36.已知大写字母 A的 ASC码是 65,小写字母 a的 ACS码是 97。下列能将变量中的大写字母转换为对应小写字母的语句是( )。(分数:2.00)A.c=(c-A)%26+AB.c=c+32C.c=c-A+AD.c=(A+37.下列程序的执行结果是( )。# includestdio.hint a,b,c;a=b=2,c=1;c=(a+)-1; printf(“%d,%d“,a,c);c+=-a+(+b);printf(“%d,%d“,a,c);(分数:2.00)A.3,14,1B.3,14,2C.2,04,
18、1D.2,14,138.下列标识符不是关键字的是( )。(分数:2.00)A.breakB.charC.SwithchD.return39.以下程序的输出结果是( )。void prt(int*m,int n)int i;for(i=0;in;i+)mi+;)main()int a=1,2,3,4,5,i;prt(a,5);for(i=0;i5;i+)printf(“%d,“,ai);(分数:2.00)A.1,2,3,4,5B.2,3,4,5,6C.3,4,5,6,7D.2,3,4,5,140.以下程序的输出结果是( )。main()int a=1,b;for(b=1,b=10;b+)if(a
19、=8)break;if(a%2=1) a+=5;continue;a=3;printf(“%d/n“,b);(分数:2.00)A.3B.4C.5D.6二、填空题(总题数:13,分数:30.00)41.按照“先进先出”的原则组织数据的结构是 1。(分数:2.00)填空项 1:_42.Jackson方法是一种面向 1 的结构化方法。(分数:2.00)填空项 1:_43.下列程序段的输出结果是_。int n=c;switch(n+)default: printf(“error“);break;case a:printf(“good“);break;case c:printf(“morning“);c
20、ase d:printf(“class“);(分数:2.00)填空项 1:_44.下列程序的功能是对输入的一行字符中的数字字符的字面值累加,输出此累加和,请填空。# includestdio.h# includectype.hmain()char c;mt a,s=0;while(_)if(isdigit(c)a=s-0;s+=a;printf(“s=%d“,s);(分数:2.00)填空项 1:_45.下列程序的输出结果是_。# define p(a) printf(“%d,“,(int)(a)# define PRINT(a) p(a); printf(“the end“)main()int
21、 i,a=0;for(i=1;i5;i+)PRINT(a+i);printf(“/n“);(分数:2.00)填空项 1:_46.在面向对象方法中,类的实例称为 1。(分数:2.00)填空项 1:_47.若想通过以下输入语句使 a中存放字符串 1234,b中存放字符 5,则输入数据的形式应该是_。char a10,b;scanf(“a=%s b=%c“,a,b);(分数:2.00)填空项 1:_48.下面程序的输出结果是_。# define MAX 3int aMAX;main()fun1();fun2(a);printf(“/n“);fun1()int k,t=0;for(k=0;kMAX;k
22、+,t+) ak=t+t;fun2 (int b)int k;for(k=0;kMAX;k+) printf(“%d“,*(b+k);(分数:2.00)填空项 1:_实现程序可将磁盘中的一个文件复制到另一个文件中,两个文件的文件名在可执行命令的命令行中(相当于 copy命令),假定文件在当前目录下。请填空。# includestdio.hvoid main(int argc,char*argv)FILE*f1,*f2;if(argc_)printf(“parameter error! /n“); exit(0);)f1=fopen( argv1,“r“);f2=fopen(argv2,“w“)
23、;while(_)fputc(fgetc(f1) ,f2);fclose(f1);fclose(f2);(分数:4.00)填空项 1:_填空项 1:_49.下列程序运行的结果是_。int k=0;void fun(int m)m+=k;k+=m; printf(“m=%dk=%d“,m,k+);main()int i=4;fun(i+);printf(“i=%dk=%d/n“,i,k);(分数:2.00)填空项 1:_50.下列程序的运行结果是_。main()int a=2,b=7,c=5;switch(a0)case 1:switch(b0)case 1:printf(“);break;ca
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 语言 笔试 282 答案 解析 DOC
