P16-P33——C语言编程预备知识

1.CPU 内存条 硬盘 显卡 主板 显示器之间的关系

例子:打开一个电影,是如何在电脑上运行的

电影数据本身存放在硬盘里—双击点击电影(操作系统将硬盘上的数据调用到内存条上)—CPU处理内存条上的数据—声卡声音、显卡图像

CPU不能直接处理硬盘上的数据,先把数据调用到内存条中,CPU读取内存条中的数据并处理。

主板是提供它们联系和组合的设备

2.helloworld程序如何运行起来的

现在所有软件都不能直接访问硬件,只能借助操作系统控制硬件

#include <stdio.h>

int main(void)
{
    printf("欢迎来到C的世界!\n");
    return 0;
}

编译——连接(VC++软件生成后缀.exe的可执行文件)——运行(VC++软件请求操作系统执行.exe文件(操作系统调用数据至内存让CPU进行读取与处理))

3.什么是数据类型

编程的第一步是数据的存储——数据要分类

数据类型——存储什么类型的数据

数学上:整数、实数、有理数、无理数、字符

C语言: 1、基本数据类型:1)整数(整型int、短整型short int、长整型long int)

2)浮点数【实数】(单精度浮点数float、双精度浮点数double)

3)字符(单个字符char、字符串—一系列字符的组合)

2、 复合数据类型:结构体、枚举、共用体

4.什么是变量

变量——容器,把数据保存在计算机里是通过变量保存进去。

变量的本质就是内存中的一段存储空间

#include <stdio.h>

int main(void)
{
    int i ;        // 操作系统会在内存条中找到一个空闲的存储单元,并将i与该空间的地址产生关联
    i = 3 ;        // 3最终是存放在内存中与i关联的存储单元,程序终止之后3所占的空间被释放掉

    printf("i = %d\n",i);
    return 0;
}

5.CPU、 内存条、 VC++6.0 、操作系统之间的关系

编程软件vc++向操作系统请求运行,操作系统给内存条里分配变量空间,CPU读取内存条中数据进行处理(编译之后与vc++软件就没关系了)

6.变量为什么必须初始化

所谓初始化就是赋值的意思。

#include <stdio.h>

int main(void)
{
    int i;
    printf("i = %d\n",i);
    return 0;
}

运行结果:-85986758,每次运次都是固定的没用的垃圾数据(以前软件使用过的遗漏的数据)(填充字——VC++软件看到垃圾值时会自动赋一个很大的值)

内存是在操作系统的统一管理下使用的。

软件在运行前需要向操作系统申请存储空间,在内存空间足够时,操作系统将分配一段内存空间并将外存中软件拷贝一份存入该空间中,并启动该软件的运行;

在软件运行期间,该软件所占内存空间不再分配给其他软件;

当软件运行完毕后,操作系统将回收该内存空间(注:操作系统并不会清空该内存空间中遗留下来的数据),以便再次分配给其他软件使用

所以,一个软件所分配到的空间中极有可能存在着以前其他软件使用过后的残留数据,这些数据被称为垃圾数据。所以通常情况下,为一个变量或者数组分配好存储空间之后都要对该内存空间初始化。

7.如何定义变量

数据类型     变量名  =  要赋的值;

等价于

数据类型     变量名;

变量名   =    要赋的值;

举例子:

int i = 3 ;等价于  int i ;i = 3 ;

int i, j ; 等价于 ing i ; int j ;

int i,j = 3 ;等价于 int i ; int j ; j = 3;

8.什么是进制

逢几进一

N进制就是逢N进一

C语言规定八进制前要加0(注意是零不是o),十六进制前要加0x或者0X,十进制前面什么都不加

%d 表示以十进制输出;%x或%X表示以十六进制输出;%o表示以八进制输出

9.常量在C语言中是如何表示的

整数:             十进制:传统的写法

十六进制:前面加0x或0X

八进制:前面加0 (注意是数字零不是字母o)

浮点数:

                        传统的写法

float x = 3.2 ;// 传统

科学计数法

