1、第 2 次作业一、单项选择题(本大题共 100 分,共 40 小题,每小题 2.5 分)1. 若有下列程序段: int x=1, y=2; x=x+y; y=x-y; x=x-y; 则执行后 x 和 y的值分别为( ) A. x=1, y=2 B. x=2, y=2 C. x=2, y=1 D. x=1, y=12. 设以程序段中的变量都是 int 类型,则输出的结果是 ( )A. 7 B. 6 C. 12 D. 143. 下列程序的输出结果为 ( )A. 4,10 B. 10,4 C. 1,4 D. 1,104. 若执行 printf(“%dn“, strlen(“an“x41“)语句,输出
2、结果是( ) A. 8 B. 7 C. 6 D. 45. 若有定义 int(*p)4,则标识符 p 是一个( ) A. 指向整型变量的指针变量 B. 指向函数的指针变量 C. 指向有四个整型元素的一维数组的指针变量 D. 指针数组名,有四个元素,每个元素均为一个指向整型变量的指针6. char s=”good student”(两个单词间有一空格),*(s+5)的值是( ) A. s B. (空格) C. d D. t7. 已知 long a=-2L; printf(“dn“,a);则有 ( ) A. 赋值不合法 B. 输出值为-2 C. 输出为不确定值 D. 输出值为 28. 若有函数内部说
3、明:int a34;则数组 a 中各元素( ) A. 可在程序的运行阶段得到初值 0 B. 可在程序的编译阶段得到初值 0 C. 不能得到确定的初值 D. 可在程序的编译或运行阶段得到初值 09. 在 C 程序中,判断逻辑值时,用“非 0“表示逻辑值“真“,用“0“表示逻辑值“假“。 逻辑表达式的值分别为() A. 1, 0 B. True,False C. yes,no D. NULL,EOF10. 软件是指使计算机运行需要的程序、数据和有关的( ) A. 编译系统 B. 算法 C. 数据结构 D. 技术文档资料11. 以下程序编译时出现错误,以下叙述中正确的是( )A. 程序中只有 a=;
4、语句不正确B. b=xbc;语句不正确C. d=“0127“;语句不正确D. a=;和 c=0x78;语句都不正确12. 下面的程序执行后,文件 test 中的内容是( )A. new world B. worldhello, C. hello, D. hello, rld13. 建立函数的目的的正确说法是( ) A. 提高程序的执行效率 B. 支持模块化程序设计 C. 减少程序的长度 D. 减少程序文件的存储空间14. 以下程序的输出结果是( )A. 1,6,3,1,3 B. 1,6,3,2,3 C. 1,6,3,6,6 D. 1,7,3,2,315. 已知 a 是 float 型变量,b
5、是 unsigned 型变量,则正确的格式输入语句为( ) A. scanf(“%6.2f%d“, a, b) B. scanf(“%fn“, 其中 0i9, 则对 a 数组元素不正确的引用是( ) A. ap-a B. *( 为了把 100 和 76512 别赋给 i 和 f,则正确的输入为( ) A. 10076512 B. i=100,f=76512 C. 10076512 D. x=100 y=7651220. 下列程序的输出结果为 ( )void main() int a=14, b=1; printf(“%dn“, (a A. 0 B. 1 C. true D. false21.
6、以下程序的输出结果是( )A. 10 B. 11 C. 12 D. 1522. 若有语句 int a=1,b=2,c=3;则以下值为 0 的表达式是 ( ) A. a(2) *p=a; A. 语句(1)和(2)中的*p 含义相同,都表示给指针变量赋值 B. 语句(1)和(2)的执行结果都是把变量 a 的地址赋给指针变量 p C. 语句(1)是在对 p 进行定义的同时进行初始化,使 p 指向 a; 语句(2)是将变量 a 的值赋给指针变量 p D. 语句(1)是在对 p 进行定义的同时,使 p 指向 a; 语句(2)是将变量 a 的值赋给指针变量所指的变量30. 下面程序的运行结果是( )A.
7、7654321 B. 1234437 C. 1711717 D. 717717131. 若 float 型数据占 4 个字节,int 型数据占 2 个字节,char 型数据占 1 个字节,以下程序运行结果是( )A. 25 B. 12 C. 3 D. 2232. 以下程序运行结果是( )A. 1,2,3 B. 1,3,3 C. 2,3,3 D. 2,2,333. 以下程序运行后的输出结果是( )A. 1 2 3 B. 2 3 4 C. 2 2 3 D. 2 3 334. 以下程序的运行结果是 ( )A. morig B. morning C. mig D. or35. 以下程序的输出结果是(
8、) A. 11 B. 20 C. 21 D. 3136. 与下列函数不等价的函数为( )。 A. B. C. D. 37. 有一链式堆栈 ls(无头结点),结点结构为:data 域和 link(指针)域。其栈顶指针为 lstop,现在对该栈进行出栈操作,出栈后 lstop 的值为:( ) A. lstop-link B. lstop-data C. lstop+ D. lstop-38. 则该程序段的功能是( ) A. 对数组 a 进行插入排序(升序) B. 对数组 a 进行插入排序(降序) C. 对数组 a 进行选择排序(升序) D. 对数组 a 进行选择排序(降序)39. 以下程序的输出结
9、果是 ( )A. 12345 B. 54321 C. 15115 D. 5155140. 在一个单链表中,若指针 p1 所指结点不是最后结点,则在 p1 之后插入指针p2 所指结点应执行( ) A. p1-next=p2; p2-next=p1 B. p2-next=p1-next; p1=p2 C. p2-next=p1; p1-next=p2 D. p2-next=p1-next; p1-next=p2答案:一、单项选择题(100 分,共 40 题,每小题 2.5 分)1. C 2. C 3. D 4. D 5. C 6. A 7. B 8. C 9. A 10. D 11. D 12. C 13. B 14. B 15. C 16. C 17. D 18. D 19. B 20. A 21. B 22. D 23. C 24. B 25. C 26. B 27. A 28. D 29. D 30. B 31. D 32. B 33. D 34. C 35. B 36. D 37. A 38. C 39. B 40. D