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

企业制作企业网站唐山建设网站

企业制作企业网站,唐山建设网站,网站开发方案模板,网站实名认证需要什么《Programming Abstractions In C》学习第52天,p130-p131,总结如下: 一、技术总结 1. pig latin game 通过pig latin game掌握字符复制,指针遍历等操作。 /** 输入:字符串,这里采用书中坐着自定义的get…

《Programming Abstractions In C》学习第52天,p130-p131,总结如下:

一、技术总结

1. pig latin game

通过pig latin game掌握字符复制,指针遍历等操作。

/** 输入:字符串,这里采用书中坐着自定义的getline函数*/
#include <stdio.h>
#include <string.h>
#include "simpio.h"#define MaxWord 1000static _Bool IsVowel(char ch); // 书中p34, if适用于非此即彼的两种选择(two-way);如果有多个,那么就使用switch。
static void PigLatin(char *word, char buffer[], int bufferSize);static char *FindFirstVowel(char *word); // *表示函数FindFirstVowel返回一个指向char的指针int main() {char *word;char translationBuffer[MaxWord + 1];printf("Enter a word: ");word = GetLine();PigLatin(word, translationBuffer, MaxWord + 1);printf("Pig Latin: %s\n", translationBuffer);
}/** Function:IsVowel* Usage: isVowel = IsVowel(character)* -----------------------------------* 该函数判断字符是否是元音字母,如果是,返回True,否则返回False。*/
_Bool IsVowel(char ch) {switch (ch) {case 'A':case 'E':case 'I':case 'O':case 'U':case 'a':case 'e':case 'i':case 'o':case 'u':return TRUE;default:return FALSE;}
}/** Function: PigLatin* Usage: PigLatin(word, buffer, bufferSize);* ------------------------------------------* This function translate a word from English to Pig Latin. The* translated word is written into the array buffer, which has an* allocated size of bufferSize. The code checks for buffer* overflow and generate an error if it occurs.*/static void PigLatin(char *word, char buffer[], int bufferSize) {char *vp;int wordLength;vp = FindFirstVowel(word);wordLength = strlen(word);if (vp == word) {wordLength += 3;} else if (vp != NULL) {wordLength += 2;}if (wordLength >= bufferSize) {Error("Buffer overflow");}if (vp == NULL) { // 单词中不存在元音字母:不做任何修改strcpy(buffer, word);} else if (vp == word) { // 单词以元音字母开头: 在单词末尾添加way(示例:any > anyway)strcpy(buffer, word);strcat(buffer, "way");} else {// 单词以辅音字母开头: (1)将辅音字母移动到单词尾部,直到第一个字母是元音字母。// (2)移动完成后,在单词尾部添加ay(示例:trash > ashtray)strcpy(buffer, vp);strncat(buffer, word, vp - word);strcat(buffer, "ay");}
}/** FindFirstVowel: 找出单词中的第一个元音字母*/
static char *FindFirstVowel(char *word) {char *cp; // 将原来的指针赋值给新的指针,避免原来的指针被修改// 遍历指针for (cp = word; *cp != '\0'; cp++) { // 注意:在这里*cp表示的是值if (IsVowel(*cp)) {return cp; // 注意:cp++移动之后,cp指向的地址改变了}}return NULL; // 如果找不到,则返回空指针(NULL)
}

完整代码见:https://github.com/codists/Programming-Abstractions-In-C/tree/main/chapter3/piglatingame

二、英语总结

1.check用法分析

答:p130,“The code checks for buffer overflow and gennerates an error if it occurs.”,记忆中check是及物动词,这里为何会跟for?check既可以用作及物动词(vi),也可以用作不及物动词(vt),意思是"to make certain that sth is corret by examinming it.”。

(1)vt.对xxx进行检查。示例:Customs stopped us and checked (= searched) our bags for alcohol and cigarettes(海关拦住了我们,检查我们的包里有没有烟酒)。

(2)vi.例如书中的用法。其实也可以改成及物动词的用法,The code check string length and buffersize for buffer overflow and gennerates an error if it occurs.代码对字符串的长度和buffer的大小进行检查(即判断字符串的长度与buffersize的大小关系),看是否存在缓冲区溢出的情况,如果存在,就报错。

2.up to 什么意思?

答:p129, “If the word begins with the consonant, the function extracts the string of consonant up to the first vowel, moves that collection of consonant to the end of the word”。

“up to”在这里的用法是“prep. until(直到)”,这里是两个词式的介词。

3.concern 什么意思?

答:p131, “Almost half the code in the function, however, is concerned with making sure that the buffer does not overflow.”,concern在这里的意思是“vt. about”。

三、参考资料

1. 编程

(1)Eric S.Roberts,《Programming Abstractions in C》:https://book.douban.com/subject/2003414

2. 英语

(1)Etymology Dictionary:https://www.etymonline.com

(2) Cambridage Dictionary:https://dictionary.cambridge.org

欢迎搜索及关注:编程人(a_codists)

http://www.yayakq.cn/news/159404/

相关文章:

  • 怎么做带网站连接的表格做房产的网站排名
  • 婚庆网站建设必要性做名片用哪个网站
  • 无锡网站的优化项城网站建设
  • xamp wordpress新上线的网站怎么做优化
  • 高质量的常州网站建设app界面怎么制作的
  • 王建设的网站互联网公司图片
  • 怎么更改网站备案信息中国建设工程造价管理系统
  • wordpress向登录页面跳转嘉兴优化网站价格
  • 网站开发2019商城建设网站
  • 国内知名网站建设伺普陀企业网站建设
  • 深圳网站设计 公司o2o商城网站建设
  • 网站建设对电子商务中的作用电子商务的理解
  • dhl做单网站wordpress变的很卡
  • 内江市住房和城乡建设局网站电话号码wordpress 修改代码
  • 制作个网站多少钱做网站设计工作的报告
  • 设计网站页面要怎么切图引流量的网站
  • 徐州经济开发区网站南昌画册设计公司
  • 青岛网站优化价格提供网站建设工具
  • 新绛做网站公司做的网站如何开启伪静态
  • 性价比高的网站建设wordpress模板文件命名
  • 做一个15页的网站怎么做wordpress多导航栏
  • 哈尔滨做网站搭建的石排网站设计
  • 青岛 网站科技公司网易企业邮箱邮件怎么撤回
  • 小型教育网站的开发建设开题报告广德县建设协会网站
  • 高密做网站的价格建设电影网站视频素材
  • 门户网站如何做谷歌seo服务器和域名有免费申请
  • ppt模板网站源码网页美工设计需求说明
  • 微网站开发微网站建设WordPress 移动文件夹
  • 网站建设销售是做什么的动态倒计时网站模板
  • 新手快速建设网站wordpress生成推广链接