选择与循环
选择语句
| switch(){ |
| case 常量表达式1: |
| 语句序列1; |
| break; |
| case 常量表达式2: |
| 语句序列2; |
| break; |
| ..... |
| default: |
| 语句序列n+1; |
| } |
| |
注意事项:
case
值不可相等
- 每个
case
和default
语句后可包含多条语句,无需使用'{}'
循环语句
| do{ |
| 语句1; |
| 语句2; |
| }while(条件表达式) |
数组,字符,字符串读写及其初始化
字符读写
getchar()
&& putchar
每次只读入任意一个字符,包括换行,制表符等,速度较快,经常被用来快速读写
| |
| inline int Read(){ |
| int ans=0,f=1; |
| char ch = getchar(); |
| while(ch<'0' || ch>'9'){ |
| if(ch=='-') f=-1; |
| ch=getchar(); |
| } |
| while(ch>'0' && ch<'9'){ |
| ans=ans*10+ch-'0'; |
| ch=getchar(); |
| } |
| return ans*f; |
| } |
字符串读写
字符串读入
scanf("%s",s)
注意:
- 此处的字符串读入时不使用
&
取地址符符号`
- scnaf读入时无法读入空格,即读到空格处停止.
- 读入时会自动在字符结尾加上
\0
换行符,因此无需输入换行
- 使用scanf的小技巧
| char ch[120]; |
| while(scanf("%s",&st)==1); |
| 循环读入数据,在读不到的时候停止 |
gets(stringName)
gets()读入时读入一行,可读入空格,不读入换行符.
字符串写入
printf("%s",s)
注意:
- 输出时只能是字符串||字符数组名称,而不能是字符元素.
如可以使用printf("%s",ch);
,而不可以使用printf("%s",ch[3]
.
- 输出是不包括换行符
\0
puts(stringName)
输出一个字符串和一个换行符
即puts(s) == printf("%s\n",s)
字符串处理函数
strcat(s1,s2)
将s2连接到s1末尾,返回s1的值
strlen(Name)
计算字符串的长度,\n
不被计算在内
strncat(Name1,Name2,长度n)
将2前n个字符复制到1之后
strcpy(1,2)
将2复制到1,返回1的值
strncpy(1,2,n)
将2前n个字符复制到1,返回1的值
strcmp(1,2)
比较1,2大小
若: 1>2 返回正数
1==2 返回0
1<2 返回负数
strncmp(1,2,n)
比较1,2前n个字符,返回情况同strncmp
string的用法
- 输入:
| getline(cin,str); |
| cin>>str; |
| scanf("%s",str); |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统