【C语言基础自学课程】 01 - C语言编程基本知识
1、CPU、内存、硬盘、显卡、主板、显示器之间的关系
Windows电脑下打开并观看一张图片的过程:
先将图片数据文件存储在硬盘上,硬盘会将这个文件的信息读取到内存里去
---->当CPU需要读取某图片文件时CPU从内存中调用该图像文件
--->显卡处理这些图形数据以方便传输与显示
---->利用显示器进行图像显示。
主板,是一个核心电路板,提供了硬盘、显卡、内存条等配件插口的硬件接口,是以上配件插口的承载体。
2、Hello world程序是如何运行起来的(更新中···)
3、什么是数据类型
(1)基本类型数据
- 整数: int、unsigned int、 short int(等价于short)、 long int、 long long int
- 浮点数【实数】:float(单精度,4字节) double(双精度,8字节)
- 字符: char 转义字符自行百度搜索,或man ascii
- bool型: true:1; false:0;
sizeof可用于计算各种数据类型或类型数据的长度。
typedef int uint32_t ; 实现不同平台下数据类型的可移植性
其他常用:int32_t,uint16_t,pid_t,size_t等
小端存储:p(低1byte)、p(低2byte)、···
大端存储:p(高1byte)、p(高2byte)、···
(2)复合类型数据
- 结构体
- 枚举
- 共用体
数据类型转换
1) 强制类型转换
int a;char *p;p = (char *)&a
2) 隐式类型转换
int a =3;float f;f = a;
4、什么是变量?
变量常用标识符命名,其本质是:内存的一段存储空间
/*什么是变量? 程序例子*/#include <stdio.h>int main(void)
{int i; // 请求操作系统分配出空闲的存储空间,再将标识符i与内存中空闲的存储空间地址标号一对一关联起来i=3; // 先找到i所在内存的存储空间地址标号,3最终存放在该存储空间中,当程序代码运行结束后,i所占的内存空间被释放掉printf("%d\n", i);return 0;
}
5、变量为什么必须得初始化?
变量初始化本质是赋值操作。局部变量不初始化就会可能会出现:被编译器认为该存储空间的内容是垃圾数据(上一次存储空间使用所遗留下来的),且你又没有初始化,那么编译器就会自动填充为一个很大的复数值(-8····6)。
当软件运行完毕后,操作系统将回收该内存空间(注意:操作系统并不清空该内存空间中遗留下来的数据),以便再次分配给其他软件使用.
所以定义了一个变量时,建议都应对其初始化。
变量定义格式
第一种
- 数据类型 变量名 = 要赋的值; //编译阶段就确定了变量的值
第二种:
- 数据类型 变量名; //仅定义了一个变量,变量值不可预料
- 变量名 = 要赋的值; //程序在运行过程才确定了变量的值
6、什么是进制?
N进制,即逢N进1,一种计数方式。
十进制转二进制:整数部分除2取余(下往上),小数部分乘2取整(上至下)。
11.125 ---- 1101.001
/*什么是进制? 程序例子*/#include <stdio.h>int main(void)
{int i = 3; printf("i = %d \n", i); //以十进制形式输出printf("i = %o \n", i); //以八进制形式输出printf("i = %x \n", i); //以十六进制形式输出 printf("i = %b \n", i); //以二进制形式输出return 0;
}
7、常量在C语言中是如何表示的?
(1)整数
- 十进制:传统的写法
- 十六进制:前面加0x或0X
- 八进制:前面0 注意是数字零不是字母。
(2)浮点数
- 传统的写法:
float x=3.2://传统
- 科学计数法
float x= 3.2e3;//x的值是3200
float x= 123.45e-2://x的值是1.2345
(3)字符
- 单个字符,用单引号括起来,比如:'A'表示字符A
- 字符串,用双引号括起来,比如:"A"正确,因为"A"代表了'A'、'\0' 字符的组合
常用的转义字符
\r: 回车,将当前位置移动到本行开头
\? \" \\ ------ ? “ \
\t :水平制表符
\v:垂直制表符
\b:将当前位置后退一个字符
8、常量以什么样的二进制代码存储在计算机中
- 整数是以补码的形式转化为二进制代码春常在计算机中的
- 实数是以IEEE754标准转化为二进制代码存储在计算机中的
- 字符的本质实际上也是与整数的存储方式相同。
9,代码规范化
参考书籍:《高质量C/C++编程》
/*C代码规范化 程序例子*/#include <stdio.h>int main(void)
{/**定义、初始化变量***//**操作、处理变量 ***//**释放变量内存 ***/return 0;
}
10,什么是字节
字节是存储数据的基本单位,并且是硬件所能访问的最小单位。
- 1字节 = 8位
- 1K = 1024字节
- 1M = 1024K
- 1G = 1024M
11,不同类型数据之间相互赋值的问题(更新中)
int i=45;
long j = 102345;
i=j;
printf ("%d %ld\n", i, j);
12,什么是ASCII
ASCII不是一个值,而是一种规定,
ASCII规定了不同的字符是使用哪个整数值去表示它
规定了: 'A' = 65、 B = '64' 'a' = 97; 'b' = 98 '0' = 48
13,字符的存储[字符本质上与整数的存储方式相同]
基本的输入和输出函数的用法:(33~41节视频 )
- printf ()
- scanf ()
(1)格式化输出
#include <stdio.h>
int printf(const char *format, ...);
int fprintf(FILE *stream, const char *format, ...);
int dprintf(int fd, const char *format, ...);
int sprintf(char *str, const char *format, ...);
int snprintf(char *str, size_t size, const char *format, ...);
- %#x ------十六进制的整数
- %d ------十进制有符号整数
- %u ------十进制无符号整数
- %#o -----八进制整数
- %c ------ ch
- %s ------ str
- %.2f ------ float
- %ld ---- long int
- %ul ---- unsigned long int
- %lld ---- long long int
- %hd --- short
- %hhd --- signed char
- %p ----- 指针变量存储的地址
PS:l----long h---half
(2)格式化输入
#include <stdio.h>
int scanf(const char *format, ...);
int fscanf(FILE *stream, const char *format, ...);
int sscanf(const char *str, const char *format, ...);
【C语言基础自学课程】 01 - C语言编程基本知识相关推荐
- matlab无c语言基础自学,matlab及c语言在潮流计算运用【毕设、无需降重】.pdf
Matlab 及 C 语言在潮流计算中的运用 陈洲 (三峡大学电气信息学院 班) 摘要 :潮流计算是研究电力系统稳态运行情况的一种基本电气计算,常规 潮流计算的任务是根据给定的运行条件和网路结构确定整 ...
- python课程教学大纲-《Python语言基础》课程教学大纲
<Python语言基础>课程教学大纲 课程名称:Python语言基础课程类别:专业选修课 适用专业:电子信息工程考核方式:考查 总学时.学分:32学时1.5学分 其中讲授16学时,实验10 ...
- c语言入门自学手机版,c语言入门自学app下载-C语言入门学习 安卓版v1.0.2-PC6安卓网...
C语言入门学习app是一款C语言零基础自学软件.C语言入门自学app提供海量精品学习资源,从小白入门到基础进阶都有,帮你轻松学习编程. 软件介绍 C语言入门学习app是一款专业的编程入门学习App,致 ...
- C语言基础1:初识C语言(转义、注释;数组、操作符、反码、补码、static、define、指针、结构体常变量;局部变量;作用域、生命周期)
文章目录 C语言基础1:初识C语言 1.C语言简介 1.1什么是C语言 1.2C语言的发展 2.第一个C语言程序 2.1创建项目 2.2添加源文件 2.3写代码 3.数据类型 4.变量.常量 4.1定 ...
- c语言关于continue的题,10道c语言基础题1、C语言的跳转语句中,对于break和continue说法正确的是_______. A、contin...
10道c语言基础题1.C语言的跳转语句中,对于break和continue说法正确的是_______. A.contin 10道c语言基础题 1.C语言的跳转语句中,对于break和continue说 ...
- c语言入门自学免费app,C语言入门学习最新版下载-C语言入门学习app手机版v1.0.2 安卓版-腾飞网...
C语言入门学习app手机版是一款c语言编程自学软件,零基础也可以学习,里面有海量教学视频,针对c语言不同程度的讲解都囊括其中.随时随地学习编程都可以,不用担心自己没有基础.还支持在手机上敲代码编程哦. ...
- c语言入门自学手机版,C语言入门学习app下载-C语言入门学习app最新版下载 V1.0.2-友情手机站...
C语言入门学习app是一款0基础自学软件,这里有着丰富C语音相关课程学习,大家在这里是可以便捷搜索查找,随时都是可以找到适合感兴趣课程学习,都是一些优质课程知识提供大家,学员在这里是可以高效学习,海恩 ...
- c语言入门自学手机版,C语言入门学习软件下载-C语言入门学习手机版v1.0.2 - 起点软件园...
C语言入门学习是一款最新推出上线于安卓手机平台的专业编程学习软件,C语言入门学习app收录了海量入门视频课程,清晰易懂的详细讲解专为刚入门学习C语言的小白量身打造,不同章节都有相应的习题,根据习题成绩 ...
- 用c语言做教学课程安排,C语言入门课程安排
<C语言入门课程安排>由会员分享,可在线阅读,更多相关<C语言入门课程安排(5页珍藏版)>请在人人文库网上搜索. 1.C语言入门课程安排开班人数:2-5人年级:3年级以上第一课 ...
最新文章
- 看完这些能控制大脑的寄生虫,你会怀疑人类!
- Python 正则匹配(re)组的应用
- copy和mutablecpy区别
- gSOAP中内存的使用
- java see 方法_Java 反射常用方法
- Syntax Error: TypeError: this.getOptions is not a function
- linux promisc 作用,linux 下怎樣查看網卡是否支持混雜(promisc)模式
- 自由职业者:5步拿下新项目
- 罗永浩今晚带货iPhone 12:价格将有惊喜!
- Oracle 初始化参数文件pfile和spfile
- servlet中web.xml配置
- 什么是虚短、虚断、虚地
- 计算机二级基础知识题库贴吧,考计算机二级用未来教育的题库会出原题吗
- python基础1:数据类型和标识符命名规范
- 通过IP地址连接两台电脑
- 2022年最新餐饮外卖行业市场研报合集(共45份)
- java游戏猿人时代_猿人时代BT版_JAVA游戏免费版下载_7723手机游戏[www.7723.cn]
- antd中reset为啥点击两次
- 3dmax骨骼的绑定
- FineReport报表工具激活码
热门文章
- html验证邮箱和手机号,js与jquery正则验证电子邮箱、手机号、邮政编码的方法
- 比尔盖茨在CES 2007上发表主题演讲
- 通过使用Amazon Neptune来预测电影类型初体验
- pip安装wordcloud安装方法
- win10常用的一些的快捷键
- 将字符串中的前导*号全部删除,中间和尾部的*号不删除
- Apache 403 error, (13)Permission denied: access to / denied问题
- MATLAB高斯噪声时域频域代码,基于Matlab生成高斯噪声
- LeetCode | 872. Leaf-Similar Trees
- 离散数学下 ---格与布尔代数