C语言基础习题及答案——2010年桂林电子科技大学

需积分: 0 2 下载量 121 浏览量 更新于2024-07-30 收藏 350KB DOC 举报
"C2010习题集——C语言习题,适合初学者" 这篇习题集主要涵盖了C语言的基础知识,包括语法、运算符、数据类型、表达式和控制结构等内容,旨在帮助初学者巩固和提升C语言编程技能。 1. C程序的基本组成单位是语句,而不是行或函数。每条C语句结束后通常需要以分号作为结束符,这是C语言的语法规则。 2. C语言程序的执行是从名为`main`的函数开始的,这是每个C程序的核心部分。 3. 合法的C语言赋值语句可以包含变量赋值、自增自减操作等,如`i++`。同时,赋值语句的右侧可以是表达式,但不能是类型转换声明,例如`k=int(a+b);`是非法的。 4. 用户定义的标识符(变量名、函数名等)需要遵循一定的规则,不能以数字开头,不能是保留字,例如`1abc`是非法的,而`Ca-b-c123`和`char`也是不合法的。 5. 整形常量可以以二进制(0b或0B前缀)、八进制(0前缀)、十进制(无前缀)或十六进制(0x或0X前缀)表示。合法的有`0x10`,而`0976`不是有效的八进制数,`076L`的`L`通常用于长整型(long),在这里是多余的,`01ff`不是一个有效的十六进制数。 6. C语言中的算术运算符 `%` 要求操作数为整型,`B++` 是自增运算符,`C/D=` 是错误的赋值表达式,`A` 无法确定类型。 7. `printf`函数用于输出,`%d`格式说明符用于整数。在给定的语句中,`b%=2`的结果是`b`对2取模的结果,然后将其赋值给`a`,最后输出的`a`值是`21`。 8. 浮点型常量赋值给整型变量时,会自动进行截断,所以`i=2.6;`后,`i`的值为`2`。 9. 字符常量需要用单引号括起来,且只能是一个字符。合法的字符常量是`\482`(ASCII码表示),而`'ab'`是多个字符,`'\'`需要转义为`'\\'`,`'\xaf'`是一个十六进制转义序列。 10. 链接式赋值运算符`+=`、`-=`的结合顺序是从右到左,因此`y+=y-=y*y;`首先计算`y-=y*y`,再将结果加到`y`上,最终`y`的值是`-56`。 11. 浮点型常量可以包含指数表示法,例如`3.14e+2`,但`e-3`和`1.5e+2.4`不是合法的,因为指数部分应为整数。合法的浮点型常量是`3.14e+5`。 12. `sizeof`运算符用于计算数据类型的大小,以字节为单位。在这个例子中,`a*b`的计算结果是浮点型,占用4字节,`2/5`的结果是整型,为0。因此`sizeof(a*b)+2/5`的结果是4。 13. 当`int`类型为2字节(16位)且`int i=-2;`时,`printf("%u",i);`会以无符号整型输出`i`,其值是`65534`(因为补码表示法)。 14. `x=a++;`先赋值后自增,`y=--a;`先自减后赋值,`z=x+y-a--;`计算过程中,`a`的值先被使用,自减发生在最后。因此`z`的值为`200`。 15. 前导零表示八进制数,`010`代表八进制的10,相当于十进制的8;`0x10`是十六进制,相当于十进制的16;`10`是十进制的10。所以输出结果是`8,16,10`。 这些习题涉及了C语言的基础概念,通过解答这些题目,初学者可以更好地理解C语言的基本语法和逻辑,为后续深入学习打下坚实基础。