2-4小时突击C语言(1)
本篇为软件开发工程师打造,从入门到复习,巩固知识点,从而提高自己笔试或面试的知识水平。C/C++编程技能是嵌入式软件开发最常用的编程语言,因此熟练掌握是非常有必要的。
开篇
C语言的学习永远绕不开的程序“Hello world!”
#include <stdio.h> int main() { /* 第一个 C 程序 */ printf("Hello, World! \n"); return 0; }
所有C语言程序都需要包含main()函数,代码也是从main函数开始执行。
然后printf()在头文件stdio.h中声明,#include是一个预处理命令用于引入头文件。
return 0语句表示程序结束退出。
C程序结构主要包括有:预处理指令、函数、变量、语句&表达式、注释
根据“Hello world!”程序
#include <stdio.h>就是预处理指令;int main和printf都是函数,但int main是主函数,程序从这里开始执行;/* 我的第一个 C 程序 */就是注释,以“//”开始的是单行注释。
基本语法
C程序由关键字、标识符、常量、字符串值,或者是一个符号等组成,在C程序中,分号“;”是语句结束符,语句必须以分号结束。
标识符用户用于标识变量、函数的名称,一个标识符以字母 A-Z 或 a-z 或下划线“_”开始。注意:C 标识符内不允许出现标点字符,比如@、$和%,C是区分大小写的编程语言。
关键字就是C语言中保留字,不能作为标识符名称。例如有:auto、double、int、struct、break、else、long、switch、case、enum、register、typedef、char、extern、return、union、const、float、short、unsigned、continue、for、signed、void、default、goto、sizeof、volatile、do、if、while、static。。。
C中的空格编译器会直接忽略的,但是为了美观增加可读性,可以根据需要适当添加一些空格。
数据类型
基本数据类型(算术类型):整型(int)、字符型(char)、浮点型(float)和双精度浮点型(double)。
枚举类型:也是算术类型,常用来定义在程序中只能赋予其一定的离散整数值的变量。
void类型:没有值的数据类型,通常用于函数返回值。
派生类型:数组、指针和结构体类型。
具体地,
整数类型存储大小:
char 1字节、unsigned char 1字节、signed char 1字节、int 2或4字节、unsighted int 2或4字节、short 2字节、unsigned short 2字节、long 4字节、 unsigned long 4字节。
2还是4取决于系统位数有关,就是32位系统就是2字节,64位系统就是4字节。
浮点类型存储大小与精度范围:
float 4字节,6为有效位;double 8字节,15位有效位; long double 16字节,19位有效位。
存储大小笔试选择题经常考到。
void类型:
函数返回空,例如void xxjxx(int a);函数参数为空,例如int xxjxx(void);
指针指向void,类型为void* 的指针代表对象的地址,而不是类型,例如内存分配函数
void *malloc( size_t size ); 返回指向 void 的指针,可以转换为任何数据类型。
类型转换:
C 语言中有隐式类型转换和显式类型转换。
隐式类型转换:隐式类型转换是在表达式中自动发生的,无需进行任何明确的指令或函数调用。可能会导致数据精度丢失或数据截断。
例如:
int a=10;
double b = 1.0 + a; //隐式将int类型转换为double类型
显式类型转换:显式类型转换需要使用强制类型转换运算符。
double d = 3.14159;
int c = (int)d; // 显式将double类型转换为int类型
变量
变量定义:
int i, j, k;
char c, ch;
float f, salary;
double d;
变量可以在声明的时
剩余60%内容,订阅专栏后可继续查看/也可单篇购买
本专栏主要是介绍嵌入式软件开发岗位的相关知识和学习攻略,为大家提供一份笔试与面试手册。包括有嵌入式软件开发岗位介绍与学习攻略;校园招聘和offer疑惑问题的介绍;在笔试方面,如何刷题为笔试作准备,提供往年笔试真题;在面试方面,提供相关知识的复习重点,提供面试真题。包括有:华为、蔚来、文远、大疆、三一、深信服、亚马逊、Intel、百度、科大讯飞、OPPO、京东、中兴、比特大陆|算能、美团等等