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

凯时app“高级语言程序设计”经典习题及答案(19)

凯时app“高级语言程序设计”经典习题及答案(19)

 

  8.编一个程序,输入一个整型数据,输出每位数字,其间用远号分隔。例如,输入整数为2345,则输出应为: 2, 3, 4, 5.lys湖南凯时app网_湖南凯时app本科_湖南凯时app报名_凯时app

  “解”程序的主要工作是从输入整数分拆出它的十进制整数的各位数字,将分拆出来的各位数字存于数组中,然后将这些数字自高位到低位的顺序逐位输出。要将一个整数按十进制数的要求分拆,需用一个循环,每次循环求出被分拆数除以10的余数的办法来求出它的个位,每分拆出一位就将被分拆的数除以10.循环过程直至被分拆的数为0结束。完整程序如下:lys湖南凯时app网_湖南凯时app本科_湖南凯时app报名_凯时app

  # includelys湖南凯时app网_湖南凯时app本科_湖南凯时app报名_凯时app

  main()lys湖南凯时app网_湖南凯时app本科_湖南凯时app报名_凯时app

  {int a[20],i,base=10;lys湖南凯时app网_湖南凯时app本科_湖南凯时app报名_凯时app

  int n;lys湖南凯时app网_湖南凯时app本科_湖南凯时app报名_凯时app

  printf(“Enter a number! /n”);lys湖南凯时app网_湖南凯时app本科_湖南凯时app报名_凯时app

  scanf(“%d”, &n);/*整数输入*/lys湖南凯时app网_湖南凯时app本科_湖南凯时app报名_凯时app

  i=0;/*对n进行分拆,各位数字自低位到高位存于数组 a*/lys湖南凯时app网_湖南凯时app本科_湖南凯时app报名_凯时app

  do{lys湖南凯时app网_湖南凯时app本科_湖南凯时app报名_凯时app

  a[i++]=n% base;lys湖南凯时app网_湖南凯时app本科_湖南凯时app报名_凯时app

  n/= base;lys湖南凯时app网_湖南凯时app本科_湖南凯时app报名_凯时app

  } while(n) ;lys湖南凯时app网_湖南凯时app本科_湖南凯时app报名_凯时app

  for(i——;i>=0;i——)/*自高位到低位输出*/lys湖南凯时app网_湖南凯时app本科_湖南凯时app报名_凯时app

  printf(“%d%c”,a, i? ‘,’ :“/n‘);lys湖南凯时app网_湖南凯时app本科_湖南凯时app报名_凯时app

  }lys湖南凯时app网_湖南凯时app本科_湖南凯时app报名_凯时app

  9.编一个程序,输入一个字符串,将其中所有的大写英文字母的代码+3,小写英文字母的代码-3.然后输出加密后的字符串。lys湖南凯时app网_湖南凯时app本科_湖南凯时app报名_凯时app

  “解”程序的主要工作是输入字符串,并顺序考察输入字符率中的字符,分别对其中大小写英文字母完成问题要求的更改,而跳过不是英文字母的字符。完整程序如下:lys湖南凯时app网_湖南凯时app本科_湖南凯时app报名_凯时app

  # includelys湖南凯时app网_湖南凯时app本科_湖南凯时app报名_凯时app

  # define N 200lys湖南凯时app网_湖南凯时app本科_湖南凯时app报名_凯时app

  main()lys湖南凯时app网_湖南凯时app本科_湖南凯时app报名_凯时app

  {char s[N]; int i;lys湖南凯时app网_湖南凯时app本科_湖南凯时app报名_凯时app

  printf(“Enter string! /n”);lys湖南凯时app网_湖南凯时app本科_湖南凯时app报名_凯时app

  scanf(“%s”, s);lys湖南凯时app网_湖南凯时app本科_湖南凯时app报名_凯时app

  for(i=0;s !=‘/0’; i++)lys湖南凯时app网_湖南凯时app本科_湖南凯时app报名_凯时app

  if(s >=‘A’ && s=‘Z’)lys湖南凯时app网_湖南凯时app本科_湖南凯时app报名_凯时app

  s=3;lys湖南凯时app网_湖南凯时app本科_湖南凯时app报名_凯时app

  else if(s=‘a’&& s=‘z’ )lys湖南凯时app网_湖南凯时app本科_湖南凯时app报名_凯时app

  s=3;lys湖南凯时app网_湖南凯时app本科_湖南凯时app报名_凯时app

  printf(“s=%s/n”,s);lys湖南凯时app网_湖南凯时app本科_湖南凯时app报名_凯时app

  }lys湖南凯时app网_湖南凯时app本科_湖南凯时app报名_凯时app

  10.编一个程序,将按第9题中加密的字符率(从键盘输入)解密后输出。lys湖南凯时app网_湖南凯时app本科_湖南凯时app报名_凯时app

  “解”本问题编写的程序是完成上一程序的逆操作。同样是顺序考察输入字符串,对满足要求的字符作恢复更改。要求是当字符减3后是大写英文字母时,则对其作减3处理的替换;当字符加3后是小写英文字母时,则对它作加3的处理。如此做法是有错误的,程序未考虑原lys湖南凯时app网_湖南凯时app本科_湖南凯时app报名_凯时app

  先不是英文字母,而未被加3或减3处理,但对它减3或加3后是英文字母时,将被下面的程序转换成英文字母。所以下面的程序不是完成上题程序的逆操作。但没有简单的办法能避免这个错误。完整程序如下:lys湖南凯时app网_湖南凯时app本科_湖南凯时app报名_凯时app

  # includelys湖南凯时app网_湖南凯时app本科_湖南凯时app报名_凯时app

  # define N 200lys湖南凯时app网_湖南凯时app本科_湖南凯时app报名_凯时app

  main()lys湖南凯时app网_湖南凯时app本科_湖南凯时app报名_凯时app

  {char s[N]; int i;lys湖南凯时app网_湖南凯时app本科_湖南凯时app报名_凯时app

  printf(“Enter string!/n”);lys湖南凯时app网_湖南凯时app本科_湖南凯时app报名_凯时app

  scanf(“%s”,s);lys湖南凯时app网_湖南凯时app本科_湖南凯时app报名_凯时app

  for(i=0;s !=‘/0’;i++)lys湖南凯时app网_湖南凯时app本科_湖南凯时app报名_凯时app

  if(s-3>=‘A’&&s-3<=‘Z’)lys湖南凯时app网_湖南凯时app本科_湖南凯时app报名_凯时app

  s-=3;lys湖南凯时app网_湖南凯时app本科_湖南凯时app报名_凯时app

  else if(s+3>=‘a’ && s+3<= ‘Z’)lys湖南凯时app网_湖南凯时app本科_湖南凯时app报名_凯时app

  s+=3;lys湖南凯时app网_湖南凯时app本科_湖南凯时app报名_凯时app

  printf(“s=%s/n”,s);lys湖南凯时app网_湖南凯时app本科_湖南凯时app报名_凯时app

  }lys湖南凯时app网_湖南凯时app本科_湖南凯时app报名_凯时app

  5.1 单项选择题lys湖南凯时app网_湖南凯时app本科_湖南凯时app报名_凯时app

  1.设有定义“int a=3, b,*p=&a;”,则下列语句中使 b不为3的语句是( )lys湖南凯时app网_湖南凯时app本科_湖南凯时app报名_凯时app

  ① b=* &a; ② b=* p;lys湖南凯时app网_湖南凯时app本科_湖南凯时app报名_凯时app

  ③ b=a; ④ b=*a;lys湖南凯时app网_湖南凯时app本科_湖南凯时app报名_凯时app

  “解”定义有 int a=3, b,*p=&a;对b赋值的表达式有*&a、*p、a 、*a.引用变量。的值有两种方法,一是直接引用a,二是通过a的指针间接引用a.对于后者,又有多种表达方法,通过指向a的指针p,间接引用a的内容,如*p.或通过求地址运算符由变量a得到其指针&a,再由这指针表达式间接引用 a的内容,如* &a.所以表达式*&a、*p和a都能引用变量a的值,而使b的值为3.而表达式。a是错误的,因为a不是指针变量,不能对它施行取内容运算符……所以解答是④。lys湖南凯时app网_湖南凯时app本科_湖南凯时app报名_凯时app

  2 .设指针x指向的整型变量值为万,则“printf(”%d/n“,++ *x);”的输出是( )lys湖南凯时app网_湖南凯时app本科_湖南凯时app报名_凯时app

  ① 23 ② 24 ③ 25 ④ 26lys湖南凯时app网_湖南凯时app本科_湖南凯时app报名_凯时app

  “解”若指针变量x指向某个变量,例如指向变量v,并且变量v的值是25,则表达式++ *x的值是26.这是因为表达式的计算顺序可加圆括号表达成(++(*x)),首先是*x,是对X所指变量V的引用,所以++ *X就是++V.++V是先让变量V增1,并以增至后的V的值为表达式++V的结果,所以其值是 26.所以解答是④。lys湖南凯时app网_湖南凯时app本科_湖南凯时app报名_凯时app

  3.若有说明:“ int i,j= 7,*p=&i;”,则与“ i=j;”等价的语句是( )lys湖南凯时app网_湖南凯时app本科_湖南凯时app报名_凯时app

  ①i=*p; ②*P=* &j;lys湖南凯时app网_湖南凯时app本科_湖南凯时app报名_凯时app

  ③i==&j; ④i=* *p;lys湖南凯时app网_湖南凯时app本科_湖南凯时app报名_凯时app

  “解”指针变量 p指向变量i时,表达式i=*p等价于 i=i;表达式*p=*&j等价于i=j;而表达式i=&j企图将整型变量的指针赋给整型变量,这是错误的;表达式i=* *p也是一种错误的表达式。p是指针,*p是p所指变量j,* *p是企图将整型变量j当作指针,并想通过j间接引用某个变量。所以解答是②。lys湖南凯时app网_湖南凯时app本科_湖南凯时app报名_凯时app

 lys湖南凯时app网_湖南凯时app本科_湖南凯时app报名_凯时app

lys湖南凯时app网_湖南凯时app本科_湖南凯时app报名_凯时app

 

凯时app“高级语言程序设计”经典习题及答案(19)

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

 

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


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

w66利来国际 w66利来国际 w66利来国际 w66利来国际 w66利来国际