二级C语言笔试339_第1页
二级C语言笔试339_第2页
二级C语言笔试339_第3页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、二级 C 语言笔试 339( 总分: 80.00 ,做题时间: 90 分钟 )一、 B 选择题 /B( 总题数: 40,分数: 50.00)1. sizeof(float)是 ( ) 。(分数: 1.00 )A. 一种函数调用B. 一种函数定义C. 一个浮点表达式D. 一个整型表达式V解析: 解析 sizeof (float) 是 c 语言内部规定的用于计算单精度型变量 (float) 在计算机的内存中所占用 的字节数量的函数,返回一个整数值。2. 下列合法的声明语句是 ( ) 。(分数: 1.00 )A. int_abc=50 ; VB. double int=3+5e2.5;C. long

2、 do=1L;D. float 3_asd=3e-3 :解析:解析C语言规定,标识符是由字母、数字或下画线组成,并且它的第一个字符必须是字母或者下画线。另外 C 语言规定了一些专用的标识符,它们有着固定的含义,不能更改。 int 就是表达变量类型的 标识符,它不能再用做变量名和函数名。do是c语言的一个关键字,出不能再用做变量名和函数名。3. 若各选项中所用变量已正确定义, fun() 函数中通过 return 语句返回一个函数值,下列选项中错误的程 序是 ( ) 。(分数: 1.00 )A. main( ) x=fun(2,10); float fun(int a,int VB. float

3、 fun(int a,int main( ) x=fun(i,; C. float fun(int, in; main( ) x=fun(2,10); float fun(int a, int D. main( ) float fun(int i,int ;x=fun(i,; float fun(int a, int 解析:解析C语言规定,函数必须先定义,后调用 (函数的返回值类型为int或char时除外)。在选项A) 中,调用的子函数在调用后面定义,所以不正确。在选项B)、C)中,被调用函数在主调函数之前定义,再在主函数中调用,所以是正确的;在选项D)中,在主调函数中先对子函数float f

4、un(int i,int j)进行了定义,然后进行调用。4. 下列程序的输出结果是()。main () int a=4,b=5, c ; if(a < b) c=a*b; printf("%d ,%d %d/n", b, a,c) ; else c=b/a ; printf("%d ,%d,%d/n" , b, a, c) ; (分数: 1.00 )A. 4, 5, 12B. 20C. 5,4 , 20 VD. 12解析:解析本题考查if else 语句。第一个if语句,先判断条件,发现a< b成立,执行下列的复合语句,得 c=a*b=20

5、, b、 a 的值不变。5. 若函数调用时,参数为基本数据类型的变量,下列叙述中正确的是( ) 。(分数: 1.00 )A. 实参与其对应的形参共占存储单元B. 只有当实参与其对应的形参同名时才共占存储单元C. 实参与其对应的形参分别占用不同的存储单元 VD. 实参将数据传递给形参后,立即释放原先占用的存储单元解析: 解析本题考查函数调用时的参数传递。函数的形参是函数定义时由用户定义的形式上的变量,实 参是函数调用时,主调函数为被调函数提供的原始数据。 在函数调用时,实参和其所对应的形参分别占用 不同的存储单元,彼此之间不影响。6. 在C语言程序中,下列说法正确的是 ()。(分数: 1.00

6、)A. 函数的定义和函数的调用均可以嵌套B. 函数的定义不可以嵌套,但函数的调用可以嵌套VC. 函数的定义可以嵌套,但函数的调用不可以嵌套D. 函数的定义和函数的调用均不可以嵌套解析:解析 本题考查函数调用的基本概念。因为函数的结果是个未知量, 而函数定义时不能使用未知量,所以函数定义不可以嵌套,但函数的调用可以嵌套。7. C 语言结构体类型变量在程序执行期间( ) 。(分数: 1.00 )A. 所有成员一直驻留在内存中 VB. 没有成员驻留在内存中C. 部分成员驻留在内存中D. 只有一个成员驻留在内存中解析:解析c语言结构体类型变量在程序执行期间所有成员一直驻留在内存中。8 .下列特征中不是

7、面向对象方法的主要特征的是( ) 。(分数: 1.00 )A. 多态性B. 继承C. 封装性D. 模块化 V解析: 解析 面向对象设计方法与面向过程设计方法有本质的不同,其基本原理是:使用现实世界的概念 抽象地思考问题从而自然地解决问题。其特点包括:分类性、多态性、封装性、模块独立性、继承和多态 性等。模块化是结构化程序设计的特点。9. 若有定义和语句: int*pp,*p, a=20,b=1O; pp=&p; p=&a; p=&b; printf ("%d, %d/n" , *p , *pp) ;则输出结果是 ( ) 。(分数: 1.00 )A.

8、20, 10B. 20,20C. 10,20D. 10,10 V解析:解析本题考查指针变量的赋值。*pp是定义了一个指向指针的指针变量,语句pp=&p的意思是将pp指向指针p, *p和*pp都足指针p所指的内存空间的内容,即 b的值。10. 对长度为 n 的线性表进行顺序查找,在最坏的情况下需要比较的次数为 ( ) 。 (分数: 1.00 )A. 125B. n/2C. n VD. n+1解析: 解析 对线性表进行顺序查找时,从表中的第一个元素开始,将给定的值与表中逐个元素的关键字 进行比较,直到两者相符,查找到所要找的元素为止。在最坏的情况下,要查找的元素是表的最后一个元 素或查找失

9、败,这两种情况都需要将这个元素与表中的所有元素进行比较,因此比较次数为n。11. 下列叙述中正确的是 ( ) 。(分数: 2.00 )A. 软件交付使用后还需要进行维护 VB. 软件一旦交付使用就不需要再进行维护C. 软件交付使用后其生命周期就结束D. 软件维护是指修复程序中被破坏的指令解析: 解析软件生命周期一般可以分为软件定义,软件开发及软件运行维护3 个阶段。软件交付并投入运行后,需要不断地进行维护,并根据新提出的需求进行必要而且可能的扩展和删改。12. 若ch为char型变量,k为int型变量(已知字符a的ASCII码是97),则执行下列语句后输出的结果为( ) 。 ch='b

10、' ; k=10 ; printf("%x ,%O,",ch,ch,k); printf("k=%d/n" ,k);(分数: 2.00 )A. 因变量类型与格式描述符的类型不匹配,输出无定值B. 输出项与格式描述符个数不符,输出为0值或不定值C. 62,142,k=%d VD. 62,142,k=%10解析:解析第1个printf函数,格式说明的个数是 2,而输出项的个数是 3,所以对于多余的输出项k不予输出;第 2个 pfintf 函数,有两个%说明,第 1 个%后面的字符要原样输出。 知识拓展 本题考查 printf 函数的格式。“X和“%o

11、分别表示以十六进制和八进制无符号型输出整型数据(不带前导Ox或O):printf函数中格式说明符之前插入的任何字符都原样输出:格式说明与输出项的个数也要相等,如果 格式说明的个数少于输出项的个数,则对于多余的输出项不予输出。13. 设x、y和z是int型变量,且x=4,y=6,z=8,则下列表达式中值为0的是()。(分数: 2.00 )A. x && yB. x < =yC. x | y + z &&y-zD. ! (x<&&!z|1) V解析: 解析 本题考查逻辑运算符的使用。 当“&&”的两个运算对象都足逻辑 1时

12、,表达式才返回值是 1; 当“| ”的两个运算对象至少有一个是逻辑1时,表达式返回值是1。选项A)中,x和y都是逻辑1,所以返回值是1;选项B)中,x = 4<= y=6为逻辑1,所以返回值是1;选项C)中,y+z的值等于14,非0, y-z 的值为-2,非0,所以逻辑表达式 4|14&&-2的值不为0;选项D)中,x< y为1, !z为0, 1&&0为1, 0| 为 1,因此, !1 为 0。14. 简单的交换排序方法是 ( ) 。(分数: 2.00 )A. 快速排序B. 选择排序C. 堆排序D. 冒泡排序 V解析: 解析所谓的交换类排序方法是指借

