"二级C语言指针考试题精选题目解析"

需积分: 3 0 下载量 154 浏览量 更新于2024-04-11 收藏 41KB DOC 举报
指向n1的指针,下列语句中,正确的是( )。 A. p=&n1; n2=*p; B. *p=n2; p=&n2; C. p=&n1; n2=p; D. *p=n2; p=&n2; (2) 在C语言中,指针的作用是( )。 A. 用来定义变量的类型 B. 用来指代数组的下标 C. 用来存储变量的地址 D. 用来存储变量的值 (3) 下列程序片段的输出结果是( )。 #include <stdio.h> int main() { int a = 5; int *p; p = &a; printf("%d", p); return 0; } A. 5 B. 0 C. 警告:format specifies type 'int' but the argument has type 'int*' D. 乱码 (4) 下面有关指针的说法,错误的是( )。 A. 指针是一个地址 B. 指针可以指向变量 C. 指针的大小与被指向的数据类型无关 D. 指针可以直接和普通变量相加 (5) 下列程序的输出结果是( ) #include <stdio.h> int main() { int array[] = {1, 2, 3, 4, 5}; int *p = &array[0]; printf("%d", *(p + 2)); return 0; } A. 1 B. 2 C. 3 D. 4 二、填空题 (1) 指向整型变量的指针变量定义方式是___________。 (2) 下面程序的输出是什么? #include <stdio.h> int main() { int a = 3, b = 4, *p; p = &a; *p = *p + b; printf("%d", a); return 0; } 答案是___________。 (3) 指向字符型变量的指针变量定义方式是___________。 (4) 下面程序的输出是什么? #include <stdio.h> int main() { char c = 'A', *p; p = &c; printf("%c", *p + 1); return 0; } 答案是___________。 三、解答题 (1) 请写出一个简单的C语言程序,实现交换两个整型变量的值。 (2) 请写出一个简单的C语言程序,实现将一个整型数组中的所有元素加1后输出。 以上是全国计算机等级考试二级C语言指针测试题的部分内容,通过这些题目可以对指针的基本概念和应用进行考察。指针作为C语言中一项重要的概念,对于理解内存存储和地址操作有着至关重要的作用。希望考生能够通过此次测试加深对指针的理解,提升自己在C语言编程方面的能力。