全国计算机等级试二级C语言指针测试题
全国计算机等级考试二级C语言指针测试题
一、选择题 1 设有定义:int n1 0,n2,*p &n2,*q &n1;,以下赋值语句中与n2 n1;语句等价的是
A *p *q;
B p q;
C *p &n1;
D p *q; 2 若有定义:int x 0, *p &x;,则语句printf "%d\n",*p ;的输出结果是
A 随机值
B 0
C x的地址
D p的地址 3 以下定义语句中正确的是
A char a 'A'b 'B'; B float a b 10.0;
C int a 10,*b &a; D float *a,b &a; 4 有以下程序
main int a 7,b 8,*p,*q,*r;
p &a;q &b;
r p; p q;q r;
printf "%d,%d,%d,%d\n",*p,*q,a,b ; 程序运行后的输出结果是
A 8,7,8,7
B 7,8,7,8
C 8,7,7,8
D 7,8,8,7 5 设有定义:int a,*pa &a;以下scanf语句中能正确为变量a读入数据的是
A scanf “%d”,pa ;
B scanf “%d”,a ;
C scanf “%d”,& ;
D scanf “%d”,*p ;
6 设有定义:int n 0,*p &n,**q &p;则以下选项中,正确的赋值语句是
A p 1;
B *q 2;
C q p;
D *p 5; 7 有以下程序
以下是引用片段: void?fun char?*a,?char?*b a b;? *a ++; main char?c1 A’,?c2 ’a’,?*p1,?*p2; p1 &c1;?p2 &c2;?fun p1,p2 ; printf “c%c\n”,c1,c2 ; 程序运行后的输出结果是
A Ab
B aa
C Aa
D Bb 8 若程序中已包含头文件stdio.h, 以下选项中,正确运用指针变量的程序段是
A t? *i NULL; B float? *f NULL; scanf "&d",f ; *f 10.5; C char? t "m", *c &t; D long?? *L; *c &t; L ‘\0’; 9 有以下程序
以下是引用片段: #inc1ude main printf "%d\n",?NULL ; 程序运行后的输出结果是
A 0
B 1
C -1
D NULL没定义,出错 10 已定义以下函数
fun int *p return *p: 该函数的返回值是
A 不确定的值
B 形参p中存放的值
C 形参p所指存储单元中的值
D 形参p的地址值
11 下列函数定义中,会出现编译错误的是
A max int? x, int? y,int? *z B int? max int?? x,y *z x y? ? x:y; int? z ; z x y? ? x:y; return? z ; C max int? x,int? y D int? max int? x,int? y int?? z; return x y?x:y ; z x y?x:y;? return z ; 12 有以下程序段
以下是引用片段: main int?a 5,?*b,?**c; c &b;?b &a; …… 程序在执行了c &b:b &a;语句后,表达式:**c的值是
A 变量a的地址
B 变量b中的值
C 变量a中的值
D 变量b的地址 13 有以下程序
以下是引用片段: main char?a,b,c,*d; a ’\’;?b ‘\xbc’; c ‘\xab’;?d "\017"; print "%c%c%c%c\n",a,b,c,*d ; 编译时出现错误,以下叙述中正确的是
A 程序中只有a ’\’;语句不正确
B b ‘\xbc’;语句不正确
C d "\017";语句不正确
D a ’\’;和c ‘\0xab’;语句都不正确 14 若有以下定义和语句
以下是引用片段: #include int?a 4,b 3,*p,*q,*w; p &a;?q &b;?w q;?q NULL; 则以下选项中错误的语句是
A *q 0;
B w p;
C *p a;
D *p *w; 15 有以下