说在开头:这是我学习C语言过程中的读书笔记,内容不全,会边学习边补充。如果文中有说法错误的地方,欢迎大佬指正~
良好的编程习惯:
1.变量命名时有使用有意义的变量名或标识符,如果变量名无法清楚地表达自身的用途,可以在注释中进一步说明
2.把所有的变量声明放在一块,方便读者查找和理解程序的用途
3.在函数中用空行分隔概念上的多个部分
4.每条语句各占一行
5.程序开始处添加一条注释,给出程序目的,方便以后阅读和理解
6.无论main()在程序文件处于什么位置,所有的C程序都是从main()开始执行,但是C的惯例是把main()放在开头,因为它提供了程序的基本框架
7.预处理:#define NAME value (中间没有等号,末尾没有分号)
用大写表示符号常量是C语言的传统,在程序中看到全大写的名称就立刻明白过来这是一个符号常量,而非变量。
8.在函数原型和函数定义中,如果需要传参,则在括号内写上参数类型。
void pond(int n) //表明该函数接受一个int类型的参数。
1.C语言的特点:
2.使用C语言的七个步骤:
3.编程机制:
1.使用printf()函数,必须包含stdio.h头文件
2.C程序一定是从main()函数开始执行
3.int num; 叫做声明,所有变量都必须先声明才能使用
4.可以用字母、数字、下划线来命名,但第一个字符不能为数字
5.调用函数时,函数一般出现三次:
#include
void butler(); //函数原型
int main(void)
{
printf("I will summon the butler function.\n");
butler(); //函数调用
printf("Yes.Bring me some tea and writeable DVDs.\n");
return 0;
}
void butler() //函数定义
{
printf("You rang,sir?\n");
}
6.程序的错误叫bug,找出并修正错误叫debug。
1.位(bit),字节(byte),1字节=8位
2.十进制%d,八进制%o,十六进制%x(要显示前缀0、0x、0X,则用%#o、%#x、%#X)
3.%f用来处理浮点数,%5.2f表示字符宽度5字符,其中的.2用于精确控制输出,只显示小数点的后两位。
4.不要在浮点型常量中间加空格:1.56E+12 .8e-5
1.调用strlen()(获取字符的长度)等函数时,要写#include
2.用数组存储字符串
int main(void)
{
char name[40];
scanf("%s",name);
printf("%s",name);
}
3.3.字符串:双引号 字符:单引号
char name[5]={“Lucy”}; 等价于 char ch[5]={‘L’,‘u’,‘c’,‘y’,’\0’};
4.strlen是函数,sizeof是运算符
strlen测的是字符串的实际长度,而sizeof测的是分配空间的大小。
char str[20]={"hello"};
printf("strlen:%d\n",strlen(str));
printf("sizeof:%d\n",sizeof(str));
//运行结果:
strlen:5
sizeof:20
5.sanf()读入基本变量类型的值,在变量名前加&;把字符串读入数组中,不需要&。
1.花括号以及被划括号括起来的部分称为块(block)。
2.指数运算可以使用pow()函数,例:pow(3.5,2.2)返回3.5的2.2次幂。
3.形参是变量,实参是函数调用提供的值,实参被赋给相应的形参。
1.while循环
while (循环条件)
{
循环语句
}
2.for循环
for (初始化;测试条件;执行更新)
{
循环语句
}
3.do while循环
do
{
循环语句
}while(循环条件)
1.这里的循环条件是利用scanf的返回值。scanf()读到数字时会返回1;读到非数字字符时会返回0。
while (scanf(“%f”,&temperature) == 1)
{
循环语句
}
2.if、else三种形式;
- (1)if (循环条件)
{
循环语句
}
- (2)if (循环条件)
{
循环语句1
}
else
{
循环语句2
}
- (3)if (循环条件)
{
循环语句1
}
else if (循环条件2)
{
循环语句2
}
else
{
循环语句3
}
3.getchar()和putchar()
- getchar(ch); 等价于 scanf(“$c”,&ch);
- putchar(ch); 等价于 printf(“$c”,ch);
4.条件运算符:?:
表达式1 ? 表达式2 : 表达式3 //如果表达式1为真,则执行表达式2;否则,执行表达式3。
5.循环辅助:continue和break
switch (整型或char型表达式)
{
case 值1:
语句1;
break;
case 值2:
语句2;
break;
case 值3:
case 值4: //多重case标签
语句3;
break;
default:
break;
}