C语言基础复习

1、三码

正数:

3码合1 ,正数的反码/补码就是其本身

负数:

原码就是符号位加上真值的绝对值,即用第一位表示符号,其余位表示值

原码:11010101

负数的反码是在其原码的基础上, 符号位不变,其余各个位取反

反码:10101010

负数的补码是在其原码的基础上, 符号位不变, 其余各位取反, 最后+1. (即在反码的基础上+1)

补码:10101011

2、运算符优先级和结合性

C语言运算符优先级等级口诀

[圆方括号、箭头一句号]

[自增自减非反负、针强地址长度]

[乘除,加减,再移位]

[小等大等、等等不等]

[八位与],[七位异],[六位或],[五与],[四或],[三疑],[二赋],[一真逗]

n++ : 先使用n,然后将它的值增加

++n : 先将n值增加,然后再使用它

3、函数

变量作用域:局部、全局、静态

局部变量:函数内部,生存周期随函数

静态变量在函数内的:作用域也是函数内的,但是生存周期的程序运行时一直存在

静态变量在函数外:作用域局限于当前源文件内,生存周期的程序运行时一直存在

全局变量:整个程序,声明了就能用

参数传递方式:

值传递

指针传递

引用传递

4、宏

无参宏定义方式:#define PI 3.14

带参宏定义方式:

#define Fun_1(x) x+10

#define Fun_2(x) (x+10)

这是审题时最容易错误的地方

Fun_1(5)*10 Fun_1结果为:->5+10*10 = 105

Fun_2(5)*10 Fun_2结果为:->(5+10)*10 = 150

5、结构体(struct)、联合体(union)、枚举(enum)

结构体(struct)

前面的 char + short不够4字节,要按照4字节对齐。int后面的char不够4字节也需要按4节对齐

typedef struct node

{

char a; 1

short b; 2

int c; 4

char d; 2 //这两个合并成4字节

char e; 2

}NODE;

最后2个char合成一个4字节,(1+2)+4+4 = 12

联合体(union)

union中变量共用内存,应以最长的为准,

typedef union node

{

int a;

char b;

int c[10];

char d[20];

}NODE;

int a = sizeof(NODE); a的值等于多少?

答案:40

枚举(enum)

enum初值为0

enum {

FLOWA,

FLOWB = 10,

FLOWC,

};

int main()

{

printf("%d %d %d", FLOWA, FLOWB, FLOWC);

return 0;

请问FLOWA, FLOWB, FLOWC 分别为多少?

答案: 0 ,10,11;

}

成员访问

访问结构体成员的运算符有两种,一种是“.”即结构运算符,另一种是“->”即结构指针运算符。

#include

typedef struct {

int int_field;

char char_field;

} my_struct;

void main(){

my_struct my_s; // 声明结构体变量

my_s.int_field=3; //结构运算符访问结构成员

my_struct *s; // 声明结构体指针

s=(my_struct *)malloc(sizeof(my_struct));

s->int_field=4;

s->char_field='a';

(*s).int_field=6;

类型定义

typdef struct _A{}A,*PA

Visual Studio快捷键

VS真是最好的编辑器没有之一,有很多的快捷键可以使用。

1.注释代码:

1)Ctrl-K + Ctrl-C: 注释一段选择代码

2)Ctrl-K + Ctrl-U: 取消一段选择代码的注释

2.大小写转换

1)转小写:使用组合键“Ctrl+ U”;

2)转大写:使用组合键“CTRL + SHIFT + U”。

3.代码排版

shift + { : 选中内容增加{号

CTRL + W :选择当前单词

Ctrl + M + M - 折叠代码

Ctrl + A 全选后

Ctrl + K+D 格式化代码

使用#region方法头的位置,将代码折叠起来

//语法描述

#pragma region name

#pragma endregion comment

//END

//实例代码

#pragma region Region_1

void Test() {}

void Test2() {}

void Test3() {}

#pragma endregion Region_1

int main() {}

4.定义与引用

转跳到定义:F12;

查找所有引用:使用组合键“Shift+F12”

跳转文件 :“ALT+O”

5.断点调试

Ctrl+Shift+F9:删除所有断点;

Ctrl+F9:禁用断点

F10:单步执行,跳过所执行的函数体部分;

Ctrl+F10:运行到光标所在行,反复触发

F11:单步执行,会单步到所执行的函数体里面去;

Shift+F11:跳出当前执行的函数体部分;

F5:设定断点后,使用F5启动VS调试可以直接启动进入循环;

调试技巧

记录初始值,如X,Y坐标,坦克类型

6.条件编译调试技巧

#ifdef _DEBUG

printf("%d",__LiNE__);

#else

#endif

__FILE__

Java学习笔记:语言基础

Java学习笔记:语言基础 2014-1-31   最近开始学习Java,目的倒不在于想深入的掌握Java开发,而是想了解Java的基本语法,可以阅读Java源代码,从而拓展一些知识面.同时为学习An ...

ios开发学习笔记001-C语言基础知识

先来学习一下C语言基础知识,总结如下: 在xcode下编写代码. 1.编写代码 2.编译:cc –c 文件名.c 编译成功会生成一个 .o的目标文件 3.链接:把目标文件.o和系统自带的库合并在一起, ...

Arduino学习笔记② Arduino语言基础

授人以鱼不如授人以渔,目的不是为了教会你具体项目开发,而是学会学习的能力.希望大家分享给你周边需要的朋友或者同学,说不定大神成长之路有博哥的奠基石... QQ技术互动交流群:ESP8266&3 ...

ndk学习之C语言基础复习----虚拟内存布局与malloc申请

在这一次中来学习一下C语言的内存布局,了解它之后就可以解释为啥在用malloc()申请的内存之后需要用memset()来对内存进行一下初始化了,首先来了解一下物理内存与虚拟内存: 物理内存:通过物理内 ...

MySQL学习笔记_8_SQL语言基础复习

SQL语言基础复习 一.概述 SQL语句注释方式 1)以"#"开头直到行尾的所有内容都是注释 2)以"--"(--后还有一个空格)开头直到行尾的所有内容都是注释 ...