13、助数据元素之间的互相交换进行排序的一种方法,包括冒泡排 序和快速排序,冒泡排序是一种最简单的交换排序方法, 它通过相邻元素的交换, 逐步将线性表变成有序。15. 在C语言中,while和dowhile循环的主要区别是()。(分数: 2.00 )A. dowhile的循环体不能是复合语句B. dowhile允许从循环体外转到循环体内C. while 的循环体至少被执行一次D. dowhile的循环体至少被执行一次 V解析:解析本题考查while和dowhile循环的区别。while循环的控制出现在循环体之前,只有当while后面的表达式的值为非零时,才可能执行循环体;在dowhile构成的循环体

14、中,总是先执行一次循环体, 然后再求表达式的值,因此无论表达式的值是否为零,循环体至少要被执行一次。16. 设有变量说明int(*p)m,其中的标识符p是()。(分数: 2.00 )A. m个指向整型变量的指针B. 指向m个整型变量的指针C. 一个指向具有m个整型元素的一维数组的指针VD. 具有m个指针元素的一维指针数组,每个元素都指向整型变量解析: 解析 本题考查指向数组的指针变量的声明。这里的p 表示一个指向数组的指针: *p 表示指针 p 指向地址的内容。17. 判断 char 型变量 c1 是否为小写字母的正确表达式为 ( )(分数: 2.00 )A. 'a' <

