C语言归纳
C语言基础知识归纳【精选文档】

C语言基础知识1.每个C程序有且只有一个主函数main(),且程序必须从main()函数开始执行,并在main()函数中结束。
2.在C语言中,用e来表示科学计数法时,规定在e的前面必须有数字,后面必须为整数。
3.用单引号括起来的一个字符常量只能存放一个字符;C语言中没有字符串变量,只能用字符数组来存储字符串.4.外部变量在编译时由系统分配永久的内存空间,所以外部变量的类型不是自动存储类别。
5.在一个函数内的复合语句中定义的变量,只能在这个复合语句范围内有效。
6.用sizeof(int)计算int类型数据的字节数。
7.C语言运行时,首先系统检查语法的正误,再运行程序的语法;C语言中,可以在一个函数中嵌套一个函数,但是不能在一个函数中定义一个函数;只有在函数外部定义的函数才是外部函数;C语言的子程序有过程和函数两种。
8.预处理命令行的位置没有规定,只是习惯放在前面;在源文件中的可以有多条预处理命令,但一行只能写一条;宏名的大写只是习惯性的表示;宏替换不仅不占用运行时间还不分配内存空间。
9.feof函数的作用是检查文件是否结束,当结束时返回的值为非零,否则为零。
10.当定义了数组后,在给其赋值时,不能直接把字符串赋给数组名。
11.在赋值表达式中,赋值运算符“="右侧不能为表达式;在求余运算符中的两侧都必须为整型;在强制类型转换时,类型名应用括号括起来。
12.静态局部变量,只有当程序结束后,其值才释放。
13.当调用函数时,实参是一个数组名,则向函数传送的是数组每一个元素的地址。
14.算法的特点为有零个或多个输入,有一个或多个输出,当相同的输入时,其结果相同;算法正确的程序最终一定会结束。
15.在C语言中,预处理命令行都以“#”开头;当需要时才用#include〈stdio。
h>;预处理的作用就是实现宏定义和条件编译。
16.当数组元素的下标超出了定义的下标范围时,系统不给出“下标越界”的字样,而是得出错误的答案,因此在编程时务必检查下标是否越界。
C语言常用词汇汇总

C语⾔常⽤词汇汇总1. continue 跳出本次循环,进⾏下⼀次循环 注意continue只能针对for循环和while循环, 不能针对switch选择语句,除⾮switch语句嵌套在for或者while循环中2. return 向调⽤函数返回值或终⽌函数 当函数执⾏return后函数结束,本函数中剩下的所有语句都不在执⾏ 如果返回值为空结束函数,不像调⽤者返回任何值,可⽤来终⽌函数.3. int 整数 4个字节4. short int 短整数 2个字节5. long int 长整数 8个字节6. float 单精度浮点数 4个字节 不能准确存储浮点数7. double 双精度浮点数 8个字节 不能准确存储浮点数8. char 字符 1个字节9. printf() 输出10. scanf() 获取⽤户输⼊11. getchar() 获取⽤户输⼊中的字符12. %d 整形 控制符13. %ld 长整形 控制符14. %f 浮点数 控制符15. %lf 双精度浮点数 控制符16. %c 字符 控制符17. %x ⼗六进制 控制符18. %#X 带0x的⼗六进制更容易辨别输出为16进制 控制符 19. A?B:C 三⽬运算符 如果A表达式成⽴执⾏B否则执⾏C20. if(表达式) 如果21. for(赋值;判断;⾃增) 循环22. while(判断) 循环23. do...while() 先执⾏⼀次再循环判断如果为真,反复循环24. switch(参数) 内部加对应的case 值和default 当传⼊的参数与case后的值相同时执⾏case后⾯的,如果多个都不同则执⾏default25. i++ ⾃增1 但对应的值是i26. ++i ⾃增1对应的值为i+1后的值27. a[2] 数组28. a[2]={1,2} 数组完全初始化29. a[2]={1} 数组不完全初始化30. a[2]; 数组不初始化31. a[2]={0} 数组清零32. a[2][2] ⼆维数组33. void 定义在函数名前表⽰⽆返回值,定义在函数名后的括号中表⽰⽆形式参数33. break 结束当前的⽗循环或switch,在多层循环中只能终⽌最近的⼀个循环34. continue 结束本次循环进⼊下⼀次循环 35. bool 布尔值36. true 真37. false 假 38. sqrt(x) 求x的平⽅根 sqrt求平⽅根 39. abs(x) 求x的绝对值 40. fabs(x) 求浮点数的绝对值41. 。
c语言考试重点归纳总结

