C语言编程练习:选择题解析与答案

需积分: 0 0 下载量 181 浏览量 更新于2024-06-27 收藏 1.09MB DOC 举报
"C语言题库(1)(1).doc" 这篇文档是一个C语言的练习题库,包含了单选题,主要涉及C语言的基础知识,如数据类型、数值表示、运算符、字符常量、变量以及赋值语句的使用等。下面将详细解析这些题目中的知识点: 1. 题目询问合法的十六进制数,正确答案是A.oxff。在C语言中,十六进制数可以用0x或0X开头,后面跟着0-9和A-F(或a-f)的数字。选项A中的"o"不是十六进制的前缀,所以是不合法的。 2. 题目问及排序三个数所需的比较次数,答案是B.3。在最坏的情况下,冒泡排序、选择排序等简单排序算法都需要进行三次比较来确定三个数的顺序。 3. 题目考察的是整数、八进制和十六进制的输出。程序会打印出整数17,八进制的21(因为17转八进制是21),和十六进制的11,因此答案是D.17,21,11。 4. 合法的字符常量应该由一个ASCII码表示的字符或者一个转义序列组成。B.'\x43'是一个合法的十六进制转义序列,表示字符'C'。A.'\084'不是一个合法的八进制转义序列,C.'ab'不是单个字符,D.″\0″是字符串字面量而非字符常量。 5. C语言中,int、char和short的大小不是固定的,而是由机器的机器字长决定,所以答案是D.由所用机器的机器字长决定。 6. 当执行C=a/b+0.4时,a/b的结果会被截断为整数,即1,然后与0.4相加,结果仍然是1,因此c的值为B.1。 7. chara='\72'是一个八进制转义序列,它代表ASCII码为72的字符,即'H'。因此变量a包含1个字符,答案是A.包含1个字符。 8. m=a++这个表达式中,a首先被递增为6,然后赋值给m,因此m的值是C.5。 9. 该程序输出的是x和y的值,先执行x--,再执行--y,所以输出是10和9,答案是D.109。 10. 赋值语句的正确性: A. ++t是预增量操作,是合法的。 B. n1=(n2=(n3=0))是合法的,所有赋值都会从右向左执行。 C. k=1=j错误,因为不能同时对两个变量进行赋值操作。 D. a=b+c=1也是错误的,同样不能同时对两个变量进行赋值操作。 这些题目涵盖了C语言的基础概念,包括数据类型的表示、运算符的使用、字符常量和字符串的区别、变量的赋值和递增操作等。通过解答这些题目,可以检验学习者对C语言基础知识的掌握程度。