C语言程序设计复习关键点解析

版权申诉
0 下载量 96 浏览量 更新于2024-09-05 收藏 61KB PDF 举报
"C程序设计复习题.pdf" C语言是一种广泛使用的编程语言,它以其简洁、高效和灵活性著称。此复习题涵盖了C语言的基础知识,包括数据类型、变量、运算符、控制结构、数组、指针以及函数的使用。下面是对各题目知识点的详细解析: 1. C语言中的实型变量分为浮点型(float)和双精度型(double)。 2. 每个C源程序至少包含一个主函数(main函数)。 3. ASCII码中'a'的值是97,根据表达式`ch='a'+ '8'- '3'`,计算得出ch的值为'g',因为'a'到'8'再到'3'相加得到的字符是'g'。 4. 输入操作通常由`scanf`函数完成,输出操作由`printf`函数完成。 5. 在给定的数组声明`int c[10]={116,125,218,312,100,40,13,67,186}`中,`c[4]`的值为100。 6. 数组下标可以是整型表达式,不限于常量。 7. `y`是偶数的表达式可以写作`y%2 == 0`。 8. 表达式`(a=i<j)&&(b=j>k)`的结果为0,因为`i<j`为真,但`j>k`为假,逻辑与运算结果为假。 9. `a+=b`等价于`a = a + b`。 10. `*(p[0]+1)`表示的是数组`a`的第二个元素,即`a[1][1]`,值为4。 11. 反斜杠字符“\”的转义字符是`\`。 12. 存放变量地址的变量称为指针,它指向另一个变量的地址。 13. `++i`先自增再使用,而`i++`先使用再自增。 14. 表达式`!((x<y)&&!z||1)`的值为0,因为`x<y`为假,`!z`为假,所以整个表达式为假,取反为0。 15. 函数`f(k)`定义为递归函数,`f(3)`的值是3,因为`f(3)`等价于`f(1)+2`,`f(1)`等价于`f(-1)+2`,`f(-1)`等价于`f(-3)+2`,最终递归到`f(1)`和`f(-1)`都是1,所以`f(3)`为3。 16. C语言中的标识符必须以字母、数字或下划线开头,且不能是关键字。 17. 计算表达式`x=(i=4,j=10,k=24)`后,`x`的值为24,因为赋值运算符的优先级低于逗号运算符。 18. `a+=b++`后,`a`的值为10,`b`的值为6,因为`a`先增加`b`的值然后`b`自增。 19. `*(p+8)`的值是9,因为`p`指向数组`a`的第一个元素,`p+8`指向`a[8]`,即数组的第九个元素。 20. 表达式`a*b+d-c`的类型取决于`a`、`b`、`c`和`d`的类型,这里是`int`、`int`、`float`和`double`,结果的类型将是`double`。 21. `*(p++)`先访问`p`指向的元素,然后将`p`指向下一位;`*(++p)`先将`p`指向下一位,然后访问新的位置。 程序理解题: 1. 给出的代码段没有完整,但看起来像是要求打印`u`的值。由于`u`未被赋值,输出结果是不确定的,通常为随机值。 这些题目涉及了C语言的基本概念和语法,是学习C语言时常见的练习题类型,有助于巩固基础知识。