我的学习目标(目前已初步学习完Java语言基础)

操作系统.尤其是内存/线程/进程方面 计算机网络协议,重点关注 TCP/UDP/HTTP. 数据结构与算法. 数据库 设计模式,熟练掌握常用的几种设计模式. Java语言基础.熟悉java语言基础,了 ...

ndk学习之c++语言基础复习----面向对象编程

关于面向对象编程对于一个java程序员那是再熟悉不过了,不过对于C++而言相对java还是有很多不同点的,所以全面复习一下. 类 C++ 在 C 语言的基础上增加了面向对象编程,C++ 支持面向对象程 ...

算法学习之C语言基础

算法学习,先熟悉一下C语言哈!!! #include #include int main(){ printf(+); getch(); ; ...

ndk学习之c++语言基础复习----C++容器、类型转换、异常与文件流操作

继续来复习C++,比较枯燥,但是这是扎实掌握NDK开发的必经之路,不容小觑. 容器: 容器,就是用来存放东西的盒子. 常用的数据结构包括:数组array, 链表list, 树tree, 栈stack, ...

ndk学习之C语言基础复习----基本数据类型、数组

关于NDK这个分类在N年前就已经创建了,但是一直木有系统的记录其学习过程,当然也没真正学会NDK的技术真谛,所以一直也是自己的一个遗憾,而如今对于Android程序员的要求也是越来越高,对于NDK也是 ...

随机推荐

3.View绘制分析笔记之onLayout

上一篇文章我们了解了View的onMeasure,那么今天我们继续来学习Android View绘制三部曲的第二步,onLayout,布局. ViewRootImpl#performLayout pr ...

MTF(Move-to-front transform)数据转换

1.什么是MTF MTF(move-to-front)是一种数据编码方式,用于提高数据压缩技术效果. 在数据压缩算法中,MTF可以作为一个额外的步骤.也就是说 ,可以先进行MTF编码,在进行数据压缩. ...

轻量级应用开发之(06)Autolayout自动布局2

一 Masonry 下载地址:https://github.com/SnapKit/Masonry

XAML概览 1(译自JeremyBytes.com)

(文章译自JeremyBytes.com,由于原文太长,故分成几篇,能力所限,如有疏漏,希望海涵.另外若有侵权,务必尽快告知) Overview 了解XAML (可扩展应用程序标记语言)是使用WPF和 ...

使用Visual Studio 2010写Data Url生成工具C#版本

声明:本文系本人按照真实经历原创.未经许可,谢绝转载. 此文百度经验版本号:怎样用Visual Studio 2010打造Data Url生成工具 源代码下载:用Visual Studio 2010编 ...

SQL LAST() 函数