C语言期末知识点总结一、概述l C程序由函数构成,其中有且只能有一个main函数。
程序的执行总是从main函数开始,在main 函数中结束。
l Main函数可以书写在程序的任何位置。
l 函数中的语句必须以“;”结束。
l 程序中注释可以出现在任何空格能出现的地方。
l 标识符的命名规则:数字、字母、下划线(数字不能开头),系统保留的关键字不可用用来命名。
l 编译的快捷键。
l 运行的快捷键。
二、数据类型与基本操作l 基本数据类型及其存储字节数:整形、实型、字符型l 整形常量:125, 0125, 0x12afl 实型常量:3.14 ,2.5E+3l 字符型常量:‘a’,“abcd”l 数据类型关键字:l ASCII码是字符编码方式,占一个字节l 小写字母a的ASCII值为97;大写字母A的ASCII值为65,大小写相差32。
l 变量必须先定义后使用。
l 转义字符(见教材30页),在一个字符串中如果出现转义字符,按照一个字符来计算,如“abcd\101ef\n”,统计结果为8个字符。
此处要注意“\101”是一个字符,101是八进制数。
在例如“abcd\181ef\n”,统计结果为10个字符。
因为八进制中没有数码8,所以\1为一个字符,8,1为两个字符。
l \0是字符串结束的标记,其ASCII码值为0。
l 只有字符型变量,没有字符串型变量,字符串用字符数组来存储。
l 算术运算符:+, -, *, /, %。
其中%(求余)要求参加运算的数据均为整数;除法(/):如果参加运算的数都是整数,商为整数,小数丢弃。
l 自加++、自减--运算:只能用于变量,不能用于常量。
l 赋值:=,一个等号表示赋值。
将=右边的数据赋值给左边的变量,左边必须是变量。
复合的赋值运算:+=,-=,*=,/=,%=,&=,|=,^=,<<=,>>=。
l 关系运算:> ,< ,>= ,<= ,= = ,!= 。
C语言基础知识归纳

C语⾔基础知识归纳C 语⾔基础知识1.每个C 程序有且只有⼀个主函数main() ,且程序必须从main()函数开始执⾏,并在main() 函数中结束。
2.在C 语⾔中,⽤e 来表⽰科学计数法时,规定在e 的前⾯必须有数字,后⾯必须为整数。
3.⽤单引号括起来的⼀个字符常量只能存放⼀个字符;C 语⾔中没有字符串变量,只能⽤字符数组来存储字符串。
4.外部变量在编译时由系统分配永久的内存空间,所以外部变量的类型不是⾃动存储类别。
5.在⼀个函数内的复合语句中定义的变量,只能在这个复合语句范围内有效。
6.⽤sizeof(int) 计算int 类型数据的字节数。
7.C语⾔运⾏时,⾸先系统检查语法的正误,再运⾏程序的语法;C语⾔中,可以在⼀个函数中嵌套⼀个函数,但是不能在⼀个函数中定义⼀个函数;只有在函数外部定义的函数才是外部函数;C语⾔的⼦程序有过程和函数两种。
8.预处理命令⾏的位置没有规定,只是习惯放在前⾯;在源⽂件中的可以有多条预处理命令,但⼀⾏只能写⼀条;宏名的⼤写只是习惯性的表⽰;宏替换不仅不占⽤运⾏时间还不分配内存空间。
9.feo f函数的作⽤是检查⽂件是否结束,当结束时返回的值为⾮零,否则为零。
10.当定义了数组后,在给其赋值时,不能直接把字符串赋给数组名。
11.在赋值表达式中,赋值运算符“=”右侧不能为表达式;在求余运算符中的两侧都必须为整型;在强制类型转换时,类型名应⽤括号括起来。
12.静态局部变量,只有当程序结束后,其值才释放。
13.当调⽤函数时,实参是⼀个数组名,则向函数传送的是数组每⼀个元素的地址。
14.算法的特点为有零个或多个输⼊,有⼀个或多个输出,当相同的输⼊时,其结果相同;算法正确的程序最终⼀定会结束。
15.在C 语⾔中,预处理命令⾏都以“ #”开头;当需要时才⽤#include; 预处理的作⽤就是实现宏定义和条件编译。
16.当数组元素的下标超出了定义的下标范围时,系统不给出“下标越界”的字样,⽽是得出错误的答案,因此在编程时务必检查下标是否越界。
归纳整理Linux下C语言常用的库函数----文件操作

