C++(二)(未完成)

选择与循环

选择语句

  • if 语句
if(){
	GRAM
}
else {
	GRAM
}
  • switch语句
switch(){
	case 常量表达式1:
		 语句序列1;
		 break;
	case 常量表达式2:
		 语句序列2;
		 break;
	.....
	default:
		 语句序列n+1;
}

注意事项:

  1. case 值不可相等
  2. 每个 casedefault 语句后可包含多条语句,无需使用'{}'

循环语句

  • for 循环
for(int ; ;){

}
  • while循环
while(条件表达式){
	
}
  • do-while 语句
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)
    注意:
    1. 此处的字符串读入时不使用&取地址符符号`
    2. scnaf读入时无法读入空格,即读到空格处停止.
    3. 读入时会自动在字符结尾加上\0换行符,因此无需输入换行
  • 使用scanf的小技巧
char ch[120];
while(scanf("%s",&st)==1);
循环读入数据,在读不到的时候停止
  • gets(stringName) gets()读入时读入一行,可读入空格,不读入换行符.

字符串写入

  • printf("%s",s)
    注意:
    1. 输出时只能是字符串||字符数组名称,而不能是字符元素.
      如可以使用printf("%s",ch);,而不可以使用printf("%s",ch[3].
    2. 输出是不包括换行符\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的用法

  1. 输入:
getline(cin,str);
cin>>str;
scanf("%s",str);
posted @ 2022-11-26 11:08  小何家的博客  阅读(21)  评论(0编辑  收藏  举报