c语言简单知识点总结

一、概述
1、C语言之父?
  丹尼斯·里奇, 1978 k&Rc --unix是由C开发的
2、C语言的特点(优势)?
  直接访问硬件、运行效率、移植性
<C语言为什么能够直接访问硬件?>
  因为C语言有指针类型
<嵌入式开发为什么选择C语言?>
  所有操作系统的内核都采用了C语言;
<Python最终替代所有的编程语言?>
  不会,Python是解释性语言,不可能替代C语言
3、C语言标准?
  K&RC 、C89、C99、C11
4、如何学习C语言?
  写代码并不是大量的看书、项目

 
 

二、数据类型
1、所有的数据类型的定义、初始化;
printf(“a = %p\n”,a);//a+1增加一个数组元素长度
printf("&a = %p\n",&a);//&a+1增加一个数组长度

右左法则:
1)确定a是一个变量,就要确定该变量保存什么类型的数据,保存什么类型的数据,它就是什么类型的变量;
2)确定a是一个指针变量,就要确定该指针变量保存什么类型的地址,保存什么类型的地址,它就是什么类型的指针变量;
3)确定a是一个数组,就要确定数组里的元素是什么类型的,元素是什么类型,它就是什么数组;
4)确定a是一个函数,就要确定函数的形参和返回值;

int a; //一个整型数
int *a; //整型指针变量
int **a; //整型指针的指针变量
int a[10]; //整型数组
int *a[10]; //整型指针数组
int (*a)[10]; //数组指针变量,指向的是整型数组
int (*a)(int); //函数指针变量,指向的是形参为int,返回值为int
int (*a[10])(int); //函数指针数组,

2、各种数据类型的字节长度(所占内存空间的大小)及取值范围;
基本类型字节长度:
int   4
char   1
short  2
long   4
float   4
double  8

指针变量的字节长度
指针变量的字节长度是固定的!!
<因为指针保存的是地址,地址在操作系统中是固定长度,长度是由操作系统位数决定的,32位系统,指针是4个字节;64位系统,指针是8个字节>

Sizeof VS strlen:
1)sizeof是运算符,不是函数;作用:计算数据类型或者变量的所占内存空间的大小。
2)strlen是字符串库函数;作用:统计当前字符串的字符个数,不包含\0。
3)sizeof在计算字符串的大小时包含\0

3、signed\unsigned

 
 

三、输入输出
printf:
<格式化控制符>//行缓冲,满一行才输出

scanf:
用scanf输入字符的时候需要先用getchar()将缓冲区里面的回车取走

getchar

putchar

gets

 
 

四、运算符、基本控制语句
1、i++; ++i;
逻辑运算符 &&  || !
2、位运算
3、while  for //已知循环次数用for,不知循环次数用while
4、if  switch  case
5、break  continue
6、goto:异常处理
//函数传参从右边开始传参
 

小练习:

统计一串字符串中连续数字的个数,输出最长数字的位数

#include <stdio.h>

int main()
{
	char str[81], * p = str;
	int max = 0, num=0;
	
	printf("请输入含数字的字符串:\n");
	gets(str);
	while (*p)
	{
		if (*p >= '0' && *p <= '9')		
		{
			for (num = 0; *p >= '0' && *p <= '9'; p++)  
				num++;
            if(num>max)
			max=num;;
		}
		else if (*p != '\0' && *p < '0' || *p>'9')  
			p++;                                    
	}
	printf("maxlength %d\n",max);

	return 0;

}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

身在江湖的郭大侠

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值