安徽大学c语言期末考试复习考点 下载本文

安徽大学C语言程序设计期末考试复习

一、选择题

能将高级语言编写的源程序转换成目标程序的是______。

A) 编辑程序 B) 编译程序 C) 解释程序 D) 链接程序

您的答案为:参考答案为:B B

以下选项中合法的用户标识符是______。

A) long B) _2Test C) 3Dmax D) A.dat 您的答案为:参考答案为:B B

以下叙述正确的是

A) 可以把define和if定义为用户标识符

B) 可以把define定义为用户标识符,但不能把if定义为用户标识符 C) 可以把if定义为用户标识符,但不能把define定义为用户标识符 D) define和if都不能定义为用户标识符 您的答案为:参考答案为:B B

以下叙述正确的是

A) C语言比其他语言高级

B) C语言可以不用编译就能被计算机识别执行

C) C语言以接近英语国家的自然语言和数学语言作为语言的表达形式 D) C语言出现的最晚、具有其他语言的一切优点 您的答案为:参考答案为:C C

在一个C语言程序中

A) main函数必须出现在所有函数之前 B) main函数必须出现在所有函数之后 C) main函数可以在任何地方出现 D) main函数必须出现在固定位置 您的答案为:参考答案为:C C

一个C语言程序是由_______组成的。

A) 一个主程序和若干子程序 B) 若干子程序 C) 函数 D) 若干过程 您的答案为:参考答案为:C C

以下叙述中正确的是()

A) C语言的源程序不必通过编译就可以直接运行

B) C语言中的每条可执行语句最终都将被转换成二进制的机器指令 C) C源程序经编译形成的二进制代码可以直接运行 D) C语言中的函数不可以单独进行编译 您的答案为:参考答案为:B B

下列关于C语言用户标识符的叙述中正确的是

A) 用户标识符中可以出现下划线和数字,它们都可以放在用户标识符的开头 B) 用户标识符中可以出现下划线,但不可以放在用户标识符的开头 C) 用户标识符中不可以出现中划线,但可以出现下划线 D) 用户标识符中可以出现下划线和中划线(减号) 您的答案为:参考答案为:C C

以下说法中正确的是

A)C语言程序总是从第一个定义的函数开始执行

B)C语言程序中,要调用的函数必须在main()函数中定义 C)C语言程序总是从main()函数开始执行

D)C语言程序中的main()函数必须放在程序的开始部分 您的答案为:参考答案为:C C

默认情况下,一个C程序的执行是从

A)本程序的main函数开始,到main函数结束

B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束 C)本程序的main函数开始,到本程序文件的最后一个函数结束 D)本程序文件的第一个函数开始,到本程序main函数结束 您的答案为:参考答案为:A A

C语言编程整个操作的过程是

A)编辑、编译、链接、执行 B)编译、编辑、链接、执行 C)链接、编译、编辑、执行 D)编辑、链接、编译、执行 您的答案为:参考答案为:A A

下列说法不正确的是

A)链接操作将生成扩展名为.lnk的文件

B)编辑过程将生成扩展名为.cpp或.c的文件 C)编译过程将生成扩展名为.obj的文件 C)C编程最终要生成扩展名为.exe的文件 您的答案为:参考答案为:A A

C语言提供了丰富的结构化语句,直接支持____、_____和_______三种基本程序结构。

A)顺序、分支、过程 B)顺序、分支、循环 C)分支、过程、循环 D)顺序、过程、循环 您的答案为:参考答案为:B B

下列说法正确的是

A)C语言版本众多,但这些版本大多不能兼容 B)C语言只能在固定的操作系统上运行。

C)C语言不包含依赖硬件的输入/输出语句,其输入/输出功能语句需要手工来编写。 D)C语言允许对位、字节、地址这些计算机功能中的基本成分进行操作。 您的答案为:参考答案为:D D

当用户用编辑器将C语言程序录入到计算机后,就建立一个源文件,则

A)源文件可以直接被计算机执行 B)源文件需要编译后就可执行

C)源文件经过编译链接后生成的可执行程序和源程序是独立的 D)错误调试一般在执行过程进行 您的答案为:参考答案为:C

C

下列说法中正确的是( )

A.由于C源程序是高级语言程序,因此一定要在VC++软件中输入

