当前位置: 首页 > 编程日记 > 正文

【C语言】学习笔记3——字符串

1. 字符串(charcacter string)是一个或多个字符的序列

2. C语言没有专门用于存储字符串的变量类型。字符串都被存储在char类型的数组种。

3. 数组由连续的存储单元组成,字符串种的字符被存储在相邻的存储单元中, 每个单元存储一个字符。结尾会

4. 声明一个char变量和声明一个char数组

5. 使用字符串。 下面的示例程序中我们可以看到:

a. 字符串 "yeyeck" 被存储在一个长度为40的char数组中  char name[40];

b. sizeof(name) = 40           输出的是声明时char数组的大小。

c. strlen(name) = 6              输出的时实际上“yeyeck”所占用的大小

另外, scanf() 方法只会读取第一个单词。fgets() 用于读取一般的字符串

#include <string.h>             //提供strlen() 函数原型 #define DENSITY 62.4            // 人体密度 (单位: 磅/立方英尺) int main() 
{float weight, volume;int size, letters;char name[40];     //声明一个可容纳40个字符的数组
    printf("Hi! What's your first name?\n");scanf("%s", name);printf("%s, what's your weight in pounds?\n", name);scanf("%f", &weight);size = sizeof(name);letters = strlen(name);volume = weight / DENSITY;printf("Well, %s, your volume is %2.2f cubic feet.\n", name, volume);printf("Also, your first name has %d letters,\n", letters);printf("and we have %d bytes to store it.\n", size);return 0;} 
/*
output:Hi! What's your first name?yeyeckyeyeck, what's your weight in pounds?100Well, yeyeck, your volume is 1.60 cubic feet.Also, your first name has 6 letters,and we have 40 bytes to store it.
*/

3. 字符串常量和字符常量的区别。字符串末尾会跟一个空字符\0

4. 常量和预处理器。在程序中经常要使用到常量。比如说圆周率 Π。

a. 我们可以在程序中声明变量     float pi = 3.14159

b. 如果我们这样使用,因为 pi 是一个变量,在写代码的过程中如果不注意,可能会修改 pi 的值。 比如不小心写了一行代码 pi=31.456. 这是我们不想要的结果。

c. 使用C预处理器, 在程序顶部添加一行代码

#define PI 3.14159

在编译程序时,程序中所有的 PI 会被替换成3.14159。这一过程被称为 编译时替换

通用格式为  # define NAME value。

预处理的过程如下图

d. 使用const限定符(C90)。 const float PI = 3.14159;

这表明 PI 为一个只读常量。 不允许更改

5. printf 输出格式

转载于:https://www.cnblogs.com/yeyeck/p/9497086.html

相关文章:

Facebook 的AI翻身之战!

作者 | Michael K. Spencer译者 | 王艳妮&#xff0c;责编 | 屠敏出品 | CSDN&#xff08;ID&#xff1a;CSDNnews&#xff09;Facebook最近举办了F8会议&#xff0c;这是了解这个平台未来发展的绝佳机会。 F8是Facebook的年度开发者大会——一个为期数日的活动&#xff0c;期间…

【Linux驱动】ThinkPad笔记本wifi模块rtl8821ce在ubuntu16.04的驱动(默认没有)

0、wifi模块型号 在win10下设备管理器中查看&#xff0c;型号为&#xff1a;Realtek 8821CE Wireless LAN 802.11ac PCI-E NIC 1、问题描述 在ThinkPad上安装win10ubuntu16.04双系统后&#xff0c;在win10下wifi可以正常使用&#xff0c;但是在ubuntu下没有wifi列表。 2、…

关于Linux的inode和dentry的一组文章

先mark一下&#xff0c;有时间再看。 http://www.ruanyifeng.com/blog/2011/12/inode.htmlhttp://teaching.idallen.com/dat2330/04f/notes/links_and_inodes.htmlhttp://www.thegeekstuff.com/2012/01/linux-inodes/http://blog.chinaunix.net/uid/7828352/frmd/-1.htmlhttp:/…

为什么Rust连续4年获“最受喜爱编程语言”?

作者 | Mike Tang责编 | Aholiab出品 | 区块链大本营&#xff08;blockchain_camp)2015年5月15日&#xff0c;Rust编程语言核心团队正式宣布发布Rust 1.0版本。4年来&#xff0c;它优雅的解决高并发和高安全性系统问题的能力&#xff0c;受到了越来越多开发者的喜爱。并且连续4…

【Windows】清除win10开始菜单中失效打程序标签

1、问题描述 安装新版本Qt程序&#xff0c;卸载旧版本Qt后&#xff0c;在开始菜单中&#xff0c;还有残留&#xff0c;但是已经失效&#xff0c;需要删除这些失效的程序标签。 2、显示隐藏文件夹 打开此电脑——查看——勾选“隐藏项目”&#xff1a; 3、删除失效的程序标签…

解析equals(Object obj)和compareTo(T obj)

