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的编译程序和 ...
随机推荐
- Android学习笔记--Sqlite数据库
前几天学习了Android中的数据存储,包括文件存储,SharedPreferences存储,还有就是Acndroid中的特色:SQLite数据库存储了.让我比较惊讶的是Android中竟然内嵌了一个 ...
- jquery小技巧汇总 持续更新中
1.jquery高亮当前选中菜单 $("document").ready(function(){ $(".menu li").click(function(){ ...
- JDBC项目实践
这几天学习了JDBC的接口,从简单的连接,到不断地对JDBC的代码进行优化,最后到实体类,DAO类的设计,现在对这几天所学做一个总结: 首先是软件的系统组成: 数据库中有很多的表:Customer,D ...
- PHP 新建动态类的代码
$testObject=(object)array(); $testObject->first="firstValue"; var_dump($testObject); $t ...
- DOM笔记(七):开发JQuery插件
在上一篇笔记本中,讲解了如何利用jQuery扩展全局函数和对象:DOM笔记(六):怎么进行JQuery扩展? 在这篇笔记本中,将开发一个简单的动画插件,名称是example-plugin,用其实现一个 ...
- junit4新框架hamcrest
Hamcrest是一个书写匹配器对象时允许直接定义匹配规则的框架.有大量的匹配器是侵入式的,例如UI验证或者数据过滤,但是匹配对象在书写灵活的测试是最常用.本教程将告诉你如何使用Hamcrest进行单 ...
- Linux系统github使用
命令行下使用: 1.检查ssh key cd ~/.ssh 如果提示"No such file or directory",则需要创建一个ssh key. 2.创建ssh key. ...
- Azure Cloud中的Log4Net设置
这里的Cloud包含Worker Role和Web Role,Role是运行在云主机中的,这里的主机和VM有所不同,Windows Azure Role Architecture.我们并没有和本地服务 ...
- HW7.17
import java.util.Scanner; public class Solution { public static void main(String[] args) { Scanner i ...
- [POJ] #1008# Maya Calendar : 字符处理/同余问题
一. 题目 Maya Calendar Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 74085 Accepted: 2 ...