散记C语言的10个小知识点

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;
	}
}

其中循环体内也可以加入 continuebreak

continue 跳转到循环的首部

break 跳出循环

你可能感兴趣的:(学习笔记_C/C++,c语言)