C语言复习---零散补充】的更多相关文章

一:double和float使用scanf获取数据 printf输出float和double都可以用%f,double还可以用%lf. 2 scanf输入float用%f,double输入用%lf,不能混用. double a, b; scanf("%lf", &a); //正确 scanf("%f", &b); //错误,导致8字节数据中有随机数据,所以数据输出错误 %f 是浮点型(单精度),占4字节 %lf 是浮点型(双精度),占8字节 二:sc…
C语言复习20170728 键盘输入和屏幕输出 字符常量:把字符放在一对单引号内,适用于多数可打印字符. 转义字符: 以反斜线()开头,也是放在一对单引号内,适用于控制字符. .\t,是水平制表符,相当于按下Tab键,每次按下Tab键并不是从当前光标位置向后移动一个Tab宽度,而是移到下一个制表位,实际移动的宽度视当前光标位置距相邻的下一个制表位的距离而定. 函数printf()的格式转换说明符: 函数scanf()的格式转换说明符: 练习: 选择控制结构 C语言中的关系运算符及其优先级: 图片…
C语言复习20170716 C数据类型 图片来自:C语言基本数据类型简介 C语言程序处理的数据有常量和变量两种形式. 常量是在程序中不能改变其值的量.例如:整型常量.实型常量.字符常量.字符串常量和枚举常量. 变量不同于常量,其值在程序执行过程中可改变,在使用前必须先定义.在定义变量时,需要声明变量的类型和变量名,一般形式为: 类型关键字 变量名; 变量必须先定义后使用. 变量区分大小写,定义和使用的变量名必须一致. 定义变量必须在可执行语句之前. 定义变量时,用于变量初始化的常量类型与定义的变…
C语言复习-字符串与指针 例一: [字符串处理 去除C代码中的注释] C/C++代码中有两种注释,/* */和//.编译器编译预处理时会先移除注释.就是把/*和*/之间的部分去掉,把//以及之后的部分删掉.这里约定,如果出现了/* AAAA /* BBBB */的情况,也就是/**/中出现了/*,那么第二个/*是不当作注释起始的.编写函数void removeComment(char *str). 分析:对于字符串”int c=4,/*c累计量*/ a=3;/*变量*/ // a初值为3 ”先用…
C语言复习系列-转义字符 准备学习stm32单片机,感觉需要复习一下C语言,翻看了菜鸟教程,竟然有不少地方看不懂,真让人汗颜······ 转义字符大部分语言里面都有,至少我学过的里面都有,在这些语言中,某些字符具有特殊含义或功能,如果要输出这些字符,就要使用转义字符. 所谓转义字符就是前面加个 \ 当遇到无法输出某个字符的情况,不妨用转义字符试试! \\ printf("\\"); //即输出 \ \a printf("\a"); //计算机发出提醒音 \b pri…
test.c #include <stdio.h> int main(){ printf("hello\n"); return 0; } 1.预处理阶段 由于在test.c中使用了头文件,所以GCC在编译时首先要把头文件stdio.h中的内容加载到test.c的首部 gcc -E test.c -o test.i E表明只进行预处理.o表明输出文件名. 2.编译阶段 词法分析:关键字.标识符等等是否正确: 语法分析:程序中语句的语法是否正确: 语义分析:语句的逻辑意义是否正…
今天复习一下C语言的运算符 1.赋值运算符 单等号 = 顺序是:从右往左 2.复合运算符 #include <stdio.h> #include <stdlib.h> int main() { ; num %= ; printf("%d\n",num); ; } 输出结果是:2 3.算术运算符 , num2 = ; double result1, result2, result3, result4; result1 = num1 / num2; result2…
文件操作专题 C语言文件读写概念 文件分类 按文件的逻辑结构: 记录文件:由具有一定结构的记录组成(定长和不定长) 流式文件:由一个个字符(字节)数据顺序组成 按存储介质: 普通文件:存储介质文件(磁盘.磁带等) 设备文件:非存储介质(键盘.显示器.打印机等) 按数据的组织形式: 文本文件: ASCII文件,每个字节存放一个字符的ASCII码 二进制文件:数据按其在内存中的存储形式原样存放 每个文件都以文件名为标识,I/O设备的文件名是系统定义的,如: COM1或AUX--第一串行口,附加设备…
字符串基本操作 字符数组初始化方法 int main() {     //1 {}号法 初始化列表     //数组初始化有2种方法 默认元素个数.指定元素个数     char buf1[] = { 'a', 'b', 'c', 'd', 'e' };    //若没有指定长度,默认数组长度即为参数个数                                                 //若指定长度,指定长度小于参数个数→报错:buf长度多于初始化个数,会自动在后面补充零.   …
文章导航 Redis源码系列的初衷,是帮助我们更好地理解Redis,更懂Redis,而怎么才能懂,光看是不够的,建议跟着下面的这一篇,把环境搭建起来,后续可以自己阅读源码,或者跟着我这边一起阅读.由于我用c也是好几年以前了,些许错误在所难免,希望读者能不吝指出. 曹工说Redis源码(1)-- redis debug环境搭建,使用clion,达到和调试java一样的效果 一些补充知识 项目结构及入口 除了大学那些玩具,一个真正的项目,都是由大量源代码文件组成一个工程.在Java里,一个 java…
/*=================================*/ /* 基础部分 */ /*=================================*/一:.CPP--C++文件:.C--C文件 二:C语言中浮点型一般分为float单精度型.double双精度型.long double长精度型,单精度浮点型小数点后面有效数字为6~7位和双精度浮点型小数点后面有效数字为15~16位 三:char s[N]--for(int i=0;s[i];i++):可以用s[i]进行循环.…
前言: 第一次接触C语言是大一下学期的时候,2013年上半年,那个时候的开发工具还是VS C++,今天了解了一下,常用的开发工具变成了CodeBlocks.决定趁着毕业到入职这一段CD时间,拾起这门语言,为将来的工作做准备(只学一门Python确实不行),多学点总是不会错的. 准备: CodeBlocks下载并安装 正文 C和Python这种动态语言不一样,需要先编译后执行,编译完如果是0 errors,0 warnings最好,当然 有时候warnings也没关系,最重要的是没有errors…
一:分析: 大一学习积分的时候,我们学习过,可以通过矩形法来求定积分. 思路就是将积分区间划分成n等份,然后将这n等份近似看成矩形(或梯形),然后对所有的矩形(或梯形)的面积进行求和. 二:简单的例子 求函数X^2在的定积分 矩形法: #include<iostream> #include<math.h> using namespace std; int main(){ float fun(float x); float a, b; cout << "请输入函…
C接口的封装和设计专题 Win32环境下动态链接库(DLL)编程原理   比较大的应用程序都由很多模块组成,这些模块分别完成相对独立的功能,它们彼此协作来完成整个软件系统的工作.其中可能存在一些模块的功能较为通用,在构造其它软件系统时仍会被使用.在构造软件系统时,如果将所有模块的源代码都静态编译到整个应用程序EXE文件中,会产生一些问题:一个缺点是增加了应用程序的大小,它会占用更多的磁盘空间,程序运行时也会消耗较大的内存空间,造成系统资源的浪费:另一个缺点是,在编写大的EXE程序时,在每次修改重…
二级指针内存模型建立 void main2() {     int i = 0;       //指针数组     char * p1[] = { "123", "456", "789" };//二级指针的第一种内存模型                                               //二维数组     char p2[3][4] = { "123", "456", "…
数据类型本质分析 数据类型概念 "类型"是对数据的抽象; 类型相同的数据有相同的表现形式/存储格式以及相关的操作; 程序中使用的所有数据都必定属于某一种数据类型; 数据类型本质思考 数据类型和内存有关系吗? 数据类型占据大小一定的内存空间. C/C++为什么会引入数据类型? 不同的数据类型所对应的处理方式/行为/应用方面不同. 数据类型的本质 数据类型可理解为创建变量的模具(模子):是固定内存大小的别名. 数据类型的作用:编译器预算对象(变量)分配的内存空间大小 程序举例,如何求数据类…
循环控制结构 重复处理次数时已知的循环称为计数控制的循环,若重复处理次数为未知,是由给定情况控制的,称为条件控制的循环. C语言提供for.while.do while三种循环语句实现循环结构. 循环语句在给定情况为真的情况下,重复执行一个语句序列,这个被重复执行的语句序列称为循环体. 图片来自:循环控制结构 while语句一般形式为: do while语句一般形式为: for语句一般形式为: goto语句:goto是无条件语句,在不需要任何条件的情况下直接使程序跳转到该语句标号所标识的语句去执…
数据类型/运算符/表达式 主要分两部分介绍,第一部分介绍常用的数据类型,例如:常量和变量/整型/实型/字符型:第二部分介绍算数运算符和算数表达式以及赋值运算符和逗号运算符. 一. 常用的数据类型 1. C语言中的数据类型 C语言中基本数据类型主要有整型/实型/字符型/字符串型,本节主要介绍这几种基本的数据类型,以及数值型数据之间的混合运算 2. 数据类型保存的范围 C语言中数据类型所占的字节数,与操作系统和编译器都有关,C语言提供了sizeof操作符来查看某个类型变量在计算机内存中占多少字节 这…
什么是函数呢? 首先函数是在完成特定任务的程序代码中,拥有自己独立的单元. 举个例子 “你可以拿本书吗?” ”你可以拿本语文书吗?“ “你可以拿苹果吗?”..... 如果要是放到程序里面估计要重复很多一样的动作,所以函数的第一个优点就是:可以省去重复代码的编写 将“你可以拿”作为它的函数,接下来拿的东西比如:书.语文书.苹果...这些都是可以修改的完善的, 没有必要在主函数中来回乱改,一不小心改错了地方也是很麻烦的.所以函数的第二个优点:在某种功能在程序中只修改和完善某个单元 接下来看一下代码…
通常开始学习C语言的时候,第一句写的就是"helloword" int main(){ printf("hello word"); } 接下来的日子里需要注意的是{}  {}, , ""  “” ;....等输入法的中英文状态下是否正确,这个是最基本的,一个字节是8位  好了,接下来带着大家认识,int ,long ,short,char ,double ,float ,bool 这些关键字,他们可以当作变量来使用 int :整数型 (顾名思义只…
#include <stdio.h> #include <stdlib.h> #include <string.h> #include <assert.h> /* sscanf特殊用法补充 */ void test() { const char * p1 = "333<key:value>abcde"; const char * p2 = "<key:value>abcde"; ; ] = {…
====C语言typedef 的用法==== 1. C语言允许为一个数据类型起一个新的别名,就像给人起绰号一样. typedef OldName newName; typedef 和 #define 的区别 理解他们之间的区别就是把typedef 看成一种彻底的封装类型,声明之后不能再往里面增加别的东西. ====C语言const 的用法==== 1.有时候我们希望定义这样一种变量,它的值不能被改变,在整个作用域中都保持固定.例如,用一个变量来表示班级的最大人数,或者表示缓冲区的大小.为了满足这…
引言: 不会将每一个部分都详述,只关注于一些自己认为重要的或常错的,若有不足,还望指出 switch()细节:括号内必须是整型或枚举类型:遇到break才会跳出:case包含的必须是常量 continue:停止本次循环,重新开始下次迭代 函数的三要素:返回值类型,函数名称,形式参数列表 在调用函数时,需要先声明 形参传值调用:相当于将数值拷贝一份---不会影响原来的数据 形参引用调用:传递指针,可以对原来的数据(实参)做出修改 局部变量:某个函数或块的内部声明的变量.只能在函数内或块内使用 全局…
判断日期为一年中的第几天(考虑闰年) 1 /* 2 * 计算该日在本年中是第几天,注意闰年问题 3 * 以3月5日为例,应该先把前两个月的加起来,然后再加上5天即本年的第几天 4 * 特殊情况,闰年且输入月份大于3时需考虑多加一天 5 */ 6 7 /* 8 *@author: 成鹏致远 9 *@net: http://infodown.tap.cn 10 */ 11 12 #include <stdio.h> 13 #include <stdbool.h> 14 15 struc…
判断日期为一年中的第几天(考虑闰年) /* * 计算该日在本年中是第几天,注意闰年问题 * 以3月5日为例,应该先把前两个月的加起来,然后再加上5天即本年的第几天 * 特殊情况,闰年且输入月份大于3时需考虑多加一天 */ /* *@author: 成鹏致远 *@net: http://infodown.tap.cn */ #include <stdio.h> #include <stdbool.h> struct year_mon_day { int year; int mon;…
C #include <stdio.h> #include <stdlib.h> #define STACK_SIZE 100 typedef char TYPE; typedef struct Node* pNode; typedef struct Node node; typedef pNode Stack; //char buffer[100]; struct Node { TYPE data; struct Node* next; }; int isEmpty(Stack…
基本语法 do{ 循环操作 }while(循环条件); 特点:先执行,再判断 先执行一遍循环操作 符合条件,循环继续执行 否则循环退出 例题: #include <stdio.h> #include <stdlib.h> int main() { ,b=; do{ b-=a; a++; } ); printf("%d",b); } 执行循环语句后b的值为(8) 分析:dowhile循环,一定要注意是满足条件才执行循环:有--的语句,则先执行语句,最后执行--,所…
使用CodeBlocks调试程序 首先要注意,只有打开projects(.cbp文件)的情况下才能debug,单独打开.c文件是不能debug的 1.在行号旁边左键,出现红点,表示为断点breakpoint 2.点击红色箭头,开始调试 此时红色断点出现黄色三角形 并出现命令行对话框,按Fn+F7按部开始调试 3.点击右边倒数第二个图标,里面有watches,表示监控变量的取值…
1.while循环 循环三要素: 1).循环变量的初值 2).循环变量的判断 3).循环变量的更新 #include <stdio.h> #include <stdlib.h> int main() { ; ) { printf("第%d遍\n",i); i++; } ; } 小练习1:使用循环计算1-100的累加和 #include <stdio.h> #include <stdlib.h> int main() { ; ; ) { s…