归纳整理Linux下C语⾔常⽤的库函数----⽂件操作在没有IDE的时候,记住⼀些常⽤的库函数的函数名、参数、基本⽤法及注意事项是很有必要的。
参照Linux_C_HS.chm的⽬录,我⼤致将常⽤的函数分为⼀下⼏类:1. 内存及字符串控制及操作2. 字符串转换3. 字符测试4. ⽂件操作5. 时间⽇期6. 常⽤数学函数7. ⽂件内容操作8. ⽂件权限控制9. 进程操作10. 线程操作11. Socket操作12. 信号处理13. 数据结构及算法这次主要总结的是上⾯⿊⾊部分,关于⽂件操作的函数。
系统调⽤归类** 函数名⽤法备注**1. int open(const char *pathname, int flags); open and possibly create a file or device flags 必须包含O_RDONLY, O_WRONLY, or O_RDWR中的任何⼀个**2. int open(const char *pathname, int flags, mode_t mode); UP mode只是在flags中包含O_CREAT时才有效**3. int fsync(int fd); synchronize a file's in-core state with storage device 写完数据close前必须先同步,以防意外**4. off_t lseek(int fd, off_t offset, int whence); 定位⽂件位置第三个参数可以为SEEK_SET SEEK_CUR SEEK_END**5. ssize_t read(int fildes, void *buf, size_t nbyte); UP ⽂件位置会随读取的字节数移动**6. ssize_t write(int fildes, const void *buf, size_t nbyte); UP UP**7. int close(int fd); UP UP**8. void *mmap(void *addr, size_t length, int prot, int flags, 内存映射先⽤fstat得到⽂件⼤⼩,然后使⽤该函数将⽂件内容映射到内存中,然后就可以int fd, off_t offset); 直接调⽤字符串函数操作。
c语言的32个关键字及其含义

