尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
第一周学习汇总
一、概述1.C语言的发展过程C语言在70年代初问世一九七八年由美国电话电报公司贝尔实验室正式发表了C语言后来美国国家标准协会制定了一个C语言标准于1983年发表称为ANSIC。早期的C语言主要是用于UNIX系统由于C语言的强大功能和各方面的优点逐渐被人们认识到八十年代C语言被广泛使用成为当代最优秀的程序设计语言之一。2.C语言的特点1C语言简洁紧凑使用方便灵活2运算符丰富运算类型更多3数据结构类型丰富4具有结构化的控制语句5程序自由度大语法控制不是很严格6允许直接访问物理地址能进行位操作可直接对硬件进行操作能实现汇编语言的大部分功能且与汇编相比用C语言写的程序可移植性好7生成目标代码质量高程序执行效率高。3.程序设计思想1面向过程以事件为中心分析解决问题需要的步骤用函数将这些步骤一步一步实现使用时依次调用即可。2面向对象 以实物为中心关注由哪些对象协作完成任务。4.环境安装Code::Blocks/Visual Studio5.第一个代码#include stdio.h int main() { printf(Hello World!); return 0; }二、数据类型1.逻辑类型true和false分别表示逻辑真值和逻辑假值。2.整数类型1char类型名称长度字节值域char1-128-127或0-155signed char1-128-127unsigned cahr10-255补充计算机在内存中存储方式是补码正数的原码、反码和补码一样。负数的反码是在其原码的基础上符号位不变其余位按位取反负数的补码是在其反码的基础上1。2short类型名称长度字节值域short2-32768-32767unsigned short20-655353int类型名称长度字节值域int4-2147483648-2147483647unsigned int40-42949672954long5浮点类型包括float和double数据类型从大到小double float long long long int short char6bool类型值域非零true零false#include stdio.h #include stdbool.h //bool类型所在头文件 int main() { bool a; a 1; if(a) { printf(TRUE); //a只要不为0打印TRUE } else { printf(FALSE); } return 0; }三、常量1.整形常量常量在程序运行期间数值不发生变化的数据。整数可以是十进制、八进制和十六进制。2.浮点常量3.指数常量组成尾数部分、字母e或E和指数部分。通常用来表示特别大或者特别小的数。4.字符常量表示形式由两个单引号包括一个字符。在C语言中字符常量具有数值字符常量的就等于字符的ASCII值。5.字符串常量表示形式用双引号括起来的一串字符。6.标识常量也叫符号常量一般用大写英文字母的标识符。表示形式#define 标识常量名称 常量#include stdio.h #define ONE 1 #define TWO ONE ONE //ONE TWO都是标识常量 int main() { //1.整形常量 int num 10; printf(%d\n, num); //输出十进制数 printf(%x\n, num); //输出十六进制数 printf(%o\n, num); //输出八进制数 printf(---------------\n); //2.浮点常量 float a 5.20; //单精度 占4字节 double b 13.14; //双精度 占8字节 printf(float:%f\n, a); printf(double:%f\n, b); printf(---------------\n); //3.指数常量 //4.字符常量 char c A; char d c 10; printf(c %d, d %d\n, c); printf(%c\n, d); printf(---------------\n); //5.字符串常量 int x ONE TWO; printf(x %d\n, x); return 0; }四、变量1.变量的基础1变量由字母、数字、下划线组成不能以数字开始不能和C的关键字重名2程序运行时变量占据存储空间的大小由其数据决定3变量在内存空间中的首地址成为变量的地址。2.变量的说明一般形式存储类型 数据类型 变量名;存储类型是关键词auto、register、static和extern数据类型可以是基本数据类型也可以是自定义的数值。注意事项1一个变量只能存一个值变量名不允许重复定义2一条语句可以定义多个变量3变量在使用之前一定要进行赋值。3.变量的存储类型1auto说明的变量只能在某个程序范围内使用通常在函数体内或函数中的符合语句中在程序中一般省略关键字autoc语言会默认关键字是auto。2register寄存器型将变量放入CPU的寄存器中不能用“”来获取register变量的地址。3static静态存储类型既可以子啊函数体内也可以在函数体外默认为0该存储类型的变量不会重新说明而且还保留上次调用存储#include stdio.h int main() { int i 1; while(i 5) { int a 1; a; printf(a %d\n, a); i; } int c 1; while (c 5) { static int b 1; b; printf(b %d\n, b); c; } return 0; }4extern外部参照引用型引用在其他文件中的函数体外说明的变量static修饰的全部变量其他文件都无法使用。五、运算符1.算数运算符c语言提供的算数运算符、-、*、/、%、、--注意事项1两整数计算结果是整数两小数计算结果是小数2除法不允许除以03取余时运算数必须是整型结果的符号跟的第一个数字保持一致4自增自减运算时要注意是前置还是后置。#include stdio.h int main() { //数值拆分 //需求键盘录入一个三位数将其拆分为个位、十位、百位后打印在控制台 int num; printf(请输入一个三位数); scanf(%d, num); int ge num % 10; int shi num / 10 % 10; int bai num / 100 % 10; printf(个位是%d\n, ge); printf(十位是%d\n, shi); printf(百位是%d\n, bai); /*公式总结 个位数值%10 十位数值/10%10 百位数值/100%10 千位数值/1000%10 */ //赋值运算符累加 int num 0; int sum 0; while(num 100) //num是后置自增意思是先使用变量原来的值进行比较再将变量加1 { sum num; } printf(sum %d\n, sum); return 0; }2.关系运算符c语言的关系运算符有、、、、、!#include stdio.h int main() { int a 5; int b 6; printf(%d\n, a (b - 1)); printf(%d\n, (a 1) b); printf(%d\n, a (b - 2)); printf(%d\n, a 100); printf(%d\n, (a 3) b); printf(%d\n, a ! (b - 1)); return 0; }3.逻辑运算符运算符功能说明举例!逻辑反!(x 0)逻辑与x 0 x 10||逻辑或y 10 || x 5注意事项1逻辑与运算符逢0截止2逻辑或||运算符逢1截止。#include stdio.h int main() { int a 1; int b 0; int c 0; //由于遇0截至所以没有进行b的动作 int d !(a 1 0) b || c; printf(a %d\n, a); printf(b %d\n, b); printf(c %d\n, c); printf(d %d\n, d); return 0; }4.位运算运算符功能说明举例~位逻辑反~a位逻辑与a b|位逻辑或a | b^位逻辑异或a ^ b右移动a 1左移动b 1注意事项1异或运算规律相同为假不同为真2移动运算时运算量和表达式必须为整形结果数值。5.赋值运算一般形式变量 操作符 表达式C语言的赋值符合运算符、 -、 *、 /、 %、 、 |、 ^ 、、 6.特殊运算符1条件运算符#include stdio.h int main() { int a 10; int b 20; printf(%d\n, a b ? a : b); return 0; }2逗号运算符3sizeof运算符只是针对数据类型而不是针对变量#include stdio.h int main() { int a 5; printf(%zu\n, sizeof(int)); printf(%d\n, sizeof(a)); return 0; }4C运算符的优先级小括号永远是第一级#include stdio.h int main() { int x 1, y 0, z 0; printf(%d\n, x y || z); printf(x %d\n, x); printf(y %d\n, y); printf(z %d\n, z); return 0; }六、输入输出1.数据输出C语言中无I/O语句I/O操作由函数实现#include stdio.h字符输出函数putchar(c)#include stdio.h int main() { int c 65; char a B; putchar(c); //输出为A putchar(\n); putchar(a); return 0; }2.格式输出函数格式printf(格式控制符, 输出表);格式符作用格式符作用i、d十进制整数x、X十六进制无符号整数o八进制无符号整数u无符号十进制数c单一字符s字符串e、E指数形式浮点小数f小数形式浮点小数ge和f中较短的一种%%百分号本身附加格式说明修饰符功能m输出数据域宽长度m左补空格’否则按实际输出.n对实数指定小数后位数四舍五入.n对字符串指定实际输出位数-输出数据在域内左对齐指定在有符号数的整数前显示正号0输出数值时指定左面不适用的空位置自动填03.字符输入函数字符输入函数getchar正常返回值为读取的代码出错或结束返回-1。4.格式输入函数格式scanf(格式控制串, 地址表)功能按指定格式从键盘读入数据存入地址表指定存储单元按回车键结束返回值撑场返回输入数据个数地址表变量的地址常用取地址运算符。5.输入函数垃圾清理#include stdio.h int main() { int x; char ch; scanf(%d, x); //用getchar清除或者用格式串中空格或%*c来吃掉 //getchar //scanf(%*c%c, ch); //scanf( %c, ch); scanf(%c, ch); printf(x %d, ch %c\n, x, ch); return 0; }6.字符串输入输出函数1字符串输入函数gets格式char* gets(char *s)功能从键盘输入以回车结束的字符串放入字符数组中并自动加\0说明输入串长度应小于字符数组维数gets函数并不以空格作为字符串输入结束的标志2字符串的输出函数put格式int puts(const char* s)功能像显示器输出字符串输出完自动换行说明字符数组必须以\0结束
RELATED