15、 =c 1 < =ZB. (c1 > =|(c1< =C. ('a'=> c1|('z'< =c1)D. (c1 > ='a')&&(cl < ='z') V解析:解析C语言规定,字符常量在程序中要用单引号括起来。判断cl是否为小写字母的充要条件 cl> ='a',和cl < ='z',用逻辑与(&&)来表示。A选项的这种形式在 C语言中没有,所以选项 D)正确。18. 设计程序时,应采纳的原则之一是 ( ) 。(

16、分数: 2.00 )A. 程序的结构应有助于读者的理解 VB. 限制GOTO句的使用C. 减少或取消注释行D. 程序越短越好解析:解析程序设计的风格主要强调程序的简单、清晰和可理解性,以便读者理解。程序滥用GOTC语句将使程序流程无规律,可读性差:添加注释行有利于对程序的理解,不应减少或取消,程序的长短要依据 实际的需要而定,并不是越短越好。19. 下列程序的输出结果是 ( ) 。 #include < stdio.h > main() int a=O, i ;for (i=1 ;i < 5;i+) swich(i) case 0 : case 3 : a+=1 ; case

17、 1 : case 2 : a+=2; default:a+=3 ; printf ("%d", a); (分数: 2.00 )A. 19 VB. 18C. 6D. 8解析: 解析 本题考查 switch 语句。当 i=1 时,执行 case 1 ,因为没有遇到 break 语句,所以依次往下运行,a=a+2=2, a=a+3=5;当i=2时,执行case 2,因为没有遇到break语句,所以依次柱下运行,a=a+2=7, a=a+3=10:当i=3时,执行case 3,a=a+1=11,因为没有遇到 break语句,所以依次往下运行,a=a+2=13, a=a+3=16;

18、当 i=4 时,执行 default , a=a+3=19,结束循环。20. 有下列程序: main( ) int k=5; while(-k) printf("%d", k-=3); printf("/n"); 执行后的输出结果是 ( ) 。(分数: 2.00 )A. 1 VB. 2C. 4D. 死循环解析:解析在程序语句中,k的初始值为5,进行第1次while循环后,k自减1为4,非0,执行循环 体里的printf 语句,输出1,此时k的值变为1。程序执行第2次循环时,k自减1变为0,为假,退出 while 循环语句。所以程序的最后结果为 1。21.

19、 下列程序的输出结果是 ( ) 。 main() int i=1,j=2, k=3; if(i+=1&&(+j=3|k+=3)printf(" %d %d %d /n", i, j, k); (分数: 1.00 )A. 1 2 3B. 2 3 4C. 2 2 3D. 2 3 3V解析:解析 本题考查自增运算符“ +”,逻辑与运算符“ &&”和逻辑或运算符“ | ”。 自增运算符“ +”, 出现在变量之前 ( 如题中的 +n) ,表示先使变量的值加 1,再使用变量的值进行运算:出现在变量之后( 如题中的 n+) ,表示先使用变量的值进行运算,再

20、使变量的值加1。当逻辑与运算符“ &&”两边的运算对象都为真时,逻辑表达式的值才为真;当逻辑或运算符“ | ”左边的运算对象为真时,其值就为真,不用计 算其右边的运算对象的值。所以根据运算符的优先级,题中应先计算内层括号中的值。 +j 是先自加后运 算,因此运算时 j 的值等于 3,所以表达式 +j=3 成立,即表达式的值为1;由于 1 与任何数都为进行或(|) 运算,结果都为 1,因此 k=3 ;最后计算“ &&”之前的表达式, i+ 是先运算后自加,因此运算时 i 为 1,所以i+=1成立,自加1后i=2。if语句的条件为真即“1”,所以输出i、j、k的值分

21、别是2 ,3 ,3。22. 关于结构化程序设计原则和方法的描述错误的是 ( ) 。 (分数: 1.00 )A. 选用的结构只准许有一个入口和一个出口B. 复杂结构应该用嵌套的基本控制结构进行组合嵌套来实现C. 不允许使用GOT语句 VD. 语言中所没有的控制结构,应该采用前后一致的方法来模拟解析:解析限制使用GOTOg句是结构化程序设计的原则和方法之一,但不是绝对不允许使用 GOT语句其他三项为结构化程序设计的原则。;,则在使用函数 strcat(s1,s2) 后,结果是 ( )分数:1.00 )A.s1的内容更新为abcdefgiB.s1的内容更新为defghi/0C.s1的内容更新为def

22、ghiabc/0D.s1的内容更新为abcdefghi/0 V23. 若有说明 char s130="abc",s2="defghi"解析: 解析 streat(s1 , s2) 是把 s2 字符串连接到 s1 字符串的末尾,要保证 s1 能容纳下连接后的字符 串。24. 若变量已正确定义,要求通过scanf ("%c %d %c %d , &c1, &a, &c2, &b)语句给变量 a和b分别赋32和45,给变量c1和c2分别赋字符A和B;下列选项中数据从第 1列开始输入,正确的输入形式是 ()。 (分数:

23、1.00 )A. A32 V CR> B45 < CR>B. A45 < CR> B32 < CR>C. A32B45V CR>D. A 32 B 45 < CF> V解析: 解析 本题考查 scanf 函数的基本格式。当需要从键盘上输入数据时,输入的数值之间需要有间隔符( 空格符号、制表符号、回车符号 ),间隔符号的使用数量不限。直到按下回车键, scanf 函数才会接受 从键盘输入的数据。25. 若有结构体定义: struct stuint num; char sex; int age; a1,a2 ; 则下列语句中错误的是 (

24、) (分数: 1.00 )A. printf("%d, %c, %d", a1); VB. a2.age=a1.age ;C. a1.age+ ;D. a1.num=5;解析: 解析 题中 a1 和 a2 两个结构体变量名所对应的成员相同,可以与运算“+”相结合。结构体变量的输出格式为:printf(“要输出变量名:d/t ”,结构变量名要输出的成员变量名)。26. 下列叙述中正确的是 ( ) 。(分数: 1.00 )A. 在赋值表达式中,赋值号的左边既可以是变量,也可以是任意表达式B. 实型变量中允许存放整型数 VC. 若a和b类型相同,在执行了赋值 a=b后,b中的值将

25、放入a中,但b中的值不变D. 在C程序中,求余运算符“ %两边的类型相同时才能进行运算解析:解析选项A),在赋值表达式中,赋值号的左边只能是变量或者是代表某个存储单元的表达式,不 能是任意表达式。在判断选项B)时首先应该建立这杆的概念,整型变量中只能存放整型数,实型变量中能存放实型数,也能存放整型数。选项C),执行表达式a=b后,将把变量b存储单元中的值赋给变量a,从而覆盖a中原有的值,但b中原有的值并不改变。 选项D),在C程序中,求余运算符“ %两边的类型 均为整型数据。27. 下列二维数组的说明中,不正确的是 ( ) 。 (分数: 1.00 )A. float a4=0,1,8,5,9;