c语言的32个关键字及其含义C语言是一门广泛应用于计算机编程的高级编程语言,其简洁、高效的特点使之成为许多程序员的首选。
而C语言的关键字则是构成C语言语法结构的基石,掌握这些关键字的含义对于编写高质量的C代码至关重要。
本文将会介绍C语言的32个关键字及其含义。
一、自动变量(auto)auto关键字用于声明自动变量,自动变量是在代码块中定义的变量。
它们的生命周期仅限于所在代码块,函数的参数也属于自动变量。
二、断言(assert)assert关键字用于在程序运行时进行断言验证,如果断言条件为假,程序将会中止执行。
断言通常用于调试和排错。
三、带宽限定(band)band关键字用于限定带宽,常用于定义延迟函数、外部中断和总线访问等场景。
四、布尔类型(bool)bool关键字用于声明布尔类型的变量,布尔类型只有两个值:真和假。
一般用于判断语句和循环语句的条件。
五、跳过(break)break关键字用于跳出循环或者switch语句块,提前终止程序的执行。
六、函数调用(call)call关键字用于向函数传递参数并调用函数。
它与return关键字相对应,后者用于从函数返回结果。
七、case标签(case)case关键字用于定义switch语句中不同分支的标签,根据不同的条件执行相应的代码。
八、常量(const)const关键字用于声明常量,常量值在程序执行期间不可更改。
通常用于定义不变的特定值,提高代码的可读性和可维护性。
九、continue(continue)continue关键字用于结束当前循环的当前迭代,并进入下一轮循环的迭代。
通常用于跳过某些不满足条件的循环迭代。
十、默认(default)default关键字用于定义switch语句中默认分支的代码块。
如果没有匹配的case 标签,将会执行默认分支的代码。
十一、定义(define)define关键字用于定义宏。
宏是一种在程序编译之前被展开的符号常量或者代码片段。
C语言大全
C笔记1.强制类型转换double num = 2.5;//定义浮点型变量num并赋值为2.5printf("num的整数部分是%d\n", (int)num); 输出结果:num的整数部分是2 2.取余计算:取余运算,如:10%3 = 1;而10.0%3则是错误的;运算后的符号取决于被模数的符号,如(-10)%3 = -1;而10%(-3) = 1。
3.自增与自减运算符计算是按从右到左计算的第一行输出后市100,但是a=101.同样第二行为a运到左边才能输出,故此时输出a=a(101)+1。
同理得下。
4.赋值运算符(1)简单赋值运算符y=y*2(2)复合赋值运算符y*=2上下两种结果一样。
5.关系运算符6.逻辑运算符7.三目运算符先判断表达式1的值是否为真,如果是真的话执行表达式2;如果是假的话执行表达式3。
代码表示为8.运算符大比拼之优先级比较优先级别为1的优先级最高,优先级别为10的优先级别最低。
9.(1)简单if语句注意:if()后面没有分号while后也没有分号,直接写{} (2)多重if-else语句10.嵌套if-else语句嵌套if-else语句。
嵌套if-else语句的意思,就是在if-else语句中,再写if-else语句。
其一般形式为:11.循环结构之while循环:C语言中有三种循环结构,先看一下C语言while循环的结构其中表达式表示循环条件,执行代码块为循环体。
while 应注意:1、while 语句中的表达式一般是关系表达或逻辑表达式,当表达式的值为假时不执行循环体,反之则循环体一直执行。
2、一定要记着在循环体中改变循环变量的值,否则会出现死循环(无休止的执行)。
3、循环体如果包括有一个以上的语句,则必须用{}括起来,组成复合语句。
12.循环结构之do-while 循环一般形式do-while 循环语句的语义是:它先执行循环中的执行代码块,然后再判断while 中表达式是否为真,如果为真则继续循环;如果为假,则终止循环。
大一c语言期末复习知识点
大一c语言期末复习知识点C语言期末复习知识点C语言是一门广泛应用于计算机科学和编程领域的程序设计语言。
对于大一学生来说,熟悉并掌握C语言的基本知识点对于顺利通过期末考试至关重要。
本文将对大一C语言期末复习的知识点进行总结和归纳,帮助读者复习和巩固相关知识。
一、基本概念1. C语言的概念和特点:C语言是一种结构化的高级程序设计语言,具有简洁、高效、可移植等特点。
2. 程序的基本结构:C语言程序由头文件、函数和注释组成,其中函数是程序的基本执行单位。
3. 变量与常量:变量是存储数据的容器,常量是不可改变的数据。
在C语言中,需要先声明变量后才能使用。
4. 数据类型:C语言支持多种数据类型,包括整型、浮点型、字符型等,每种数据类型有不同的取值范围和存储需求。
5. 运算符:C语言提供了多种运算符,如算术运算符、关系运算符、逻辑运算符等,用于执行各种计算操作。
二、控制结构1. 顺序结构:C语言按照代码的编写顺序依次执行语句。
2. 条件语句:条件语句根据条件的真假来执行不同的语句块,包括if语句和switch语句。
3. 循环语句:循环语句可以重复执行一段代码,包括while循环、do-while循环和for循环。
4. 跳转语句:跳转语句可以改变程序的执行顺序,包括break 语句、continue语句和goto语句。
三、函数与数组1. 函数的定义和调用:函数是一段完成特定任务的代码块,可以通过函数名来调用并执行。
2. 函数参数与返回值:函数可以有参数和返回值,参数是传递给函数的数据,返回值是函数执行后返回的结果。
3. 数组的概念和用法:数组是一组相同类型的数据的集合,可以通过下标访问其中的元素。
四、指针与字符串1. 指针的概念和用法:指针是变量,用来存储内存地址。
可以通过指针来访问和修改内存中的数据。
2. 字符串的定义和操作:字符串是字符数组,可以使用字符串函数对字符串进行处理和操作。
五、文件操作1. 文件的打开和关闭:通过文件指针可以打开和关闭文件,打开文件后可以进行读取或写入操作。
C语言顺序结构知识归纳
C语言顺序结构知识归纳C语言顺序结构知识归纳C语言的顺序结构里面有哪些知识需要学习的呢,下面店铺为大家归纳了C语言顺序结构知识,欢迎大家阅读!C语言顺序结构知识归纳一、表达式语句、函数调用语句和空语句1.C语言的语句共分五大类:表达式语句、控制语句、函数调用语句、空语句和复合语句。
2.表达式语句的一般形式为表达式;最典型的表达式语句是由一个赋值表达式加一个分号构成的赋值语句。
3.控制语句是C语言程序设计中用来构成分支结构和循环结构的语句。
此类语句有if语句,for语句,while语句,do-while语句,switch语句等。
4.函数调用语句的一般形式为函数名(实参表);5.空语句的一般形式为;这条语句的含义是什么也不做。
凡是在C语句程序中出现语句的地方都可以用一个分号来代替一条语句。
6.复合语句的一般形式为{语句1;语句2;…;}复合语句在功能上相当于一条语句。
二、数据的输入与输出,输入输出函数的调用1.C语言本身没有提供输入、输出操作语句。
C程序的输入和输出完全依靠调用C语言的标准输入、输出函数来完成。
四个常用的输入、输出函数是:printf函数、scanf函数、putchar函数、getchar函数2.printf函数是C语言提供的标准输出函数,它的作用是在终端设备(或系统隐含指定的输出设备)上按指定格式进行输出。
Printf函数的一般调用形式如下:printf(格式控制,输出项表)如果在printf函数调用之后加上″;″,就构成了输出语句。
格式控制参数以字符串的形式描述,由两部分组成:①普通字符:将被简单地显示;②格式字符:将引起一个输出参数项的转换和显示,由“%”引出并以一个类型描述符结束的字符串,中间可加一些可选的附加说明项,如下表所示。
附加说明项附加说明项说明-或+ 用于指定是否对齐输出,具有“-”符号表示左对齐,无“-”或有“+”表示右对齐0 用于指定是否填写0,有此项表示空位用0补充,无此项表示以空格补充m.n 用于指定输出域宽及精度,m是指域宽,n为精度,当指定n 时,隐含的精度为6位L或h 用于输出长度修正。
C语言基础知识归纳
C语言基础知识1.每个C程序有且只有一个主函数main(),且程序必须从main()函数开始执行,并在main()函数中结束。
2.在C语言中,用e来表示科学计数法时,规定在e的前面必须有数字,后面必须为整数。
3.用单引号括起来的一个字符常量只能存放一个字符;C语言中没有字符串变量,只能用字符数组来存储字符串。
4.外部变量在编译时由系统分配永久的内存空间,所以外部变量的类型不是自动存储类别。
5.在一个函数内的复合语句中定义的变量,只能在这个复合语句范围内有效。
6.用sizeof(int)计算int类型数据的字节数。
7.C语言运行时,首先系统检查语法的正误,再运行程序的语法;C语言中,可以在一个函数中嵌套一个函数,但是不能在一个函数中定义一个函数;只有在函数外部定义的函数才是外部函数;C语言的子程序有过程和函数两种。
8.预处理命令行的位置没有规定,只是习惯放在前面;在源文件中的可以有多条预处理命令,但一行只能写一条;宏名的大写只是习惯性的表示;宏替换不仅不占用运行时间还不分配内存空间。
9.feof函数的作用是检查文件是否结束,当结束时返回的值为非零,否则为零。
10.当定义了数组后,在给其赋值时,不能直接把字符串赋给数组名。
11.在赋值表达式中,赋值运算符“=”右侧不能为表达式;在求余运算符中的两侧都必须为整型;在强制类型转换时,类型名应用括号括起来。
12.静态局部变量,只有当程序结束后,其值才释放。
13.当调用函数时,实参是一个数组名,则向函数传送的是数组每一个元素的地址。
14.算法的特点为有零个或多个输入,有一个或多个输出,当相同的输入时,其结果相同;算法正确的程序最终一定会结束。
15.在C语言中,预处理命令行都以“#”开头;当需要时才用#include<stdio.h>;预处理的作用就是实现宏定义和条件编译。
16.当数组元素的下标超出了定义的下标范围时,系统不给出“下标越界”的字样,而是得出错误的答案,因此在编程时务必检查下标是否越界。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第一章 1.上机输入与编辑源程序->对源程序进行编译->与库函数连接->运行目标程序 2.C程序是由函数构成的,函数是C程序的基本单位。一个C程序可以由一个主函数和若干其他函数构成,但至少要包含一个主函数。 3.C程序都是以分号为结束的 4.每一个C程序必须有且只有一个main()函数,每个C程序都是从main()函数开始执行,到本程序的main()函数结束.main()函数可以出现在程序的任何位置 5. C语言没有输入、输出语句,但系统为用户提供了函数,用于实现输入输出操作 例:scanf , printf 6. C语言是严格区分大小写。例如printf()和 Printf()表示两个不同的函数 7. 将C源程序进行编译可得到目标文件 8. C程序目标文件的扩展名为.obj C语言源程序的扩展名为.c 第二章 1.数据类型:基本类型(整型、字符型、浮点型、枚举类型), 构造类型(数组类型,结构体类型,共用体类型), 指针类型, 空类型 2. 标识符 只能由字母、数字或下划线组成。且第一个不能为数字,不能为C 语言所定义的关键字,区分大小写 关键 数据类型: int、char、float、double、short、long、void、signed、unsigned、enum、struct、union、const、typedef、volatile 存储类别: auto、static、register、extern 语句命令字: break、case、continue、default、do、else、for、goto、if、return、switch、while 运算符: sizeof 3. 常量不能放在赋值语句的左边,不能通过赋值语句来更改 4. e 或E之前必须有数字并且e或E后面的数字必须为整数。如5.48e-3 5. C语言中整型常量有三种表示形式:十进制、八进制(0开头)、十六进制(0x开头) 6. 数据在内存中是以二进制形式存放的。实际上,数值是以补码表示的。一个正整数的补码和该数的原码相同。如果数值是负的:则将该数的绝对值的二进制形式,按位取反再加1 最左面的一位是表示符号的,0表示数值为正,1则表示为负 7.int 的变量值的范围为-32768到32767 unsigned int 变量值的范围为 0到65535 ---无符号整型 8.float 小数后保留6位小数 字符与字符串比较 字符变量只能放一个字符,在内存中占一个字节。 字符串常量:是由一对双引号括起来的字符序列,在每一个字符串常量的结尾加一个\0表示结束。\0是以ASCII码为0的字符。0的ASCII为48 因此,字符常量占的内存单元总比实际的多1。例:char a=”abc” 所占的内存单元为4 9.对于运算符* 、/只有在两侧操作都是整型时,所得的结果才是整型 对于运算符%它的两侧必须都是整型操作数。若不是整型数必须将操作数强制转换成整型再进行求余运算,否则将出现编译错误 10.取模运算的符号与被除数相同。例:3%(-2)和3%2结果都是1 (-3)%(-2)和(-3)%2结果都是-1 5%3=2, 6%3=0, 3%5=3 取整运算:-3/2和3/(-2) 结果都是-1就是说如果表达式中有一个是负号的则为负。两个负号则为正数。 5/3=1,3/5=0 11.C语言规定:自增运算符和自减运算符的操作不能是常量或表达式,必须是左值 2++,(x+1)++都是不合法的 例:int j=2,m=2;m+=(j++)+(++j)+(j++),求m的值 分析:首先 j=2,先使用后增加,所以第二,三个j 值为3,由于第二个为++j.为先增加后使用所以++j值为 4 12.赋值运算符及表达式,运算方向是“从右向左” 格式:变量=表达式 (左边必须为变量) 例:Int a=4 #define max 30 Max=30 (是错误的) Int x,y; x+y=10 (是错误的) 13.在进行类型转换时,操作数的值并不发生改变,改变的只是表达式值的类型 C语言采用“最长匹配”原则,a=a+++b+++c;等价于a=a(++)+b(++)+c 14.Float x=1; int y=2;y+=++x*++x;则y的值为11 分析:因为++优先级高于*,所以可以理解成x=x+1;x=x+1;即x=3,y=y+x*x=11 15.\b 为退格 向左退一位 \123 表示八进制 允许有三位数字。但是数字必须为0—7 \X20 表示十六进制 允许有两位数字。数字必须为0—f 例:\x18\18qw+\168\1676 为十个字符 16.在格式说明基本形式加附加格式说明符 在格式说明%后加一个整数m—指定宽度为|m|位: • 若实际需要的位数> |m|位,则m失效,则原样输出 • 若m为无符号整数,则左边填空格(向右靠齐) • 若m为负整数,则右边填空格(向左靠齐) • 若m为带正号整数,则左边填空格且所输出的数据前有正负号 • %m.n ,输出占m列,但只取字符串中左端n个字符。 • %-m.n ,输出占m列,但只取字符串中左端n个字符。 • 当mPrintf(“%3s, %7.2s, %.4s,%-5.3s”,”CHINA”, ”CHINA”, ”CHINA”, ”CHINA”); CHINA,+++++CH,CHIN,CHI++ 加号代表空格 在%x,%o,%lx,%lo的x后加#输出带前导的八进制或十六进制数据 • void main() • {int x=7281; • printf("%o,%#o\n",x,x); • printf("%x,%#x\n",x,x); • } • 结果:16161 , 016161 • 1c71 , 0x1c71 第三章 C语言中用于结构化程序设计的三种基本结构是 顺序结构、选择结构、循环结构 putchar(c) 功能:向终端输出参数C的值,C可以是字符或整型的常量、变量或是表达式 注意:在使用此函数之前,必须要使用预编译命令:#include”stdio.h” getchar() 功能:从输入设备获得字符 ch=getchar();使变量ch得到输入字符的ASCII代码值。 注意;使用此函数一次只能接收一个字符 getchar函数得到的字符可以赋给一个字符变量或整型变量,也可以不赋给任何变量,而作为表达式的一部分 在使用此函数之前,必须要使用预编译命令:#include”stdio.h” 第四章 优先级: 单目>算术运算符>关系>赋值>逗号运算符 !-> 算术运算符 -> 关系运算符-> &&和 || ->赋值运算符 (从高到低) 关系运算符 运算规则:两个操作数进行比较,若条件满足,则结果值为1;否则为0 结合方向:自左至右 优先级:<,<=,>,>=,&&,||,赋值运算符 (从高到低) 条件运算符 结合方向:自右至左 例:a>b?a:c>d?c:d 等价于 a>b?a:(c>d?c:d) 条件表达式的功能相当于条件语句,但不能取代一般if语句 表达式1,表达式2,表达式3类型可不同,此是条件表达式的值取数据类型级别较高的类型 -i++ 等价于 -(i++) , 因为负号运算符和++,--为同级运算。 而结合方向为:自右向左 i+++j 为(i++)+j,因为C编译系统在处理时尽可能多地(自左向右)将若干个字符组成一个运算符。 x*=y+8 等价于 x=x*(y+8) 逗号表达式 求解过程是:先求表达式1,再求解表达式2。整个逗号表达式的值是最后一个表达式的值。 3+5,6+8 最后的值为14 a=3*5,a*4 最后的值为60。因为逗号表达式的优先级为最低的。 选择语句 if 每个else都与它前面离它最近的未配对的if配对。(从后往前配对) switch 注意1)关键定switch后面的表达式的值是整型或字符型 2)关键字case后面的常量表达式的值也只能是整型或字符型,并且各case分支的常量表达式的值应各不相同。 3)break语句用于跳出整个switch语句。如果没有break语句,则执行完一个case分支将执行下一个case分支。 4)default 语句是可选的。当所有的case的常量表达式不能与表达式的值匹配时,执行default分支的语句序列。在每一个switch结构中default语句只能有一个。 第五章 for 注意:1)for语中的“表达式1”是可以省略的,但分号是不可省略的。“表达式1”省略后,应在for语句之前设置循环变量的初值 2)for语句中“表达式2”也可以省略,但省略后,循环将无终止地进行下去,只有在循环体中加入break语句才能结束循环 3)“表达式3”也可以省略,但应在循环体中对循环变量进行修改以保语证循环能正常结束 4)for循环中的,表达式1,表达式2,表达式3,也可同时省略 while与do „ while区别 do …while循环体至少执行一次,在while语句的条件表达式后面不能加分号,而在do …while语句的条件表达式后面必须加分号. Break语句的用途 1) 在switch语句中,break语句可用于case分支的后面,用于执行完某个分支后跳出switch语句 2) 在循环语中,break语句可用于循环体中,用于跳出循环。当有循环嵌套时,break语句只能跳出本层循环,并不能使多重循环全部结束 continue语句的作用 1)提前结束本次循环的执行,接着进行下一次环条件的判别 break与continue区别 1) break语句与continue语句的区别在于:break语句将结束整个一层循环的执行;continue语句是只结束了本次循环,即本次循环将不在再执行continue以下的语句,但整个循环并没有因此而结束 2) 由于break语句会破坏程序的执行顺序,使程序的可读性变差,所以,在循环中应有限制地使用break语句,最好用循环条件的测试部分代替break 第六章 数组 质数是在所有比1大的整数中,除了1和它本身以外,不再有别的约数,这种整数叫做质数,质数又叫做素数。(2,3,5,7,11,13,17) 1)数组的数据类型都是相同的 2)C语言不允许对数组的大小做动态定义 3)数组名代表数组的首地址,它是一个常量,其值不可以改变 4)数组的下标可以是常量或整型表达式 5)C语言规定,不能引用整个数组,只能逐个引用元素 6)必须先定义数组,后引用数组元素。 7)数组下标从0开始 8)若不对static数组元素赋初值,则系统会自动为全部元素赋以0值 例:static in a[3]; 等价于:a[0]=0; a[1]=0; a[2]=0; 9)数组中没有被赋值的元素并不是不占用内存,它们是有值的,但这个值是不确定的。 二维数组 数组类型 数组名[常量表达式1][常量表达式2] 其中,数据类型是指每个数组元素的类型。常量表达式1指出数组的行数,常量表达式2指出数组的列。行数*列数即得到数组的元素个数。 1) 数组行和列的下标都从0开始 2) 由于内存是一维的,C语言中二维数组在内存中存放是按行序优先,即在内存中先顺序存放第一行的各元素,再存放第二行的各元素,依此类推。 3) C语言中,一个二维数组可以被看成一个一维数组,其中每个元素又是一个包含有若干元素的一维元素。 4) int a[3][4] a和a[0]都代表首地址,但两都所表示的是两个不同的一维数组。C编译器认为a是一个具有3个元素的一维数组名,这三个分别为a[0],a[1],a[2],每个元素分别占用8个字节.a[0]是一个具有4个元素的一维数组名,这4个元素分别为a[0][0], a[0][1],a[0][2],a[0][3],每个元素分别占用2个字节. 5) 第一维的长度不指定,但必须指定第二维的长度。 字符数组 1) char arr[10]={„a‟,‟b‟,‟c‟,‟d‟};采用此种方式赋值应保证数组大小大于大括号中所列出的字符个数,否则将出现语法错误. 2) char arr[]={„a‟,‟b‟,‟c‟,‟d‟,‟\0‟};采用此种方式赋值时,应在大括号内给出字符串的结束符‟\0‟。 3) gets()函数