C语言综述
1.预处理指令:在变异之前执行的指令。
系统自带的文件用<>,自己写的文件用"";
.h成为头文件,用来声明一些常用的函数,假如想使用这些函数,就必须包含这个头文件(注:声明的这些函数不带函数体)。
2.编写程序->编译->链接->运行。
3.函数:
(1)主函数 main()
(2)库函数
(3)自定义函数
注意:
(1)函数位置不能颠倒:一行一行执行
(2)分成头文件test.h和函数定义文件test.c后,在main()中要引用#include "test.h",但是不能引用test.c(否则在链接的时候出错:提示重复定义了函数)。
C语言中没有的: 1.没有boolean类型,但是C语言用1和0表示
2.没有字符串类型,但是C语言用字符数组来表示,末尾加\0表示字符串数组,与普通字符数组区分。 如:char s[] = {'h','i','\0'}; char s1[3] = "hi";//末尾自动加\0了。 打印字符串: printf() puts() char s[] = "hi"; printf("%s",s);//打印出hi printf("%d",s);//打印数组s的地址
puts(s);//打印出hi
puts("hi")//打印hi //printf()与puts()的区别: 1.printf()可以输出多个字符串,printf("%s %s $s","hi","hello","good"); puts()只能输出一个字符串; 2.puts()能自动换行,printf()不可以。
\0在这里的作用:
scanf() gets()的区别: 1.gets一次只能读取一个字符串,scanf可以读取多个 2.gets可以读入包含空格、tab的字符串,直到遇到回车为止。
(stdio.h)字符处理函数:putchar() getchar() (string.h)字符串处理函数:strlen()[不包括\0这个字符];strcpy()字符串复制;strcat()字符串连接:strcmp()比较两个字符串大小[依靠assic码中字符的大小比较,逐个字符一一比较,比较出结果就结束];strlwr();strupr();
预处理指令:1.所有预处理指令都以#开头,并且无分号结束符;2.三种类型:宏定义,条件编译,文件包含。
宏定义:宏定义在编译前调用,即在编译前就做出计算;而函数在使用时才调用,也没有类型,所以宏定义效率更好 定义类型一:不带参数 #define NUM 5 其中NUM为宏,即宏名;5是用来替换宏名的字符串 定义类型二:带参数 #define mul(a,b) ((a)+(b)) 注:宏定义就是字符串替换,所以得注意括号的使用。 如:mul(2+3,3+6)/mul(2,3)
变量存储类型:
默认情况下auto修饰的自动变量可以省略auto。
static: extern:默认情况下就是外部函数的可以省略extern
C语言综述的更多相关文章
- 【系统架构】IT职业技能图谱(点开大图查看)
本文地址 1 程序开发语言综述 2 iOS开发工程师必备技能 3 运维工程师必备技能 4 前端工程师必备技能 5 大数据工程师必备技能 6 云计算工程师必备技能 7 安全工程师必备技能 8 移动无线测 ...
- [转]StuQ 技能图谱(全套13张)
程序开发语言综述.jpg 前端工程师必备技能.jpg 大数据工程师必备技能.jpg 安全工程师必备技能.jpg 嵌入式开发必备技能.jpg iOS开发工程师必备技能.jpg 移动无线测试工程师 ...
- 算法线性编程珠玑读书笔记之----->使用线性算法求解连续子序列的最大和
这段时间笔者几篇文章介绍了改算法线性的文章. 关联文章的地址 这个算法我在我的博客里应用动态规划做过,详细实现请参阅我的dp板块,下面给出书上最快的算法,时间复杂度为O(n),称之为线性算法. #in ...
- 强力推荐各位攻城狮查看,收藏IT职业技能图谱(全套13张)
汇集整理泛 IT 技术领域(云计算,大数据,运维,安全,开发语言,智能硬件等)学习技能图谱,帮助程序员梳理知识框架结构,并尝试提供路径指导和精华资源,方便技术人学习成长. 运维工程师必备技能 程序开发 ...
- Python面试简介及并行并发
今天的分享内容大体如下: 一. 面试 1. 什么是面试 2. 优秀的面试 二. Python综述 1. Python设计哲学及版本变迁 2. Python发展现状及其他语言使用场景 3. GIL 4. ...
- [综述]领域特定语言(Domain-Specific Language)的概念和意义
领域特定语言(Domain Specific Language, DSL)是一种为解决特定领域问题而对某个特定领域操作和概念进行抽象的语言.领域特定语言只是针对某个特定的领域,这点与通用编程语言(Ge ...
- 苹果新的编程语言 Swift 语言进阶(一)--综述
Swift 是苹果开发和提供的供开发IOS 和OS X应用的一门新的语言.Swift语言基于C 和Objective-C语言,除了提供C 和Objective-C语言具有的所有语法功能外,为了编程方便 ...
- Python爬虫入门一之综述
大家好哈,最近博主在学习Python,学习期间也遇到一些问题,获得了一些经验,在此将自己的学习系统地整理下来,如果大家有兴趣学习爬虫的话,可以将这些文章作为参考,也欢迎大家一共分享学习经验. Pyth ...
- PL/0语言编译器的设计与实现
一.设计任务 1.1程序实现要求 PL/0语言可以看成PASCAL语言的子集,它的编译程序是一个编译解释执行系统.PL/0的目标程序为假想栈式计算机的汇编语言,与具体计算机无关. PL/0的编译程序和 ...
随机推荐
- suse10的网络配置(静态IP)
感觉跟fedora的差别还是蛮大的, 主要是配置文件的不同, 尤其是默认路由, 多了一个单独的文件ifroute-xxx suse10的网卡配置文件在/etc/sysconfig/network ...
- 18个jQuery Mobile开发贴士和教程
jQuery Mobile 是 jQuery 在手机上和平板设备上的版本.jQuery Mobile 不仅会给主流移动平台带来jQuery核心库,而且会发布一个完整统一的jQuery移动UI框架.支持 ...
- CKEditor和IMCE构建drupal编辑器
1. 安装并启用CKEditor和IMCE模块. 2. 配置CKEditor: 3. 配置用户的权限即可.最终效果图:
- Ubuntu/CentOS使用BIND配置DNS服务器
------ubuntu server 12---------- 1.安装bind9 sudo apt-get -y install bind9 bind9utils 2.配置 /etc/bind/ ...
- iOS优秀博客收录(持续更新)
唐巧 王巍 破船之家 NSHipster Limboy 无网不剩 念茜的博客 Xcode Dev Ted’s Homepage txx’s blog KEVIN BLOG 阿毛的蛋疼地 亚庆的 Blo ...
- 【转】Android Intent Action 大全
String ADD_SHORTCUT_ACTION 动作:在系统中添加一个快捷方式.. “android.intent.action.ADD_SHORTCUT” String ALL_APPS_AC ...
- [转]Python文件操作
前言 这里的“文件”不单单指磁盘上的普通文件,也指代任何抽象层面上的文件.例如:通过URL打开一个Web页面“文件”,Unix系统下进程间通讯也是通过抽象的进程“文件”进行的.由于使用了统一的接口,从 ...
- 基于Heritrix的特定主题的网络爬虫配置与实现
建议在了解了一定网络爬虫的基本原理和Heritrix的架构知识后进行配置和扩展.相关博文:http://www.cnblogs.com/hustfly/p/3441747.html 摘要 随着网络时代 ...
- 轻松学习Linux之入门篇
1.Linux概述: 2.Linux优点 3.linux历史待上传 4.linux部分发行版 5.linux政府扶持 本文出自 "李晨光原创技术博客" 博客,谢绝转载!
- ubuntu 14.04 root破解
Advanced Programmable interrupt controller 高级可编程中断控制;Advanced create table `users` (`id` int(11) not ...