当前位置: 首页 > news >正文

西宁网站设计建设石家庄网站建设seo公司

西宁网站设计建设,石家庄网站建设seo公司,购物车按钮颜色wordpress,自己可以做装修效果图的网站知识要点:字符数组 视频: P4-3【应用数组进行程序设计 | 第三节】——知识要点:字符数组 目录 一、任务分析 二、必备知识与理论 三、任务实施 一、任务分析 本任务要求输入一行字符,统计其中的单词数,单词之间用…

知识要点:字符数组

视频:

P4-3【应用数组进行程序设计 | 第三节】——知识要点:字符数组

目录

一、任务分析

二、必备知识与理论

三、任务实施


一、任务分析

本任务要求输入一行字符,统计其中的单词数,单词之间用空格隔开。

1.输入一行字符,将这一行字符放到一个一维的字符数组中;

2.先从字符数组中读取一个字符赋给某个字符变量,然后再判断它是不是结束符;

3.下面就是判断新单词出现没有的算法问题了,新单词出现,计数器的值加1,新单词没出现,计数器的值不变。

二、必备知识与理论

1.字符数组的定义和引用

用来存放字符数据的数组是字符数组。字符数组中的一个元素存放一个字符。

(1)字符数组的定义

char 数组名[下标];

例如:char c[10];

字符是以ASCII码的形式存储在内存中,字符数组的任一元素相当于一个字符变量。

由于字符型与整型是互相通用的,因此上面的定义也可改为:

int c[10];

和数值数组一样,字符数组也可以是二维或多维数组。例如:

char e[8][9];

(2)字符数组的引用

可以引用字符数组中的一个元素,得到一个字符。

2.字符数组的初始化

字符数组的初始化和数值型数组初始化的规则一样。

对字符数组初始化,最容易理解的方式是将字符逐个赋给数组中各元素。例如:

char c[10]={ 'V','e','r','y',’','g','o','o','d','!' };

把10个字符依次赋值给c[0]到c[9]的10个元素。

3.字符串和字符串结束标志

在C语言中,不提供字符串数据类型,字符串是存放在字符数组中的。C语言规定:以'\0'作为字符串结束标志。因此,在用字符数组存放字符串时,系统会自动在最后一个字符后加上结束标志'\0',表示字符串到此结束。这样在定义字符数组时,数组长度至少要比字符串中字符个数多1,以便保存字符'\0'。

4.字符数组的输入、输出

关于字符数组的输入/输出,有两种方法:

(1)单个字符输入输出:

①用标准输入输出函数scanf()和printf(),使用格式符"%c",实现输入或输出一个字符。

②用单个字符输入输出函数getchar()和putchar()。

(2)整个字符串输入输出:

①用标准输入输出函数scanf()和printf(),使用格式符"%s",实现整个字符串一次性的输入或输出。

②用gets()函数和puts()函数实现字符串的输入输出。

格式:gets(字符数组名)

作用:从终端读入一个字符串到字符数组,直到遇到换行符,换行符不进入字符串, 它被转换为'\0',并作为字符串的结束标志。

格式:puts(字符数组名或字符串常量)

作用:将一个字符串(必须以'\0'作为结束标志)输出到终端,一次只能输出一个字符串。

scanf()函数和printf()函数的输入输出项是字符数组名,而不是数组元素名。

注意:用puts和gets函数只能输入或输出一个字符串,不能写成:puts(str1,str2)或gets(strl,str2)。

5.字符串处理函数

在C的函数库中提供了一些关于字符串的函数,使得处理字符串的操作十分简单方便。几乎所有版本的C都提供这些函数。这里介绍几种常用的字符串处理函数,字符串处理函数原型在string.h中。

(1)字符串长度测试函数strlen

格式:strlen(字符数组)

(2)字符串连接函数strcat

格式:strcat(字符数组1,字符数组2)

(3)字符串拷贝函数strcpy 

格式:strcpy(字符数组1字符串2)

(4)字符串比较函数strcmp

格式:strcmp(字符串1,字符串2)

(5)大写字母转换成小写字母函数strlwr

格式:strlwr(字符串)

(6)小写字母转换成大写字母函数strupr

格式:strupr(字符串)

三、任务实施

输入一行字符,统计其中有多少个单词,单词之间用空格分隔开。

算法分析:

(1)程序中变量i作为循环变量,num用来统计单词个数,word作为判别是否单词的标志。若word=0表示未出现单词,如出现单词word就置成1。

(2)解题的思路是这样的:单词的数目可以由空格出现的次数决定(连续的若干个空格作为出现一次空格;一行开头的空格不统计在内)。如果测出某一个字符为非空格,而它的前面的字符是空格,则表示“新的单词开始了”此时使num(单词数)累加1。如果当前字符为非空格而其前面的字符也是非空格,则意味着仍然是原来那个单词的继续,num不应再累加1。前面一个字符是否空格可以从word的值看出来,若word=0,则表示前一个字符是空格,如果word=1,表示前一个字符为非空格。

#include <stdio.h>
main()
{char string[80];int i,num=0,word=0;char c;gets(string);for(i=0;(c=string[i])!='\0';i++)if(c==' ') word=0;else if(word==0){ word=1;
num++; }
printf("There are %d words in the line.\n",num);
}

运行情况如下:

This is a c program.↙

There are 5 words in the line.

程序中for语句中的“循环条件”为

      (c=string[i])!='\0'

它的作用是先将字符数组的某一元素(一个字符)赋给字符变量c。此时赋值表达式的值就是该字符,然后再判定它是否结束符。这个“循环条件”包含了一个赋值操作和一个关系运算。可以看到用for循环可以使程序简练。

http://www.mmbaike.com/news/69360.html

相关文章:

  • 常德微网站开发自己如何开网站
  • 创意互动 网站建设如何用百度平台营销
  • 静态网站如何做优化自媒体seo优化
  • 如何做日系风格的网站徐州做网站的公司
  • wordpress 近期文章代码宁波seo排名优化
  • 网站建设设计官网谷歌seo服务
  • 做装潢网站t和p在一起怎么做网站
  • 专业的高密网站建设长安seo排名优化培训
  • 网站首页百度收录怎么做百度热词指数
  • 长春做网站公司长春网站排名上海网站建设方案
  • 深圳龙岗最新疫情内蒙古seo
  • 没有备案的网站可以做淘宝客网站维护合同
  • 淄博外贸网站制作青岛seo推广
  • 免费网站建设 优帮云品牌推广专员
  • 个人网站备案怎么做百度业务推广
  • 郑州网站建设专家怎么让百度收录网站
  • 大埔做网站百度公司简介介绍
  • 医院网站建设策划河南搜索引擎优化
  • dw网站制作中山网站建设公司
  • 网站中怎么做图片的变换南京seo排名优化公司
  • 台湾设计师网站免费域名注册服务网站
  • 蔚县做网站关键词推广seo
  • 谷城今日疫情百度快速收录seo工具软件
  • 河南网站备案地址软文写作什么意思
  • 做区块链网站的公司新闻头条今日要闻国内新闻最新
  • mysql做网站怎么查看数据营销策略从哪几个方面分析
  • 网站做政务网站策划是做什么的
  • 网站建设进展报告百度搜索排行榜风云榜
  • 杭州哪家公司做网站好没经验怎么开广告公司
  • 国内公关公司排名襄阳seo推广