背景&#xff1a;最近在研究静态扫描的东西&#xff0c;遇到一个规则&#xff1a;"equals(Object obj)" should be overridden along with the "compareTo(T obj)" method 然后就想深度扒一扒equals和compareTo有什么区别 1.java.lang.Object是所有类的父类…

安装和部署Exchange Server 2007

为什么Exchange Server 2007使用服务器角色? 简化部署和管理 增强可扩展性 改进安全性 见下图:什么是邮箱服务器角色? 邮箱服务器角色: 存储用户邮箱和公共文件夹 通过群集, LCR, CCR实现高可用性 并不在邮箱之间转输邮件邮箱服务器: 不应该能从Internet直接访问 必须是活动…

AI时代,中国技术创新如何弯道超车?

2019 年 5 月 26 日 - 27 日&#xff0c;杭州国际博览中心&#xff0c;由工信部人才交流中心指导&#xff0c;CSDN 和数字经济人才发展中心主办的 CTA 核心技术及应用峰会圆满落下帷幕。本次大会聚焦机器学习、知识图谱等 AI 领域的热门技术&#xff0c;关注技术在行业中的实践…

【TX2】英伟达Nvidia TX2连接蓝牙设备

1、问题描述 买了一个蓝牙键盘&#xff08;航世B.O.W 折叠键盘HB099&#xff0c;200大洋&#xff09;&#xff0c;尝试在连接TX2的蓝牙&#xff0c;试试好使不 2、安装蓝牙 Blueman 是一个适合在 GNOME 桌面环境使用的图形化蓝牙管理工具。 sudo apt-get install blueman b…

usermod

功能说明&#xff1a;用于修改系统已经存在的用户账号信息。 参数选项&#xff1a;-c comment 修改用户password文件中用户说明栏&#xff0c;同useradd -c功能。-d home_dir 修改用户每次登入时所使用的家目录&#xff0c;同useradd -d功能。-e expired_date 修改用户终止日期…

asp.net 获取当前时间的格式

在平时的编程中&#xff0c;经常会用到获取当前的系统时间&#xff0c;格式也很特定&#xff0c;今天就把一些格式整理了一下&#xff0c;贴出来&#xff0c;以便以后的使用。 //获取日期时间 DateTime.Now.ToString(); // 2008-9-4 20:02:10 DateTime.Now.ToLocalT…

史上最大规模ACL大会放榜,百度10篇NLP论文被录用!

近日&#xff0c;自然语言处理&#xff08;NLP&#xff09;领域的国际顶级学术会议“国际计算语言学协会年会”&#xff08;ACL 2019&#xff09;公布了今年大会论文录用结果。根据 ACL 2019 官方数据&#xff0c;今年大会的有效投稿数量达到 2694 篇&#xff0c;相比去年的 15…

【Ubuntu】安装Ubuntu+Win双系统后,每次开机默认是进入Ubuntu,如何设置成默认进入Win?

1、问题描述 安装UbuntuWin双系统后&#xff0c;每次开机默认是进入Ubuntu&#xff0c;如何设置成默认进入Win&#xff1f; 2、解决方法 1&#xff09;记住开机选择中windows 10是第几个&#xff0c;从0开始记&#xff0c;如下图本人的是4 2&#xff09;进入ubuntu系统&am…

MFC 多线程及线程同步

一、MFC对多线程编程的支持 MFC中有两类线程&#xff0c;分别称之为工作者线程和用户界面线程。二者的主要区别在于工作者线程没有消息循环&#xff0c;而用户界面线程有自己的消息队列和消息循环。  工作者线程没有消息机制&#xff0c;通常用来执行后台计算和维护任务&…

太火!这本AI图书微软强推,程序员靠它拿下50K!

如何能够短时间内抓住技术重点&#xff0c;集中突击&#xff1f;如何不在惧怕“算法”&#xff1f;如何才能在面试中对答如流&#xff0c;打造属于自己的“offer收割机”&#xff1f;也许这本书——《百面机器学习 算法工程师带你去面试》就能帮你实现&#xff01;《百面机器学…

【Qt】错误处理:error: undefined reference to `qMain(int, char**)‘

1、问题描述 在一次编译Qt项目时,报错 H:\Qt\Qt5.14.2\5.14.2\mingw73_32\lib\libqtmain.a(qtmain_win.o):-1: In function `WinMain@16: C:\Users\qt\work\qt\qtbase\src\winmain\

Android WebView与ViewPager的滑动冲突分析

前言 如题所述&#xff0c;我使用的架构是ViewPagerFragmentWebView进行开发的&#xff0c;由于WebView的html页面代码是第三方的&#xff0c;这里不好放出来&#xff0c;所以只能放一个大致的架构图&#xff0c;如图所示&#xff0c;ViewPager包含了两个fragment,可以左右滑动…

关于outlook2010帐户设置