B.由于C源程序是字符组成,因此可以作为文本文件在任何文本编辑的软件中输入 C.由于C程序是高级语言程序,因此输入后即可执行 D.由于C程序是高级语言程序,因此它由命令组成 您的答案为:参考答案为:B B

下列说法中错误的是( )

A. 主函数可以分为两个部分:主函数说明部分和主函数体 B. 主函数可以调用任何非主函数的其它函数 C. 任何非主函数可以调用其它任何非主函数 D. 程序可以从任何非主函数开始执行 您的答案为:参考答案为:D D

二 C基本数据类型及运算

选择:21题

下列不正确的C语言用户标识符是____。

A) int B) a_1_2 C) ab1exe D) _x 您的答案为:A

参考答案为:A

下列正确的C语言标识符是____。

A) #define B) _123 C) %d D) \\n 您的答案为:B

参考答案为:B

下列四组字符串中都可以用作C语言程序标识符的一组是____ 。

A) print __123 Pxq str_l B) _3d one_half My->book Cpp C) oodb start$it line# pow D) aBc 3pai His.age while 您的答案为:A

参考答案为:A

下面各选项组中,均是C语言关键字的组是____ 。

A) auto,enum,include B) switch,typedef,continue C) signed,union,scanf D) if,struct,type 您的答案为:B

参考答案为:B

下列不属于C语言关键字的是____ 。

A) default B) register C) enum D) external 您的答案为:D

参考答案为:D

执行语句 printf(\;屏幕显示____。

A) -1 B) 1 C) -ffff D) ffffffff 您的答案为:D

参考答案为:D

已知 int a=2,b=1,c;执行语句c=b/a+2.5后, c的值____。

A) 2.5 B) 3 C) 3.0 D) 2 您的答案为:D

参考答案为:D

有关变量已经定义,以下合法的数值表达式是____。

A) a=1/b=2 B) ++(a+b) C) b=b/(a=6) D) c=int(a)+b

您的答案为:C

参考答案为:C

将字符g赋给字符变量c,正确的表达式是____ 。

A) c=\\147 B) c=\您的答案为:C

参考答案为:C

下列转义字符中错误的一个是____。

A) '\\000' B) '\\014' C) '\\x111' D) '\\2' 您的答案为:C

参考答案为:C

将空格符赋给字符变量c,正确的赋值语句是____。

A) c='\\0' B) c=NULL C) c=0 D) c=32 您的答案为:D

参考答案为:D

已知:char a='\\70';则变量a中 。

A)包含1个字符 B)包含2个字符 C)包含3个字符 D)说明非法 您的答案为:A

参考答案为:A

字符串\的长度是____。

A) 8 B) 9 C) 14 D) 非法字符串 您的答案为:B

参考答案为:B

字符串\的长度是____。

A) 0 B) 1 C) 2 D) 非法字符串

您的答案为:A

参考答案为:A

已知:char a;int b;float c;double d;执行语句\;\后,变量c

的数据类型是 。

A) int B) char C) float D) double 您的答案为:C

参考答案为:C

逗号表达式\的值是____。

A) 15 B) 60 C) 30 D) 不确定 您的答案为:C

参考答案为:C

如果int a=1,b=2,c=3,d=4;则条件表达式a

A) 1 B) 2 C) 3 D) 4 您的答案为:A

参考答案为:A

已知int i=10;表达式\的值是____。

A) 0 B) 1 C) 19 D) 20 您的答案为:B

参考答案为:B

已知int x=1,y;执行下述语句后变量x的值是____。

y=++x>5&&++x<10;

A) 1 B) 2 C) 3 D) 4 您的答案为:B

参考答案为:B

为判断字符变量c的值不是数字也不是字母时,应采用下述表达式____。

A) c<=48||c>=57&&c<=65||c>=90&&c<=97||c>=122 B) !(c<=48||c>=57&&c<=65||c>=90&&c<=97||c>=122)

C) c>=48&&c<=57||c>=65&&c<=90||c>=97&&c<=122 D) !(c>=48&&c<=57||c>=65&&c<=90||c>=97&&c<=122) 您的答案为:D

参考答案为:D

已知int x=5,y=5,z=5;执行语句x%=y+z;后,x的值是____。

A) 0 B) 1 C) 5 D) 6 您的答案为:C

三 输入和输出

选择:15题

设a=3,b=4, 执行“printf(“a=%d,B=%d\ )

A. a=3,b=4 B. 3,4 C. a=3,B=4 D.a=3 B=4 您的答案参考答案为:C 为:C

