
#include
int main()
{
int a,b;
scanf("%d,%d",&a,&b);//输入时是按这个的顺序
printf("a=%d,b=%d,a+b=%d",a,b,a+b);
}
| auto | const | double | float | int | short | struct | unsiged |
| break | continue | else | for | long | signed | switch | void |
| char | do | extern | if | return | static | union | while |
| case | default | enum | goto | register | sizeof | typedef | volatile |
标识符:字母、数字(不能开头)、下划线
进制转化二进制(计算机识别)
八进制 0
十进制
十六进制 0x(观察内存)x86架构是小端架构,低位在前,高位在后
1位 1bit 存储0或1
1字节 1byte=8bit
1kb=1024byte
int i占用4个字节
float f占用4个字节空间
char c 一个字符占用1个字节
#include
int main()
{
float f=1.234;//3e3-3000 3e-3-0.003
printf("%f\n",f);//%f就是以浮点形式输出对应数据
char c='a';//单引号中只能有一个字符 定义一个c赋值a
printf("%c",c);//c也可以写成97
printf("%d",c);//数据结果为97
}
大小写转换A+32=a
#include
int main()
{
char c='a';//如何将a变成A
c=c-32;
printf("%c\n",c);//以字符形式
printf("%d\n",c);//以整数形式
}
"a"字符串型常量 ‘a’字符型常量 \0结束字符串
#include
int main()//混合运算
{
int i=5;
float j=i/2;//j=2.000000
float k=(float)i/2;//()强制转换,k输出结果2.500000
}
数据的输入输出函数
scanf读取的是标准输入
printf输出到黑窗口(控制台)输出到了标准输出
# include
int scanf(const char *format,...);...是可变参数,参数数目与format中的%的数目保持一致
| %f | 一个浮点苏 |
| %d | 一个十进制整数 |
| %c | 一个单一的字符 |
%d %c %f不限制数目
#include
//缓冲区为空的时候,scanf才会阻塞
int main()
{
int i;
char c;
scanf("%d",&i);//当你输入10时不会阻塞因为后面有个\n=10
printf("i=%d\n",i);
scanf("%c",&c);
printf("c=%c",c);
}//%d,%f 会忽略\n
#include
//判断闰年
int main()
{
int year;
scanf("%d",&year);
if(year%400==0||year/4==0&&year/100!=0)
{
printf("yes\n");
}
else{
printf("no\n");
}
}
scanf的循环读取
发生错误时返回EOF
什么是EOF直接输入EOF按着Ctrl,左键点,EOF就是-1
#include
///清空缓冲区,vs2012 fflush(stdin)
//stdin是标准输入
//现在用rewind(stdin)清空标准输入缓冲区
int main(){
int i,ret;
while(rewind(stdin),(ret=scanf("%d",&i))!=EOF)//while是实现循环,后面要有一个小括号
{
printf("i=%d\n",i);
}
return 0;
}
行首按三次Ctrl+z时会出错
#include
//循环转换字符
int main(){
char c;
while(scanf("%c",&c)!=EOF){
if(c!='\n'){
printf("%c",c=c-32);
}
else{
printf("\n");
}
}
}
这里就不适合用rewind(stdin)
#include
//一个scanf读多种类型数据
int main(){
int i;
char c;
float f;
int ret;//调试看读取了几个
ret=scanf("%d %c%f",&i,&c,&f);//每次读取字符前加一个空格就行
printf("i=%d,c=%c,f=%f",i,c,f);//不能出来没有空格
return 0;
}
printf函数的使用
#include
\\printf控制输出格式
int main(){
printf("name=%s,age=%d,sex=%c,score=%4.1f\n","heheng",21,'m',98.5);\\结果出来会有98.500000改成%4.1f小数点后与一位有四位数
//%10s占10个字符默认靠右,加负号时靠左
}
#include
int main()
{
int a = 4+5*2-6/3+11%4; //4+10-2+3
printf("%d\n",a);
scanf("%d",&a);
printf("a=%d\n",a);//如果输入1234如何输出4321
while (a!=0)
{
printf("%d",a%10);
a=a/10;
}
return 0;
}
C语言没有布尔模型(认为一切非0的值都为真)
算数>关系>逻辑
#include
//关系运算符不能并写,逻辑运算符
int main()
{
printf("%d\n",5>3);//1
printf("%d\n",5<3);//0
//判断两个浮点数是否相似(内存中相似存储)
float f=234.56;//判断浮点数是否等于某值(相似)
if(f-234.56>-0.0001&&f-234.56<0.0001){
printf("yes\n");
}
else{
printf("no\n");//if(f==234.56)不相似
}
}
赋值运算符左边必须是变量不能加上数
#include
//++i,--i直接正常运算即可,i++,i--拆成两步
int main()
{
int i=-1;
int j;
j=i++>-1;//分为两步j=i>-1;i++
printf("i=%d,j=%d\n",i,j);
printf("i占的字符数%d\n",sizeof(i));
}
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)