相关推荐

Flutter/OpenHarmony 三方库适配实战:jpush_flutter 推送兼容层

Flutter/OpenHarmony 三方库适配实战:jpush_flutter 推送兼容层

Flutter/OpenHarmony 三方库适配实战:jpush_flutter 推送兼容层 一、项目信息 项目内容仓库名称jpush-flutter-pluginDart 包名jpush_flutterAtomGit 仓库地址https://atomgit.com/oh-flutter/jpush-flutter-plugin上游适配版本3.5.9OHOS 适配版本3.5.9-ohos.1方法…

📅 2026/10/25 1:54:09
黑客松(Hackathon)通常要求在 24–72 小时内完成从需求拆解、原型设计、前端页面、接口联调到演示交付的全流程

黑客松(Hackathon)通常要求在 24–72 小时内完成从需求拆解、原型设计、前端页面、接口联调到演示交付的全流程

黑客松(Hackathon)通常要求在 24–72 小时内完成从需求拆解、原型设计、前端页面、接口联调到演示交付的全流程。时间越短,越不能把大量精力消耗在重复性前端工程劳动上,例如反复创建项目目录、手写 HTML 骨架、生成组件模板、同步…

📅 2026/10/25 1:54:09
【NeurIPS 2024】Super Consistency:景观超一致性,学习率为何能跨规模迁移|从缩放极限理论视角

