结构体
C语言定义:
//一
#include<stdio.h>
struct Student{
int sNo;
char name[10];
};
int main(){
struct Student stu;
scanf("%d",&stu.sNo);
scanf("%s",stu.name);
printf("%d\n",stu.sNo);
}
//二
#include<stdio.h>
struct Student{
int sNo;
char name[10];
}stu; //此处stu 是变量名
int main(){
scanf("%d",&stu.sNo);
scanf("%s",stu.name);
printf("%d\n",stu.sNo);
}
C++语言结构体语法
C++语言结构体语法的C大同小异,声明结构体变量时可以省略struct 其它无变化!
具体参照C语言部分,在用到“struct 结构体名称”时,可以简写为“结构体名称”来声明。
C的输入函数
**scanf()、gets()、getchar()都是从缓冲区读取数据的,若缓冲区有数据时,读取的是缓冲区中的数据而不是键盘输入的数据。
scanf()函数:不接受空格、制表符Tab等;
当遇到回车,空格和tab键会自动在字符串后面添加’\0’,但是回车,空格和tab键仍会留在输入的缓冲区中
gets()函数:遇到回车符才结束读取,接受空格、制表符等;gets没有上限,使用时得保证空间足够大,保证读取是不会溢出;
可接受回车键之前输入的所有字符,并用’\n’替代 ‘\0’.回车键不会留在输入缓冲区中。
getchar()函数:从键盘获取一个字符,若输入字为符多个则取第一个字符。
主要用来接收单个字符,不管是空格或者回车都可以接收 可以用作特别字符作为结束的时候进行判断。
c=getchar())!=’\n’ 则表示遇到回车的时候结束接收字符。
C++的string类
#include<iostream>
#include<string>//头文件
using namespace std;
int main(){
string s1="123456789";
//string的大小
cout<<s1.size();
cout<<s1.length();
//字符串拼接
string s2=s1+"pp";//+操作符
string ss=s1.append("kkk");//append()
//截取字符串
string s3=s1.substr(2);//从下标2结束
string s4=s1.substr(2,4);//从下标2开始,4个字符
string str1(s1,0,3);//结果“123”
string str2(s1,5);//从下标5开始
string s5(5,'6');//5个6
string a="abc";
string b="aef";
//string的字符串比较
cout<<a.compare(b);
//按字典顺序逐一比较,前面减去后面的ASCII码,>0返回1,<0返回-1,相同返回0
//string的插入
s1.push_back('a');//尾插字符!
s1.insert(s1.begin(),'z');//insert(pos,char):在pos位置前插入char
//string的删除
s1.erase(1,6);//erase(a,b):从下标a删除到下标b
//string的大小写转换
string n="Abc";
char m=tolower(n[0]);//tolower()转换小写(ascll码转换)
char p=toupper(n[1]);//toupper()大写
return 0;
}
更多详细的函数使用,参考此链接