31[单选题] 若要通过位运算使整型变量a中的各位数字全部清零,以下选项正确的是( )。
A.a=a&0;
B.a=a10;
C.a=a^0;
D.a=!a;
参考答案:A
参考解析:本题考查位运算符和位运算。“I”运算符,l|0=1,0|0=0,所以选项B中a变量的各位数字保持不变,故B错误;“”’运算符,l^0=1,O^0=1,所以选项C中a变量的各位数字中,1保持不变,0变成1,故C错误;“!”运算符,!1=0,! 0=1,所以选项D中a变量的个位数字中,1变成0,0变成1,故D错误;“&”运算符,l&0=0,0&0=0,所以选项A中各位数字全部清零,故答案为A。
32[单选题] 以下关于字符串的叙述中正确的是( )。
A.空串比空格打头的字符串小
B.两个字符串中的字符个数相同时才能进行字符串大小的比较
C.可以用关系运算符对字符串的大小进行比较
D.C语言中有字符串类型的常量和变量
参考答案:A
参考解析:字符串比较大小是以第1个不相同字符的大小为标准的,跟长度没有关系,B选项不正确;字符串比较大小除了使用库函数strcmp()以外,就只能靠自己写代码来实现了,而不能通过关系运算符来比较大小。因为字符串在表达式中相当于eonst char*,即常字符指针,代表的是字符串的首地址,关系运算符会将两个字符串的首地址值比较大小,这是毫无意义的。C选项不正确。C语言中只有字符串常量而没有字符串变量,D选项描述不正确;空串的长度为0,而以空格打头的字符串的长度至少为1,因此A选项是正确的。
33[单选题] 程序调试的任务是( ),
A.设计测试用例
B.验证程序的正确性
C.发现程序中的错误
D.诊断和改正程序中的错误
参考答案:D
参考解析:程序调试的任务是诊断和改正程序中的错误。
34[单选题] 有以下计算公式
若程序前面已在命令行中包含math.h文件,不能够正确计算上述公式的程序段是( )。
A.if(x>=0)y=sqrt(x);if(X<0)y=sqrt(-x);
B.if(x>=0).V=sqrt(x);else y:sqrt(-x);
C.y=sqrt(x);if(x<0)y=sqrt(-x);
D.y=sqrt(x>=0? x:-x);
参考答案:C
参考解析:本题重点考查的知识点是:sqrt()函数。sqrt()函数的作用是计算平方根,要求输出的参数g必须大于等于0。题目公式的要求是无论x大于等于0还是小于0,y的值都为x绝对值的开方。选项c中调用了sqrt(x)函数,而没有判断x的正负,则y=sqrt(x)会出错。
35[单选题] 假定已建立以下链表结构,且指针p和q已指向如图所示的结点:
则以下选项中可将q所指结点从链表中删除并释放该结点的语句组是( )。
A.p->next=q->next;free(q);
B.p=q->next;free(q);
C.p=q;free(q);
D.(*p)•next=(*q).next;free(p);
参考答案:A
参考解析:本题考查删除链表中的结点操作,其方法是将要删除结点的上个结点的下个结点指向要删除结点的下个结点,然后释放该要删除结点,所以选项A正确。
36[单选题] 有以下程序:
程序运行后的输出结果是( )。
A.1
B.11
C.6
D.21
参考答案:D
参考解析:本题考查位运算,以及按位或操作,将a左移一位相当于是将a乘以了4,所以a<<2等于20,二进制表示为00010100,与b按位或得到00010101,即21,所以选项D正确。
37[单选题] 若有以下定义和语句:
则输出结果是( )。
A.10 7
B.10 5
C.5 5
D.5 8
参考答案:C
参考解析:strlen函数返回字符串的长度,求字符串1长度时,遇到结束标志‘\0’为止,但是长度不包括结束标识。1字符数组sl的后5个元素没有赋值,都为‘\0’,即“abcd!”后1为‘\0’。所以strlen(s1)的值为5。字符指针s2所指向的字1符串中,\n为转义字符换行符,表示1个字符,\\也为转义字1符,代表\,也是l个字符,其后为字符串结束标识‘0’;所以strlen(s2)的值也为5。因此C选项正确。
38[单选题] 有以下程序(注:字符a的ASCII码值为97):
程序运行后的输出结果是( )。
A.abc
B.789
C.7890
D.979899
参考答案:B
参考解析:字符指针s指向字符串“abe”,do...whi1e()循环中首先将s指向的字符与10进行求余操作,然后打印出余数,再将指针s向后移动一个位置,指向下一个字符;第一次循环,s指向的字符'a的ASCII码为97,所以与10求余结果为7,输出7,同时s向后移动一位,指向字符‘b’,whi1e()判断条件为true;第二次循环s指向的字‘b’的ASCII码为98,与10求余结果为8,输出8,同时s向后移动一位,指向字符‘c’whi1e()判断条件为true;第三次循环S指向的字符‘c’的ASCII码为99,与10求余结果为9,输出9,同时s向后移动一位,指向空字符‘\0’,空字符的ASCII码为0,所以whi1e()判断条件为fa1se,循环结束,输出结果为789,答案选B。
39[单选题] 有以下程序:
程序运行后的输出结果是( )。
A.3,4
B.4,1
C.2,3
D.1,2
参考答案:C
参考解析:本题考查结构体数组的相关操作,dt为结构体数组,那么指针p指向了结构体数组的一个元素,所以p->x为1,p->y为2,结果为2,3。选项C正确。
40[单选题] 结构化程序的三种基本结构是( )。
A.递归、迭代和回溯
B.过程、函数和子程序
C.顺序、选择和循环
D.调用、返回和选择
参考答案:C
参考解析:仅使用顺序、选择、循环三种基本控制结构就足以表达出各种其他形式结构的程序设计方法。故本题答案为C选项。
2018年计算机二级C语言考前冲刺题(2)
第二次循环s指向的字‘b’的ASCII码为98,与10求余结果为8,输出8,同时s向后移动一位,指向字符‘c’whi1e()判断条件为true;第三次循环S指向的字符‘c’的ASCII码为99,与10求余结果为9,输出9,同时s向后移动一位,指向空字符‘\\0’,空字符的ASCII码为0,所以whi1e()判断条件为fa1se...
2018年计算机二级考试C语言试题及答案(2)
参考答案:C 参考解析:算术运算符+的优先级高于-=,且-=的结合方向为自右向左,所以表达式x-=x+x可以表示成x=x-(x+x)=10-(10+10)=-10,选择C。2[单选题] 若有定义语句:double x,y,*px,*py;执行了px=&x;py=&y;之后,正确的输入语句是()。A.scanf(”%If%le”,px,py);B...
计算机二级c语言,我这最后一题能得几分?
因为这是递归调用,这里的返回值是很重要的,如果人工阅卷,估计会酌情给分,但如果是机器阅卷,给的分数应该会很少。空格无所谓的
计算机二级考试C语言模拟试题二
11.已有定义 int x=3, y=4, z=5;则表达式“!(x+y)+z-1&&y+z\/2”的值是___。A.6 B.0 C.2 D.1 12.若变量c为char类型,能正确判断出c为小写字母的表达式是___。A.’a’<=c<=’z’B. (c>=’a’) || (c<=’z&rsquo...
计算机二级C语言上机题都背下来能过二级吗
不一定 ,你背的答案要和计算机考试的答案一致,才算对,即使你的答案可以执行程序,但是与标准答案不一致,那你的答案可能就会被计算机误判为错误.
计算机二级C语言100套上机填空题和改错题
南开二级C语言上机100题1、 改错题1下列给定程序的功能是:读入一个整数(2<=k《=10000》,打印它的所有质因子(即所有为素数的因子)。例如,若输入整数2310,则应输出2、3、5、7、11。请改正程序中的错误,使程序能得出正确的结果。注意,不要改多main函数,不得增行或删行,也不得更改程序的结构!试题程序:#inclu...
计算机c语言,有几个问题,望解答,准备计算机二级的菜鸟在此谢过...
【1】我也觉得是长双精度,不过长双精度对于初学者来说很少用到,可能是因为这个原因,所以答案是双精度吧。【2】C语言的注释可以放在程序的任何地方,只要写在注释符\/**\/中就可以。【3】应该跟你理解的也要,C的类型int也是标识符,命名的时候不要和那些系统默认的符号重复就可以了。【4】char c1...
求计算机二级c语言过关秘籍,真心求
二级c的程序设计题作弊方法 网上碰到有二级c的作弊方法,提到了通过更改out.dat文件的内容,达到作弊的目的,自己也在二级c语言的模拟考试环境下测试过,可用,满分,24分就来了,至于真正的二级c考试,有人说能用,也有人说,不能用,只有试试就知道了,第一次考二级,也没试过,所以不知道是不是...
计算机二级C语言背题库机试能过吗?
背题库很不现实的,题太多了。我也要考了。就是要把每个类型的题做几个就好了,但一定要搞明白搞懂。万变不离其宗,课本要弄会,尤其是细节的。做题是为加深对课本的理解,而不是想侥幸碰到原题。C语言考点很明确的,你会知道他考的是什么,这样你回忆下课本相关的就OK了。千万别背题,题库得...
计算机二级c语言题目分值是怎样的?
1、单项选择题,40题,40分(含公共基础知识部分10分)。2、程序填空题,2~3个空,18分;上机题。3、程序改错题,2~3处错误,18分;上机题。4、程序设计题,1题,24分;上机题。