LAST() 函数 LAST() 函数返回指定的字段中最后一个记录的值. 提示:可使用 ORDER BY 语句对记录进行排序. SQL LAST() 语法 SELECT LAST(column_nam ...

org.springframework.jdbc.UncategorizedSQLException

org.springframework.jdbc.UncategorizedSQLException: StatementCallback; uncategorized SQLException fo ...

mysql5.5编译安装过程(自己总结)

一,安装过程 //创建mysql安装目录,创建数据存放目录,创建用户和用户组与赋予数据存放目录权限 mkdir -p /usr/local/mysql/ mkdir -p /data/mysql/ g ...

# 团队UML设计

团队信息 学号 姓名 博客链接 124 王彬(组长) 点击这里 206 赵畅 点击这里 215 胡展瑞 点击这里 320 李恒达 点击这里 131 佘岳昕 点击这里 431 王源 点击这里 206 陈 ...

[iOS微博项目 - 4.6] - 微博配图

github: https://github.com/hellovoidworld/HVWWeibo A.微博配图 1.需求 显示原创微博.转发微博的缩略图 4张图使用2x2布局,其他使用3x3布局, ...

c语言中shift f12组合建,C++学习1-(C语言基础、VS快捷键)相关推荐

  1. c语言中不正确的浮点型常量,c语言中float a=1;对吗?,c语言的问题。float a=1,*b=a,*c=...

    导航:网站首页 > c语言中float a=1:对吗?,c语言的问题.float a=1,*b=&a,*c= c语言中float a=1:对吗?-,c语言的问题.float a=1,*b ...

  2. Linux. C语言中else,if else用法详解,C语言if else用法完全攻略

    if else 语句是一种选择结构,可以让代码选择执行.所谓选择执行,就是"某些代码可能执行,也可能不执行,有选择地执行某些代码". if 的最简单用法 if最简单的格式是: if ...

  3. 在c语言中pwm的作用,PWM调速的C语言程序编写(非常简单);

    <PWM调速的C语言程序编写(非常简单);>由会员分享,可在线阅读,更多相关<PWM调速的C语言程序编写(非常简单);(4页珍藏版)>请在人人文库网上搜索. 1.PWM调速的C ...

  4. c语言中return 0的作用,return 0在c语言中代表着什么?

    return 0在c语言中代表着什么? 发布时间:2020-03-26 17:05:39 来源:亿速云 阅读:601 作者:小新 return 0在c语言中代表着什么?可能大家对c语言并不陌生,或者从 ...

  5. c语言中static的作用 举例,static什么意思c语言

    Q1:C语言编程中"static"是什么意思? static 出现在不同的地方含义不抄同的. 如果是在函数之外使用,表示该对像在此文件中是全局可访问的知,在文件之外是不可访问的. ...

  6. c语言中fiag的作用,flag是什么意思C语言,给自己立flag是什么梗!

    现今的网络用语实在太多,很多我们都不知道是什么意思,小编问大家知道flag是什么意思吗?flag是什么梗吗?一起来看看. 很多人经常会说,我今天不小心立了一个flag,感觉自己真的是乌鸦嘴啊!或者说f ...

  7. c语言中shift的作用,Shift是什么意思?Shift键的功能及作用有哪些?

    电脑键盘上英文字母是按常用字母的使用率来进行排位的,把26个英文字母最常用的字母放到中间由最灵活的手指来按,但键盘除了字母键还有一些特殊键,例如:space空格键.Esc取消键,PageUP翻页键等, ...

  8. 语言中的petchar运用_自闭症儿童语言障碍家庭训练,需要融入这些方法

    自闭症儿童的语言障碍主要表现为以下几点: 一.自闭症儿童各种语言的基础及表达技能发育不良,难以在社会交往中使用语言:在婴儿时期就不会咿呀学语,有的是在2-3岁以前有表达性语言,以后逐渐减少,有的则完全 ...

  9. c语言中7行7列星号怎么做,C语言*星号的秘密

    1.乘法运算符 2.定义指针 int *p = 0; 还是 int* p = 0;? 后一种比较容易这样理解:定义了一个变量p,它是指针型的(更详细一点,是指向int的指针型),相比而言,前面一种定义 ...

最新文章

  1. qtablewidget设置单元格背景色_这3个关于单元格格式的Excel小技巧,实在太好用了!...
  2. Seconds_Behind_Master
  3. Opencv获取导入DNN模型的各层信息
  4. LeetCode Binary Tree Right Side View(搜索)
  5. java 全角_Java全角、半角字符的关系以及转换
  6. 电脑重启后python导入的库不见_为什么python不会在启动时自动导入每个模块?
  7. python 中文识别 不用tesseract_Python——验证码识别 Pillow + tesseract-ocr
  8. 一周内自动登录php,利用php实现一周之内自动登录存储机制(cookie、session、localStorage)...
  9. 通过Google分析页面加载缓慢并优化
  10. Flask入门学习---进一步了解模板
  11. 【三维装箱】基于matlab求解三维装箱优化问题【含Matlab源码 949期】
  12. 三津谈保险系统建设(一): 现状分析和建设目标规划
  13. ZPL效果在线打印测试和相关手册及编程语言资料
  14. NODEJS数据库增删改查
  15. 单核CPU与多核CPU的区别,多线程的优点,什么是并行?并发?
  16. 嵌入式软件工程师面试题及答案
  17. U盘容量从16G变成8M解决办法
  18. UE中渲染自发光通道的折衷方案
  19. 网络编程(wireshare抓数据包及分析、三次握手与四次挥手、数据库sqlite3及操作)笔记-day15
  20. JVM虚拟机读书日记4

热门文章

  1. vue实现七天免登录(cookie)
  2. python 列表写入excel_python怎么读取和写入excel表格
  3. STM32自学笔记-7-CAN总线通信
  4. 2017计算机系书单推荐(排版更新)
  5. Addressable编辑器相关开发问题
  6. [个人资料整理]游戏类型总结
  7. 交替打印A1B2C3-Java多线程实现方式
  8. 【图文并茂】手把手教你重装Win10系统
  9. 中国浙江省动漫产业发展方向探析及投资决策建议报告2021-2027年
  10. Vue-组件自定义事件