安装了office2010后&#xff0c;首次使用outlook&#xff0c;关于帐户设置&#xff0c;以qq邮件为例 开启imap服务2.打开outlook2010软件 由于有文字限制&#xff0c;其他的图解请链接http://wlinfang.blog.51cto.com/2961560/902193转载于:https://blog.51cto.com/wlinfang/90…

如何构建可解释的推荐系统?| 深度

作者 | gongyouliu来源 | 大数据与人工智能&#xff08;ID&#xff1a;ai-big-data&#xff09;推荐系统的目标是为用户推荐可能会感兴趣的标的物。通过算法推荐达到节省用户时间、提升用户满意度、为公司创造更多的商业价值的目的。要想达到这个目的就需要让用户信任你的推荐系…

【Qt】获取、比较Qt版本的宏和函数

1、版本号宏定义 版本号宏定义在QtCore\qconfig.h中,以Qt5.14.2为例 #define QT_VERSION_STR "5.14.2" #define QT_VERSION_MAJOR 5 #define QT_VERSION_MINOR 14 #

Spring Cloud企业微服务分布式云架构技术点整合

spring cloud本身提供的组件就很多&#xff0c;但我们需要按照企业的业务模式来定制企业所需要的通用架构...下面我针对于spring cloud微服务分布式云架构做了以下技术总结&#xff0c;希望可以帮助到大家&#xff1a;View&#xff1a; H5、Vue.js、Spring Tag、React、angular…

学习 JS navigator 对象

集合描述IEFOplugins[] 返回对文档中所有嵌入式对象的引用。 该集合是一个 Plugin 对象的数组&#xff0c;其中的元素代表浏览器已经安装的插件。Plug-in 对象提供的是有关插件的信息&#xff0c;其中包括它所支持的 MIME 类型的列表。 虽然 plugins[] 数组是由 IE 4 定义的&am…

【Ubuntu】解决ubuntu系统root用户下Chrome无法启动问题

1、问题描述 ubuntu系统在root用户下无法启动Chrome&#xff0c;报错&#xff1a; Running as root without --no-sandbox is not supported. See https://crbug.com/6381802、解决方法 如果是用命令行启动&#xff0c;启动时加上参数“–no-sandbox”即可&#xff1b; 如果…

程序媛眼中的程序猿原来是这样子的!

2019独角兽企业重金招聘Python工程师标准>>> 一直都想写一篇关于描述程序员的文章&#xff0c;但是一直没能开头&#xff0c;一来因为文笔不好&#xff0c;更主要的原因是貌似对程序员既熟悉又不熟悉&#xff0c;很怕写出来的是以偏概全&#xff0c;给大家造成对程序…

TinyMind人工智能社区5月热门技术文章排行榜TOP15

本文整理了TinyMind人工智能社区&#xff08;https://www.tinymind.cn/&#xff09;5月文章排行榜TOP15,欢迎大家阅读收藏。 1、谈谈Python那些不为人知的冷知识 https://www.tinymind.cn/articles/4158 此文章为系列文章&#xff0c;全集请看【Python冷知识】专辑 https://…

任意排列、组合终极Shell脚本

2019独角兽企业重金招聘Python工程师标准>>> 作者&#xff1a;crulat 永夜 #!/bin/bash # permutation_combination.sharg0-1 number${2} eval ary({1..${1}}) length${#ary[]} output(){ echo -n ${ary[${!i}]}; } prtcom(){ nsloop i 0 number1 output ${}; echo…

刚刚!我被产品小姐姐的笔记本深深吸引了....

今天我看到产品小姐姐的一个东西&#xff0c;我惊呆了&#xff0c;因为我好像看到了黑科技&#xff0c;事情是这个样子的....由于加班写代码&#xff0c;在比较疲劳的时候&#xff0c;就站起来随意的在办公室里走走&#xff0c;放松一下自己的脑神经。走到一个产品小姐姐身边&a…

【Qt】解决在linux上使用Qt的媒体模块(Qt += multimedia)缺少模块multimedia的问题

1、问题描述 在ubuntu上使用QAudioInput、QAudioOutput等音频相关的类时&#xff0c;报错。 2、解决方法 1&#xff09;在pro工程文件中添加了 Qt multimedia 2&#xff09;安装multimedia模组 sudo apt install libqt5multimedia* qtmultimedia5-*

设计模式之五 责任链模式(Chain of Responsibility)

2019独角兽企业重金招聘Python工程师标准>>> 一. 场景 相信我们都有过这样的经历&#xff1b; 我们去职能部门办理一个事情&#xff0c;先去了A部门&#xff0c;到了地方被告知这件事情由B部门处理&#xff1b; 当我们到了B部门的时候&#xff0c;又被告知这件事情已…

django 中文乱码或不识别

django是一个不错的WEB开源框架。今天测试&#xff0c;发现有些页面中文乱码&#xff0c;肯定是编码哪儿出了问题。 django配置要修改项目根目录的settings.py中的&#xff1a; TIME_ZONE America/Chicago LANGUAGE_CODE en-us 替换成&#xff1a; TIME_ZONE Asia/Shanghai …