设a=1234,b=12,c=34 执行“printf(“|==%-3d|\\n”,a,b,c); ”的输出是( )

A.|12341234 | B.|1231234| C.|123412-34| D.|2341234| 您的答案参考答案为:A 为:A

使用“scanf(“x=%f,y=%f”,&x,&y);”,要使x,y均为1.25,正确的输入是( )

A. 1.25,1.25 B. 1.251.25 C. x=1.25,y=1.25 D. x=1.25 y=1.25

参考答案为:C

您的答案参考答案为:C 为:C

要使double x; long a; 获得数据,正确的输入语句是( )

A. scanf(“%d,%f”,&a,&x); B. scanf(“%f,%ld”,&x,&a); C. scanf(“%d,%lf”,&a,&x); D. scanf(“%ld,%lf”,&a,&x); 您的答案参考答案为:D 为:D

设有int a=255,b=8;则printf(“%x,%o\\n”,a,b);的输出的是( )

A. 255,8 B. ff,10 C. 0xff,010 D. 输出格式错 您的答案参考答案为:B 为:B

设a、b为字符型变量,执行“scanf(“a=%c,b=%c”,&a,&b);”后使a为’A’,b为’B’,

从键盘上的正确输入是( )

A. ‘A’’B’ B. ‘A’,’B’ C. A=A,B=B D. a=A,b=B 您的答案参考答案为:D 为:D

语句printf(“%f%%”,1.0/3);的输出结果为:

(注:%%的输出结果是一个%) A.0.333333 B.0.333333% C.0.333333%% D.出错 您的答案参考答案为:B 为:B

已有定义int x ;float y;且执行scanf(\输入数据为12345 678<回车>,

则x和y的值为:

A.123 45.000000 B.123 678.000000 C.12345 678.000000 C.345 678.000000 您的答案参考答案为:A 为:A

有如下的定义和输入语句:

int a1,a2;char c1,c2; scanf(\scanf(\

若要求a1,a2,c1,c2的值分别为10、20、A和B,则正确的数据输入方式为( )

A. 1020AB B. 10 20AB C. 10 20 AB D. 10 20AB 您的答案参考答案为:D 为:D

已有定义:float f1,f2;程序运行时输入数据为4.52 3.5 ,则输入语句正确的为( )

A.scanf(\B.scanf(\C.scanf(\D.scanf(\您的答案参考答案为:B 为:B

下列数据中属于“字符串常量”的是( )

A.“a” B. {ABC} C. ’abc\\0’ D. ’a’ 您的答案参考答案为:A 为:A

在PC机中,‘\\n’在内存占用的字节数是( )

A. 1 B. 2 C. 3 D. 4 您的答案参考答案为:A 为:A

在PC机中,“a\\xff” 在内存占用的字节数是( )

A. 5 B. 6 C. 3 D. 4 您的答案参考答案为:C 为:C

在C语言中,合法的长整型常数是( )

A. 0L B. 4962710 C. 0.054838743 D. 2.1869e10 您的答案参考答案为:A 为:A

下列数据中不属于“字符常量”的是( )

A. ‘\\a’ B. ‘\\160’ C. ‘\\070’ D. 070 您的答案参考答案为:D 为:D

作业四 C程序控制结构

选择:20题

结构化程序设计的3种结构是

A)顺序结构、选择结构、转移结构 B)分支结构、等价结构、循环结构 C)多分支结构、赋值结构、等价结构 D)顺序结构、选择结构、循环结构 您的答案为:参考答案为:D D

已知

int t=0; while (t=1) {...}

则以下叙述正确的是

A)循环控制表达式的值为0 B)循环控制表达式的值为1 C)循环控制表达式不合法 D)以上说法都不对

您的答案为:参考答案为:B B

有如下程序:

main() {

int x=1,a=0,b=0; switch(x) {

case 0: b++; case 1: a++; case 2: a++;b++; }

printf(\\n\); }

该程序的输出结果是 A)a=2,b=1 B)a=1,b=1 C)a=1,b=0 D)a=2,b=2

您的答案为:参考答案为:A A

有以下程序

main() {

int i=1,j=1,k=2; if((j++||k++)&&i++)

printf(\\n\); }

执行后输出结果是 A)1,1,2 B)2,2,1 C)2,2,2 D)2,2,3

您的答案为:参考答案为:C C

有如下程序

