C语言复习8——字符串z

前言


1.字符型变量char

  1. char类型1个字节,8位,如果看作整数就是数值型变量;看作字符就是字符型变量;
  2. 作为字符型char变量初始化可以用' ',引号内表示字符,也可以用数字(对应ASCⅡ表即可)
  3. 注意字符型变量只能存放一位字符
  4. char类型输出字符用%c,输出十进制数字(表)%d

2.字符串数组

  1. 字符串数组和数值数组不同的标志在于字符串数组是以数字0来结尾,'\0'=0(表中就是0),不是'0'(这个0在表中十进制48);这也导致了字符数组实际的大小要比字符数多一个
  2. 初始化字符数组可以使用双引号直接初始化,编译器自动在末尾补0;
  3. 定义时 char *p="xxxxx"与char p\[\]="xxxx"
  4. 第一种定义的不可以修改(只读);第二种的可以修改
  5. 单个字符输出%c,字符串输出%s
  6. 字符串数组输入scanf有多种情况:①如果是纯scanf("%s",p)那么开始就是第一个非空白位置,结束在(空格、tab或者回车)这些位置结束,超出位置了也不管就有多少读多少; ②%ns:表示最多读多少个字符,这里的人要认为规定比字符串数组的个数小1;
  7. 对于第一种%s形式,按照空白区分字符串,如果是连续读取的话,输入一段话xxx xxx xxxxxx中间有空白,然后scanf("%s%s%s",s1,s2,s3),按照空格分配
  8. 如果第二种不管空格在哪,第一个只能对n1个字符,剩下的第二个字符串读n2个字符串,没读完就不管了,如果不够也没事,因为ns只是说最多读n个
  9. 如果输入的小于字符串需要的,例如连续读取三个但是输入了一段没有空格的字符,这个时候程序一直等待输入,不会进行下一步

3.常见错误

  1. 个人认为定义字符串数组就str\[\],这样可以减少麻烦

总结

自此翁恺老师的所有基础内容整完了,剩下的边做边学吧,大概都是一些高阶一点的用法,指针还有一个要学的指想指针的指针,路漫漫!!明天开始学做算法题了

相关推荐
平头哥技术团队6 分钟前
Day 10 | 工欲善其事:VS Code 配置与项目归档
android·开发语言·前端·javascript·html·交互
乌萨奇也要立志学C++6 分钟前
【洛谷】kmp算法
开发语言·算法
传奇开心果编程21 分钟前
【Rust入门知识点学与练】第4课:条件判断 if / else
开发语言·学习·rust
m0_3807438740 分钟前
给 Claude API 调用补上超时重试和错误分类
开发语言·人工智能·php
Draw Stars1 小时前
Git BASH安装教程
开发语言·git·bash
vortex51 小时前
一文讲透 Zsh 与 Bash 的区别
开发语言·bash
千谦阙听1 小时前
C++类和对象(中):默认成员函数、构造与析构、拷贝构造、运算符重载
开发语言·c++·学习
天下无敌笨笨熊4 小时前
C#Modbus串口开发心得
开发语言·c#
电商API_180079052475 小时前
电商商品价格监控工具淘宝京东商品价格抓取API项目实操分享
java·大数据·开发语言·前端·数据挖掘
zzzll11115 小时前
深度剖析:HashMap 并发死循环与 ConcurrentHashMap 两代演进全解
java·开发语言