输出控制符
输出控制符 | 含义 |
---|---|
%d | int 整型数 |
%ld | long int |
%c | char 一个字符 |
%f | float 浮点数,整数/整数=整数,整数/小数=小数 |
%lf | double |
%x %X %#X | int 或 long int 或 short int 十六进制整型数 |
%o | int 或 long int 或 short int 八进制整型数 |
%s | 字符串 |
(数据类型)(表达式):把表达式的值强制转换成某种数据类型
a = a + (float) (1/b) (×)
a = a + 1/(float) (b) (√)
也可以写成 a = a + 1.0/b
#include <stdio.h>
int main (void)
{
printf ("请输入两个值,用逗号分隔") /*为了方便用户使用最好先使用printf来提示
用户以什么样的方式来输入*/
int i //定义变量,也可以直接赋值,但在此处赋值后函数值不可更改
scanf ("%d,%d", &i); //&i表示i的地址 &是一个取地址符
//%d,%d中间的逗号属于非输入控制符
//非输入控制符必须原样输入,否则溢出
//但最好不要在scanf中使用非输入控制符,尤其是
printf ("i = %d
",i) //scanf和printf里格式区别
return 0; //注意分号
}
运算符
算术运算符
+ - * / %(取余数)
关系运算符
> >= < <= !=(不等于) ==(等于)
逻辑运算符
!(非) &&(并且) ||(或)
赋值运算符
= +=(a+=3等同于a = a + 3) *= /= -=
优先级
算数 > 关系 > 逻辑 > 赋值
#include <stdio.h>
int main (void)
{
int i;
int sum = 0;
for ( i = 1; i <= 4; i = i + 1) //++i = i + 1 ; i = 1只执行一次
sum = sum + i;
printf ( “sum = %d
”, sum );
return 0;
}
for (1;2;3;)
4;
5;
1→2成立→4→3→2
不成立→5
for ( i = 起始值 ; i<=终止值 ; i = i + 步长值 )
循环过程:
i = 1 , 1<=4 , sum = 1 , i = 2
i = 2 , 2<=4 , sum = 1 + 2 = 3 , i = 3
i = 3 , 3<=4 , sum = 1 + 2 + 3 + 4 , i = 4
i = 4 , 4<=4 , sum = 1 + 2 + 3 + 4 + 5 , i = 5
i = 5 , 5>4 , 循环结束,输出sum = 1 + 2 + 3 + 4 + 5
三目运算符
A ? B : C
等价于
if (A)
B;
else
C;
#include <stdio.h>
int main (void)
{
int a;
printf ("请输入楼层:");
scanf ("%d",&a);
switch (a)
{
case 1:
printf ("1层!
");
break;
case 2:
printf ("2层!
");
break;
case 3:
printf ("3层!
");
break;
default:
printf ("没有这层!
");
break;
}
return 0;
}
default默认执行以下所有语句,case在检测到相应输入后执行最近的break之前的语句。