main() {

float x=2.0,y; if(x<0.0) y=0.0;

else if(x<10.0)

y=1.0/x; else y=1.0;

printf(\\n\); }

该程序的输出结果是 A)0.000000 B)0.250000 C)0.500000 D)1.000000

您的答案为:参考答案为:C C

有如下程序:

main() {

int n=9; while(n>6) {

n--;

printf(\); } }

该程序的输出结果是 A)987 B)876 C)8765 D)9876

您的答案为:参考答案为:B B

在下列选项中,没有构成死循环的是

A)int i=100; while(1) {

i=i0+1; if(i>100) break; }

B)for(;;); C)int k=10000;

do {

k++;

}while(k>10000); D)int s=36; while(s) --s;

您的答案为:参考答案为:D D

有如下程序段

#include \ main() {

int a=10,b=50,c=30; a=a>30?1:2; b=b>30?1:2; c=c>30?1:2;

printf(\\n\); }

则执行结果为 A)2,1,2 B)1,2,1 C)1,1,2 D)2,1,1

您的答案为:参考答案为:A A

阅读如下程序段

#include \main() {

int a=45,b=40,c=50,d; d=a>30?b:c; switch(d) {

case 30 :

printf(\); case 40 :

printf(\); case 50 :

printf(\);

default :

printf(\); } }

则输出的结果是 A)40,50, B)50,# C)40,# D)40,50,#

您的答案为:参考答案为:D D

若有定义int k=10;则下列程序的输出结果为 do{

printf(\); } while(!k); A)9 B)10

C)10987654321 D)没有输出

您的答案为:参考答案为:B B

阅读下列程序段,则程序的输出结果是

#include \main() {

int a=10,b=10,k; for(k=0;a>8;b=++k)

printf(\); printf(\\n\); }

A)10,10,10,0, B)10,9,9,0, C)10,10,9,1, D)9,9,9,1,

您的答案为:参考答案为:B B

下列程序的运行结果是

#include \

main() {

int a,b,m;

for(a=5;a>=1;a--) { m=0;

for(b=a;b<=5;b++) m=m+a*b; }

printf(\\n\); } A)30 B)15 C)20 D)10

您的答案为:参考答案为:B B

若int i,j;,则for(i=j=0;i<10&&j<8;i++,j+=3)控制的循环体执行的次数是

A)9 B)8 C)3 D)2

您的答案为:参考答案为:C C

下列程序的输出结果是

#include \main() {

int i=6; while(i--)

printf(\); printf(\\n\); }

A)531 B)420 C)654321 D)死循环

您的答案为:参考答案为:B B

阅读下列程序,则执行结果是

#include \main() {

int a=0,b=0,c=0,i; for(i=0;i<4;i++) switch(i) {

case 0:a=i++; case 1:b=i++; case 2:c=i++; case 3:i++; }

printf(\\n\); }

A)0,1,3,4 B)1,2,3,4 C)0,1,2,5 D)0,2,3,4

您的答案为:参考答案为:C C

下面程序的运行结果是

#include \main() {

int j,i;

for(j=50;j<=60;j++) {

for(i=2;i

printf(\); } }

A)5359 B)5953 C)3595 D)9535

您的答案为:参考答案为:A

A

已知char ch='C';则以下表达式的值是

ch=(ch>='A′ && ch<='Z′)?(ch+32):ch; A)A B)a C)Z D)c

您的答案为:参考答案为:D D

下列程序的运行结果是

#include \main() {

int x=-9,y=5,z=8; if(x

printf(\\n\); } A)6 B)7 C)8 D)9

您的答案为:参考答案为:D D

现有定义int k=1;则执行语句while(++k<4);后,k的值为

A)4 B)5 C)6 D)8

您的答案为:参考答案为:A A

以下程序的运行结果为

#include \

main() {

int m,n;

for(m=0,n=10;m

A)6,7 B)7,6 C)9,7 D)7,9

您的答案为:参考答案为:C C

作业五 数组

选择:21题

1、若有以下数组说明,则数值最小和最大元素的下标分别是( )。

int a[12]={1,2,3,4,5,6,7,8,9,10,11,12};

A.1,12 B.0,11 C.1,11 D.0,12 您的答案参考答案为:B 为:B

2、若有以下数组说明,且i=10;则a[a[i]]元素数值是( )。

int a[12]={1,4,7,10,2,5,8,11,3,6,9,12}; A.10 B.9 C.6 D.5 您的答案参考答案为:C 为:C

