Head First C - C语言入门
文章目录
C语言的工作方式
- 源代码 创建一个源文件,源文件中是C代码
- 编译 通过编译器运行源代码,编译器检查无错,就会编译源代码
- 输出 编译器会创建一个交可执行文件的新文件,文件中是机器代码
完整的C程序
- C程序通常注释开头
描述代码意图,包含许可证或者版权信息(可选)
/*
* 计算牌盒中牌数量的程序
* 本代码使用"拉斯维加斯公共许可证"
* (c)2014,学院21点扑克游戏小组
*/
- include部分
C语言是一种很小的语言,不用外部库,几乎干不了什么。
#include <stdio.h>
- 在源文件中找到的最后一样东西是函数
所有C代码都在函数中运行,main()是程序中所有代码的起点。
main()函数的返回类型是int,如果main()返回0,表明程序运行成功,返回其他值,就表示程序运行时出了问题。
早期的ANSI C标准中,main()函数可以时void类型。但是在C99标准中main函数的返回类型必须是int。
int main(){
int decks;
puts("输入有几副牌");
scanf("%i", &decks);
if(decks < 1){
puts("无效的副数");
return 1;
}
printf("一共有%i张牌\n", (decks * 52));
return 0;
printf()函数
printf()函数用于显示格式化输出,用变量的值代替格式符
当调用printf()时,可以包含任意数量参数,但是要确保每个参数有一个对应的%格式符
printf("%s说计数时%i", "阿星", 21);
运行程序
C语言是一种编译型语言,需要将源代码编译为机器能够理解的机器代码,计算机才能够执行。
用gcc编译并运行程序
cards.c
/*
* 计算牌盒中牌数量的程序
* 本代码使用"拉斯维加斯公共许可证"
* (c)2014,学院21点扑克游戏小组
*/
#include <stdio.h>
#include <stdlib.h>
int main(){
char card_name[3];
puts("输入牌名:");
scanf("%2s", card_name);
int val = 0;
if(card_name[0] == 'K'){
val = 10;
}
else if(card_name[0] == 'Q'){
val = 10;
}
else if(card_name[0]