【NeurIPS 2024】Super Consistency:景观超一致性,学习率为何能跨规模迁移|从缩放极限理论视角

## 摘要把网络宽度放大三十倍,学习率却一步都不用改 —— 这在 μP 参数化下真的成立。可"为什么能迁移"一直只有现象描述,没有可测量的判据。**Super Consistency**(景观超一致性)是 NeurIPS 2024 的《Super Consisten…

📅 2026/10/25 1:54:09
MORE NEWS

更多资讯

📰

追求无可挑剔:从验收清单到流程化的打磨方法论

项目标题是"impeccable",正文和关键词都是空的。这就很有意思了——单看这一个词,可能指的是某样东西"无可挑剔""完美无瑕",也可能是某个产品、某个工艺、某种标准。我决定把它写成一篇关于"如何把一件事…

📰

技术缩写‘rea’解析:如何准确定义与验证未知术语

项目标题为“rea”,但提供的输入内容中,项目正文为空、关键词未列出、摘要描述缺失,且网络搜索内容部分完全为空(仅显示)。这意味着当前输入不构成一个可解析的项目信号——既无领域指向(是编程术语&#x…

📰

分布式系统中的数据一致性与旧数据幻影问题解析

1. 分布式系统中的数据一致性难题在分布式数据库和微服务架构中,数据一致性问题就像房间里的大象——人人都知道它的存在,却常常选择性地忽视。我曾在多个生产环境中亲眼目睹,由于对最终一致性的误解导致的业务逻辑错误,其中最隐蔽…

📰

系统封装技术:从原理到企业级部署实践

1. 系统封装概述:从概念到价值系统封装是将操作系统及其相关组件、驱动程序和配置打包成一个可部署镜像的技术过程。这就像把一栋精装修的房子整体打包,可以直接搬到新的地基上使用。我在过去五年里为47家企业实施过系统封装,发现这项技术能节…

📰

Flowing消息循环:调度策略、排障实战与进阶改造全解析

你有没有遇到过这种状况:服务进程明明活着,CPU占用正常,日志却半天没有新东西进来,那边业务方已经急得拍桌子,而你连问题出在哪都摸不着头绪。我前一阵排查一个订单延迟推送异常时,就被这么折磨过&#xff…

📰

智能交通强化学习泛化难题:从场景指纹到通用策略的重构实践

上个月复盘一套智能路口信号控制项目时,统计到一件让人很尴尬的事:在A路口训练收敛的强化学习模型,平移到一条相隔不到两公里、车道布局几乎一样、流量只差15%的B路口后,平均延误不降反升了12%。团队成员开玩笑说“这模型可能只认…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