"陕西师范大学-《C语言程序设计》(高起专)考评作业-含答案.pdf"
这篇作业涵盖了C语言编程的基础知识,包括保留字、字符常量、程序执行流程、指针操作、字符串处理、循环控制以及变量的存储类别。下面是针对每个题目所涉及知识点的详细解释:
1. C语言中的保留字问题:`auto` 是C语言中的一个存储类别关键字,用于声明局部变量,但不能用作函数返回类型。
2. 合法字符常量:在C语言中,字符常量由单引号包围,且只能包含一个字符或者转义序列。选项A尝试使用十六进制转义,B选项包含非有效八进制数字,C选项是字符串而非字符常量,D选项`\r`是回车符,是合法的字符常量。
3. 程序输出问题:此题考察位移运算符<<,x=012是八进制数,左移2位相当于乘以4,因此输出为40。
4. C语言程序执行起点:C程序从`main`函数开始执行。
5. 指针与数组的访问:访问数组元素a[i]的正确方式是`*(pa+i)`,其中pa是指向数组a的指针变量。
6. 字符串比较:程序会比较两个字符串直到不相等为止,最后输出的是`t`和`s`的第一个不同字符的ASCII值差,这里是1。
7. 指针与变量赋值:声明一个指向int型变量的指针并赋值为变量a的地址,正确形式是`int*p=&a;`。
8. 字符类型的判断:正确判断字符a是否为数字字母的表达式是`'0'<=a&&a<= '9'`,这会比较字符的ASCII值。
9. 循环控制:这个程序中的for循环没有初始化变量j,导致结果不确定,因为j的初始值未知。
10. 数组和指针的使用:这个程序中,指针p指向了二维数组a的第三个元素,然后按步长2打印数组元素,结果是35。
11. 变量存储类别:`register`关键字可以尝试将变量存储在寄存器中,以提高执行效率,但编译器并不保证一定能这么做。
12. 程序执行效率:`register`存储类别的变量如果成功存储在寄存器,可以提高执行效率。
以上就是题目中涉及的C语言知识点的详细解析,这些内容涵盖了C语言的基础语法、数据类型、指针操作、循环控制、字符串处理以及变量存储类别等多个方面。对于学习C语言的学生来说,理解和掌握这些知识点是至关重要的。