float x = 3.2e3 ;// x的值是3200

float x = 123.45e-2 ; //x的值是1.2345

字符:

                        单个字符用单引号括起来

​​​​​​​                'A' 表示字符A

​​​​​​​        ​​​​​​​        ​​​​​​​        'AB' 错误                "AB"正确

字符串用双引号括起来

"A"正确,因为"A"代表了'A'    '\0'  的组合

10.常量以什么样的二进制代码存储在计算机中

计算机里所有数值都是二进制代码

整数是以补码的形式转化为二进制代码存储在计算机中的

实数是以IEEE754标准转化为二进制代码存储在计算机中的

字符的本质实际也是与整数的存储方式相同

11.代码规范化

林锐 ——《高质量C/C++编程》

要有详细注释

成对去敲

地位相等要缩进、内部子代码不需要缩进

程序一般的三部分:定义变量、对变量进行操作、输出值

功能相对独立的代码部分换行

12.什么是字节

字节就是存储数据的单位,并且是硬件所能访问的最小单位

1字节 = 8位

1K = 1024字节

1M = 1024K

1G = 1024M

13.不同类型数据之间相互赋值的问题

int i = 45 ;

long j = 102345 ;

涉及到补码——暂不考虑

14.什么是ASCII

#include <stdio.h>

int main(void)
{
    char ch = 'A';
    //char ch = "AB"; //错误因为AB是字符串,我们不能把字符串赋给单个字符
    //char ch = "A"; //错误,ch只能盛放一个字符,但是“A”里面有两个字符——A和\0
    //char ch = 'B'; //错误,因为ch已经在前面定义过了,这样会导致变量名被重复定义
    //ch = 'C';//正确,变量可以多次赋值,但是不能重复定义
    printf("%c\n",ch);
    return 0;
}

结果:A

#include <stdio.h>

int main(void)
{
    char ch = 'A';
    //char ch = "AB"; //错误因为AB是字符串,我们不能把字符串赋给单个字符
    //char ch = "A"; //错误,ch只能盛放一个字符,但是“A”里面有两个字符——A和\0
    //char ch = 'B'; //错误,因为ch已经在前面定义过了,这样会导致变量名被重复定义
    //ch = 'C';//正确,变量可以多次赋值,但是不能重复定义
    printf("%d\n",ch);
    return 0;
}

结果:65

规定A字符以哪个整数保存在计算机里,这就是ASCII.ASCII不是一个值,而是一种规定,规定了不同的字符使用哪个整数值去表示。

如:'A'——65,'b'——66,'a'——97,'b'——98,'0'——48

15.字符的存储

【字符的本质上与整数的存储方式相同】

