第六章 指针:指针是C语言中的一个重要特色,,正确灵活的运用指针,可以使程序简洁、紧凑、高效。6.1指针与指针变量的概念:指针就是地址,指针变量是专门用来存放另一个变量的地址的变量。
6.2指针变量的定义及运算:在定义指针变量时,必须指定基类型;指针变量可以进行算术运算,其运算结果取决于指针变量的基类型。
6.3指针变量的应用举例:指针变量必须先赋值,再使用。通过指针变量可以间接访问另一个变量。指针变量作为函数参数时,将所指向的变量的地址传递给被调用函数,在被调用函数中,通过地址访问调用函数中定义的局部变量。
6.4用指针访问数组元素:可以通过指向数组的指针来引用数组元素。
6.5取地址符及指向数组的指针:指针可以指向二维数组中的一个元素,也可以指向二维数组中的某一行元素。
6.6指针与二维数组:指向字符串的指针变量用于存放字符串的起始地址,通过指针引用字符串更加灵活方便。
6.7指针与字符串:指向字符串的指针变量用于存放字符串的起始地址,通过指针引用字符串更加灵活方便。
6.8指针与函数:函数指针是用于存放函数的起始地址,指向函数的指针变量的一个重要用途是把函数的地址作为参数传递到其他函数。一个函数也可以返回一个指针值。
6.9指针数组:可以通过指向数组的指针来引用数组元素。
[单选题]

已有定义 int a=2, *p1=&a, *p2=&a; ,下面不能正确执行的赋值语句是()

选项:[p1=p2; , a=*p1+*p2;, a=*p1* (*p2) ;, p1=a;]
[单选题]下面判断正确的是( )。

选项:[char s[10]={" girl"}; 等价于char s[10];s[10]={"girl"};, char *s=" girl"; 等价于char *s; s="girl" ;, char s[4]= "boy", t[4]= "boy";等价于 char s[4]=t[4]= "boy", char *s=" girl"; 等价于char *s; *s=" girl"; ]
[单选题]

若有以下说明语句:

char *language[ ] = {“FORTRAN”,”BASIC”,”PASCAL”,”JAVA”,”C”};

char **q;

q = language + 2; 则语句printf(“%sn”, *q) 输出的是( )

选项:[格式说明不正确,无法得到确定的输出, 字符串PASCAL, language[2]元素的值,它是字符串PASCAL的首地址, language[2]元素的地址;]
[单选题]下列程序的输出结果是( )。#include "stdio.h"void main(){char a[10]={9,8,7,6,5,4,3,2,1,0}, *p=a+5;printf("%d", *--p);}

选项:[5, 非法, 3, a[4] 的地址]
[单选题]

有以下程序

   #include<stdio.h>    main()

{  int m=1,n=2,*p=&m,*q=&n,*r;    r=p;p=q;q=r;

   printf("%d,%d,%d,%dn",m,n,*p,*q); }

程序运行后的输出结果是 ( )

选项:[2,1,1,2 , 1,2,2,1, 2,1,2,1, 1,2,1,2 ]
[单选题]有以下程序 #include "stdio.h"#include "string.h"  void main(int argc,  char *argv[])  {      int m, length=0;      for (m=1;m<argc; m++) length+=strlen (argv[m]) ;      printf("%dn",length) ;}       程序编译连接后生成的可执行文件是file. exe,若执行时输入带参数的命令行是:      file  1234  567  89<回车>,则运行结果是( )。

选项:[17, 13, 9, 22]
[单选题]有以下函数: ;char *fun (char *s){ ...return s;}该函数的返回值是( )。

选项:[一个临时存储单元的地址, 形参 s中存放的地址值, 无确定值, 形参s自身的地址值]
[单选题]若有以下定义和语句:int s[4][5], (*ps) [5];ps=s;则对s数组元素的正确引用形式是()。

选项:[ps[0][2], *(ps+1)+3, *(ps+3), ps+1]
[单选题]void ss( char *s, char t){while (*s){ if (*s==t) *s=t-'a'+'A';s++;}}void main(){char str[100]="abeddfefdbd", c='d' ;ss(str, c);printf(" %sn",str) ;}程序送行后的輸出結果是( )。

选项:[abeDDfefDbD, Abcddfefdbd, ABCDDEFEDBD , abcAAfefAbA]
[单选题]下列程序段的输出結果是( )#include "stdio.h"void fun( int *x,int *y){printf("%d %d ", *x,*y);*x=3;*y=4;}void main( ){int x=1,y=2;fun(&y, &x);printf("%d %d", x, y);}

选项:[1 2 3 4, 2 1 4 3, 2 1 1 2, 1 2 1 2 ]

温馨提示支付 ¥3.00 元后可查看付费内容,请先翻页预览!
点赞(0) dxwkbang
返回
顶部