1.
中文的汉子和标点符号都是两个字节,不能算一个字符,所以不能属于char类型,更不能写出如下这种命令
char a = "好"
char b = "《"
这些显然都是错误的
2.
浮点型在计算机中都是近似表示的,比如35.5 其实可能是 34.999675
3.
常量 const
常量一般分为四种常量:
字符常量 const char
整型常量 const int
浮点型常量 const float
字符串常量 const char name[10]
4.
C语言里其实没有字符串这个数据类型,因此在C语言里的字符串是用字符数组来实现的
例如:
char a[21]= "asdfasdfasdf";
5.
strcpy(str1,str2)
把str2的内容复制到str1
6.
getchar 获取单个字符(不常用)
gets 获取一行字符串(不常用)
scanf 获取多个数据时,数据与数据之间用空格隔开
putchar和puts已经慢慢被遗忘了,就不需要去记住,printf记住就好
7.
sizeof有两种用法
1 sizeof(数据类型) 返回数据类型的字节大小
2 sizeof(变量) 返回变量的数据类型的大小
8.
三元运算符
c = (a>b)?a:b;
变量 = (表达式1)?(表达式2):(表达式3)
意思是变量在表达式1成立的情况下取表达式2的值,不成立则取表达式3
假如a>b,则c=a;否则c=b
9.
switch中case的注意事项
case后面必须是整数和字符,或者是结果为整数和字符的表达式,但不能包含任何变量。
switch (result)
{
case 10: printf("..."); break; // 正确,整数
case 8+9: printf("..."); break; // 正确,表达式8+9==17是整数
case '5': printf("..."); break; // 正确,字符可以转换为整数
case 'A': printf("..."); break; // 正确,字符可以转换为整数
case 'A'+10: printf("..."); break; // 正确,字符可以转换为整数
case 3.14: printf("..."); break; // 错误,不能为小数
case ii: printf("..."); break; // 错误,不能采用变量
}
//default不是必须的。当没有 default时,如果所有case都匹配失败,那么就什么都不执行。
10.
for (语句1;表达式;语句2)
{
语句块
}
其中表达式不一定要是a[i] < 100这种简单的条件
可以是一个整型变量,这样可以给变量进行赋值,从而来控制循环的开始和结束
int STOP = 1;
for(int i=0;STOP;i=i+2)
{
if(i%19 == 0)
{
printf("i是19的倍数");
STOP = 0;
}
}
其中循环体内也可以加入 continue 和 break
continue 跳转到循环的首部
break 跳出循环