当前位置: 首页 > news >正文

惠州建站模板店铺推广文案简短

惠州建站模板,店铺推广文案简短,网站页面布局模板,个人网站可以做淘宝客吗C语言简介 发展史#xff1a;BCPL - new B - C - Minix - Linux - gcc C语言诞生#xff1a; 1970年~1973年#xff0c;在肯.汤姆逊和丹尼斯.里奇(影响大)主导下编写完成#xff0c;归属美国贝尔实验室 C语言的诞生专门用于编写操作系统#xf…C语言简介 发展史BCPL - new B - C - Minix - Linux - gcc C语言诞生 1970年~1973年在肯.汤姆逊和丹尼斯.里奇(影响大)主导下编写完成归属美国贝尔实验室 C语言的诞生专门用于编写操作系统所以天生适合一些硬件编程也以速度快著称也非常适合实现数据结构和算法 由于出现时间过早也没想到普通人也能使用C语言编程因此存在着很多缺陷但是前辈已经总结了一些避免陷阱的经验 C语言三剑客《C语言陷阱与缺陷》、《C指针》《C专家编程》 C语言语法很自由自由也意味着危险自由源于自律语法标准C89语法标准也是gcc默认的语法标准C99语法标准对C语言的扩展和增强C11语法标准全新的升级 一、第一个C语言程序helld world #includestdio.h 开头#预处理程序员写的代码不是标准C代码需要一段程序进行翻译成标准C代码负责翻译的程序叫做预处理器翻译的过程叫预处理被翻译的代码叫做预处理指令以#开头的都是预处理指令#include 的功能就是把一个头文件导入到当前文件夹中#include:从系统指定的目录下加载xxx.h#include:先从当前目录下加载xxx.h,如果找不到再从系统指定目录找stdio.h 标准输入输出库函数头文件以.h结尾的文件里面存储的是一些辅助性的代码绝大多数都是函数的声明源文件以.c结尾的文件里面存储的是功能性代码C语言标准委员会为C语言以函数的形式提供了一些基础的功能这些函数都会封装在libc.so库中很多头文件负责对libc.so库中的代码进行声明stdio.h就是其中一个string.h stdlib.hint main()C语言以函数的形式来管理代码是管理代码的最小单位一个函数就是一段代码的集合main函数是C程序的主函数是整个C程序的执行入口和出口有且只有一个int 是一种数据类型表示函数的返回值类型是一个整数main函数的返回值返回给操作系统main函数是由操作系统所调用的反映了该程序是如何结束的通常有三种正数 出现异常别人的错误0 一切正常负数 出现错误自己的错误echo $? 可以获取上一个程序的返回值 {printf(hello world);return 0; }printf/scanf都是标准库中的函数负责输入输出数据用来调试程序 转义字符键盘上一些没有的符号用一些特殊的字符来表示这些特殊的字符就是转义字符\n就是其中之一。\n 换行\t 制表符用于对齐数据\r 光标回到行首\a 铃响\b 退一个字符%% 表示%\\ 表示\ C语言中以分号作为一行代码的结束标注使用{}来划分区域二、编译器 把人能看懂的代码组成的文件翻译成计算机能看懂二进制文件由预处理器、编译器、链接器组成。 gcc是HNU社区为了编译Linux代码而开发的一款免费的编译器默认采用C89语法标准-stdgnu99可以设置C99语法常用的参数-E 只显示与处理的结果-c 只编译不链接-o 指定输出结果的名字-I 指定头文件的加载路径-S 进行汇编生成汇编代码-l 指定要使用的库文件-Wall 尽可能多的产生警告-Werror 把警告当错误处理-std 指定编译语法-D 命令行定义宏三、C代码变成可执行程序的过程 1、预处理把源文件翻译成预处理文件 一般用于查看宏定义的替换结果检查宏函数gcc -E code.c 显示预处理处理的结果 gcc -E code.c -o code.i 生成以i结尾的预处理文件 2、编译把预处理文件翻译成汇编文件 理解C/C代码的底层工作原理 函数重载原理gcc -S code.i 生成以.s结尾的汇编文件 3、汇编 把汇编文件翻译成2进制的目标文件 生成代码库、静态库、共享库gcc -c code.s 生成以o为结尾的目标文件 4、链接把若干个目标文件合并成一个可执行文件 多文件编程的基础gcc code.o a.o b.o c.o ... 默认生成一个a.out的可执行文件四、不同的C文件类型 .h 头文件.h.gch 头文件的编译结果它会被优先使用.c 源文件.i 预处理文件.s 汇编文件.o 目标文件.a 静态库.so 共享库五、数据的储存单位 Bit 比特 一个二进制位只能存0或者1计算机中存储数据的最小单位 Byte 字节 8个二进制位计算机中存储数据的基本单位 KB 1024字节 MB 1024KB GB 1024MB TB 1024GB PB 1024TB六、数据类型 为什么要对数据分类1、现实生活中的数据都是自带类别属性2、对数据进行分类可以节约储存空间提高运行的效率C语言中的数据分为两大类自建程序员自己设计例如结构、联合、类、内建C语言中自带 可以使用sizeof计算类型的字节数大小 sizeofsigned long 整型signed 有符号signed char 1 -128~127signed short 2 -32768~32767signed int 4 正负20亿signed long 4或8由操作系统位数决定signed long long 8 以9开头19位数字的整数注意signed不加就代表加unsigned 无符号unsigned char 1 0~255unsigned short 2 0~65535unsigned int 4 0~40亿unsigned long 4或8由操作系统位数决定unsigned long long 8 1开头的20位正整数注意由于定义无符号的数据是比较麻烦标准库把这些无符号的类型重新定义成以下的类型需要包含一个头文件stdint.huint8_t uint16_t uint32_t uint64_t浮点型float 4double 8long double 12或者16根据系统注意采用科学计数法存储二进制与真实的数据之间需要翻译转换因此浮点型运算速度就比整型要慢编程时尽量采用整型小数点后六位有效判断float类型的数据是否是0float numif(num 0 0.000001 || num -0.000001)字符型:char 字符其实就是符号或者图案但是在内存中存储的是整数需要显示字符时会根据ASCLL码表中对应关系来显示相应的符号或者图案。0 特殊字符表示什么都没有48 065 A97 a 布尔型由于先有了C语言后才有了bool类型所以C语言不可能有真正的布尔类型使用stdbool.h头文件该文件是对布尔类型做的模拟bool true false七、变量与常量 什么是变量程序运行期间数值可以发生改变的叫做变量相当于存储数据的盒子。 定义 类型 变量名int num取名规则1、只能是由字母、数字、下划线组成2、不能以数字开头3、不能与32个C关键字重名4、见名知意【功能、类型、作用域...】 使用赋值num 100;参与运算num*10注意C语言中变量的值默认是随机的为了安全起见一般都初始化为0变量的输入输出int printf (const char *format,...);功能输出数据format 双引号包含的格式信息提示信息占位符... 要输出的变量的列表返回值 输出的字符的个数int scanf(const char *format,...);功能从键盘输入数据foemat由双引号包括的格式信息占位符...:要接收的变量的列表返回值成功输入的变量个数注意scanf需要的是变量的类型、变量的地址变量的地址 变量名练习1定义各种类型的变量并初始化使用scanf输入使用printf显示#includestdio.hint main(int argc,const char* argv[]) {char num_c0;short num_s0;int num_i0;long num_l0;long long num_ll0;unsigned char num_uc0;unsigned short num_us0;unsigned int num_ui0;unsigned long num_ul0;unsigned long long num_ull0;float num_f0;double num_d0;long double num_ld0;printf(请输入num的值);scanf(%hhd%hd%d%ld%lld,num_c,num_s,num_i,num_l,num_ll);scanf(%hhu%hu%u%lu%llu,num_uc,num_us,num_ui,num_ul,num_ull);scanf(%f%lf%LF,num_f,num_d,num_ld);printf(char%hhd,short%hd,int%d,long%ld,longlong%lld,num_c,num_s,num_i,num_l,num_ll);printf(uchar%hhu,ushort%hu,uint%u,ulong%lu,ulonglong%llu,num_uc,num_us,num_ui,num_ul,num_ull);printf(float%f,double%lf,longdouble%LF,num_f,num_d,num_ld); }类型占位符C语言通过占位符来传递变量的类型 signed %hhd %hd %d %ld %lldunsigned %hhu %hu %u %lu %llu%f %lf %LF 什么是常量程序运行期间数值绝对不能改变的叫常量字面值常量100 a hello world枚举常量宏常量100 int默认int100l long100ll long long100u unsigned int100lu100llu3.14 默认double类型3.14f float八、格式化输入输出 %nd 显示n个字符宽度如果不够则补空格右对齐 %-nd 显示n个字符宽度如果不够则补空格左对齐 %0nd 显示n个字符宽度如果不够则补0右对齐 %n.mf 显示n个字符宽度小数也算一位不够则补空格m表示小数点后的位数四舍五入 %g 不显示小数点后多余的0九、运算符 自变运算符前后/--使变量的值自动加1或者减1前自变 立即有效后自变 下一句语句生效注意不要再一行语句中多次使用自变运算符算数运算符 - * / %/ % 除数不能为0会造成浮点数例外核心已转储程序直接死掉整数/整数 结果没有小数部分关系运算符 !比较的结果是0假或1真),运算结果可以继续参与运算 if(ab0)int num 500;0num100;永远为真逻辑运算符 || 比较对象转换为逻辑值0转换成假非0转换为真A B 一假为假A || B 一真为真!A 求反、|| 具有短路特性当左边的表达式可以确定整个表达式的结果时右边不进行计算三目运算符运算对象有3个A?B:C 先判断A的表达式真假若为真执行B假执行C注意该语句不能使用流程控制语句因为他必须要有运行结果赋值运算符 - * /num100 numnum100位运算符 | ~ ^ 后边讲十、类型转换 自动类型转换只有相同类型的数据才能进行运算不同类型数据自动转换成相同类型再进行计算转换规则以不丢失数据为基础适当牺牲一些空间1、字节少的向字节多的转 考虑优先级2、有符号向无符号的转3、整型向浮点型转强制类型转换想要转成的类型原数据int num;(short)num;注意有丢失数据风险慎重使用十一、分支语句 if表达式 //单分支 {表达式为真执行此处代码 }if表达式 //双分支 {表达式为真执行此处代码 } else {表达式为假执行此处代码 }if表达式1 //多分枝 {表达式1为真执行此处代码 } else if表达式2 {表达式2为真执行此处代码 } else if表达式3 {表达式3为真执行此处代码 } else {当表达式123都为假时执行此处代码 }作业 作业1输入三个整数键盘从大到小显示。#includestdio.hint main(int argc,const char* argv[]) {int a[3];int i,k,j;printf(请输入三个整数);for(i0;i3;i){scanf(%d,a[i]);}for(i0;i3;i){for(ji1;j3;j){if(a[i]a[j]){ ka[i];a[i]a[j];a[j]k;} }}for(i0;i3;i){printf(%d,a[i]);}return 0; }作业2输入一个年份判断是否时闰年#includestdio.hint main(int argc,const char* argv[]) {int year;printf(请输入年份);scanf(%d,year);if(year % 400 0){printf(是闰年);}else if(year % 4 0 year % 100 ! 0){printf(是闰年); }else{printf(不是闰年);}}作业3输入一个年份与月份判断该月多少天#includestdio.hint main(int argc,const char* argv[]) {int year,mon;printf(请输入年份);scanf(%d,year);printf(请输入月份); scanf(%d,mon);if(year % 400 ! 0 year % 4 ! 0){if(mon2){printf(该月28天); }else if(mon4 || mon6 || mon9 || mon11){printf(该月30天);}else if(mon1||mon3||mon5||mon7||mon8||mon10||mon12){printf(该月31天); }else{printf(输入错误); }}else{if(mon2){printf(该月29天); }else if(mon4 || mon6 || mon9 || mon11){printf(该月30天);}else if(mon1||mon3||mon5||mon7||mon8||mon10||mon12){printf(该月31天); }else{printf(输入错误); }}return 0; }作业4输入一个三位整数判断是否是水仙花数#includestdio.hint main(int argc,const char* argv[]) {int g,s,b;int num;printf(请输入一个三位整数);scanf(%d,num);bnum/100;snum%100/10;gnum%10;if(num100 num999){if(numg*g*gs*s*sb*b*b){printf(是水仙花数);}else{printf(不是水仙花数);}}else{printf(请仔细审题);}return 0; }作业5输入一个成绩判断该成绩的等级#includestdio.hint main(int argc,const char* argv[]) {int cj;printf(请输入成绩);scanf(%d,cj);if(cj0 || cj100){printf(输入错误); }else{if(cj100 cj90){printf(A);} else if(cj90 cj80){printf(B);} else if(cj80 cj70){printf(C);} else if(cj70 cj60){printf(D);} else if(cj60 cj0){printf(E);} }return 0; }
http://www.zqtcl.cn/news/319014/