26、B. int a34C. #define N 5 float a3D. int a29.5; V解析: 解析 C 语言规定,对于二维数组,只可以省略第一个方括号中的常量表达式,而不能省略第二个 方括号中的常量表达式:二维数组的一般定义格式是:类型说明符数组名常量表达式 常量表达式 。28. 下列说法中不正确的是 ( ) 。(分数: 1.00 )A. 指针是一个变量B. 指针中存放的是数值 VC. 指针可以进行加、减等算术运算D. 指针变量占用存储空间解析: 解析指针中存放的是变量的地址,指针也可以进行增减运算,这时指针移动的最小单位是一个存 储单元,而不是一个字节。29. 下列描述中正确的是

27、( ) 。(分数: 1.00 )A. 在C语言程序中预处理是指完成宏替换和文件包含指定的文件的调用B. 预处理指令只能位于C源程序文件的首部C. 预处理命令可以放在程序中的任何位置 VD. 预处理命令结尾需要加分号解析:解析本题考查预处理命令的特点,编译预处理命令的特点:为了区别一般的语句,预处理命令 行都必须以“ #”号开始, 结尾不加分号; 预处理命令可以放在程序中的任何位置; 在程序中凡是以“ #” 号开始的语句行都是预处理命令行。30. 在位运算中,操作数每右移两位,其结果相当于 ( ) 。(分数: 1.00 )A. 操作数乘以 2B. 操作数除以 2C. 操作数除以 4 VD. 操作

