《程序设计语言(Ⅰ)》第二次作业答案(7页).doc
-程序设计语言()第二次作业答案-第 7 页一、单项选择题。本大题共40个小题,每小题 2.5 分,共100.0分。在每小题给出的选项中,只有一项是符合题目要求的。1. 下列关于字符串的说法中错误的是( )A. 在C语言中,字符串是借助于字符型一维数组来存放的,并规定以字符0作为字符串结束标志B. 0作为标志占用存储空间,计入串的实际长度 C. 在表示字符串常量的时候不需要人为在其末尾加入0D. 在C语言中,字符串常量隐含处理成以0结尾 2. x,y,z被定义为int型变量,若从键盘给x,y,z输入数据,正确的输入语句是( )A. INPUT x、y、z;B. scanf("%d%d%d",&x,&y,&z); C. scanf("%d%d%d",x,y,z);D. read("%d%d%d",&x,&y,&z)3. 已有定义int a=-2;和输出语句 printf("%8lx",a);以下正确的叙述是 ( )A. 整型变量的输出形式只有%d一种B. %x是格式符的一种,它可以适用于任何一种类型的数据C. %x是格式符的一种,其变量的值按十六进制输出,但%8lx是错误的D. %8lx不是错误的格式符,其中数字8规定了输出字段的宽度4. 请选出语句printf("%dn",strlen("t"065xffn");的输出结果( )A. 5B. 14C. 8D. 输出项不合法,无正常输出5. 下列程序的输出结果是( )main() double d=3.2; int x,y; x=1.2; y=(x+3.8)/5.0; printf("%dn", d*y); A. 3B. 3.2C. 0D. 3.076. 调用gets和puts函数时,必须包含的头文件是( )A. stdio.hB. stdlib.hC. defineD. 以上都不对7. 阅读下面程序段( ) #include "stdio.h" main() char c; c=(z-a)/2+A; putchar(c); 输出结果为A. MB. NC. OD. Q8. 在C程序中, 在求逻辑值时,用()表示逻辑表达式值为“真”,又用()表示逻辑表达式值为“假”。 ( )A. 1 0B. 0 1C. 非0 非0D. 1 19. 已知int x=6,y=2,z;则执行表达式z=x=x>y后,变量z的值为( )A. 0B. 1C. 4D. 510. 能正确表示逻辑关系:“a10或a0”的C语言表达式是( ) A. a>=10 or a<=0B. a>=0|a<=10C. a>=10 &&a<=0D. a>=10a<=011. 若变量c为char类型,能正确判断出c为小写字母的表达式是( )A. a<=c<=zB. (c>=a)|(c<=z)C. (a<=c)and(z>=c)D. (c>=a)&&(c<=z)12. 设int x=1,y=1;表达式(!x|y- -)的值是( )A. 0B. 1C. 2D. -113. 有如下程序段int a=14,b=15,x;char c=A;x=(a&&b)&&(c<B);执行该程序段后,x的值为( )A. tureB. falseC. 0D. 114. 以下程序的输出结果是( )main() int a=4,b=5,c=0,d;d=!a&&!b|!c;printf("%dn",d);A. 1B. 0C. 非0的数D. -115. 设有:int a=1,b=2,c=3,d=4,m=2,n=2;执行 (m=a>b)&&(n=c>d)后n的值是( )A. 1B. 2C. 3D. 416. 已知x,y,z均为整型变量,且值均为1,则执行语句+x|+y&&+z;后,表达式x+y的值为( )A. 1B. 2C. 3D. 417. 若运行时给变量x输入12,则以下程序的运行结果是( )main()int x,y;scanf("%d",&x);y=x>12?x+10:x-12;printf("%dn",y); A. 0B. 22C. 12D. 1018. 已知char ch=C;则表达式ch=(ch>=A && ch<=Z)?(ch+32):ch;的值是( )A. AB. aC. ZD. c19. 以下4个选项中,不能看做一条语句的是( )A. a=5,b=2.5,c=3.6;B. if(a<5);C. if(b!=5)x=2;y=6;20. 对表达式for(表达式1; ;表达式3)可理解为 ( )A. for(表达式1;0;表达式3)B. for(表达式1;1;表达式3)C. for(表达式1;表达式1;表达式3)D. for(表达式1;表达式3;表达式3)21. 下面有关for循环的正确描述是( )A. for循环只能用于循环次数已经确定的情况B. for循环是先执行循环体语句,后判断表达式 C. 在for循环中,不能用break语句跳出循环体D. for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来22. C语言中 while 和do-while循环的主要区别是( )A. do-while的循环体至少无条件执行一次B. while的循环控制条件比do-while的循环控制条件更严格C. do-while允许从外部转到循环体内D. do-while 的循环体不能是复合语句23. 下列说法中错误的是 ( ) A. 只能在循环体内使用break语句 B. 在循环体内使用break语句可以使流程跳出本层循环体,从而提前结束本层循环C. 在while和dowhile循环中,continue语句并没有使整个循环终止D. continue的作用是结束本次循环,即跳过本次循环体中余下尚未执行的语句,接着再一次进行循环判断24. 在C语言中,引用数组元素时,其数组下标的数据类型允许是( )A. 整型常量B. 整型表达式C. 整型常量或整型表达式D. 任何类型的表达式25. 若已定义的函数有返回值,则以下关于该函数调用的叙述中错误的是( )A. 函数调用可以作为独立的语句存在B. 函数调用可以作为一个函数的实参C. 函数调用可以出现在表达式中D. 函数调用可以作为一个函数的形参26. 以下正确的说法是 ( )A. 定义函数时,形参的类型说明可以放在函数体内B. return后边的值不能为表达式C. 如果函数值的类型与返回值类型不一致,以函数值类型为准D. 如果形参与实参类型不一致,以实参类型为准27. 以下正确的说法是( )A. 用户若需调用标准库函数,调用前必须重新定义B. 用户可以重新定义标准库函数,若如此,该函数将失去原有含义C. 系统根本不允许用户重新定义标准库函数D. 用户若需调用标准库函数,调用前不必使用预编译命令将该函数所在文件包括到用户源文件中,系统自动调用28. 以下叙述正确的是 ( )A. 函数可以嵌套定义但不能嵌套调用B. 函数既可以嵌套调用也可以嵌套定义C. 函数既不可以嵌套定义也不可以嵌套调用D. 函数可以嵌套调用但不可以嵌套定义29. 下面对C语言的描述中,正确的是 ( )A. 函数一定有返回值,否则无法使用函数B. C语言函数既可以嵌套定义又可以递归调用C. 在C语言中,调用函数时,只能将实参的值传递给形参D. C语言程序中有调用关系的所有函数都必须放在同一源程序文件中30. C语言程序的执行,总是起始于( )A. 程序中的第一条可执行语句B. 程序中的第一个函数C. main函数D. 包含文件中的第一个函数31. 下列说法中正确的是( )A. C程序书写时,不区分大小写字母B. C程序书写时,一行只能写一个语句C. C程序书写时,一个语句可分成几行书写D. C程序书写时每行必须有行号32. 以下四项中属于C语言关键字的是( )A. CHARB. defineC. unsignedD. return33. 十进制数2403转换成十六进制数为( )A. 963B. 369C. 953D. 35934. 二进制数00110101转换成八进制数是( )A. 055B. 065C. 056D. 15235. 计算机内部运算使用的数是( )A. 十进制数B. 十六进制数C. 二进制数D. 八进制数36. 下面不属于C语言的数据类型是( )A. 整型B. 实型C. 逻辑型D. 双精度实型37. 下列字符串不符合标识符规定的是( )A. SUMB. sumC. 3cdD. end38. 下面能正确表示八进制数的是( )A. 0x16B. 029C. 114D. 03339. C语言中,字符型数据在内存中存储形式是( )A. 原码B. 反码C. 补码D. ASCII码40. 下列运算符中,要求运算对象必须是整数的是( )