3、设有定义:char s[12]={“string”};,则

printf(“%d\\n”,strlen(s));的输出是( )。

A.6 B.7 C.11 D.12 您的答案参考答案为:A 为:A

4、以下对数组描述正确的是( )。

A.数组一旦定义其大小是固定的,但数组元素的类型可以不同

B.数组一旦定义其大小是固定的,且数组元素的类型必须相同 C.数组一旦定义其大小是可变的,且数组元素的类型可以不同 D.数组一旦定义其大小是可变的,但数组元素的类型必须相同 您的答案参考答案为:B 为:B

5、以下叙述中错误的是( )。

A.不可以用数组名对数组整体进行操作

B.数组名代表的是数组所占存储区的首地址,其值不可改变

C.当程序执行中,数组元素的下标超出所定义的下标范围时,系统将给出“下标越界”的出错信息

D.可以通过赋初值的方式确定数组元素的个数 您的答案参考答案为:C 为:C

6、下列定义的字符数组中,printf(“%s\\n”,str[2]);语句的输出是( )。

char str[3][20]={“basic”,“foxpro”,“windows”}; A.basic B.foxpro C.windows D.输出语句出错 您的答案参考答案为:C 为:C

7、以下能正确将字符串“Boy”进行完整赋值操作的是( )。

A.char s[3]={‘B’,‘o’‘y’}; B.char s[]=“Boy”; C.char s[3]={“Boy”};

D.char s[3];s[0]=‘B’;s[1]=‘o’;s[2]=‘y’; 您的答案参考答案为:B 为:B

8、定义: char a[]=\则数组 a所占的空间为( )。

A.4个字节 B.5个字节 C.6个字节 D.7个字节 您的答案参考答案为:C 为:C

9、若有int a[4]={1,2,3,4};,则a[a[0]+2*a[2]-a[3]]的值( )。

A.1 B.2 C.3 D.4 您的答案参考答案为:D 为:D

10、设变量定义为char format[]=“s=%d\\n”;则数组format中有( )个元素。

A.4 B.5 C.6 D.7 您的答案参考答案为:C 为:C

11、静态整型数组不赋初值时,其各元素的值是( )。

A.不定值 B.-1 C.0 D.1 您的答案参考答案为:C 为:C

12、有以下程序段的输出结果是( )。

char a[]=“abcdefgh”; int m,n; m=sizeof(a); n=strlen(a);

printf(“%d,%d\\n”,m,n);

A.9,9 B.8,9 C.8,8 D.9,8 您的答案参考答案为:D 为:D

13、以下程序段的输出结果是( )。

int i,a[10]; for(i=9;i>=0;i--) a[i]=10-i;

printf(“%d%d%d”,a[2],a[5],a[8]);

A.258 B.741 C.852 D.369 您的答案参考答案为:C 为:C

14、以下程序运行后的输出结果是( )。

main() {

int p[8]={11,12,13,14,15,16,17,18},i=0,j=0; while(i++<7) if(p[i]%2) j+=p[i];

printf(\}

A.42 B.45 C.56 D.60 您的答案参考答案为:B 为:B

15、以下程序执行后输出结果是( )。

main() {

int p[7]={11,13,14,15,16,17,18},i=0,k=0; while(i<7&&p[i]%2) {

k=k+p[i]; i++; }

printf(\}

A.58 B.56 C.45 D.24 您的答案参考答案为:D 为:D

16、设int x[10]={0,2,4};,假定在VC++编译环境下,int类型变量占用四个字节,

则数组x在内存中所占字节数是( )。

A.6 B.12 C.20 D.40 您的答案参考答案为:D 为:D

17、定义: int a[2][2]; 则数组 a在内存中的存放顺序为( )。

A.a[0][0]、a[1][0]、a[0][1]、a[1][1] B.a[0][0]、a[0][1]、a[1][0]、a[1][1] C.a[0][0]、a[1][1]、a[0][1]、a[1][0] D.a[0][0]、a[1][1]、a[1][0]、a[0][1] 您的答案参考答案为:B 为:B

18、以下数组定义中不正确的是( )。

A.int a[2][3];

B.int b[][3]={0,1,2,3}; C.int c[100][100]={0};

D.int d[3][]={{1,2},{1,2,3},{1,2,3,4}}; 您的答案参考答案为:D

为:D

19、以下程序的输出结果是( )。

main() {

int a[3][3]={{1,2},{3,4},{5,6}},i,j,s=0; for(i=1;i<3;i++) for(j=0;j<=i;j++) s+=a[i][j]; printf(“%d\\n”,s); }

A.18 B.19 C.20 D.21 您的答案参考答案为:A 为:A

20、数组定义为int a[3][2]={1,2,3,4,5,6},数组元素( )的值为6。

A.a[3][2] B.a[2][1] C.a[1][2] D.a[2][3] 您的答案参考答案为:B 为:B

21、以下程序的输出结果是( )。

main() {

int i,x[3][3]={1,2,3,4,5,6,7,8,9}; for(i=0;i<3;i++)

printf(“%d,”,x[i][2-i]); }

A.1,5,9 B.1,4,7 C.3,5,7 D.3,6,9 您的答案参考答案为:C 为:C

作业六 指针

选择:15题

1.执行以下程序后,a的值为( ).

main() {

int a,k=4,m=6,*p1=&k,*p2=&m; a=p1==&m;

printf(\ }

A)-1 B)1 C)0 D)4 您的答案为:C

