1 选择题
1、若有定义:int x,*pb;则以下正确的表达式是(A) A、pb=&x B、pb=x C、*pb=&x D、*pb=*x 2、以下程序的输出结果是(B) A、因变量无定义输出不定值 B、0 C、-1 D、1 #include 50 a[4] (图一) 6、已知指针p的指向(图一)的a[1],则表达式*++p的值是(B)。 A、20 B、30 C、21 D、31 7、已知指针p的指向(图一)的a[1],则表达式++*p的值是(C)。 A、20 B、30 C、21 D、31 8、以下程序的输出结果是(D)。 A、23 B、24 C、25 D、26 #include int a=25;prtv(&a); } 9、以下程序的输出结果是(B)。 A、运行出错 B、100 C、a的地址 D、b的地址 #include int **k,*a,b=100; a=&b;k=&a; printf(“%d\\n”,**k); } 10、以下程序运行后,输出结果是(D)。 A) 8 B) 7 C) 6 D) 5 #include { char *a=\"abded\"; int i; i=ss(a); printf(\"%d\\n\} 2 填空题 1、若有定义:char ch; (1)使指针p指向变量ch的定义语句是 char *p=&ch; 。 (2)若已定义char *p;,使指针p指向变量ch的赋值语句是 p=&ch; 。 (3)在(1)的基础上,通过指针p给变量ch读入字符的scanf调用语句是 scanf(“%c”,p); 。 (4)在(1)的基础上,通过指针p给变量ch赋字符’a’的语句是*p=’a’; 。 (5)在(1)的基础上,通过指针p用格式输出函数输出ch中字符的语句是printf(“%c”,*p); 。 2、以下程序输出的是 C 。 void main( ) { int i=3, j=2; char *a=\"DCBA\"; printf(\"%c%c\\n\} 3、以下函数的功能是,把两个整数指针所指的存储单元中的内容进行交换。请填空。 void exchange(int *x, int *y) { int t; t=*y; *y= *x ; *x= t ; } 因篇幅问题不能全部显示,请点此查看更多更全内容