相关文章:

  • ios开发者账号有什么用嘉兴网站关键词优化
  • 怎样在外贸网站做业务简付后wordpress
  • html网页制作源代码成品长沙 网站优化
  • 长沙做网站哪里好百度招聘 网站开发
  • 创建网站服务器银川建设厅网站
  • 海口建设局网站代运营网站建设
  • 网站建设环境搭建心得体会微信开发者模式
  • 网站点击率多少正常落地页网站
  • 做淘宝店铺有哪些好的网站东莞网站制作建设收费
  • Wordpress 实名认证太原网站搜索优化
  • 大良网站建设dwxw网站可以自己做
  • 自己怎么建网站佛山哪家网站建设比较好
  • 长沙短视频制作公司广州网站优化注意事项
  • 北京西城网站建设公司蓬莱做网站价格
  • 网站镜像做排名网站托管工作室
  • 江苏省建设协会网站wordpress小说采集
  • 网站运行费用预算计算机学了出来干嘛
  • 什么网站上公司的评价最客观青州网站优化
  • 网站开发下载那个kk网龙岩
  • 网站页面统计代码是什么意思国外网站模板欣赏
  • 徐州社交网站传奇做网站空间
  • 网站服务器租赁怎样用ps做网站的效果图
  • 温州网站建设制作苏州做网站费用
  • 山东网站建设和游戏开发的公司排名网站开发工程师待遇淄博
  • 创建网站的代码公司网站建设服务公司
  • 徐州建站推广仿织梦长沙网站公司
  • 中山做网站的新闻静态网站模板下载
  • 以学校为目标做网站策划书企业管理软件都有哪些
  • 黄石网站开发云开发小程序源码
  • 重点实验室网站建设萧山好的做网站的公司