C语言基础小知识_第1页
C语言基础小知识_第2页
C语言基础小知识_第3页
C语言基础小知识_第4页
C语言基础小知识_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

本文格式为Word版,下载可任意编辑——C语言基础小知识C语言根基小学识

想要学好C语言,那么务必打好根基,下面我为大家带来了C语言根基小学识,接待大家阅读!

C语言根基小学识

根本数据类型

void:声明函数无返回值或无参数,声明无类型指针,显示丢弃运算结果。C89标准新增

char:字符型类型数据,属于整型数据的一种。KR时期引入

int:整型数据,表示范围通常为编译器指定的内存字节长。KR时期引入

float:单精度浮点型数据,属于浮点数据的一种。KR时期引入

double:双精度浮点型数据,属于浮点数据的一种。KR时期引入

_Bool:布尔型C99标准新增

_Complex:复数的根本类型C99标准新增

_Imaginary:虚数,与复数根本类型好像,没有实部的纯虚数C99标准新增

_Generic:供给重载的接口入口C11标准新增

类型修饰关键字

short:修饰int,短整型数据,可省略被修饰的int。KR时期引入

long:修饰int,长整型数据,可省略被修饰的int。KR时期引入

longlong:修饰int,超长整型数据,可省略被修饰的int。C99标准新增

signed:修饰整型数据,有符号数据类型。C89标准新增

unsigned:修饰整型数据,无符号数据类型。KR时期引入

restrict:用于限定和约束指针,并说明指针是访问一个数据对象的唯一且初始的方式。C99标准新增

繁杂类型关键字

struct:布局体声明。KR时期引入

union:联合体声明。KR时期引入

enum:枚举声明。C89标准新增

typedef:声明类型别名。KR时期引入

sizeof:得到特定类型或特定类型变量的大小。KR时期引入

inline:内联函数用于取代宏定义,会在任何调用它的地方开展。C99标准新增

存储级别关键字

auto:指定为自动变量,由编译器自动调配及释放。通常在栈上调配。与static相反。当变量未指定时默认为auto。KR时期引入

static:指定为静态变量,调配在静态变量区,修饰函数时,指定函数作用域为文件内部。KR时期引入

register:指定为寄放器变量,建议编译器将变量存储到寄放器中使用,也可以修饰函数形参,建议编译器通过寄放器而不是堆栈传递参数。KR时期引入

extern:指定对应变量为外部变量,即标示变量或者函数的定义在别的文件中,提示编译器遇到此变量和函数时在其他模块中探索其定义。KR时期引入

const:指定变量不成被当前线程变更但有可能被系统或其他线程变更。C89标准新增

volatile:指定变量的值有可能会被系统或其他线程变更,强制编译器每次从内存中取得该变量的值,阻拦编译器把该变量优化成寄放器变量。C89标准新增

流程操纵关键字

跳转布局

return:用在函数体中,返回特定值假设是void类型,那么不返回函数值。KR时期引入

continue:终止当前循环,开头下一轮循环。KR时期引入

break:跳出当前循环或switch布局。KR时期引入

goto:无条件跳转语句。KR时期引入

分支布局

if:条件语句,后面不需要放分号。KR时期引入

else:条件语句否决分支与if连用。KR时期引入

switch:开关语句多重分支语句。KR时期引入

case:开关语句中的分支标记,与switch连用。KR时期引入

default:开关语句中的“其他”分支,可选。KR时期引入

编译

#define预编译宏

#if表达式#elseif表达式#else#endif条件编译

#ifdef宏#else#endif条件编译

#ifndef宏#else#endif条件编译与条件编译

语法布局

依次布局

依次布局的程序设计是最简朴的,只要按照解决问题的依次写出相应的语句就行,它的执行依次是自上而下,依次执行。

例如:a=3,b=5,现交换a,b的值,这个问题就犹如交换两个杯子水,这当然要用到第三个杯子,假使第三个杯子是c,那么正确的程序为:c=a;a=b;b=c;执行结果是a=5,b=c=3假设变更其依次,写成:a=b;c=a;b=c;那么执行结果就变成a=b=c=5,不能达成预期的目的,初学者最轻易犯这种错误。依次布局可以独立使用构成一个简朴的完整程序,常见的输入、计算,输出三步曲的程序就是依次布局,例如计算圆的面积,其程序的语句依次就是输入圆的半径r,计算s=3.14159*r*r,输出圆的面积s。不过大多数处境下依次布局都是作为程序的一片面,与其它布局一起构成一个繁杂的程序,例如分支布局中的复合语句、循环布局中的循环体等。

选择布局

依次布局的程序虽然能解决计算、输出等问题,但不能做判断再选择。对于要先做判断再选择的问题就要使用选择布局。选择布局的执行是依据确定的条件选择执行路径,而不是严格按照语句展现的物理依次。选择布局的`程序设计方法的关键在于构造适合的分支条件和分析程序流程,根据不同的程序流程选择适当的选择语句。选择布局适合于带有规律或关系对比等条件判断的计算,设计这类程序时往往都要先绘制其程序流程图,然后根据程序流程写出源程序,这样做把程序设计分析与语言分开,使得问题简朴化,易于理解。程序流程图是根据解题分析所绘制的程序执行流程图。[23]

循环布局

循环布局可以裁减源程序重复书写的工作量,用来描述重复执行某段算法的问题,这是程序设计中最能发挥计算机特长的程序布局,C语言中供给四种循环,即goto循环、while循环、dowhile循环和for循环。四种循环可以用来处理同一问题,一般处境下它们可以彼此代替换,但一般不提倡用goto循环,由于强制变更程序的依次经常会给程序的运行带来不成预料的错误。

更加要留神在循环体内应包含趋于终止的语句即循环变量值的变更,否那么就可能成了一个死循环,这是初学者的一个常见错误。

三个循环的异同点:用while和do…while循环时,循环变量的初始化的操作应在循环体之前,而for循环一般在语句1中举行的;while循环和for循环都是先判断表达式,后执行循环体,而do…while循环是先执行循环体后判断表达式,也就是说do…while的循环体最少被执行一次,而while循环和for就可能一次都不执行。另外还要留神的是这三种循环都可以用break语句跳出循环,用continue语句终止本次循环,而goto语句与if构成的循环,是不能用break和continue语句举行操纵的。

依次布局、分支布局和循环布局并不

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论