分享C语言学习的几点建议 1、从宏观角度来看,结构化是C语言的编程思想基础,就是说C语言每一个功能模块就是一个结构,每一个结构实现一个运算或一个算法,这个结构就用大括号表示“{ }”,大括号里面的就是算法。尤其注意的是大括号的“}”括在那里,就决定在哪里结束算法功能。这些是... 2023-06-13 C语言学习建议文章基础课C语言基础
解密C语言的指针知识 C语言作为嵌入式开发的基础语言已经越来越让工程师们知道它的厉害:可以直接操控寄存器,方便CPU的功能设置;可以直接操作物理地址,并进行位的操作进而达到硬件的操作等等。如果你用8位16位单片机进行开发学习,相信使用一些程序技术可以完成设计:循环、选择、位操作、条件判断、... 2023-06-13 解密C语言指针文章基础课C语言基础
学C语言者必看,看了还不过的你砸我 总体上必须清楚的:1)程序结构是三种: 顺序结构 , 循环结构(三个循环结构), 选择结构(if 和 switch)2)读程序都要从main()入口, 然后从最上面顺序往下读(碰到循环做循环,碰到选择做选择)。3)计算机的数据在电脑中保存是以 二进制的形式. 数据存放的位置就是 他的地址.4)bit... 2023-06-13 C语言二级考试计算机考试文章基础课C语言基础
C语言经典运算符重载 一、实验目的(1)进一步了解运算符重载的概念和使用方法。(2)掌握几种常用的运算符重载的方法。(3)了解转换构造函数的使用方法。二、实验内容(1)运算符加、减、乘、除重载,实现复数运算。#includeusingnamespacestd;classComplex{public:Complex(doubler = 0.0,doublei = 0.0){rea... 2023-06-13 C语言运算符重载文章基础课C语言基础
C语言经典-类和对象 一、实验目的(1)进一布加深对类和对象的理解(2)掌握类的构造函数和析构函数的概念和使用方法(3)掌握对对象数组、对象指针及其使用方法(4)掌握友元的概念和使用(5)了解类模版的使用方法二、实验内容(1)类的构造函数和析构函数#includeusingnamespacestd;classStudent{public:Student(... 2023-06-13 C语言类对象文章基础课C语言基础
常见排序算法(冒泡,选择,快速)的C语言实现 从这几个简单的排序算法上看,有几个特点:冒泡排序是最简单的,也是最稳定的算法。选择排序不太稳定,但是效率上较冒泡还是有较大的提升。其实在分析的过程中就能发现,选择排序和冒泡排序相比,中间少了很多的交换过程,和比较的次数,这个应该是时间较少的原因。选择排序能够满足一般... 2023-06-13 排序算法冒泡选择快速C语言文章基础课C语言基础
switch-case语句用法 使用switch语句直接处理多个分支(当然包括两个分支).其一般形式为:引用switch(表达式){case 常量表达式1:语句1;break;case 常量表达式2:语句2;break;……case 常量表达式n:语句n;break;default:语句n+1;break;}switch语句的执行流程是:首先计算switch后面圆... 2023-06-13 switch-case语句文章基础课C语言基础
C语言里如何编写精确的微量延时 例如,在1MHZ工作频率下需要延时10us,就需要嵌入10句“空操作”指令,显然在书写上比较难堪。本文提出一种简化书写的延时方案,使用带参数的宏构来造微小时间片,可以实现完全精确的软件延时,大大方便了驱动程序及软件模拟通信协议的编写。说明:以下皆为ICC AVR平台下的... 2023-06-13 C语言微量延时文章基础课C语言基础
C,C++表达式求值顺序超详解 经常可以在一些讨论组里看到下面的提问:“谁知道下面C语句给n赋什么值?”m = 1; n = m+++m++;最近有位不相识的朋友发email给我,问为什么在某个C++系统里,下面表达式打印出两个4,而不是4和5:a = 4; cout << a++ << a;C++ 不是规定 << 操作左结合吗?是C++ 书上写错了,还... 2023-06-13 CC++表达式求值顺序超详解文章基础课C语言基础
C语言常用宏定义技巧 1. 防止一个头文件被重复包含:#ifndef COMDEF_H#define COMDEF_H //头文件内容#endif 当你所建的工程有多个源文件组成时,很可能会在多个文件里头包含了同一个头文件,如果借用上面的宏定义就能够避免同一个头文件被重复包含时进行多次编译。因为当它编译第一个头文件时总是... 2023-06-13 C语言常用宏定义技巧文章基础课C语言基础
编程C语言常识(IAR) 结构体与联合体 结构体与联合体是C语言的常见数据类型,可对C的基本数据类型进行组合使之能表示复杂的数据结构,意义深远,是优异代码的必备工具。一 struct与 union的基本用法,在语法上union与struct相同,因此只以struct为例1.1 基本用法:struct AA{ int a; int b;}; //结构体的声明和定义stru... 2023-06-13 C语言结构体联合体文章基础课C语言基础
c语言编程9个经典提问及解答 Q1.为什么C针有类型,因为指针是储存地址空间,在32位机上,就是4个字节来存储的,那为什么不直接就是long int型?而还有其他类型呢?2008-9-12An:答案见Q5。Q2:指向函数的指针是什么意思?(陌生)2008-9-12An:虽然函数不是变量,但是在内存中还是有函数入口,整个入口就是函数的地址,既然是函数... 2023-06-13 c语言编程提问解答文章基础课C语言基础
c语言编程的几种排序算法比较 对于排序的算法我想先做一点简单的介绍,也是给这篇文章理一个提纲。 我将按照算法的复杂度,从简单到难来分析算法。 第一部分是简单排序算法,后面你将看到他们的共同点是算法复杂度为O(N*N)(因为没有使用word,所以无法打出上标和下标)。 第二部分是高级排序算法,复杂度为O(Log2... 2023-06-13 c语言编程排序算法比较文章基础课C语言基础
深层解密C语言的指针 第一、 指针和常数对于学习过指针的同学都知道,常数是不能直接幅值给指针的,如果想给指针幅常数,需要如下操作:int num=8;int *pnum=#这时我们需要注意,pnum指向8存储的地址,*pnum为该地址存储的数据8。第二、 指针和数组指针和数组有着天然的联系,其实数组就是一个连续地址... 2023-06-13 解密C语言指针文章基础课C语言基础
Linux C串口程序 #include#include#include#include#include#include#include#include#include#defineFALSE-1#defineTRUE0... 2023-06-13 LinuxC串口程序文章基础课C语言基础
零基础如何入门c语言 工作中,接触过很多想到学习c语言而又没有一点计算机基础的人。经常有人问”我没有一点基础,该怎么入门c语言啊”。看过很多初学者久久摸不到门路,每到这个时候,脑海中总会浮现一个问题:学习c语言真的就那么难吗?不难。很 多人学习c语言,上来就去背语法,甚至连各种高深... 2023-06-13 零基础C语言文章基础课C语言基础
Linux下C语言编程基础知识 1.源程序的编译在Linux下面,如果要编译一个C语言源程序,我们要使用GNU的gcc编译器。下面我们以一个实例来说明如何使用gcc编译器。假设我们有下面一个非常简单的源程序(hello.c):intmain(intargc,char**argv){printf("HelloLinux\n");}要编译这个程序,我们只要在命令行下执... 2023-06-13 Linuxc语言编程基础知识文章基础课C语言基础
单片机编程技巧问题集锦 1.C语言和汇编语言在开发单片机时各有哪些优缺点?答:汇编语言是一种用文字助记符来表示机器指令的符号语言,是最接近机器码的一种语言。其主要优点是占用资源少、程序执行效率高。但是不同的CPU,其汇编语言可能有所差异,所以不易移植。C语言是一种结构化的高级语言。其优点是... 2023-06-13 单片机 C语言 编程文章基础课C语言基础
如何写出高效优美的单片机C语言代码 程序能跑起来并不见得你的代码就是很好的c代码了,衡量代码的好坏应该从以下几个方面来看1,代码稳定,没有隐患。2,执行效率高。3,可读性高。4,便于移植。下面发一些网上看到的技巧和自己的一些经验来和大家分享;1、如果可以的话少用库函数,便于不同的mcu和编译器间的移植2、选择... 2023-06-13 高效优美单片机C语言基础C语言编码文章基础课
单片机的C语言中数组的用法 数组是由具有相同类型的数据元素组成的有序集合。数组是由数组名来表示的,数组中的数据由特定的下标来唯一确定。引入数组的目的,是使用一块连续的内存空间存储多个类型相同的数据,以解决一批相关数据的存储问题。数组与普通变量一样,也必须先定义,后使用。数组在C51语言的地... 2023-06-13 单片机C语言数组用法文章基础课C语言基础
教你C语言中的指针学习 指针的概念 指针是一个特殊的变量,它里面存储的数值被解释成为内存里的一个地址。要搞清一个指针需要搞清指针的四方面的内容:指针的类型,指针所指向的类型,指针的值或者叫指针所指向的内存区,还有指针本身所占据的内存区。让我们分别说明。先声明几个指针放着做例子:例一:(1)in... 2023-06-13 C语言指针学习文章基础课C语言基础
嵌入式C语言进行曲之要诀 一. 良好的编程风格1.排版:a. 代码缩进空格数为4 个。若是可能,尽量用空格来代替Tab键,因为有些编译器不支持Tab键(我自己至今未见过,但确实有这个风险),这给程序的移植带来了问题。b. 较长的语句要分2行来书写,并用‘\’符号隔开。c. 函数代码的参数过长,分多行来书写... 2023-06-13 嵌入式C语言进行曲要诀文章基础课C语言基础
嵌入式c语言学习技巧及特点 嵌入式c语言学习技巧及特点:•位屏蔽(Bit-mask)法位运算位屏蔽法位运算是一种使用二进制掩码配合算术逻辑运算(与运算“&”、运算“|”、非运算“~”和异或运算“^”)进行的位运算。这种方法不存在大/小端系统兼容性问题。•... 2023-06-13 嵌入式C语言学习技巧特点文章基础课C语言基础
用C语言实现DES算法 用C语言实现DES算法本DES算法,使用了效率很高的C完成。目前,国内知名企业的POS终端中,单DES算法,均是采用这个函数完成。函数经本站验证过,可以放心使用。#include "stdafx.h"int des(unsigned char *source,unsigned char * dest,unsigned char * inkey, int flg);int _tm... 2023-06-13 C语言DES算法文章基础课C语言基础
一个老程序员写给C语言初学者的话--分享给大家 前些天我写了一篇“Unix C语言值得注意的地方”一贴,回贴中谈到学习国外的开源软件中的高质量代码的问题,但是有朋友跟我说,在看代码的过程中感觉难度很大,想想也是如此,动辄十几万行的程序如果没有人指点的话是很难找到切入点的,所以我撰写了此文希望能对广大C语言... 2023-06-13 单片机C语言学习文章基础课C语言基础