C语言第1讲——基本编程知识相关推荐

  1. 10讲学会C语言之第一讲:编程前的准备

    文章目录 前言 一.必要的说明 二.环境准备与第一个C程序 三.调试 前言 大家好,我是卷卷.今天呢我给大家带来一套C语言图文教程.这个教程呢,也是我在CSDN上传的第一个教程.希望大家多多支持.本教 ...

  2. 《看聊天记录都学不会C语言?太菜了吧》(5)打了一把游戏我学会了一个编程知识?

    好消息2020年4月13日晚7.30我在CSDN开播,等你来聊天 预约连接:https://live.csdn.net/room/A757291228/MJWK0Gem 本系列文章将会以通俗易懂的对话 ...

  3. 编程c语言零基础知识,零基础学习C语言都需要掌握哪些基础知识

    随着互联网的不断发展,越来越多的人都在学习互联网软件编程开发语言,而今天我们就一起来了解一下,零基础学习C语言都需要掌握哪些基础知识. 无论学习哪门语言先应该了解一下自己所学语言的背景,也可以说它的发 ...

  4. C语言中rvfsu是什么意思,C语言第4讲-C语言编程三结构.ppt

    C语言第4讲-C语言编程三结构 C 语句可以分为5类: 1.控制语句----9种 2.函数调用语句 3.表达式语句 4.空语句---什么也不做 5.复合语句----用{}括起来 复合语句:用 {-}括 ...

  5. 32位汇编第七讲,混合编程,内联汇编

    32位汇编第七讲,混合编程 博客园IBinary原创 QQ:2510908331  博客连接:http://www.cnblogs.com/iBinary/ 转载请注明出处,谢谢 混合编程的概念,有时 ...

  6. 网络编程知识预备(3) ——SOCKET、TCP、HTTP之间的区别与联系

    参考:SOCKET,TCP,HTTP之间的区别与联系 作者:丶PURSUING 发布时间: 2021-03-19 11:54:01 网址:https://blog.csdn.net/weixin_44 ...

  7. 剑指Offer名企面试官精讲典型编程题pdf

    下载地址:网盘下载 <剑指Offer:名企面试官精讲典型编程题(第2版)>剖析了80个典型的编程面试题,系统整理基础知识.代码质量.解题思路.优化效率和综合能力这5个面试要点.<剑指 ...

  8. c 语言程序编辑,C语言程序编辑学习篇—编程者说之C语言

    谈及C语言,我想凡是学过它的朋友都有这样一种感觉,那就是"让我欢喜让我忧."欢喜的是,C语言功能非常强大.应用广泛,一旦掌握了后,你就可以理直气壮地对他人说"我是电脑高手 ...

  9. C语言零基础入门——1.基础知识与环境搭建。

    C语言零基础入门--1.基础知识与环境搭建. 好了.终于迎来了第一篇文章,这篇文章要做的事情非常简单,主要有三个事情 ​ 第一:C语言的介绍. ​ 第二:计算机的基础知识. ​ 第三:C语言的环境安装 ...

  10. 每周一书《码农翻身(好玩有趣的编程知识)》分享!

    作者简介 刘欣(@码农翻身): 15年的软件行业从业经验,前IBM系统架构师,擅长企业应用架构和设计,领导过多个企业级应用架构设计和开发工作. 内容简介 <码农翻身>用故事的方式讲解了软件 ...

最新文章

  1. 兼容性自动化测试 | HUAWEI DevEco Studio云测服务等您来体验
  2. 大恶人吉日嘎拉之走火入魔闭门造车之.NET疯狂架构经验分享系列之(一)后台控制逻辑代码部分...
  3. easyexcel导入固定sheet_springboot批量导入excel数据
  4. 变位齿轮重合度计算公式_齿轮变位系数的优化选择
  5. 如何理解“方差越大信息量就越多”
  6. 亚当·斯密 传奇一生
  7. scratch编程 飞翔的小鸟 开发笔记 0604
  8. 插上耳机一说话别人听有很大的电流声怎么办?
  9. 三折线弹塑性滞回模型matlab,考虑屈曲的钢筋滞回模型
  10. 个推平台API使用经验
  11. (亲自整理)如何让你的C盘立马多出来20G空间
  12. 在datadog中对某个主机上的进程进行监控
  13. window 下DOS命令
  14. mysql获取中文拼音_mysql获取汉字拼音
  15. Dobot magician + realsense D435i 手眼标定(外参)C++
  16. 计算机学什专业,计算机专业到底学什么?
  17. 万字长文剖析架构设计全攻略(上)
  18. 如何在智能手机上安装mysql(安卓系统)
  19. AutoCAD入门级小技巧教程
  20. 离开北京[By Ivan]

热门文章

  1. Pytorch构建Transformer实现英文翻译
  2. .net core 部署在windows 2008 server 64位上出现Http Error 502.5的解决方案
  3. 网站被劫持了怎么办?
  4. 正点原子的串口助手XCOM V2.0编码问题
  5. git ------git stash(储藏到缓存中) 暂时保存未被提交的数据至堆栈中
  6. Excel键盘快捷键大全
  7. 完美解决微信公众号多域名授权登录的问题
  8. 阿里云安全防护是如何做到的?有怎样的安全生态圈
  9. 如何用服务器做虚拟主机,服务器如何搭建虚拟主机
  10. OpenCVcv2.imread传入灰度图像,shape还是3通道