设为首页 加入收藏

TOP

2018年3月计算机二级C语言春节特训练习题(9)
2018-02-22 14:32:43 】 浏览:180
Tags:2018年 3月 计算机 二级 语言 春节 训练 习题

1、按照C语言规定的用户标识符命名规则,不能出现在标识符中的是(  )。


A.大写字母


B.下划线


C.数字字符


D.连接符


参考答案:D


参考解析: c语言中标识符由字母、下划线、数字组成,且开头必须是字母或下划线。所以D选项中的连接符不合法。


2、以下不能将s所指字符串正确复制到t所指存储空间的是(  )。


A.do{*t++=*s++;}while(*s);


B.for(i=0;t[i]=s[i];i++);


C.while(*t=*s){t++;s++;}


D.for(i=0,j=0;t [i++]=s[j++];);


参考解析:
不能因为当*s='\0'时,while(* s)跳出循环,这样字符串结束标志'\0'没有复制给*t,造成*t不完整。注意,*t++=*s++是先执行t=*s,然后才进行t=t+1,s=s+1。B、C、D都能将'\0复制过去。


3、在面向对象方法中,不属于“对象”基本特点的是(  )。


A.一致性


B.分类性


C.多态性


D.标识唯一性


参考答案:A


参考解析: 对象有如下一些基本特点:标识唯一性、分类性、多态性、封装性、模块独立性好。所以选择A。


4、以下程序段中的变量已正确定义:

程序段的输出结果是(  )。


A.**


B.****


C.*


D.********


参考答案:C


参考解析: 由于内层循环for(k=1;k<3;k++)后面直接跟了空语句“;”所以在循环内部什么操作也不做,跳出外层循环后执行打印语句,所以打印了一个“*”,选择C。


5、以下程序:


则以下函数调用语句错误的是(  )。


A.k=f(a,b);


B.k=add(a,b);


C.k=(*f)(a,b);


D.k=*f(a,b);


参考答案:D


参考解析:D选项中*f(a,b)表示调用后返回一个指向整型数据的地址指针,即该函数的返回值为指针类型,所以不能将其赋值给整形变量k。


6、有以下程序:

程序运行后的输出结果是(  )。


A.a=2,b=2


B.a=2,b=1


C.a=1 ,b=1


D.a=-1,b=0


参考答案:B


参考解析: case常量表达式只是起语句标号作用,并不是该处进行条件判断。在执行switch语句时,根据switch的表达式,找到与之匹配的case语句,就从此case子句执行下去,不在进行判断,直到碰到break或函数结束为止。所以执行内层switch(y)时只执行了a++,此时a的值为1。然后执行外层case 2语句的a++;b++;a为2,b为1。所以结果为B。


7、以下语句中存在语法错误的是(  )。


A.char ss[6][20];ss[1]= "right? ";


B.char ss()[20]={"right?"};


C.char*ss[6];88[1]= "right? ";


D.char*ss()={"right? "};


参考答案:A


参考解析: 数组定义后,不可以对数组整体赋值,s是二维数组,因ss[1]是一维字符数组,即字符串,字符串赋值可以使用strcpy(ss[1],”right”);这样的形式,而选项A中对二维数组中的第“l”维(相当于一个一维数组)赋值,是不可以的。选项B和D是定义时对数组初始化,这是可以的。选项C中,将字符串在内存中的首地址赋给指针数组的一个元素,这是可以的。


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇2018年3月计算机二级C语言春节特.. 下一篇2018年3月计算机二级C语言春节特..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目