#include
int main()
{
int price = 0;
printf("请输入金额(元)");
scanf("%d",&price);
int change = 100 - price;
printf("找您%d元\n",change);
return 0;
}
- 程序的第一行 #include
是预处理器指令,告诉 C 编译器在实际编译之前要包含 stdio.h 文件。 - int main() 是主函数,程序从这里开始执行。
- return 0; 终止 main() 函数,并返回值 0
1)int price = 0;
这一行,定义了一个变量。变量名为price,类型是int,初始值为0.
price = 0 是一个式子,“=”表示赋值运算符
a = b :将b的值赋给a
a = b 和 b = a 的意思完全相反
2) scanf("%d",&price);
要求scanf这个函数读入下一个整数,读到的结果赋值给变量price
小心price前面的&
// 单行注释 /* 多行注释 多行注释 多行注释 *//* */ 这种格式的注释可以单行或多行。
变量是一个保存数据的地方
变量定义的一般形式:<类型名称><变量名称>;
int price;
int price,amount;
int price = 0,amount = 100;
int pricr,amount = 200; // 有效,但是这种格式很糟糕
(多个变量定义,变量之间用逗号隔开)
变量的名字,叫“标识符” 如 price
定义变量赋值时,就是“初始化”,虽然C语言中并没有强制要求所有的变量都在定义时初始化,但是所有变量在第一次被使用(出现在赋值运算符的右边)之前应该被赋值一次
#include
int main()
{
const int AMOUNT = 100;
int price = 0;
printf("请输入金额(元)");
scanf("%d", &price);
int change = AMOUNT - price;
printf("找您%d元\n", change);
return 0;
}
const 数据类型 常量名 = 常量值;
- const是一个修饰符,加在int的前面,用来给这个变量加上一个const(不变的)的属性。这个const的属性表示这个变量的值一旦初始化,就不能再修改了
- const int AMOUNT = 100;
AMOUNT——常量
- 如果试图对常量做修改,把它放在赋值运算符的左边,就会被编译器发现,指出为一个错误
用于代表难以表示或无法输入的字符
\t —— Tab键(水平制表符), \b —— Backspace键(退格键), \n —— 换行 \f ——换页
\r —— 回车 \v —— 垂直制表符 \\ —— 反斜杠\ \ ' —— 单引号 \ " —— 双引号
\? —— 问号 \0oo —— 八进制值(oo必须是有效的八进制数,即每个o可表示0~7中的一个)
\xhh —— 十六进制值(hh必须是有效的十六进制数,即每个h可表示0~f中的一个)
/* escape.c -- 使用转义序列 */
#include
int main()
{
float salary;
printf("\aEnter your desired monthly salary:");
printf(" $_______\b\b\b\b\b\b\b"); // $前面有一个空格,7个下划线_,7个\b
scanf("%f",&salary);
printf("\n\t$%.2f a month is $%.2f a year.",salary, salary * 12.0);
printf("\rGee!\n");
return 0;
}
Enter your desired monthly salary:$_1500___
Gee! $1500.00 a month is $18000.00 a year.
位(bit)——最小的存储单元,可储存0或1
字节(byte)——常用的计算机存储单位,1字节均为8位,1位可表示0或1 ,8位就有256(2的8次方)种可能的0、1的组合
字(word)——设计计算机时给定的自然存储单位。字长8位-->16位-->32位-->64位。计算机字长越大,其数据转移越快,允许的内存访问也更多。
0前缀表示八进制数,0x或0X前缀表示十六进制数 。如:32、040、0x20分别以十、八、十六进制表示同一个值。l或L前缀表明该值是long类型,ll或LL前缀表明该值是long long类型。
以十进制显示数字,使用 %d;
以八进制显示数字,使用 %o;
以十六进制显示数字,使用 %x;
另外,要显示各进制数的前缀0、0x和0X,必须分别使用 %#o、%#x、%#X
/* bases.c -- 以十进制、八进制、十六进制打印十进制数100 */
#include
int main()
{
int x = 100;
printf("dec = %d; octal = %o; hex = %x\n", x, x, x);
printf("dec = %d; octal = %#o; hex = %#x\n", x, x, x);
return 0;
}
dec = 100; octal = 144; hex = 64
dec = 100; octal = 0144; hex = 0x64
计算机使用数字编码来处理字符,即特定的整数表示特定的字符。美国最常用的编码是ASCII编码
char grade = 'A'; // 在ASCII中,整数65代表大写字母A
char grade = 65; // 对于ASCII,这样做没问题,但这是一种不好的编码风格
最好使用字符常量,而不是数字代码值
char broiled; // 声明一个char类型的变量
broiled = 'T'; // 为其赋值,正确
broiled = T; // 错误!此时 T是一个变量
broiled = "T"; // 错误!此时的 "T" 是一个字符串
printf("Hello!\007\n"); // Hello!
printf("Hello,I am \" Anny \".\n"); // Hello,I am " Anny ".
/* charode.c--显示字符的代码编号 */
#include
int main()
{
char ch;
printf("Please enter a character.\n");
scanf("%c",&ch);
printf("The code for %c is %d.\n", ch, ch);
return 0;
}
Please enter a character.
A
The code for A is 65.
1——true 0——false
占用1位存储空间
通过关键字_Complex 、 _Imaginary 和 浮点类型的关键字组合 (如,dou ble _Complex类型)