面试中的套路
==============
1. 公司要求员工的素质和能力
专业技能 --》第一轮面试通过笔试考察,第二轮面试面谈考察,题嵌入式开发有关一些基础知识掌握怎么样,项目经验
自我学习提升学习能力 --》你是否是个可造之材
语言表达能力 --》基本沟通表达
协调合作能力 --》性格有没有缺陷,善于跟别人合作
答疑
=======================
1. buf[i]=c+字符0 与buf[i]=(int)c 有什么区别 buf-->char c -->int
buf[i]=5+'0' -->等价于5+48=53
buf[i]=(int)5 -->等价于5
2. char a[5][10];
a[0][1]='@'; 打印不出来???用错格式控制符号
%c --》打印字符
%s --》打印字符串
C语言中的变长数组和零长数组(柔性数组)
===================
1. 变长数组
int a[i]; i是个变量
2. 零长数组--》跟结构体配合使用(后面学习了结构体再讲)
C语言中的指针
====================
1. 指针的基本概念
指针: 也是一种变量,是一种特殊的变量(专门用来存放其它变量在内存中地址的)
int a;
float b;
一个变量有多个字节(内存中有多个地址编码),指针存放的是这个变量的首地址(最低的地址,起始位置的地址)
指针的定义:
类型 *指针的名字
比如: int *p; //定义了int类型的指针 *表示p是个指针
float *q;
char *p;
指针的使用:
第一种: 定义一个指针并初始化
int a=10;
int *p=&a; // & -->取地址符号(获取变量a在内存中的首地址)
第二种: 定义一个指针没有立马初始化
int a=10;
int *p; //定义了指针p,p存放谁的地址目前是不清楚的
p=&a;
指针的几种基本运算
第一种: 解引用
通过指针访问指向的变量里面的内容,或者通过指针修改指向的变量
使用解引用运算
*p; //把指针p解引用(取出指针p指向的地址里面的内容)
第二种:取地址
int a=100;
int *p=&a; //对a取地址
小结: 指针是C语言提供的一种间接访问变量的方法
第三种: 指针可以比较大小
指针比较大小---》就是把地址当成是数字来比较
练习:
1. int a[5]; //键盘输入5个数,用指针实现判断这个五个数是不是完数
完数: 一个数等于自身公因子和 (去除本身)
比如: 6 ---》公因子(能被6整除就是它的公因子) 1 2 3
6= 1+2+3
7 --》 公因子 1
int *p= &a[0] // *p等价于a[0]
//如何求*p公因子--> *p分别除以1 2 3 ....*p只要能整除的就是公因子
p=&a[1]
2.
考察知识点: 指针基本运算的理解
运算符的优先级
改变升级: a=((*p1)==(*p2))
作业:
1.基础题
输入字符串,分别统计出其中 英文字母、空格、数字和其它字符的个数。
求a+aa+aaa+aaaa+aa...a的值
比如:a是3,总共5项(变量n表示) 3+33+333+3333+33333结果是??
要求a和n从键盘输入
思路:3+33+333+3333+33333 ---》 3*(1+11+111+1111+11111)
2.写一个程序处理字符串A,处理规则是: 只要字符串B里面有的字符,不论大小写,一律从A字符串中删除 (用数组或者指针实现)
fdjjfDFDdjfjdf ---》 A字符串
AFafd ---》 B字符串