了解湖南/长沙自考资讯,从湖南自考网开始!湖南自考报名湖南自考本科
您当前的位置:首页 > 湖南自考考前练习

自考“高级语言程序设计”经典习题及答案(21)

自考“高级语言程序设计”经典习题及答案(21)

 

  11.若有下面的程序片段,则对数组元素的错误弓D用是( )H1S湖南自考网_湖南自考本科_湖南自考报名_首页

  int a[12]={0},*p[3],* *pp,i;H1S湖南自考网_湖南自考本科_湖南自考报名_首页

  for( i=0;i<3;i++) p=&a[i+4];H1S湖南自考网_湖南自考本科_湖南自考报名_首页

  pp= P;H1S湖南自考网_湖南自考本科_湖南自考报名_首页

  ①pp[0][1] ②a[10]H1S湖南自考网_湖南自考本科_湖南自考报名_首页

  ③ p[3][l] ④*(*(p+2)+2)H1S湖南自考网_湖南自考本科_湖南自考报名_首页

  “解”上述代码定义变量a是有12个整型元素的数组,它的初值全是0.p是有三个元素的指针数组,每个指针能指向整型变量。哪是指针的指针,它能指向一个指向整型变量的指针, i是一个整型变量。执行代码for(i=0;i<3;i++) P=&a[i+4] 使指针数组 p的元素 p[0]指向 a[4] ,p[l]指向a[5] ,p[2]指向 a[6].代码pp=p使指针变量pp指向p[0].①代码pp[0][l] 用指针表达可等价地写成*(*pp+l)。其中*pp就是 p[0],p[0]的值是&a[4],*pp+1的值是&a[4]+1=&a[5],*(*pp+1)就是a[5].②代码a[l0] 当然是引用数组a的元素。③代码p[3][1]数组p只有三个元素,没有p[3],所以是错误的。④代码*(*(p+2)+2)中的(p+2)是 &p[2],*(p+2)是 p[2],其值是&a[6],*(p+2)+2的值是&a[8],*(*(p+2)+2)引用的是a[8].所以解答是@.H1S湖南自考网_湖南自考本科_湖南自考报名_首页

  12.若有如下定义和语句,则输出结果是( )H1S湖南自考网_湖南自考本科_湖南自考报名_首页

  int * *pp, *p,a=10,b=20;H1S湖南自考网_湖南自考本科_湖南自考报名_首页

  PP=&p; P=&a; P=&b; printf(“%d%d/n”,*p,* *PP);H1S湖南自考网_湖南自考本科_湖南自考报名_首页

  ①10, 20 ② 10, 10H1S湖南自考网_湖南自考本科_湖南自考报名_首页

  ③ 20, 10 ④ 20, 20H1S湖南自考网_湖南自考本科_湖南自考报名_首页

  “解”上述代码定义变量pp是指针的指针,它能指向一个指向整型变量的指针。定义变量p是指针,它能指向一个整型变量。a是一个整型变量,它有初值10.b也是一个整型变量,它有初值20.代码 pp=&p 使pp指向p,p=&a使p指向a,p=&b又使p指向b,不再指向a.所以。p是引用b,其值为20.* *pp是通过pp间接引用p,再通过p间接引用b,所以也是20.所以解答是④。H1S湖南自考网_湖南自考本科_湖南自考报名_首页

  13.若有以下定义和语句,则对w数组元素的非法引用是( )H1S湖南自考网_湖南自考本科_湖南自考报名_首页

  int w[2][3],(* pw)[3]; pw= w;H1S湖南自考网_湖南自考本科_湖南自考报名_首页

  ① *(w[0]+2) ②*pw[2]H1S湖南自考网_湖南自考本科_湖南自考报名_首页

  ③pw[0][0] ④*(pw[l]+2)H1S湖南自考网_湖南自考本科_湖南自考报名_首页

  “解”上述代码定义2行3列的二维数组w,定义能指向有3个整型元素一维数组的指针pw,并让pw指向数组w的第一行。①代码*(w[0]+2)中的w[0]是&w[0][0],w[0]+2是&w[0][2],所以*(w[0]+2)就是w[0][2].②代码*pw[2]中的pw[2]是&w[2][0],该数组w只有2行,没有w[2][0],所以代码*pw[2]是对数组W元素的非法引用。③代码pw[0][0]就是w[0][0].④代码*(pw[l]+2)中的pw[1]就是*(pw+l),即&w[l][0],pw[l]+2就是&w[l][2],所以*(pw[1]+2)就是w[1][2].所以解答是②。H1S湖南自考网_湖南自考本科_湖南自考报名_首页

  5.2 填充题H1S湖南自考网_湖南自考本科_湖南自考报名_首页

  1.“* ”称为___________运算符,“&”称为_________运算符。H1S湖南自考网_湖南自考本科_湖南自考报名_首页

  “解”单目运算符“*”称为取内容运算符,单目运算符“&”称为取地址运算符。H1S湖南自考网_湖南自考本科_湖南自考报名_首页

  2.若两个指针变量指向同一个数组的不同元素,可以进行减法运算和___________运算。H1S湖南自考网_湖南自考本科_湖南自考报名_首页

  “解”若两个指针变量指向同一个数组的不同元素,可以进行减法运算求它们所指元素相差多少元素。进行关系运算,判定它们所指元素的前后,或是否指向同一个元素等。H1S湖南自考网_湖南自考本科_湖南自考报名_首页

  3.设 int a[10] ,*p=a;则对a[3]的引用可以是p[______________] 和*(p_________)。H1S湖南自考网_湖南自考本科_湖南自考报名_首页

  “解”若指针p指向数组a的首元素,则引用a[3]用指针p可以写成p[3]和*(p+3)。H1S湖南自考网_湖南自考本科_湖南自考报名_首页

  4.若d是已定义的双精度变量,再定义一个指向d的指针变量p的代码是___________.H1S湖南自考网_湖南自考本科_湖南自考报名_首页

  “解”若d是一个双精度变量,定义能指向它的指针变量p可以用以下代码double *p=&d.H1S湖南自考网_湖南自考本科_湖南自考报名_首页

  5.&后跟变量名,表示该变量的_________;*后跟指针变量名,表示该指针变量_______.&后跟的是指针变量名,表示该指针变量的_____________.H1S湖南自考网_湖南自考本科_湖南自考报名_首页

  “解”单目运算符&是取地址运算符,&后跟变量名,就表示该变量的地址。单目运算符*是取内容运算符,*后跟指针变量名,表示该指针变量所指变量的内容。若&后跟的是指针变量名,就表示该指针变量的地址。若知道指针变量的地址,欲通过指针变量的地址引用指针变量所指变量的内容,需要连续两次取内容运算。H1S湖南自考网_湖南自考本科_湖南自考报名_首页

  6.设有char *a=“ABCD”,则printf(“%s”,a)的输出是_______;而printf(“%c”,*a)的输出是______.H1S湖南自考网_湖南自考本科_湖南自考报名_首页

  “解”若给字符指针变量a赋一个字符串常量“ABCD”,实际上是给a赋指向字符串常量首字符‘A’的指针。程序通过它访问字符串中的各字符。如用代码printf(“%s”,a) 输出这个字符串常量“ABCD”的字符列ABCD,用代码printf(“%c”,*a)输出a所指的字符 A.H1S湖南自考网_湖南自考本科_湖南自考报名_首页

  7.设有以下定义和语句,则*(*(p+2)+l)的值为__________.H1S湖南自考网_湖南自考本科_湖南自考报名_首页

  int a[3][2]={10,20,30,40,50,60},(*p)[2];H1S湖南自考网_湖南自考本科_湖南自考报名_首页

  p= a;H1S湖南自考网_湖南自考本科_湖南自考报名_首页

  “解”上述代码定义3行2列的二维数组a ,定义指向两个元素的一维数组指针p,并让p指向二维数组a的首行。则代码*(*(p+2)+l)中的p+2指向二维数组a的第2行a[2],*(p+2)指向a[2][o],*(p+2)+l指向a[2][l],*(*(p+2)+l)是引用a[2][l],其值是60.H1S湖南自考网_湖南自考本科_湖南自考报名_首页

  8.以下程序的功能是从键盘上输入若干个字符(以回车符作为结束)组成一个字符串存入一个字符数组,然后输出该字符数组中的字符串。请填空。H1S湖南自考网_湖南自考本科_湖南自考报名_首页

  # includeH1S湖南自考网_湖南自考本科_湖南自考报名_首页

  # includeH1S湖南自考网_湖南自考本科_湖南自考报名_首页

  main()H1S湖南自考网_湖南自考本科_湖南自考报名_首页

  { char str[81],*sptr;H1S湖南自考网_湖南自考本科_湖南自考报名_首页

  int i;H1S湖南自考网_湖南自考本科_湖南自考报名_首页

  for(i=0;i<80;i++)H1S湖南自考网_湖南自考本科_湖南自考报名_首页

  { str=getchar();if(str==‘/n’) break;}H1S湖南自考网_湖南自考本科_湖南自考报名_首页

  str=____________;H1S湖南自考网_湖南自考本科_湖南自考报名_首页

  sptr=str;H1S湖南自考网_湖南自考本科_湖南自考报名_首页

  while(* sptr) putchar(* sptr______________);H1S湖南自考网_湖南自考本科_湖南自考报名_首页

  }H1S湖南自考网_湖南自考本科_湖南自考报名_首页

  “解”从键盘输入字符行,通过循环逐一输入字符,当发现输入字符是换行符时,结束循环。为了使输入的字符列变成字符串,必须在输入字符列之后,原存储换行符的元素改为存储字符串的结束标记符,需用代码 str=‘/0’ ,所以在第一框填入代码‘/0’。当要将存于字符数组str中的字符串通过循环逐一输出字符串的字符时,可以用字符指针sptr,让sptr遍历整个字符串,每次循环时,输出sptr所指字符,并让sptr增1,即可用代码*sptr++实现,所以在第二框填入代码++.H1S湖南自考网_湖南自考本科_湖南自考报名_首页

  5.3 程序分析题H1S湖南自考网_湖南自考本科_湖南自考报名_首页

  1.阅读下列程序,写出程序的输出结果。H1S湖南自考网_湖南自考本科_湖南自考报名_首页

  main()H1S湖南自考网_湖南自考本科_湖南自考报名_首页

  {char *a[6]={“AB”,“CD”,“EF”,“GH”,U“,”KL“};H1S湖南自考网_湖南自考本科_湖南自考报名_首页

  int i;H1S湖南自考网_湖南自考本科_湖南自考报名_首页

  for(i=0;i<4;i++) printf(“%s”, a);H1S湖南自考网_湖南自考本科_湖南自考报名_首页

  printf(“/n”);H1S湖南自考网_湖南自考本科_湖南自考报名_首页

  }H1S湖南自考网_湖南自考本科_湖南自考报名_首页

  “解”程序定义了有六个元素的字符指针数组a ,数组a 的各元素指向字符率常量。H1S湖南自考网_湖南自考本科_湖南自考报名_首页

  程序的for循环遍历了a的前四个元素,用字符率输出格式,输出指针数组a前四个元素所指的字符串。所以程序输出: ABCDEFGH.H1S湖南自考网_湖南自考本科_湖南自考报名_首页

  2.阅读下列程序,写出程序的主要功能。H1S湖南自考网_湖南自考本科_湖南自考报名_首页

  main()H1S湖南自考网_湖南自考本科_湖南自考报名_首页

  { int i,a[l0],*p=&a[9] ;H1S湖南自考网_湖南自考本科_湖南自考报名_首页

  for(i=0;i<10;i++) scanf(“%d”,&d);H1S湖南自考网_湖南自考本科_湖南自考报名_首页

  for(; p>=a; p——) printf(“%d/n”,*p) ;H1S湖南自考网_湖南自考本科_湖南自考报名_首页

  }H1S湖南自考网_湖南自考本科_湖南自考报名_首页

  “解”程序定义了有10个元素的整型数组a,另定义指针变量p,并让它指向a的最后一个元素a[9].执行代码的第一个循环是顺序输人数组a的10个元素。第二个循环利用指针p逆序遍历数组a,将数组a的各元素逆序输出。所以程序的功能是输入10个整数,并逆序输出这10个整数。H1S湖南自考网_湖南自考本科_湖南自考报名_首页

 H1S湖南自考网_湖南自考本科_湖南自考报名_首页

H1S湖南自考网_湖南自考本科_湖南自考报名_首页

 

自考“高级语言程序设计”经典习题及答案(21)

    湖南自考网——致力于打造湖南自考网第一网,以努力服务于广大湖南自考学子、提供最全的湖南自考资讯为己任,发布湖南自考最新的新闻资讯,提供湖南自考专科湖南自考本科湖南自考报名湖南自考成绩查询等综合信息

 

湖南自考
相关文章
    无相关信息
湖南网站主页
湖南自考政策
自考30年大事
湖南自考专业
湖南自考问答
名家访谈
湖南自考故事
湖南自考院校
湖南自考大纲
自考复习方法
自考笔记串讲
自考应试技巧
湖南自考真题
湖南自考就业
湖南论文指导
湖南自考实践
湖南自考学位
自考成绩查询
自考考籍查询
自考学历查询


咨询QQ:137847917
13548661633(微信同号)