参考答案为:C

2.以下程序中调用scanf函数给变量a输入数值的方法是错误的,其错误的原因是( ).

main() {

int *p,*q,a,b; p=&a;

printf(\ scanf(\ }

A)*p表示的是指针变量p的地址.

B)*p表示的是变量a的值,而不是变量a的地址. C)*p表示的是指针变量p的值

D)*p只能用来说明p是一个指针变量 您的答案为:B

参考答案为:B

3.已有定义 int k=2;int *ptr1,*ptr2;且ptr1 、ptr2均已指向变量k,下面不能正确执

行的赋值语句是( )

A) k=*ptr1+*ptr2 B) prt2=k;

C) ptr1=ptr2 D) k=*ptr1*(*ptr2); 您的答案为:B

参考答案为:B

4.变量的指针,其含义是指变量的( )

A) 值 B) 地址 C) 名 D) 一个标志 您的答案为:B

参考答案为:B

5.若有说明: int *p,m=5,n; 以下正确的程序是( )

A) p=&n; B)p=&n;

scanf(\ C) scanf(\ *p=n; *p=m; 您的答案为:D

参考答案为:D

6.下面程序段的运行结果是( )

char *s=\

s+=2; printf(\

A) cde B) 字符‘c’ C) 字符‘c’的地址 D) 无确定的输出结果 您的答案为:B

参考答案为:B

7.设指针x指向的变量值为25, 则printf(\的输出结果是( )

A)23 B)24 C)25 D)26 您的答案为:D

参考答案为:D

8.若有定义char s[10];则在下面表达式中不表示s[1]的地址的是( )

A) s+1 B) s++ C) &s[0]+1 D) &s[1] 您的答案为:B

参考答案为:B

9.有以下程序

#include main() {

char str[][20]={\ printf(\ }

程序运行后的输出结果是( ) A)0 B)5 C)7 D)20 您的答案为:C

参考答案为:C

10.有以下程序

main() {

int a[3][3],*p,i; p=&a[0][0];

for(i=0;i<9;i++) *(p+i)=i+1;

printf(\ }

程序运行后的输出结果是( ) A)3 B)6 C)9 D)2 您的答案为:B

参考答案为:B

11.已定义以下函数

fun(int *p) { return *p; }

该函数的返回值是( )

A)不确定的值 B)形参p中存放的值 C)形参p所指存储单元中的值 D)形参p的地址值 您的答案为:C

参考答案为:C

12.对于基类型相同的指针变量,不能进行( )运算。

A) + B)- C) = D)= = 您的答案为:A

参考答案为:A

13.若已定义a为int型变量,则对p的说明和初始化正确的是( )

A) int *p=a; B)int p=a; C) int p=a; D)int *p=&a; 您的答案为:D

参考答案为:D

14.设有如下程序段

char str[]=”hello”; char *ptr;

ptr=str;

执行完上面的程序后,*(ptr+5)的值为( )

A) ‘0’ B)’\\0’ C)不确定的值 D)’0’的地址 您的答案为:B

参考答案为:B

15.若x为整型变量,pb是基类型为整型的指针变量,则正确的赋值表达式是( )

A)pb=&x B)pb=x C)*pb=&x D)*pb=*x 您的答案参考答案为:A

为:A