C语言笔试重点:指针与函数参数

需积分: 22 1 下载量 153 浏览量 更新于2024-08-16 收藏 455KB PPT 举报
"指针变量做函数形参传址-计算机二级" 在计算机编程,特别是C语言中,指针是一个非常重要的概念。指针变量可以存储内存地址,它允许我们间接地访问和修改存储在该地址上的值。在函数调用时,通过将指针作为参数传递,可以实现对原变量的直接操作,这就是所谓的"传址"调用。这种调用方式被称为"传址调用"或"引用调用",与"值调用"(直接复制变量的值)相比,它允许函数内部的更改影响到外部的变量。 例如,给定的代码段展示了一个简单的交换两个整数的函数`swap`,它接受两个整数指针作为参数。在这个函数中,`t=*x`表示将`x`指向的值赋给临时变量`t`,然后`*x=*y`和`*y=t`分别将`y`指向的值赋给`x`指向的内存位置,`t`的值赋给`y`指向的位置,实现了两个整数的互换。在`main`函数中,`&a`和`&b`分别获取了变量`a`和`b`的地址,并传递给`swap`函数,因此在函数内部对指针的修改会影响到`a`和`b`的值。 这个程序的输出结果是A)2,1,因为在调用`swap(&a,&b)`后,`a`和`b`的值进行了交换,原来的1和2变成了2和1。 在计算机二级考试中,这样的知识点可能出现在选择题或者填空题中,考察考生对于指针的理解和使用。除了指针传址,笔试考试还可能涵盖其他C语言的关键知识点,如表达式的计算、`switch`语句的使用、字符串处理、`sizeof`运算符的应用、函数的定义与调用、指针的高级用法(如指针数组、指针函数等)、变量的作用域、宏定义、`typedef`用法、结构体和共用体、链表以及文件操作等。 在实际的编程中,理解和熟练运用这些知识点是非常关键的,它们构成了C语言编程的基础。例如,逻辑运算符`&&`和`||`的短路特性,即在逻辑与运算中,如果第一个表达式为假,就不会计算第二个表达式;在逻辑或运算中,如果第一个表达式为真,就不会计算第二个表达式。这在编写条件判断时可以避免不必要的计算。 另外,指针的自增操作`p++`和`*p++`的区别也经常被考察。前者将指针本身加1,后者先取指针所指的值,然后将指针加1。在循环中,这种操作会影响指针的移动和值的更新。 在提供的代码片段中,第13题的程序通过`*p++`在每次循环中将指针向后移动并更新数组元素,所以当访问`a[2]`时,其值已被更新为6。第15题的程序展示了函数参数的求值顺序问题,以及逗号运算符的优先级,其结果取决于具体的求值顺序规则。第30题的程序利用了`printf`的格式化输出,但没有给出完整代码,所以无法确定输出结果。 这些题目都是对C语言基础语法和指针特性的深入考察,对于准备计算机二级考试或者其他编程考试的学生来说,熟练掌握这些知识是至关重要的。