28、数乘以 4解析: 解析 在位运算中,操作数每右移两位,相当于在操作数的左侧添 0,最右面的两位被移出,即操 作数除以 4。31. 下列说法不正确的是 ( ) 。(分数: 1.00 )A. 一个C语言源程序可以由一个函数组成也可以由多个函数组成B. main() 中的“() ”是函数的参数部分,括号内可为空,但括号不能省略C. C语言程序是以函数为基本单位的D. 在C语言程序中,注释行只能位于一条语句的后面V解析:解析本题涉及C语言基本的3个知识点:C语言是以函数为基本单位的,每一个函数完成相对 独立的功能,一个程序可以包括多个函数,但有且仅有一个主函数;主函数main()的圆括号内是填写参数的

29、,可以没有参数,但括号不可以省略;程序的注释部分应该在“ /*/”之间,它允许出现在程序的任何位置。32. 下列叙述中正确的是 ( ) 。(分数: 1.00 )A. 个算法的空间复杂度大,则其时间复杂度必定大B. 一个算法的空间复杂度大,则其时间复杂度必定小C. 一个算法的时间复杂度大,则其空间复杂度必定小D. 上述三种说法都不对V解析: 解析 算法的时间复杂度和算法的空间复杂度是从不同的角度来衡量算法的执行情况,它们之间没 有内在联系。33. 下列叙述中正确的是 ( ) 。(分数: 1.00 )A. 一个逻辑数据结构只能有一种存储结构B. 逻辑结构属于线性结构,存储结构属于非线性结构C. 一

30、个逻辑数据结构可以有多种存储结构,且各种存储结构不影响数据处理的效率D. 一个逻辑数据结构可以有多种存储结构,且各种存储结构影响数据处理的效率V解析: 解析数据的存储结构是指数据的逻辑结构在计算机存储空间中的存放形式,一种数据结构可以根 据需要采用不同的存储结构,常用的存储结构有顺序和链式结构。采用不同的存储结构,其处理的效率是 不同的。34. 若有定义:"int a23;"则对a数组的第i行第j列元素的正确引用为()。(分数: 1.00 )A. *(*(a+VB. (a+C. *(a+i+D. * (a+ +j解析: 解析本题考查如何通过地址来引用数组元素。通过地址来引用

31、数组元素的方法有下列5种: aij: *(ai+j): *(*(a+i)+j): *(aij&a00+3*i+j)。35. 在“文件包含”预处理语句的使用形式中,当 #include 后面的文件名用 ""( 双撇号 )括起时,寻找被包 含文件的方式是 ( ) 。(分数: 1.00 )A. 直接按系统设定的标准方式搜索目录B. 先在源程序所在的目录搜索,如没找到,再按系统设定的标准方式搜索VC. 仅仅搜索源程序所在目录D. 仅仅搜索当前目录解析: 解析本题考查库函数调用的知识点。格式1: #include ( 文件名) ,预处理程序在标准目录下查找指定的文件;格式 2

32、; #include “文件名”,预处理程序首先在引用被包含文件的源文件所在的目录下搜 索指定的文件,如没找到,再按系统指定的标准目录搜索。36. 下列能正确定义且赋初值的语句是 ( ) 。(分数: 1.00 )A. int n1=n2=10 ;B. char c=32 ;VC. float f=f+1.1;D. ;解析:解析C语言规定,可以在定义变量的同时给变量赋初值,称为变量初始化。在选项A)中在给n1和n2进行赋初值,但变量 n2没有定义;在选项 C)中定义变量f时,不能在赋值表达式的右边出现变量f自身,所以选项C)错误;在选项D)用指数表达式的常量中,字母E后面的数应该为整数,而不应该

33、为小数形式。因此,选项B)正确。37. 有下列程序: 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) ; 执行后的输出结果是 ( ) 。(分数: 1.00 )A. 6B. 7C. 8 VD. 9解析: 解析 函数 fun(int x, int y)的功能是返回两个整型数据的和。在主函数中,变量a, b, c 的初始值分别为1 , 2, 3。因此逗号表达式“ a+, b+, a+b”的值等于5,表达式C+

34、的值为3,调用子函数的 表达式为“ fun(5,3); ”,其返回值等 8。所以变量sum的值等于8。38. 下列能正确进行字符串赋值的是 ( ) 。(分数: 1.00 )A. Char s5="ABCDE";B. Char s5='A', 'B' , 'C' , 'D' , 'E' ;C. Char*s ;s="ABCDE"; VD. Char*s ; printf("%s" ,;解析:解析字符串存储要有结束符“ /0 ”且要占用一个空间,选项A)、B的

35、空间不够;printf用来输出字符,不能输入字符串。39. 在面向对象方法中,一个对象请求另一个对象为其服务的方式是通过发送 ( ) 。(分数: 1.00 )A. 调用语句B. 命令C. 口令D. 消息 V解析: 解析 在面向对象方法中,对象之间通过消息进行通信。消息中只包含传递者的要求,它告诉接受 者需要做哪些处理,但并不指示接受者应该怎么完成这些处理,接受者独立决定采用什么方式完成所需的 处理。40. 下列描述错误的是 ( ) 。(分数: 1.00 )A. 继承分为多重继承和单继承B. 对象之间的通信靠传递消息来实现C. 在外面看不到对象的内部特征是基于对象的“模块独立性好”这个特征VD.

36、 类是具有共同属性、共同方法的对象的集合解析: 解析 对象的封装性是指从外面看只能看到对象的外部特性;而对象的内部,其处理能力的实行和 内部状态对外是不可见的,是隐蔽的。二、 B 填空题 /B( 总题数: 15,分数: 30.00)41. 在程序设计阶段应该采取 1 和逐步求精的方法,把一个模块的功能逐步分解,细化为一系列具体的步 骤,继而用某种程序设计语言写成程序。(分数: 2.00 )填空项 1: (正确答案:自顶向下)解析: 解析在程序设计时,应先考虑总体,后考虑细节,逐步使问题具体化,对复杂的问题,应该设计 一些子目标作为过渡,上述方法概括为:自顶向下,逐步细化。42. 注释一般分为序

37、言性注释和 1 注释。(分数: 2.00 )填空项 1: (正确答案:功能性)解析: 解析注释一般分为序言性注释和功能性注释。序言性注释通常位于每个程序的开头部分,给出程 序的整体说明;功能性注释一般嵌在源程序体之中,主要描述其后的语句或程序做什么。43. 在面向对象方法中,类的实例称为 1 。(分数: 2.00 )填空项 1: (正确答案:对象)解析: 解析 在面向对象的程序设计方法中, 类是具有相同的属性或方法的对象的抽象, 对象是类的实例。44. 某二叉树中度为 2的结点有 1 8个,则该二叉树中有 1 个叶子结点。(分数: 2.00 )填空项 1: (正确答案: 19)解析: 解析在任

38、意一棵二叉树中,度数为0 的结点 (即叶子结点 )总比度为 2 的结点多一个,因此该二叉树中叶子结点为 18+1=19。45. 数据流图的类型有 1 和事务型。(分数: 2.00 )填空项 1: (正确答案:变换型)解析: 解析 典型的数据流类型有两种:变换型和事务型。46. x 、y、x 均为 int 型变量,描述 "x 、y 和 z 中至少有两个为正数 " 的表达式是 1 。(分数: 2.00 )填空项 1: (正确答案:(x > 0)&&(y > 0)|(x>0)&&(z >0)|(y>0)&&am

39、p;(z >0)解析: 解析题目要求“ x、 y 和 z 中至少有两个为正数”,即x、y 和 z 这 3 个数中必须有两个是正数,且这 3 个数中的哪两个数都有可能是正数,所以它们之间是或的关系。47. 与表达式 a+=b 等价的另一书写形式是 1 。(分数: 2.00 )填空项 1: (正确答案: a= a+b)解析: 解析 a+=b 与 a= a+b 等价,作用是把变量 a 的值加 b 后再赋给变量 a。48. 下列程序的输出结果是 。#include < stdio.h > main() int x=1,y=1,a=1, b=1 ; switch(x) case 1 :

40、 switch(y) case 0: a+; break ; case 1 : b+; break ; case 2 : a+ ; b+; break ; printf("a=%d , b=%d/n", a, b) ; (分数: 2.00 )填空项 1: (正确答案: a=2,b=3 )解析: 解析 分析程序, 程序从 x=1 语句开始执行, 之后执行第一个 switch 语句, switch(x)=switch(1) , 所以执行 case 1 , case 1 语句中包含一个复合 switch 语句:这时执行第二个 switch 语句,此时 y=1 ,所 以switch

41、(y)=switch(1),因此执行case 1,将b加1,得到b=2,遇到break语句,退出第二个 switch语句,则整个 case 1 的复合语句执行完毕, 由于在这个 case 1 的后面没有 break 语句使其退出第一个 switch 语句,所以接着执行下列的 case 2 后面的语句,即将 a、b 各加 1,得到 a=2, b=3。49. C 语言用于结构化程序设计的3 种基本结构是 1 、选择结构和循环结构。(分数: 2.00 )填空项 1: (正确答案:顺序结构)解析: 解析结构化程序有 3种基本结构,即顺序结构、选择结构(包括 if 语句和 switch 语句 ) 和循环

42、结构(包括for语句、while 语句、 dowhile 语句)。50. 下列循环的循环次数是 。 int k=2; while (k=0) printf("%d" , k) ; k- ; printf("/n") ;(分数: 2.00 )填空项 1: (正确答案: 0)解析:解析解答本题需要注意表达式“ k=0",它是赋值表达式而不是关系表达式,不论k为何值,表达式 k=0 总会使 k 为 0,所以不能进入循环。51. 若有定义float b15,*p=b ;,且数组b的首地址为200H,则p+13所指向的数组元素的地址为 1。(分数: 2.00 )填空项 1: (正确答案: 252H)解析: 解析 要解答本题,首先要明白在对指针进行加、减运算时,数字“1”不

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论