C语言讲义笔记【高斯课堂】

上传人:cn****1 文档编号:567936120 上传时间:2024-07-22 格式:PDF 页数:52 大小:823.76KB
返回 下载 相关 举报
C语言讲义笔记【高斯课堂】_第1页
第1页 / 共52页
C语言讲义笔记【高斯课堂】_第2页
第2页 / 共52页
C语言讲义笔记【高斯课堂】_第3页
第3页 / 共52页
C语言讲义笔记【高斯课堂】_第4页
第4页 / 共52页
C语言讲义笔记【高斯课堂】_第5页
第5页 / 共52页
点击查看更多>>
资源描述

《C语言讲义笔记【高斯课堂】》由会员分享,可在线阅读,更多相关《C语言讲义笔记【高斯课堂】(52页珍藏版)》请在金锄头文库上搜索。

1、高斯课堂系列课程高斯课堂系列课程C C语言语言习题答案习题答案(微信扫一扫)(微信扫一扫)版权版权声明声明:内容来自高斯课堂原创,讲义笔记和相关图文均有著作权,视频课程已申请版权,登记号:内容来自高斯课堂原创,讲义笔记和相关图文均有著作权,视频课程已申请版权,登记号:陕作登字陕作登字-2018-I-00001958-2018-I-00001958,根据中华人民共和国著作权法根据中华人民共和国著作权法 、 中华人民共和国著作权法中华人民共和国著作权法实施条例实施条例 、 信息网络传播权保护条例信息网络传播权保护条例等有关规定等有关规定,如有侵权如有侵权,将根据法律法规提及诉讼将根据法律法规提及诉

2、讼。高斯课堂系列课程高斯课堂系列课程官方公众号:蜂考官方公众号:蜂考蜂考蜂考大学生备考集训营大学生备考集训营1微信扫一扫微信扫一扫3 3 小时速成课程小时速成课程课时一课时一c 语言基础语言基础考点考点重要程度重要程度分值分值常见题型常见题型1. 1.编译编译0202填空题、选择题填空题、选择题2. 2.数制及表示数制及表示0202选择题选择题3. 3.mainmain 函数函数2 24. 4.编译预处理编译预处理2 2填空题、选择题填空题、选择题1. 编译编译1. 1.计算机语言有计算机语言有 3 3 种,种,机器语言、低级语言(汇编语言机器语言、低级语言(汇编语言) 、高级语言。、高级语言

3、。2. 2.机器语言是用一串机器语言是用一串 0101 序列表示的语言,例如序列表示的语言,例如 100101100100101100。3. 3.0101 序列中的每一位都是一个比特序列中的每一位都是一个比特(bit)(bit)。8 8 比特为比特为 1 1 个字节个字节(B)(B)。4. 4.c c 语言是高级语言。语言是高级语言。5. 5.把高级语言转化成机器语言的过程叫编译。把高级语言转化成机器语言的过程叫编译。源程序,后缀是源程序,后缀是.c .c目标文件,后缀是目标文件,后缀是.obj.obj可执行文件,后缀是可执行文件,后缀是.exe.exe2. 数制及表示数制及表示十进制十进制

4、0 0 1 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 9二进制二进制 0 0 1 1表示:表示:0b0b0b110100b11010十六进制十六进制 0 0 1 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 9 A A B B C C D D E E F F表示:表示:0x0x0x5d120x5d12八进制八进制 0 0 1 1 2 2 3 3 4 4 5 5 6 6 7 7表示:表示:0 005124051241. 1. 十进制数十进制数 1515 转换成二进制数的结果是(转换成二进制数的结果是() 。A.A. 1616B.B. 121121C. C.

5、 11111111D D. . f f答案答案:选选 C C2. 2. 表达式表达式 085085 表示一个八进制整数表示一个八进制整数。 ()答案:答案:源程序源程序编译编译目标文件目标文件链接链接可执行文件可执行文件高斯课堂系列课程高斯课堂系列课程官方公众号:蜂考官方公众号:蜂考蜂考蜂考大学生备考集训营大学生备考集训营2微信扫一扫微信扫一扫3 3 小时速成课程小时速成课程3. main 函数函数c c 程序的基本单位是函数。程序的基本单位是函数。1. 1.所有的符号由英文输入法输入。所有的符号由英文输入法输入。2. 2.intintmainmain 之间有空格。之间有空格。3. 3.ret

6、urnreturn 0 0 后面有分号表示语句结束。后面有分号表示语句结束。4. 4.大括号的位置不影响程序的执行。大括号的位置不影响程序的执行。1. 1. returnreturn 语句的作用是结束整个程序的执行语句的作用是结束整个程序的执行。 ()答案:答案:2. 2. 下列叙述中正确的是(下列叙述中正确的是() 。A.A. C C 语言程序将从源程序中第一个函数开始执行。语言程序将从源程序中第一个函数开始执行。B.B. 可以在程序中由用户任意指定一个函数作为主函数,程序将从此函数执行。可以在程序中由用户任意指定一个函数作为主函数,程序将从此函数执行。C. C. C C 语言规定必须用语言

7、规定必须用 mainmain 作为主函数名,程序将从此函数开始执行,在此函数结束。作为主函数名,程序将从此函数开始执行,在此函数结束。D.D. mainmain 函数可以作为用户标识符,用以命名任意一个函数作为主函数。函数可以作为用户标识符,用以命名任意一个函数作为主函数。答案:答案:选选 C C。4. 编译预处理编译预处理编译预处理是编译器在编译源程序之前的操作,以编译预处理是编译器在编译源程序之前的操作,以# #开头。开头。1. 1.编编译预处理包括:译预处理包括:文件包含文件包含宏定义宏定义条件编译条件编译2. 2.文件文件包含(包含(#include#include) :文件包含是可以

8、嵌套的。文件包含是可以嵌套的。#include#include 就是一种文件包含。就是一种文件包含。#include#includeintint main(void)main(void)/要求要求掌握掌握returnreturn 0;0; #include#includeintint main()main()returnreturn 0;0; #include#includemain()main() 1. 1.mainmain 函数就是主函数。函数就是主函数。2. 2.每每个个 c c 程序有且只有一程序有且只有一个个 maimain n 函数函数。3. 3.c c 程序从程序从 mainma

9、in 函数开始执行函数开始执行。4. 4.在在 returnreturn 0;0;结束执行。结束执行。5. 5.整个整个 mainmain 函数被函数被 包围起来。包围起来。高斯课堂系列课程高斯课堂系列课程官方公众号:蜂考官方公众号:蜂考蜂考蜂考大学生备考集训营大学生备考集训营3微信扫一扫微信扫一扫3 3 小时速成课程小时速成课程3. 3.宏定义宏定义(#define)(#define) :#define#define名称名称内容内容使用规则:把所有的名称替换成对应内容。使用规则:把所有的名称替换成对应内容。1. 1.C C 语言的编译预处理命令包括语言的编译预处理命令包括、条件编译、条件编译

10、、。答案:答案:文件包含文件包含;宏定义宏定义。2. 2.文件包含是不能嵌套的,即在一个被包含文件中不能包含另一个被包含文件文件包含是不能嵌套的,即在一个被包含文件中不能包含另一个被包含文件。 ()答案:答案:3. 3.设有宏定义命令:设有宏定义命令:#define#defineRESRES30-530-5 则表达式则表达式 RES*5+30RES*5+30 的值为(的值为() 。A.A. 6060B.B. 3535C. C. 4545D.D. 2525解析:解析:RES*5+30RES*5+30 = = 30-5*5+3030-5*5+30 = = 30-25+30=3530-25+30=3

11、5。选。选 B B。4. 4.若有宏定义:若有宏定义:#define#defineTEST(y)TEST(y)y*yy*y,则表达式,则表达式 TEST(4-2)TEST(4-2)的值为(的值为() 。A.A. 4 4B.B. -4-4C. C. -6-6D.D. -8-8解析:解析:TEST(4-2)TEST(4-2)被替换为被替换为 4-2*4-2=4-8-2=-64-2*4-2=4-8-2=-6。选。选 C C。注意:注意:y*yy*y 没有括号,不可替换为没有括号,不可替换为(4-2)*(4-2)(4-2)*(4-2)课时一课时一练习题练习题1. 1.下列关于下列关于 C C 程序的运

12、行流程描述程序的运行流程描述, ()是正确的。)是正确的。A A. . 编辑目标程序、编译目标程序、链接源程序、运行可执行程序编辑目标程序、编译目标程序、链接源程序、运行可执行程序B B. . 编译源程序、编辑源程序、链接目标程序、运行可执行程序编译源程序、编辑源程序、链接目标程序、运行可执行程序C C. . 编辑源程序、编译源程序、链接目标程序、运行可执行程序编辑源程序、编译源程序、链接目标程序、运行可执行程序D D. . 编辑目标程序、编译源程序、链接目标程序、运行可执行程序编辑目标程序、编译源程序、链接目标程序、运行可执行程序2. 2.C C 语言源程序文件的后缀是语言源程序文件的后缀是

13、_ _,经过编译后生成文件的后缀是,经过编译后生成文件的后缀是_ _,经过链接后生,经过链接后生成文件的后缀是成文件的后缀是_ _。3. 3.0x156f0x156f 是十六进制数是十六进制数。 ()4. 4.一个一个 C C 语言程序是由(语言程序是由() 。A.A. 一个主程序和若干子程序组成一个主程序和若干子程序组成B.B. 一个或多个函数组成一个或多个函数组成C. C. 若干过程组成若干过程组成D.D. 若干子程序组成若干子程序组成5. 5.有宏定义:有宏定义:#define#defineMA(x,y)MA(x,y)x*yx*y,表达式,表达式 MA(5,4+2)-7MA(5,4+2)

14、-7 的结果是(的结果是() 。A.A. 1515B.B. 1616C. C. 2323D.D. 以上均不是以上均不是6. 6.C C 语言提供的编译预处理命令包括语言提供的编译预处理命令包括_ _、文件包含以及、文件包含以及_。7. 7.文件包含是不能嵌套的,即在一个被包含文件中不能包含另一个被包含文件文件包含是不能嵌套的,即在一个被包含文件中不能包含另一个被包含文件。 ()高斯课堂系列课程高斯课堂系列课程官方公众号:蜂考官方公众号:蜂考蜂考蜂考大学生备考集训营大学生备考集训营4微信扫一扫微信扫一扫3 3 小时速成课程小时速成课程课时二课时二基本数据类型基本数据类型考点考点重要程度重要程度分

15、值分值常见题型常见题型1. 1.标识符标识符必考必考2 2选择题选择题2. 2.数据类型数据类型0202选择题、与其他题型结合选择题、与其他题型结合3. 3.常量常量2 24. 4.变量变量2 21.1. 标识符标识符标识符:变量名,函数名,数组名和标号等等的名字,如标识符:变量名,函数名,数组名和标号等等的名字,如 x, x, y, y, z z。1. 1. 以字母或下划线开头以字母或下划线开头2. 2. 只能使用字母,数字和下划线只能使用字母,数字和下划线_ _的任意组合;的任意组合;3. 3. 大小写字母表示不同的名字。大小写字母表示不同的名字。4. 4. 规定规定 3232 个关键字不

16、能作为标识符使用。个关键字不能作为标识符使用。charchar , , intint , , floatfloat , , doubledouble , , longlong , , shortshort , , signedsigned , , unsignedunsigned , , enumenum , , externextern , , sizeofsizeof , , structstruct , , typedeftypedef , ,unionunion , , voidvoid , , volatilevolatile , , registerregister , , aut

17、oauto , , staticstatic , , constconstif if , , elseelse , , forfor , , dodo , , whilewhile , , gotogoto , , breakbreak , , casecase , , continuecontinue , , defaultdefault , , returnreturn , , switchswitch1 1以下选项中不合法的用户标识符是(以下选项中不合法的用户标识符是() 。A.A. PRINTFPRINTFB B. . _file1_file1C. C. abc-cabc-cD.D.

18、EnumEnum答案:选答案:选 C C。2 2下列选项中合法的标识符是(下列选项中合法的标识符是() 。A.A. 123123B.B. _name_nameC. C. switchswitchD.D. first*2first*2答案:选答案:选 B B。高斯课堂系列课程高斯课堂系列课程官方公众号:蜂考官方公众号:蜂考蜂考蜂考大学生备考集训营大学生备考集训营5微信扫一扫微信扫一扫3 3 小时速成课程小时速成课程2.2. 数据类型数据类型c c 语言的数据类型有三种:语言的数据类型有三种:整型整型(整数(整数) 、实型实型(小数(小数/ /浮点数浮点数) 、字符型字符型每种数据类型都有变量和常

19、量。每种数据类型都有变量和常量。类型类型字节数字节数数据范围数据范围字符型字符型charchar1 1整型整型intint2 2范围较小范围较小整型整型longlong 或或 longlong intint4 4范围较大范围较大实型实型floatfloat4 4范围较小范围较小实型实型doubledouble8 8范围较大范围较大1. 1.C C 语言中最基本的数据类型包括整型,实型,字符型和字符串四种语言中最基本的数据类型包括整型,实型,字符型和字符串四种。 ()答案:答案:2. 2.sizeof(char)sizeof(char)的值是的值是( () )。A.A. 8 8B.B. 4 4C

20、. C. 2 2D.D. 1 1答案:选答案:选 D D。sizeof()sizeof()用来求用来求括号里的内容占多少个字节括号里的内容占多少个字节。sizeof(double)sizeof(double)的值是的值是 8 8。3.3. 常量常量整型常量:整数,如整型常量:整数,如 1 1,-5-5常量常量实型常量:小数,如实型常量:小数,如 1.51.5,-3.12-3.12字符型常量字符型常量字符常量:字符常量:1, 1, 用单引号括起来用单引号括起来的一个字符的一个字符 a a , , 2 2 , , ! ! 等。等。2, 2, 用单引号括起来用单引号括起来,以以 开头的字符特殊序列,

21、表示一个字符。开头的字符特殊序列,表示一个字符。在存储中占一个字节。在存储中占一个字节。控制符控制符功能功能nn换行换行tt跳格,空一格跳格,空一格斜杠斜杠 单引号单引号dddddd1-1-3 3位位8 8进制数表示的字符进制数表示的字符xxhxxh1-21-2 位位 1616 进制表示的字符进制表示的字符字符常量字符常量字符串常量字符串常量高斯课堂系列课程高斯课堂系列课程官方公众号:蜂考官方公众号:蜂考蜂考蜂考大学生备考集训营大学生备考集训营6微信扫一扫微信扫一扫3 3 小时速成课程小时速成课程字符串常量:字符串常量:1, 1, 用双引号括起来用双引号括起来的字符组合,如的字符组合,如 He

22、llo,Hello, worldworld , , a a 2, 2, 每个字符串结尾都有隐藏的每个字符串结尾都有隐藏的 00 表示字符串的结束,占表示字符串的结束,占 1 1 个字节。个字节。例如,例如, a a 在存储中占在存储中占 1 1 个字节,个字节, a a 占占 2 2 个字节个字节。1. 1.以下选项中合法的字符常量是(以下选项中合法的字符常量是() 。A.A. n n B.B. nn C. C. 103103 D.D. 909909 答案:选答案:选 B B。2. 2.字符串字符串 boy0sboy0s 在内存中占用的字节数是(在内存中占用的字节数是() 。A.A. 3 3B

23、.B. 4 4C. C. 6 6D.D. 7 7答案:选答案:选 B B。4.4. 变量变量intinta1;a1;intintx1,x1, y1;y1;a1a1 = = 3;3;intinta2a2 = = 3;3;intintx2x2 = = 5, 5, y2y2 = = 3;3;intinty3y3 = = x3x3 = = 3;3;1. 1. 若变量已正确定义并赋值,下列符合若变量已正确定义并赋值,下列符合 C C 语言语法的表达式是(语言语法的表达式是() 。A.A. a:=b+1a:=b+1B.B. intint18.5+318.5+3C. C. a=a+7=c+ba=a+7=c+

24、bD.D. a=b=c+2a=b=c+2答案:选答案:选 D D。2. 2. 下列定义中下列定义中, ()定义的变量可以存放)定义的变量可以存放-123.4.-123.4.A.A. longlonga aB.B. unsignedunsignedb bC. C. intintd dD.D. floatfloatc c答案:选答案:选 D D。1. 1.定义:类型定义:类型变量名变量名; ;2. 2.赋值:变量名赋值:变量名= =常量常量; ;3. 3.初始化:类型初始化:类型变量名变量名= =常量常量; ;4. 4.所有变量在使用前都必须定义。所有变量在使用前都必须定义。5. 5.连续赋值必须

25、保证连续赋值必须保证= =左边是变量。左边是变量。高斯课堂系列课程高斯课堂系列课程官方公众号:蜂考官方公众号:蜂考蜂考蜂考大学生备考集训营大学生备考集训营7微信扫一扫微信扫一扫3 3 小时速成课程小时速成课程课时课时二二练习题练习题1. 1. ()是合法的用户自定义标识符。)是合法的用户自定义标识符。A.A. b-bb-bB.B. floatfloatC. C. D.D. _isw_isw2. 2. 变量名变量名 countcount 和和 CountCount 代表两个不同的类型代表两个不同的类型。 ()3. 3. 下列关于下列关于 C C 语言的说法错误的是(语言的说法错误的是() 。A.

26、A. C C 程序的工作过程是编辑、编译、连接、运行程序的工作过程是编辑、编译、连接、运行B.B. C C 语言不区分大小写语言不区分大小写C. C. C C 程序的三种基本结构是顺序、选择、循环程序的三种基本结构是顺序、选择、循环D.D. C C 程序总是从程序总是从 mainmain 函数开始执行函数开始执行4. 4. 以下标识符中,作为合法的以下标识符中,作为合法的 C C 用户定义标识符的是(用户定义标识符的是() 。A.A. a3_b3a3_b3B.B. a-2a-2C. C. 51job51jobD.D. intint5. 5.longlong 类型变量的存储字节数是(类型变量的存

27、储字节数是() 。A.A. 1 1B.B. 2 2C. C. 3 3D.D. 4 46. 6. 在在 C C 语言中,常量和变量都有数据类型语言中,常量和变量都有数据类型。 ()7. 7. 字符串字符串 hellohello 在内存中占用在内存中占用_个存储单元。个存储单元。8. 8. 下面合法的下面合法的 C C 语言字符常量是(语言字符常量是() 。A.A. tt B.B. A A C. C. 65659. 9. ()是不正确的字符常量。)是不正确的字符常量。A.A. nn B.B. 1 1 C. C. a a D.D. 101101 10.10.C C 语言规定,可以在定义变量时,同时使

28、变量初始化语言规定,可以在定义变量时,同时使变量初始化。 ()高斯课堂系列课程高斯课堂系列课程官方公众号:蜂考官方公众号:蜂考蜂考蜂考大学生备考集训营大学生备考集训营8微信扫一扫微信扫一扫3 3 小时速成课程小时速成课程课时三课时三运算运算符符考点考点重要程度重要程度分值分值常见题型常见题型1.1. 运算符运算符2424选择选择题题、与其他题型结合与其他题型结合2.2. +,-+,-运算符运算符2 2选择选择题题3.3. 逗号运算符逗号运算符0202选择选择题题、填空、填空题题4. 4.* *类型转换类型转换02021. 运算符运算符1. 1. 括号运算符:括号运算符:( ( ) )2. 2.

29、 算术运算符:算术运算符:+,+, - -, , *, *, /, /, %,%, +,+, -3. 3. 关系运算符:关系运算符:, =,=,=, =,=, !=!=4. 4. 逻辑运算符:逻辑运算符:&( (与与), ), | |( (或或), ), !( !(非非) )5. 5. 复合运算符:复合运算符:+=,+=, - -=,=, *=,*=, /=,/=, %=%=优先级:规定了运算的先后顺序。优先级:规定了运算的先后顺序。算术算术 关系关系 逻辑逻辑1. 1. 设设 doubledouble r=2.5r=2.5,则表达式,则表达式 3/4*3.14*r*r3/4*3.14*r*r

30、 的值等于的值等于_。解析:解析:3/4*3.14*r*r3/4*3.14*r*r = = 3/4*3.14*2.5*2.5=3/4*3.14*2.5*2.5= 0*3.14*2.5*2.5=00*3.14*2.5*2.5=03/4=03/4=0答案:答案:0 02. 2. C C 语句语句 x x *=*= y y + + 2;2; 还可以写作还可以写作。答案:答案:x=x*(y+2)x=x*(y+2)。3. 3. 下列运算符中优先级最高的是(下列运算符中优先级最高的是() 。A.A. =13.13. C C 语言中运算对象必须是整型的运算符是(语言中运算对象必须是整型的运算符是() 。A.

31、A. / /B.B. %C. C. = =D.D. =14.14. 以下程序段执行后,变量以下程序段执行后,变量 i i 和和 a a 的值分别是(的值分别是() 。intint i=5,a;i=5,a;a=i+;a=i+;A.A.5 55 5B.B. 5 56 6C. C. 6 65 5D.D. 6 66 615.15. 若若 x=3x=3,逗号表达式,逗号表达式 x*5x*5 , , x=x-1x=x-1 , , x+10x+10 的值为(的值为() 。A.A. 1010B B. . 1515C C. . 1212D D. . 1313高斯课堂系列课程高斯课堂系列课程官方公众号:蜂考官方公

32、众号:蜂考蜂考蜂考大学生备考集训营大学生备考集训营12微信扫一扫微信扫一扫3 3 小时速成课程小时速成课程课时四课时四c 程序的输入输出程序的输入输出考点考点重要程度重要程度分值分值常见题型常见题型1. 1.printfprintf 输出语句输出语句必考必考2525与所有程序题结合与所有程序题结合2. 2.scanfscanf 输入语句输入语句1. printf 语句语句1. 1.把把固定的固定的内容输出到屏幕上。内容输出到屏幕上。#include#includeintint main(main(voidvoid)printf(printf( 跟我学跟我学 C C 语言语言 ); );retu

33、rnreturn 0;0; #include#includeintint main(main(voidvoid)printf(printf( 跟我学跟我学nnC C 语言语言 ); );returnreturn 0;0; 2. 2.把变量的值输出到屏幕上把变量的值输出到屏幕上#include#includeintint main(main(voidvoid)intint a=65;a=65;charchar b=b= a a ; ;floatfloat c=12.1562;c=12.1562;printf(printf( a a = = %d%d, , b=b= %c%c, , c c = =

34、 %.1f%.1fnn ,a,a,b b, ,c c); );returnreturn 0;0; %md%md:输出输出 mm 位整数。位整数。%.nf%.nf:输出小数点后输出小数点后 n n 位。位。运行结果运行结果:运行结果运行结果:运行结果运行结果:a a = =65,65, b b = = a, a, c c = = 12.212.2跟我学跟我学 C C 语言语言跟我学跟我学C C 语言语言%d%d输出输出 intint 类型变量的值类型变量的值%f%f输出输出 floatfloat 类型变量的值类型变量的值%c%c输出输出 charchar 类型变量的值类型变量的值%lf%lf输输

35、出出 doubldouble e 类型变量的值类型变量的值高斯课堂系列课程高斯课堂系列课程官方公众号:蜂考官方公众号:蜂考蜂考蜂考大学生备考集训营大学生备考集训营13微信扫一扫微信扫一扫3 3 小时速成课程小时速成课程ASCIIASCII 码表码表:规定了字符和整数的对应关系。规定了字符和整数的对应关系。1. 1.a a 对应对应 9797,A A 对应对应 6565。2. 2.charchar 和和 intint 类型可以直接运算,也可类型可以直接运算,也可以互相赋值。以互相赋值。3. 3.AZAZ,azaz,0909 的的 ASCIIASCII 码值依次码值依次增加增加。1. 1.以下不能

36、输出字符以下不能输出字符 A A 的语句是(字符的语句是(字符 A A 的的 ASCIIASCII 码值为码值为 6565) () 。A.A. printf(printf( %cn%cn , , a-32);a-32);B.B. B.B. printf(printf( %dn%dn , , A);A);C. C. printf(printf( %cn%cn , , 65);65);D.D. D.D. printf(printf( %cn%cn , , B-1);B-1);解析:解析:a-32a-32 = = 6565 = = AAB-1B-1 = = AA答案:选答案:选 B B。2. sca

37、nf 输入语句输入语句用法:用法:scanf(scanf( 键盘输入的内容键盘输入的内容 , , 变量地址变量地址) )用用& &+ +变量名获得变量的地址。变量名获得变量的地址。1. 1.有输入语句:有输入语句:scanfscanf( ( a=%d,b=%d,c=%da=%d,b=%d,c=%d ,&a,&b,&c,&a,&b,&c) ); ;为使变量为使变量 a a 为为 1111,b b 为为 1212,c c 为为 1313,则从键盘输入数据的正确形式应当是(则从键盘输入数据的正确形式应当是() 。A.A. 111112121313B.B. a=11,b=12,c=13a=11,b=1

38、2,c=13C. C. a=11a=11 b=12b=12 c=13c=13D.D. 11,12,1311,12,13答案:答案:选选 B B。2. 2.有以下程序段:有以下程序段:intinta, a, b;b;floatfloatc; c;scanf(scanf( %d%c%f%d%c%f ,&a,&b,&c);,&a,&b,&c);printf(printf( %f fnn ,(a+c);,(a+c);执行时从键盘输入:执行时从键盘输入:1b21b2mm.6 .6,并回车,则输出是(,并回车,则输出是()A.A. 3 3B.B. 4 4C. C. 2121D.D. 2222解析:解析:a

39、=1a=1b=bb=bc=2c=2a+c=3a+c=3答案:选答案:选 A A。高斯课堂系列课程高斯课堂系列课程官方公众号:蜂考官方公众号:蜂考蜂考蜂考大学生备考集训营大学生备考集训营14微信扫一扫微信扫一扫3 3 小时速成课程小时速成课程课时课时四四练习题练习题1. 1.intinta=3;a=3; floatfloatb=347.63692;b=347.63692; printf(printf( %f,%f, %.2f%.2f ,a,b);,a,b);的输出结果是(的输出结果是() 。A.A. 3, 3, 347.63692347.63692B.B. 3.000000,3.000000,

40、347.64347.64C. C. 3, 3, 347.64347.64D.D. 输出结果错误输出结果错误2. 2.格式控制说明指定了输出数据的格式,它包含格式控制说明指定了输出数据的格式,它包含%开头的格式控制字符,例如,开头的格式控制字符,例如,intint 型数据使型数据使用用%d%d,charchar 型数据使用(型数据使用() 。A.A. %o%oB.B. %s%sC. C. %c%cD.D. %f%f3. 3.设设 intintx,y,z;x,y,z;,从键盘输入,从键盘输入 x x、y y 和和 z z 的值,正确的语句是(的值,正确的语句是() 。A.A. get(x,get(

41、x, y, y, z);z);B.B. scanf(scanf( %d%d%d%d%d%d ,x ,x ,y ,y ,z);,z);C C. . scanf(scanf( %d%d%d%d%d%d ,&x,&x ,&y,&y ,&z);,&z);D.D. read(read( %d%d%d%d%d%d ,&x,&x ,&y,&y ,&z);,&z);4. 4.有下面的输入语句:有下面的输入语句:scanf(scanf( a=%db=%dc=%da=%db=%dc=%d ,&a,&a ,&b,&b ,&c);,&c);写出为使变量写出为使变量 a a 的值为的值为 1 1,b b 的值为的值为

42、3 3,c c 的值为的值为 2 2,从键盘输入数据的正确形式从键盘输入数据的正确形式。高斯课堂系列课程高斯课堂系列课程官方公众号:蜂考官方公众号:蜂考蜂考蜂考大学生备考集训营大学生备考集训营15微信扫一扫微信扫一扫3 3 小时速成课程小时速成课程课时五课时五选择结构选择结构考点考点重要程度重要程度分值分值常见题型常见题型1 1if-elseif-else 语句语句必考必考15251525所有题型所有题型2 2?: ?:运算运算2 2选择题选择题3 3switchswitch-case-case 语句语句2828选择题、读程序题选择题、读程序题1. if-else 语句语句C C 语言有语言有

43、 3 3 种结构:顺序结构,选择结构,循环结构种结构:顺序结构,选择结构,循环结构。if(if(条件为真条件为真) ) 执行操作执行操作 1;1;elseelse 执行操作执行操作 2;2;#include#includeintint main(main(voidvoid)intinta=1,a=1, b=3,b=3, c=5;c=5;if(c=a+b)if(c=a+b)printf(printf( yesnyesn ); );elseelseprintf(printf( nonnon ); );returnreturn 0;0; if if 语句允许嵌套。语句允许嵌套。#include#in

44、cludeintint main(main(voidvoid)intinta=1,a=1, b=3,b=3, c=5;c=5;if(c=a+b)if(c=a+b)printf(printf( equalequalnn ); );elseelse if(ca+b)if(ca+b)printf(printf( bigbignn ); );elseelseprintf(printf( smallnsmalln ); ); returnreturn 0;0; 1. 1.C C 语言对嵌套语言对嵌套 if if 语句的规定是:语句的规定是:elseelse 总是与(总是与()配对。)配对。A A. .

45、其之前最近的其之前最近的 if ifB.B. 其之前最近且不带其之前最近且不带 elseelse 的的 if ifC. C. 缩进位置相同的缩进位置相同的 if ifD.D. 第一个第一个 if if答案:选答案:选 B B运行结果运行结果:运行结果运行结果:nonobigbig1. 1.if-elseif-else 语句允许嵌套。语句允许嵌套。2. 2.当当 if if 或或 elseelse 后面有多个语句时后面有多个语句时, 用用 把这多个语句括起来。把这多个语句括起来。高斯课堂系列课程高斯课堂系列课程官方公众号:蜂考官方公众号:蜂考蜂考蜂考大学生备考集训营大学生备考集训营16微信扫一扫

46、微信扫一扫3 3 小时速成课程小时速成课程2. 2.下面程序是下面程序是判断判断一元二次方程一元二次方程 axax2 2+bx+c=0+bx+c=0 根的情况。根的情况。#include#include intint main(main(voidvoid)floatfloata, a, b, b, c, c, disc;disc;scanf(scanf( a=%f,b=%f,c=%fa=%f,b=%f,c=%f ,&a,&b,&c);,&a,&b,&c);d deltaelta=b*b-4*a*c;=b*b-4*a*c;if(if() )printf(printf( 该方程有两个相等的实根。该

47、方程有两个相等的实根。nn ); );elseelse if(if() )printf(printf( 该方程有两个不相等的实根。该方程有两个不相等的实根。nn ); );printf(printf( 该方程该方程没有实根没有实根。nn ); );returnreturn 0 0; ; 一元二次方程一元二次方程=b*b-4*a*c=b*b-4*a*c00 时,方程有时,方程有 2 2 个不相等的实根;个不相等的实根;=0=0 时,方程有两个相等的实根;时,方程有两个相等的实根;00delta0 , elseelse 。3. 3.程序填空题程序填空题。根据输入字符的根据输入字符的 ASCIIAS

48、CII 码来判别大写字符、小写字符码来判别大写字符、小写字符、数字、数字及其他字符。及其他字符。#include#include intint main(main(voidvoid)charcharc; c;printf(printf( nn PleasePlease inputinput a a character;ncharacter;n ); );c=getchar();c=getchar();printf(printf( It It is is a a capitalcapital letter!letter! nn ); );printf(printf( It It is is a

49、a lowerlower letter!letter! nn ); );printf(printf( It It is is a a digitdigit! ! nn ); );elseelseprintf(printf( It It is is otherother character!character! nn ); );returnreturn 0;0; 答案:答案:if if (c=(c= A A &c=&c=(c= a a &c=&c=if(c= 0 0 & c=c= 9 9 ) )。if(if(条件条件 1 1 为真为真) ) 执行操作执行操作 1;1;elseelse if(if

50、(条件条件 2 2 为真为真) ) 执行操作执行操作 2;2;elseelse if(if(条件条件 3 3 为真为真) ) 执行操作执行操作 3 3; ;elseelse 执行操作执行操作 n;n;1. 1. getchar()getchar():从键盘获取一个字符:从键盘获取一个字符2. 2. AZAZ,azaz,0909 的的 ASCIIASCII 码值依码值依次增加次增加高斯课堂系列课程高斯课堂系列课程官方公众号:蜂考官方公众号:蜂考蜂考蜂考大学生备考集训营大学生备考集训营17微信扫一扫微信扫一扫3 3 小时速成课程小时速成课程4. 4.编写程序输出分段函数。编写程序输出分段函数。22

51、 1031 10101 10xxyxxxx #include#include#include#includeintint main(void)main(void)doubledoublex, x, y; y;scanf(%lf,&x);scanf(%lf,&x);if(x10)if(x10)y y = = sqrt(x)+2;sqrt(x)+2;elseelse if(x-5if(x-5 & x=5)x=5)y y = = 3*fabs(x)-1;3*fabs(x)-1;elseelsey y = = pow(x,2)+1;pow(x,2)+1;printf(y=%lf,y);printf(y

52、=%lf,y);returnreturn 0;0; 2. ? : 运算运算使用:使用:A A ? ? B B : : C;C;运算规则:先执行运算规则:先执行 A A,如果,如果 A A 为真,执行为真,执行 B B;如果;如果 A A 为假,则执行为假,则执行 C C。#include#includeintint main(main(voidvoid)intint a=1,b=3;a=1,b=3;c=ac=a b b? ? a a : : b;b;printf(printf( %d%d ,c);,c);returnreturn 0;0;3. switch-case 语句语句switch-ca

53、seswitch-case 分支结构的另一种实现方式。分支结构的另一种实现方式。switch(switch(表达式表达式)casecase 常量常量 1:1: 执行操作执行操作 1;1;break;break;casecase 常量常量 2:2: 执行操作执行操作 2;2;break;break;default:default: 执行操作执行操作 n;n;break;break; 运行结果运行结果:3 31. 1. sqrt(x)sqrt(x),表示对,表示对 x x 进行根号运算。进行根号运算。2. 2. fabs(x)fabs(x),表示对,表示对 x x 进行绝对值运算进行绝对值运算。3

54、. 3. pow(a,b)pow(a,b) , 表示求表示求 a a 的的 b b 次方运算次方运算。4. 4. sin(x),sin(x), cos(x),cos(x), tan(x)tan(x),表示对表示对 x x 求正求正弦、余弦和正切。弦、余弦和正切。5. 5. 使用时需要加上使用时需要加上#include#include高斯课堂系列课程高斯课堂系列课程官方公众号:蜂考官方公众号:蜂考蜂考蜂考大学生备考集训营大学生备考集训营18微信扫一扫微信扫一扫3 3 小时速成课程小时速成课程1. 1.编写程序,按照百分制成绩评定学生的成绩等级,编写程序,按照百分制成绩评定学生的成绩等级,8 80

55、1000100 分为分为 A A,7070 7 79 9 分为分为 B B,60606 69 9分为分为 C C,6060 分分以以下为下为 D D;实现输入学生的百分制成绩,输出其对应的等级。;实现输入学生的百分制成绩,输出其对应的等级。#include#includeintint main(void)main(void)intint score;score;scanf(scanf( %d%d ,&score);,&score);switch(score/10)switch(score/10)casecase 10:10: printf(printf( AnAn );break;);brea

56、k;casecase 9:9: printf(printf( AnAn );break;);break;casecase 8:8: printf(printf( AnAn );break;);break;casecase 7:7: printf(printf( BnBn );break;);break;casecase 6:6: printf(printf( CnCn );break;);break;default:default: printf(printf( DnDn ); ); break;break; returnreturn 0;0; breakbreak 的作用,结束的作用,结束

57、switch-caseswitch-case 的运行。的运行。#include#includeintint main(void)main(void)intint score;score;scanf(scanf( %d%d ,&score);,&score);switch(score/10)switch(score/10)casecase 10:10: printf(printf( AnAn ); );casecase 9:9: printf(printf( AnAn ); );casecase 8:8: printf(printf( AnAn ); );casecase 7:7: printf

58、(printf( BnBn ); );casecase 6:6: printf(printf( CnCn ); );default:default: printf(printf( DnDn ); ); returnreturn 0;0; 输入:输入:8282A A输入:输入:8282A AB BC CD D如果没有如果没有 breakbreak 语句语句switch-caseswitch-case 语句找到第一个匹配语句找到第一个匹配的的casecase 语句开始运行语句开始运行, 直到直到 breakbreak 语句或语句或整个整个 switch-caseswitch-case 语句结束。语

59、句结束。高斯课堂系列课程高斯课堂系列课程官方公众号:蜂考官方公众号:蜂考蜂考蜂考大学生备考集训营大学生备考集训营19微信扫一扫微信扫一扫3 3 小时速成课程小时速成课程课时课时五五练习题练习题1. 1.C C 语言程序的三种基本结构是顺序结构,选择结构和语言程序的三种基本结构是顺序结构,选择结构和()结构结构。A.A. 递归递归B.B. 转移转移C. C. 循环循环D.D. 嵌套嵌套2. 2.从键盘输入从键盘输入 x x 的值,按下列公式计算并输出的值,按下列公式计算并输出 y y 的值。的值。 061 015311 15xxyxxxx3. 3.编写程序判断输入的一个整数是否能被编写程序判断输

60、入的一个整数是否能被 5 5 或或 7 7 整除,若能整除,输出整除,若能整除,输出”YESYES” ,若不能,输,若不能,输出出”NONO” 。4. 4.设设 a=1,a=1, b=2,b=2, c=3,c=3, d=4,d=4,则条件表达式则条件表达式 ab?a:cd?c:dab?a:cd?c:d 的值是的值是。5. 5.程序阅读题程序阅读题。以下程序运行时,输出结果是以下程序运行时,输出结果是。1 1:#include#include2 2:intint main(void)main(void)3 3:intintm=17,m=17, s=0;s=0;4 4:switch(m%7)swi

61、tch(m%7)5 5:casecase 2:m=m/2;s=s+2;break;2:m=m/2;s=s+2;break;6 6:casecase 3:m=m/3;s=s+3;3:m=m/3;s=s+3;7 7:casecase 5:m=m/5;s=s+5;break;5:m=m/5;s=s+5;break;8 8:default:m-;s-;default:m-;s-;9 9: 1010:printf(printf( %d%d%d%d ,m,s);,m,s);1111: A.A. 2 27 7B.B. 1 18 8C. C. 1 17 7D.D. 2 28 86. 6.程序程序阅读阅读题题1

62、 1:#include#include2 2:intint main(main(voidvoid)3 3:intintj, j, p=10;p=10;4 4:printf(printf( PleasePlease inputinput anan integer:integer: ); );5 5:scanf(scanf( %d%d ,&j);,&j);6 6:switch(j)switch(j)7 7:casecase 1:1:8 8:casecase 2:printf(2:printf( %d%d ,p+);break;,p+);break;9 9:casecase 3:printf(3:p

63、rintf( %d%d , ,-p);brep);brea ak; k;1010: 1111:returnreturn 0;0; 输入输入 3 3,输出结果是,输出结果是。高斯课堂系列课程高斯课堂系列课程官方公众号:蜂考官方公众号:蜂考蜂考蜂考大学生备考集训营大学生备考集训营20微信扫一扫微信扫一扫3 3 小时速成课程小时速成课程课时六课时六循环结构循环结构考点考点重要程度重要程度分值分值常见题型常见题型1. 1.whilewhile 语句语句必考必考所有题型所有题型2. 2.do-whiledo-while 语句语句0202选择题选择题1. while 语句语句使用规则:使用规则:while

64、(while(条件为真条件为真) ) 执行操作执行操作; ; #include#includeintint main(void)main(void)intinti; i;i=1;i=1;while(i=10)while(i=10)printf(%5d,i);printf(%5d,i);i+;i+; returnreturn 0;0; 1. 1. 编程计算并输出编程计算并输出 n!n!的值,其中的值,其中 n n 从键盘上输入。从键盘上输入。n!n! = = 1*2*3*.*n1*2*3*.*n#include#includeintint main(void)main(void)intintn,

65、 n, result;result;intinti; i;scanf(%d,&n);scanf(%d,&n);result=1;result=1;i=2;i=2;while(i=n)while(i=n)result=result*i;result=result*i;i+;i+; printf(n!printf(n! is is %d,result);%d,result);returnreturn 0;0; 1. 1.定义循环变量定义循环变量 i i 并赋值并赋值2. 2.写写 while(while(循环条件循环条件)3. 3.写循环执行的操作写循环执行的操作4. 4.更新变量更新变量 i i

66、 的值的值运行结果运行结果:1 12 23 34 45 56 67 78 89 91010输入:输入:4 4n!n!is is2424高斯课堂系列课程高斯课堂系列课程官方公众号:蜂考官方公众号:蜂考蜂考蜂考大学生备考集训营大学生备考集训营21微信扫一扫微信扫一扫3 3 小时速成课程小时速成课程2. 2. 编程计算编程计算 1*2*3+3*4*5+5*6*7+.+99*100*1011*2*3+3*4*5+5*6*7+.+99*100*101 的值。可以用步长为的值。可以用步长为 2 2 的循环语句实现。的循环语句实现。#include#includeintint main(void)main(

67、void)intintresult;result;intinti; i;result=0;result=0;i=2;i=2;while(i=100)while(i=100)result=result+(i-1)*i*(i+1);result=result+(i-1)*i*(i+1); result+=(i-1)*(i+1);result+=(i-1)*(i+1);i=i+2;i=i+2; i+=2;i+=2; printf(%d,result);printf(%d,result);returnreturn 0;0; 3. 3. 输入一个正整数输入一个正整数 mm,计算,计算 1-3+5-7+9

68、-11+1-3+5-7+9-11+的前的前 mm 项之和。项之和。#include#includeintint main(void)main(void)intintm,m, result,result, sign;sign;intinti; i;scanf(%d,&m);scanf(%d,&m);result=0;result=0;sign=1;sign=1;i=1;i=1;while(i=m)while(i=m)result+=sign*(2*i-1);result+=sign*(2*i-1);sign=-sign;sign=-sign;i+;i+; printf(printf(前前 mm

69、项和为:项和为:%d,result);%d,result);returnreturn 0;0; 运行结果运行结果:1300245013002450输入:输入:6 6前前 mm 项和为:项和为:-6-6高斯课堂系列课程高斯课堂系列课程官方公众号:蜂考官方公众号:蜂考蜂考蜂考大学生备考集训营大学生备考集训营22微信扫一扫微信扫一扫3 3 小时速成课程小时速成课程4. 4. 输出输出 100999100999 之间的水仙花数,水仙花数是指一个数的每一位数字的立方之和等于这个数之间的水仙花数,水仙花数是指一个数的每一位数字的立方之和等于这个数,如如 1 13 3+3+33 3+5+53 3=153.=

70、153.#include#includeintint main(void)main(void)intinti; i;intinta, a, b, b, c; c;i=100;i=100;while(i=999)while(i=999)a a = = i i / / 100;100;/计算计算 i i 的百位数字的百位数字b b = = ( ( i i / / 1010 ) ) % 10;10;/计算计算 i i 的十位数字的十位数字c c = = i i % 10;10;/计算计算 i i 的个位数字的个位数字if(a*a*aif(a*a*a + + b*b*bb*b*b + + c*c*cc

71、*c*c =i)=i)printf(%dn,i);printf(%dn,i);i+;i+; returnreturn 0;0; 2. do-while 语句语句使用规则:使用规则:dodo 执行操作执行操作while(while(条件为真条件为真); );do-whiledo-while 语句的循环体至少执行一次。语句的循环体至少执行一次。1. 1.以下程序段中的循环以下程序段中的循环() 。x=-1;x=-1;dodox=x*x;x=x*x; while(!x);while(!x);A.A. 执行执行 1 1 次次B B. . 执行执行 2 2 次次C. C. 是死循环是死循环D.D. 有语

72、法错误有语法错误运行结果运行结果:153153370370371371407407c c 语言的条件判断语言的条件判断条件为真条件为真非零数非零数条件为假条件为假整数整数 0 0高斯课堂系列课程高斯课堂系列课程官方公众号:蜂考官方公众号:蜂考蜂考蜂考大学生备考集训营大学生备考集训营23微信扫一扫微信扫一扫3 3 小时速成课程小时速成课程课时课时六六练习题练习题1. 1.编写程序,输出编写程序,输出 100100 以内所有不能被以内所有不能被 3 3 整除的偶数之和。整除的偶数之和。2. 2.编写程序,求小于正整数编写程序,求小于正整数 k k 的所有偶数的和,其中的所有偶数的和,其中 k k

73、由用户从键盘输入。由用户从键盘输入。3. 3.输入一个正整数输入一个正整数 mm,计算,计算 2-4+6-8+10-12+2-4+6-8+10-12+的前的前 mm 项之和。项之和。4. 4.程序填空题程序填空题. .输入一批字符输入一批字符(以回车结束以回车结束) ,分别统计其中英文字母分别统计其中英文字母、数字字符和其它字符的数字字符和其它字符的数量。数量。#include#includeintint main()main()intintCount1=0,Count1=0, Count2=0,Count2=0, Count3=0,Count3=0, i; i;charchar ch;ch;

74、while(while(1)(1)if(if(2)(2) )Count1+;Count1+;elseelse if(ch=if(ch= 0 0 &ch=&ch=A.ch= A A &ch=&ch=|ch= a a &ch=&ch=B.ch= A A &ch=&ch=&ch= a a &ch=&ch=C.ch= A A &ch=&ch=D.ch= a a &ch=&ch= Z Z 高斯课堂系列课程高斯课堂系列课程官方公众号:蜂考官方公众号:蜂考蜂考蜂考大学生备考集训营大学生备考集训营24微信扫一扫微信扫一扫3 3 小时速成课程小时速成课程课时七课时七循环结构循环结构考点考点重要程度重要程度分值分

75、值常见题型常见题型1. 1.forfor 语句语句必考必考所有题型所有题型2. 2.continuecontinue 与与 breakbreak0505填空题、选择题、读程序题填空题、选择题、读程序题1. for 语句语句使用规则:使用规则:for(for(初始值初始值; ; 条件为真条件为真; ; 变量更新变量更新) ) 执行操作执行操作; ; #include#includeintint main(void)main(void)intinti; i;for(i=1;for(i=1; i=10;i=10; i+)i+)printf(%5d,i);printf(%5d,i); returnre

76、turn 0;0; 1. 1. 编程计算编程计算 1*2*3+3*4*5+5*6*7+1*2*3+3*4*5+5*6*7+ +99*100*101+99*100*101 的值。的值。提示:提示:可以用步长为可以用步长为 2 2 的循环语句实的循环语句实现。现。#include#includeintint main(void)main(void)intintresult;result;intinti; i;result=0;result=0;for(i=2;i=100;i=i+2)for(i=2;i=100;i=i+2)result=result+(i-1)*i*(i+1);result=res

77、ult+(i-1)*i*(i+1); printf(printf( %d%d ,result);,result);returnreturn 0;0; 运行结果运行结果:运行结果运行结果:1 12 23 34 45 56 67 78 89 910101. 1. 定义循环变量定义循环变量 i i2. 2. 写写 for(for(; ; ;) 3. 3. 依次给变量赋值依次给变量赋值,写循环条写循环条件,更新变量件,更新变量 i i4. 4. 写循环执行的操作写循环执行的操作1300245013002450高斯课堂系列课程高斯课堂系列课程官方公众号:蜂考官方公众号:蜂考蜂考蜂考大学生备考集训营大学生

78、备考集训营25微信扫一扫微信扫一扫3 3 小时速成课程小时速成课程2. 2. 输出输出 100999100999 之间的水仙花数,水仙花数是指一个数的每一位数字的立方之和等于这个数之间的水仙花数,水仙花数是指一个数的每一位数字的立方之和等于这个数,如如 1 13 3+3+33 3+5+53 3=153.=153.#include#includeintint main(void)main(void)intinti i; ;intinta, a, b, b, c; c;for(i=100;i=999;i+)for(i=100;i=999;i+)a a = = i i / / 100;100;b b

79、 = = ( ( i i / / 1010 ) ) % 10;10;c c = = i i % 10;10;if(a*a*aif(a*a*a + + b*b*bb*b*b + + c*c*cc*c*c =i)=i)printf(printf( %dn%dn ,i);,i); returnreturn 0;0; 3. 3. 输出输出 11001100,每行输出,每行输出 8 8 个数。个数。#include#includeintint main(void)main(void)intinti, i, count=0;count=0;for(i=1;i=100;i+)for(i=1;i=100;i+

80、)printf(%5d,i);printf(%5d,i);count+;count+;if(count%8=0)if(count%8=0)printf(n);printf(n); returnreturn 0;0; 运行结果运行结果:153153370370371371407407高斯课堂系列课程高斯课堂系列课程官方公众号:蜂考官方公众号:蜂考蜂考蜂考大学生备考集训营大学生备考集训营26微信扫一扫微信扫一扫3 3 小时速成课程小时速成课程2. continue 与与 breakbreakbreak 的作用:结束的作用:结束 switchswitch 语句;语句;结束循环,直接进入结束循环,直接

81、进入后面后面的语句。的语句。用法:用法:break;break;continuecontinue 的作用:的作用:结束本次循环,进入下一次循环结束本次循环,进入下一次循环判断判断。 用法:用法:continue;continue;1. 1. 阅读下面的程序,写出程序运行输出结果。阅读下面的程序,写出程序运行输出结果。#include#includeintint main(main(voidvoid)intinta, a, b;b;for(a=1,b=1;a=100;a+)for(a=1,b=1;a=10)if(b=10) break;break;if(b%3=1)if(b%3=1)b+=3;b

82、+=3;continue;continue; printf(printf( %dn%dn ,a);,a);returnreturn 0;0; 2. 2. 编写程序,编写程序,输出输出 100100 以内的全部素数(只能被以内的全部素数(只能被 1 1 和它本身整除的整数和它本身整除的整数) 。#include#includeintint main(void)main(void)intinti, i, j; j;intintmark=1;mark=1;for(i=2;i100;i+)for(i=2;i100;i+)mark=1;mark=1;for(j=2;ji;j+)for(j=2;j=10b

83、=10break;break;高斯课堂系列课程高斯课堂系列课程官方公众号:蜂考官方公众号:蜂考蜂考蜂考大学生备考集训营大学生备考集训营27微信扫一扫微信扫一扫3 3 小时速成课程小时速成课程1111.4357 课时课时七七练习题练习题1. 1.在在 for(for(表达式表达式 1;1;表达式表达式 2;2;表达式表达式 3)3)循环中循环中, ()常用于表示循环条件判断。)常用于表示循环条件判断。A A. . 表达式表达式 1 1B.B. 表达式表达式 2 2C. C. 表达式表达式 3 3D.D. 都不是都不是2. 2.有以下语句有以下语句for(i=1;i30;i+)for(i=1;i3

84、0;i+)subroutine();subroutine();i+;i+; 其中其中 subroutine()subroutine()是自定义函数,则此函数会被调用是自定义函数,则此函数会被调用_次。次。3. 3.以每行以每行 8 8 个的形式输出个的形式输出 100999100999 内的质数。内的质数。4. 4.下列描述中正确的是(下列描述中正确的是() 。A.A. continuecontinue 的作用是结束整个循环的执行的作用是结束整个循环的执行B.B. 循环体内和循环体内和 switchswitch 语句都能使用语句都能使用 breakbreak 语句语句C. C. 循环体内循环体

85、内 breakbreak 和和 continuecontinue 语句的作用相同语句的作用相同D.D. breakbreak 只能在只能在 switchswitch 语句中出现语句中出现5. 5.该程序利用下面公式计算该程序利用下面公式计算 的近似值,取前的近似值,取前 n n 项之和,请填空完善程序。项之和,请填空完善程序。#include#includeintint main(main(voidvoid)intinti, i, n;n;floatfloatt=1.0,t=1.0, pi=0;pi=0;scanf(scanf( %d%d ,&n);,&n);for(i=1;i=n;i+)fo

86、r(i=1;i=n;i+)pi+=pi+=; ;t=-t;t=-t; pi=pi*4;pi=pi*4;printf(printf( pi=%fpi=%f ,pi);,pi);returnreturn 0;0; 6. 6.编写一个程序,求编写一个程序,求11111123499100的值。的值。高斯课堂系列课程高斯课堂系列课程官方公众号:蜂考官方公众号:蜂考蜂考蜂考大学生备考集训营大学生备考集训营28微信扫一扫微信扫一扫3 3 小时速成课程小时速成课程课时八课时八数组和字符串数组和字符串考点考点重要程度重要程度分值分值常见题型常见题型1. 1.一维数组一维数组必考必考1 12 21818各类程序题

87、各类程序题2. 2.二维数组二维数组2828选择题、读程序题选择题、读程序题3. 3.字符串数组字符串数组412412各类程序题各类程序题1. 一维数组一维数组定义数组:定义数组:数据类型数据类型 数组名数组名 元素元素个数个数 1. 1.计算并输出一维整型数组计算并输出一维整型数组 aa5 5 中所有元素的平均值。中所有元素的平均值。#include#includeintint main(void)main(void)intintarrayarray5 5; ;intinti; i;intintsum=0;sum=0;floatfloataverage;average;for(i=0;ifo

88、r(i=0;i5 5;i+);i+)scanf(%d,&arrayi);scanf(%d,&arrayi); for(i=0;ifor(i=0;i5 5;i+);i+)sum+=arrayi;sum+=arrayi; average=sum/average=sum/5 5; ;printf(%fn,average);printf(%fn,average);returnreturn 0;0; 1. 1.定义数组:定义数组:数据类型数据类型 数组名数组名 元素个数元素个数; ;2. 2.从键盘上输入数组的元素,用从键盘上输入数组的元素,用 fofor r循环逐个赋值循环逐个赋值3. 3.单独使用数

89、组中的某个元素:单独使用数组中的某个元素:数组名数组名 标号标号 4. 4.长度长度为为n n 的数组内元素下标的范围的数组内元素下标的范围是是 0n-10n-1输入:输入:1 12 23 34 45 53 3高斯课堂系列课程高斯课堂系列课程官方公众号:蜂考官方公众号:蜂考蜂考蜂考大学生备考集训营大学生备考集训营29微信扫一扫微信扫一扫3 3 小时速成课程小时速成课程2. 2.定义数组定义数组 a6=10,7,15,20,3,1a6=10,7,15,20,3,1,求出该数组的最大值,并输出其下标。,求出该数组的最大值,并输出其下标。#include#includeintint main(voi

90、d)main(void)intinta6=10,7,15,20,3,1;a6=10,7,15,20,3,1;intinti, i, max,max, num;num;max=a0;max=a0;num=0;num=0;for(i=0;i6;i+)for(i=0;imax)if(aimax)max=ai;max=ai;/注意:把注意:把 aiai赋值给赋值给 maxmax,maxmax 在赋值号的左边在赋值号的左边num=i;num=i; printf(max=%dn,max);printf(max=%dn,max);printf(numberprintf(number is is %d,num

91、);%d,num);returnreturn 0;0; 3. 3.编写程序实现,用数组来产生编写程序实现,用数组来产生 FibonacciFibonacci 数列前数列前 1515 项。项。FibonacciFibonacci 数列为数列为 1,1,2,3,5,8,131,1,2,3,5,8,13, f(i)=f(i-1)+f(i-2)f(i)=f(i-1)+f(i-2),f(1)=1f(1)=1,f(2)=1f(2)=1(第一项和第二项为(第一项和第二项为 1 1,后面每一项都是前面两项之和),后面每一项都是前面两项之和)#include#includeintint main(void)ma

92、in(void)intintaa1515; ;a0=1;a0=1;a1=1;a1=1;intint i; i;for(i=2;ifor(i=2;i1515;i+);i+)ai=ai-1+ai-2;ai=ai-1+ai-2; for(i=0;ifor(i=0;i1515;i+);i+)printf(%dprintf(%d,ai);,ai); returnreturn 0;0; max=20max=20numbernumber is is 3 3运行结果:运行结果:高斯课堂系列课程高斯课堂系列课程官方公众号:蜂考官方公众号:蜂考蜂考蜂考大学生备考集训营大学生备考集训营30微信扫一扫微信扫一扫3 3

93、 小时速成课程小时速成课程4. 4.用冒泡排序法对给定的用冒泡排序法对给定的 5 5 个整数按递增的顺序排序。个整数按递增的顺序排序。待排序数待排序数: :131323231 19 96 6第一趟排序第一趟排序: :131323231 19 96613131 123239 96613131 19 923236613131 19 96 6 2323第二趟排序第二趟排序: :119 96613132323第三趟排序第三趟排序: :11669 913132323第四趟排序第四趟排序: :116 69 913132323具体程序如下:具体程序如下:#include#includeintint main

94、(void)main(void)intinti, i, j, j, t; t;intinta5=13,23,1,9,6;a5=13,23,1,9,6;for(j=1;j=5-1;j+for(j=1;j=5-1;j+ )/*/*外循环控制排序趟数外循环控制排序趟数*/*/for(i=0;i=5-j-1;i+)for(i=0;iai+1)if(aiai+1) t=ai;t=ai;ai=ai+1;ai=ai+1;ai+1=t;ai+1=t; forfor (i=0;i5;i+)(i=0;i5;i+)printf(printf( %d%d ,ai);,ai);returnreturn 0;0; 交换两

95、个数交换两个数 a a,b b 的位置,中间变量的位置,中间变量 t tt=a;t=a;a=b;a=b;高斯课堂系列课程高斯课堂系列课程官方公众号:蜂考官方公众号:蜂考蜂考蜂考大学生备考集训营大学生备考集训营31微信扫一扫微信扫一扫3 3 小时速成课程小时速成课程2. 二维数组二维数组数据类型数据类型 数组名数组名 数组长度数组长度 22数组长度数组长度 11未被赋值的元素会自动设置为未被赋值的元素会自动设置为 0 0。1. 1.若定义若定义 X3=1,2,3,4,5,6,7;X3=1,2,3,4,5,6,7;则则 X X 数组中行的大小是(数组中行的大小是() 。A.A. 4 4B B. .

96、 3 3C. C. 2 2D.D. 无确定值无确定值答案:答案:选选 B B2. 2.读程序题读程序题#include#include intint main(main(voidvoid)intinta33=1,2,3,4,5,6,7,8,9;a33=1,2,3,4,5,6,7,8,9;intinti=0,i=0, s=0;s=0;while(i3)while(i3)s=s+aii;s=s+aii;i+;i+; ;printf(i=%d,s=%d,i,s);printf(i=%d,s=%d,i,s);returnreturn 0;0; 答案:答案:输出输出 i=3,s=15i=3,s=15 。

97、3. 字符串字符串定义:定义:charchar 字符数组名字符数组名 元素个数元素个数; ;1. 1.实现字符串复制的函数名是(实现字符串复制的函数名是() 。A.A. strcatstrcatB.B. strcmpstrcmpC. C. strcpystrcpyD.D. strlenstrlen答案:选答案:选 C C。1 12 23 34 45 56 67 78 89 91. 1. strcmp(str1,str2)strcmp(str1,str2) 比较比较 str1str1 和和 str2str2 的大小。的大小。2. 2. strcpy(str1,str2)strcpy(str1,s

98、tr2) 把把strstr2 2复制复制(copy)(copy)到到strstr1 1中中。3. 3. strcat(str1,str2)strcat(str1,str2) 把把 str2str2 连接到连接到 str1str1 后面。后面。4. 4. strlen(str)strlen(str) 计算计算 strstr 中的非中的非00字符个数。字符个数。5. 5. 使用时要加上使用时要加上#include#include6. 6. 注意:计算时,以注意:计算时,以00为字符串结束标志。为字符串结束标志。高斯课堂系列课程高斯课堂系列课程官方公众号:蜂考官方公众号:蜂考蜂考蜂考大学生备考集训营

99、大学生备考集训营32微信扫一扫微信扫一扫3 3 小时速成课程小时速成课程2. 2.有以下程序有以下程序:#include#include#include#includeintint main(void)main(void)charcharpp =a,=a, b,b, c,c, q10=a,q10=a, b,b, c;c;printf(%dprintf(%d %dn,strlen(p),%dn,strlen(p), strlen(q);strlen(q);returnreturn 0 0; 以下叙述中正确的是(以下叙述中正确的是() 。A.A. 由于由于 p p 数组中没有字符串结束符,长度不能

100、确定;但数组中没有字符串结束符,长度不能确定;但 q q 数组中字符串长度为数组中字符串长度为 3 3B.B. 由于由于 q q 数组中没有字符串结束符,长度不能确定;但数组中没有字符串结束符,长度不能确定;但 p p 数组中字符串长度为数组中字符串长度为 3 3C. C. 在给在给 p p 和和 q q 数组置初值时,系统会自动添加字符串结束符,故输出的长度都为数组置初值时,系统会自动添加字符串结束符,故输出的长度都为 3 3D.D. 由于由于 p p 和和 q q 数组中都没有字符串结束符,故长度都不能确定数组中都没有字符串结束符,故长度都不能确定答案:选答案:选 C C。注意:注意:ch

101、archar s3=s3=a,b,ca,b,c; ;的初始化方式会使的初始化方式会使 strlen(strlen( ) )失效。失效。3. 3.编写程序编写程序,输入一输入一串串字符字符,如果是大写字母改变为小写字母如果是大写字母改变为小写字母;如果是小写字母如果是小写字母,则把它变为则把它变为大写字母;若是其它字符则不变。大写字母;若是其它字符则不变。#include#include#include#includeintint main(void)main(void)charcharstr20;str20;gets(str);gets(str);intint i=0;i=0;for(i=0;

102、stri!=0;i+)for(i=0;stri!=0;i+)if(stri=A&stri=A&stri=a&stri=a&stri=z)stri-=32;stri-=32; puts(str);puts(str);returnreturn 0;0; 1. 1. gets(gets(字符数组名字符数组名); ); 从键盘上输入字符串。从键盘上输入字符串。scanf(%s,scanf(%s,字符数组名字符数组名); );2. 2. puts(puts(字符数组名字符数组名); ); 把字符串输出到屏幕上把字符串输出到屏幕上。printf(%s,printf(%s,字符数组名字符数组名); );3.

103、 3. 使用时要加上使用时要加上#include#include高斯课堂系列课程高斯课堂系列课程官方公众号:蜂考官方公众号:蜂考蜂考蜂考大学生备考集训营大学生备考集训营33微信扫一扫微信扫一扫3 3 小时速成课程小时速成课程课时课时八八练习题练习题1. 1.阅读下列程序说明和程序,程序中阅读下列程序说明和程序,程序中“ “/*N*/*N*/” ”标记处标记处有错误,请改正。有错误,请改正。以下函数对数组进行冒泡排序,使数据从小到大排序。以下函数对数组进行冒泡排序,使数据从小到大排序。#include#includeintint main(main(voidvoid)intinti, i, j,

104、 j, t; t;for(i=1;in,i+)for(i=1;in,i+)for(j=0;for(j=0;jiji;j+);j+) /*1*/*1*/if(if(ajaj+1ajaj+1) ) /*2*/*2*/t=aj;t=aj;aj=aj+1;aj=aj+1;aj+1=t;aj+1=t; returnreturn 0;0; 2. 2.用冒泡法对数组中的用冒泡法对数组中的 1010 个整数按由小到大排序,要求由键盘任意输入个整数按由小到大排序,要求由键盘任意输入 1010 个数,排序后输个数,排序后输出排序结果。出排序结果。3. 3.输入长度为输入长度为 1010 的数组的数组,最大的与第一

105、个元素交换最大的与第一个元素交换,最小的与最后一个元素交换最小的与最后一个元素交换,输出数组输出数组。高斯课堂系列课程高斯课堂系列课程官方公众号:蜂考官方公众号:蜂考蜂考蜂考大学生备考集训营大学生备考集训营34微信扫一扫微信扫一扫3 3 小时速成课程小时速成课程4. 4.一个正整数一个正整数 n(1n=10),n(1n=10),再输入再输入 n n 个整数,将它们从小到大排序后输出。个整数,将它们从小到大排序后输出。示例:示例:EnterEnter n:n: 9 9EnterEnter 9 9 integers:integers: 3 3 5 5 8 8 1 1 2222 8989 0 0 -

106、1-1 7 7AfterAfter sorted:sorted: -1-1 0 0 1 1 3 3 5 5 7 7 8 8 2222 8989【程序】【程序】#include#includeintint main(main(voidvoid)intinti, i, index,index, k, k, n, n, temp,temp, a10;a10;printf(printf( EnterEnter n:n: ); );scanf(scanf( %d%d ,&n);,&n);printf(printf( EnterEnter %d%d integers:integers: ,n);,n);f

107、or(i=0;in;i+)for(i=0;in;i+)scanf(scanf( %d%d ,&ai);,&ai);for(k=0;kn-1;k+)for(k=0;kn-1;k+)( (1 1) ); ;for(i=k+1;in;i+)for(i=k+1;in;i+) if(if( (2 2) ) ) index=i;index=i;temp=aindex,temp=aindex,( (3 3) ),ak=temp;,ak=temp; printf(printf( AfterAfter sorted:sorted: ); );for(i=0;in;i+)for(i=0;in;i+)printf(

108、printf( %d%d ,ai);,ai);returnreturn 0;0; ( (1 1) ) A.A. index=kindex=kB.B. index=0index=0C. C. index=k+1index=k+1D.D. indexindex( (2 2) ) A.A. aiaindexaiaindexaiaindexC. C. aia0aia0aia0( (3 3) ) A.A. ak=aindexak=aindexB.B. aindex=akaindex=akC. C. aindex+1=akaindex+1=akD.D. ak+1=aindexak+1=aindex高斯课堂

109、系列课程高斯课堂系列课程官方公众号:蜂考官方公众号:蜂考蜂考蜂考大学生备考集训营大学生备考集训营35微信扫一扫微信扫一扫3 3 小时速成课程小时速成课程5. 5.建立建立 n n 个数的数组,在下标为偶数的数组元素中寻找最小值,并将其输出个数的数组,在下标为偶数的数组元素中寻找最小值,并将其输出。6. 6.编写一个程序,从键盘输入编写一个程序,从键盘输入 1010 位学生的成绩,统计最高分、最低分和平均分。位学生的成绩,统计最高分、最低分和平均分。7. 7. 若有定义若有定义 intint a34a34,下列对数组,下列对数组 a a 的引用中正确的是(的引用中正确的是() 。A A. . a

110、1/20=0a1/20=0B.B. intinta11=0a11=0C. C. a24=0a24=0D.D. a04=0a04=08. 8.在在 intint a3=1,4,3,2,4,5,6,0;a3=1,4,3,2,4,5,6,0;中,中,a21a21的值是(的值是() 。A.A. 2 2B.B. 0 0C. C. 6 6D.D. 5 59. 9.以下程序的输出结果是(以下程序的输出结果是() 。#include#includeintint main(main(voidvoid)intinta44=1,3,5,2,4,6,3,5,7;a44=1,3,5,2,4,6,3,5,7;printf

111、(printf( %d%d%d%dn%d%d%d%dn ,a03,a12,a21,a30);,a03,a12,a21,a30);returnreturn 0;0; A.A. 06500650B.B. 14701470C. C. 54305430D.D. 输出值不定输出值不定10.10. str120=str120= whatnwhatn , ,则则 strlen(str1)strlen(str1)的结果为(的结果为() 。A.A. 5 5B.B. 6 6C. C. 7 7D.D. 0 011.11. 实现字符串连接的系统函数名是(实现字符串连接的系统函数名是() 。A.A. strcatstr

112、catB.B. strcmpstrcmpC. C. strcpystrcpyD.D. strlenstrlen12.12. 程序中调用了库函数程序中调用了库函数 strcmpstrcmp,必须包含,必须包含() 。A.A. math.hmath.hB.B. string.hstring.hC. C. ctype.hctype.hD.D. stdlib.hstdlib.h13.13. 输入一行字符输入一行字符(8080 个字符个字符) ,把所有的非数字字符改写成空格把所有的非数字字符改写成空格(保留数字字符不变保留数字字符不变) ,然后然后输出修改后的字符串。输出修改后的字符串。14.14. 下

113、面的下面的 mainmain 主函数,执行后键盘上输入:主函数,执行后键盘上输入:I I likelike apple,apple, 屏幕上输出的结果为(屏幕上输出的结果为() 。A.A. I IB.B. I I likelikeC. C. I I likelike appleappleD.D. 错误错误其中其中 mainmain 函数为:函数为:intint main(main(voidvoid)charchar s120;s120;scanf(scanf( %c%c ,s1);,s1);puts(s1);puts(s1);returnreturn 0;0; 高斯课堂系列课程高斯课堂系列课程

114、官方公众号:蜂考官方公众号:蜂考蜂考蜂考大学生备考集训营大学生备考集训营36微信扫一扫微信扫一扫3 3 小时速成课程小时速成课程课时九课时九函数函数考点考点重要程度重要程度分值分值常见题型常见题型1. 1.函数的定义和声明函数的定义和声明10181018程序题程序题2. 2.函数的递归函数的递归0808选择题、读程序题选择题、读程序题1. 函数的定义和声明函数的定义和声明返回类型返回类型 函数名函数名( (数据类型数据类型 形式参数,形式参数,.).) 1 1函数可以定义在函数可以定义在 mainmain 函数的前面,也可以定义在函数的前面,也可以定义在 mainmain 函数的后面。函数的后

115、面。2 2只有被只有被 mainmain 函数调用时,函数才会执行。函数调用时,函数才会执行。#include#includeintintf(intf(intx)x)x=x*x;x=x*x;returnreturn x; x; intintmain(void)main(void)intinta=5,a=5, b;b;b=f(a);b=f(a);printf(aprintf(a = = %d,%d, b b = = %d,a%d,a ,b);,b);returnreturn 0;0; f(x)=xf(x)=x2 2f(x)|f(x)|x=ax=a=a=a2 21. 1. 形式参数和实际参数之间是

116、单向值传递。形式参数和实际参数之间是单向值传递。2. 2.在函数内对形参的任何修改都不会影响在函数内对形参的任何修改都不会影响 mainmain 函数内的实参函数内的实参。3. 3. 返回类型为返回类型为 void(void(空空) )时,函数没有时,函数没有 returnreturn 语句。语句。4. 4. 函数内定义的变量只在本函数中有效。函数内定义的变量只在本函数中有效。高斯课堂系列课程高斯课堂系列课程官方公众号:蜂考官方公众号:蜂考蜂考蜂考大学生备考集训营大学生备考集训营37微信扫一扫微信扫一扫3 3 小时速成课程小时速成课程1 1输出输出 100999100999 之间的水仙花数之间

117、的水仙花数,水仙花数是指一个数的每一位数字的立方之和等于这个数水仙花数是指一个数的每一位数字的立方之和等于这个数,如如 1 13 3+3+33 3+5+53 3=153.=153.#include#includeintint judge(intjudge(int n)n)intinta, a, b, b, c; c;a=n/100;a=n/100;b=(n/10)%10;b=(n/10)%10;c=n%10;c=n%10;if(a*a*a+b*b*b+c*c*c=n)if(a*a*a+b*b*b+c*c*c=n)returnreturn 1;1; returnreturn 0;0; intin

118、t main(void)main(void)intinti; i;for(i=100;i=999;i+)for(i=100;i=999;i+)if(judge(i)=1)if(judge(i)=1)printf(%dprintf(%d,i);,i); returnreturn 0;0; 2 2调用一个函数时,当实参和形参都是普通变量时,它们之间的数据传递方式是(调用一个函数时,当实参和形参都是普通变量时,它们之间的数据传递方式是() 。A.A. 地址传递地址传递B.B. 单向值传递单向值传递C. C. 双向值传递双向值传递D.D. 由用户定义传递方式由用户定义传递方式答案:答案:选选 B B。

119、3 3在在 C C 程序中,若对函数类型未加说明,则函数的隐含类型为(程序中,若对函数类型未加说明,则函数的隐含类型为() 。A.A. intintB.B. doubledoubleC. C. voidvoidD.D. charchar答案:答案:选选 A A。#include#includeintint judge(intjudge(int n);n);/函数的声明函数的声明intint main(void)main(void)intinti; i;for(i=100;i=999;i+)for(i=100;i=999;i+)if(judge(i)=1)if(judge(i)=1)printf

120、(%dprintf(%d,i);,i); returnreturn 0;0; intint judge(intjudge(int n)n)intinta, a, b, b, c; c;a=n/100;a=n/100;b=(n/10)%10;b=(n/10)%10;c=n%10;c=n%10;if(a*a*a+b*b*b+c*c*c=n)if(a*a*a+b*b*b+c*c*c=n)returnreturn 1;1; returnreturn 0;0; 高斯课堂系列课程高斯课堂系列课程官方公众号:蜂考官方公众号:蜂考蜂考蜂考大学生备考集训营大学生备考集训营38微信扫一扫微信扫一扫3 3 小时速成

121、课程小时速成课程4 4以下叙述中不正确的是(以下叙述中不正确的是() 。A.A. 在不同的函数中可以使用相同名字的变量。在不同的函数中可以使用相同名字的变量。B.B. 函数中的形式参数是局部变量。函数中的形式参数是局部变量。C. C. 在一个函数内定义的变量只在本函数范围内有效。在一个函数内定义的变量只在本函数范围内有效。D.D. 在一个函数内的复合语句中定义的变量在本函数范围内有效。在一个函数内的复合语句中定义的变量在本函数范围内有效。答案:答案:选选 D D。5 5下列程序的输出结果是(下列程序的输出结果是() 。#include#includeintint fun3(intfun3(in

122、t x)x) staticstaticintinta=3;a=3;a=a+x;a=a+x;returnreturn a; a; intint main(void)main(void)intintk=2,k=2, m=1,m=1, n;n;n=fun3(k);n=fun3(k);n=fun3(m);n=fun3(m);printf(%dn,n);printf(%dn,n);returnreturn 0;0; A.A. 3 3B.B. 4 4C. C. 6 6D.D. 9 9答案:选答案:选 C C。6 6输出输出 100100 以内的全部素数(只能被以内的全部素数(只能被 1 1 和它本身整除的

123、整数和它本身整除的整数) 。#include#includeintint prime(intprime(int n)n)intint i; i;for(i=2;in;i+)for(i=2;in;i+)if(n%i=0)if(n%i=0)returnreturn 0;0;/能被其他数整除就不是素数,直接返回能被其他数整除就不是素数,直接返回 0 0 结束函数结束函数 returnreturn 1;1; intint main(void)main(void)intint i; i;for(i=2;i100;i+)for(i=2;i100;i+)if(prime(i)=1)if(prime(i)=1

124、)printf(%dprintf(%d,i);,i); returnreturn 0;0; 高斯课堂系列课程高斯课堂系列课程官方公众号:蜂考官方公众号:蜂考蜂考蜂考大学生备考集训营大学生备考集训营39微信扫一扫微信扫一扫3 3 小时速成课程小时速成课程7 7以下说法正确的是(以下说法正确的是() 。A.A. 函数的定义可以嵌套,但函数的调用不可以嵌套函数的定义可以嵌套,但函数的调用不可以嵌套B.B. 函数的定义不可以嵌套,但函数的调用可以嵌套函数的定义不可以嵌套,但函数的调用可以嵌套C. C. 函数的定义和调用均不可以嵌套函数的定义和调用均不可以嵌套D.D. 函数的定义和调用均可以嵌套函数的定

125、义和调用均可以嵌套答案:选答案:选 B B。8 8函数的返回函数的返回值类型值类型由(由()确定。)确定。A.A. returnreturn 语句中的表达式语句中的表达式B.B. 调用函数的类型调用函数的类型C. C. 系统默认的类型系统默认的类型D.D. 被调用函数定义的返回类型被调用函数定义的返回类型答案:选答案:选 D D。9 9mainmain 函数可以调用任何函数,也可以被任何函数调用(函数可以调用任何函数,也可以被任何函数调用() 。答案:答案:2. 函数的递归函数的递归1. 1.用递归函数求用递归函数求 FibonacciFibonacci 数列。数列。#include#incl

126、udelonglong f( f(1)(1)longlongs; s;if(n=1|n=2)if(n=1|n=2) returnreturn(2)(2); ;s=s=(3)(3)+ +(4)(4); ;returnreturn s; s; intint main(main(voidvoid)intintn;n;printf(printf( pleaseplease inputinput n:n: ); );scanf(scanf( %d%d ,&n);,&n);if(n0)if(n0)printf(printf( error!nerror!n ); );elseelseprintf(print

127、f( 第第%d%d 项项 FibonacciFibonacci 数列的值为数列的值为%ld%ld , , n, n, f(n);f(n);returnreturn 0;0; 答案:答案:(1)(1) intintn n(2)(2) 1 1(3)(3) f(n-1)f(n-1)(4)(4) f(n-2)f(n-2)1. 1. 函数的定义不允许嵌套。函数的定义不允许嵌套。2. 2. 函数的调用可以嵌套。函数的调用可以嵌套。3. 3. mainmain 函数不能被其他函数调用。函数不能被其他函数调用。 122 1 1, 2 f nf nf nnf nn 当当 时时当当 时时高斯课堂系列课程高斯课堂系

128、列课程官方公众号:蜂考官方公众号:蜂考蜂考蜂考大学生备考集训营大学生备考集训营40微信扫一扫微信扫一扫3 3 小时速成课程小时速成课程课时课时九九练习题练习题1. 1.在在 C C 语言中,函数返回值的类型最终取决于语言中,函数返回值的类型最终取决于() 。A.A. 函数定义时在函数首部所说明的函数类型函数定义时在函数首部所说明的函数类型B.B. returnreturn 语句中表达式值的类型语句中表达式值的类型C. C. 调用函数时主调函数所传递的实参类型调用函数时主调函数所传递的实参类型D.D. 函数定义时形参的类型函数定义时形参的类型2. 2.编写程序实现运行时输入年龄编写程序实现运行时

129、输入年龄,其中编写函数其中编写函数 intint fenfenl lei(intei(int age)age),给该人年龄进行分类给该人年龄进行分类:儿儿童(童(1515) 、青年(、青年(3030) 、中年(、中年(600)?2*f(n-1)+f(n-2):-1);return(n0)?2*f(n-1)+f(n-2):-1); 4. 4.用递归函数求用递归函数求 FibonacciFibonacci 数列。数列。5. 5.编写函数编写函数 intintprime(intprime(intn)n)判断判断 n n 是否为素数,如果是,返回是否为素数,如果是,返回 1 1;如果不是,返回;如果不

130、是,返回 0 0。6. 6.有以下程序有以下程序#include#includeintintfun(intfun(int x)x)intint p;p;if(x=0|x=1)if(x=0|x=1)returnreturn 3;3;elseelsep=x-fun(x-2);p=x-fun(x-2);returnreturn p;p; intintmain(main(voidvoid)p printf(rintf( n%dn%d ,fun(9);,fun(9);returnreturn 0;0; 程序执行后的输出结果是(程序执行后的输出结果是() 。A.A. 1010B.B. 9 9C. C. 8

131、 8D.D. 7 7高斯课堂系列课程高斯课堂系列课程官方公众号:蜂考官方公众号:蜂考蜂考蜂考大学生备考集训营大学生备考集训营41微信扫一扫微信扫一扫3 3 小时速成课程小时速成课程7. 7.有关以下函数的哪些说法是正确的(有关以下函数的哪些说法是正确的() 。intint add(intadd(intx, x, intinty)y)z=x+y;z=x+y;returnreturn z; z; A.A. 此函数能单独运行此函数能单独运行B.B. 此函数存在语法错误此函数存在语法错误C. C. 此函数通过此函数通过 mainmain 函数能调用函数能调用D.D. 此函数没有语法错误此函数没有语法错

132、误8. 8.程序改错题。程序改错题。程序功能:显示函数程序功能:显示函数 f()f()是第几次被调用。是第几次被调用。#include#include voidvoid f()f()intint i=0;i=0;i+;i+;printf(printf(这是第这是第%d%d 次被调用。次被调用。, , i);i); intintmain(void)main(void)f();f();f();f();f();f();returnreturn 0;0; 错误描述:其输出的结果是:错误描述:其输出的结果是:“这是第这是第 1 1 次被调用。这是第次被调用。这是第 1 1 次被调用。这是第次被调用。这是

133、第 1 1 次被调用次被调用。 ”正确的运行结果应该是:正确的运行结果应该是:“这是第这是第 1 1 次被调用。这是第次被调用。这是第 2 2 次被调用。这是第次被调用。这是第 3 3 次被调用次被调用。 ”9. 9.编写程序实现用键盘输入两个非编写程序实现用键盘输入两个非 0 0 整数整数 a a 和和 b b,然后求,然后求 a ab b和和 b ba a的值。要求自定义函数实现的值。要求自定义函数实现该功能该功能。高斯课堂系列课程高斯课堂系列课程官方公众号:蜂考官方公众号:蜂考蜂考蜂考大学生备考集训营大学生备考集训营42微信扫一扫微信扫一扫3 3 小时速成课程小时速成课程课时十课时十指针

134、指针考点考点重要程度重要程度分值分值常见题型常见题型1. 1.指针的定义指针的定义2626选择题、读程序题选择题、读程序题2. 2.指针做函数参数指针做函数参数06063. 3.指针与数组指针与数组2424选择题、读程序题及部分编程题选择题、读程序题及部分编程题1. 指针的定义指针的定义intint*p1,*p1, x; x;x=5;x=5;p1=&x;p1=&x;intinty=10,y=10, *p2=&y;*p2=&y;*p2=20;*p2=20;p2=p1;p2=p1;1. 1. 若要定义一个指针变量若要定义一个指针变量 p p,并让它指向整型变量,则下列语句正确的是(,并让它指向整型

135、变量,则下列语句正确的是() 。A.A. floatfloat*p;*p;intint a; a;p=&a;p=&a;B.intB.intp, p, a; a; *p=&a;*p=&a;C. C. intint*p,*p, a; a;*p=&a;*p=&a;D.intD.int*p,*p, a; a; p=&a;p=&a;答案:选答案:选 D D。2. 2. 下列语句定义下列语句定义 ptpt 为指向为指向 intint 类型变量类型变量 t t 的指针的指针, ()是正确的。)是正确的。A.intA.intt, t, *pt=t;*pt=t;B.intB.int*pt=&t,*pt=&t,

136、t; t;C.intC.intt, t, *pt=&t;*pt=&t;D.intD.intt, t, *pt=0;*pt=0;答案:选答案:选 C C。3. 3. 若有定义:若有定义:intintx=1,x=1, *p=&x*p=&x;则语句;则语句 printf(printf( %dn%dn ,*p);,*p);的输出结果是(的输出结果是() 。A.A. 1 1B.B. p p 的地址的地址C. C. x x 的地址的地址D.D. 0 0答案:答案:选选 A A。4. 4. 若有说明语句:若有说明语句:intint*p,*p, a; a;则能通过则能通过 scanfscanf 语句正确给输入

137、项读入数据的程序段是(语句正确给输入项读入数据的程序段是() 。A.A. *p=&a;scanf(*p=&a;scanf( %d%d ,p);,p);B.B. p=&a;scanf(p=&a;scanf( %d%d ,p);,p);C. C. *p=&a;scanf(*p=&a;scanf( %d%d ,*p);,*p);D.D. p=&a;scanf(p=&a;scanf( %d%d ,*p);,*p);答案:答案:选选 B B。1. 1.指针指针=&=&变量变量; ;2. 2.* *指针指针= =指针指向变量的值指针指向变量的值; ;3. 3.intint*p,*p, x; x;x=5;x

138、=5;p=&x;p=&x;4. 4.intintx=5,x=5, *p=&x;*p=&x;intint*p=&x,*p=&x, x=5;x=5;高斯课堂系列课程高斯课堂系列课程官方公众号:蜂考官方公众号:蜂考蜂考蜂考大学生备考集训营大学生备考集训营43微信扫一扫微信扫一扫3 3 小时速成课程小时速成课程2. 指针做函数参数指针做函数参数#include#includevoidvoid swap(intswap(int *x,*x, intint *y)*y)intinttemp;temp;temptemp =*x;=*x;*x=*y;*x=*y;*y=temp;*y=temp; intint

139、main(void)main(void)intinta, a, b;b;a a=10;=10;b b=20;=20;swap(&a,swap(&a, &b);&b);printf(printf(a=a=%d%db=b=%d,%d,a a, ,b b); );returnreturn 0;0; 3. 指针与数组指针与数组1. 1.若定义若定义 charchart10,t10, *p=t;*p=t;则在下面表达式中表示则在下面表达式中表示 t1t1的地址的是的地址的是() 。A.A. p+1p+1B.B. *(p+1)*(p+1)C. C. *p+1*p+1D.D. &p+1&p+1答案:选答案:

140、选 A A。2. 2.若若 intintaa =1,=1, 2, 2, 3, 3, 4, 4, 5,5, *p=a;*p=a;则则*(p+3)*(p+3)的值为(的值为() 。A.A. 2 2B.B. 3 3C. C. 4 4D.D. 5 5答案:选答案:选 C C。运行结果运行结果:#include#includevoidvoid swap(intswap(int x, x, intint y)y)intinttemp;temp;temp=x;temp=x;x=y;x=y;y=temp;y=temp; intint main(void)main(void)intinta, a, b;b;a

141、a=10;=10;b b=20;=20;swap(a,swap(a, b);b);printf(printf(a=a=%d%db=b=%d,%d,a a, ,b b); );returnreturn 0;0; 运行结果运行结果:a=20a=20b=10b=10a=10a=10b=20b=20高斯课堂系列课程高斯课堂系列课程官方公众号:蜂考官方公众号:蜂考蜂考蜂考大学生备考集训营大学生备考集训营44微信扫一扫微信扫一扫3 3 小时速成课程小时速成课程3. 3.若已定义若已定义:intintaa =0,1,2,3,4,5,6,7,8,9,=0,1,2,3,4,5,6,7,8,9, *p=a,*p=

142、a, i; i; 其中其中 0 0 i i 9 9,则对则对 a a 数组元素不正确的引数组元素不正确的引用是(用是() 。A.A. ap-aap-aB.B. *(&ai)*(&ai)C. C. pipiD.D. a10a10答案:选答案:选 D D。4. 4.编写函数编写函数 intint ff(str,ch),ff(str,ch),其功能是统计并返回字符其功能是统计并返回字符 chch 在字符串在字符串 strstr 中出现的次数。中出现的次数。例如:调用例如:调用 ff(ff( everyevery , , e e ) )后返回后返回 2 2,因为在字符串,因为在字符串 everyeve

143、ry 中字符中字符 e e 出现了出现了 2 2 次次。#include#includeintint main(main(voidvoid)intint ff(charff(char str,charstr,char ch);ch);charchar string50,c;string50,c;intint n;n;scanf(scanf( %s%s ,string);,string);scanf(scanf( %c%c ,&c);,&c);n=ff(string,c);n=ff(string,c);printf(printf( %dn%dn ,n);,n);returnreturn 0;0;

144、 intint ff(charff(char str,charstr,char ch)ch)intint i; i;intint count=0;count=0;for(i=0;stri!=0;i+)for(i=0;stri!=0;i+)if(stri=ch)if(stri=ch) count+;count+; returnreturn count;count; intint ff(charff(char *str,*str, charchar ch)ch)高斯课堂系列课程高斯课堂系列课程官方公众号:蜂考官方公众号:蜂考蜂考蜂考大学生备考集训营大学生备考集训营45微信扫一扫微信扫一扫3 3 小

145、时速成课程小时速成课程课时课时十十练习题练习题1. 1.下列程序段的输出是下列程序段的输出是。intint*p,*p, *q,*q, k=5,k=5, j=6;j=6;q=&k;q=&k;p=q;p=q;q=q=& &j; j;printf(printf(“ “%d%d” ”, ,* *p);p);2. 2.若若 p1,p2p1,p2 都是整形指针,都是整形指针,p1p1 已经指向变量已经指向变量 x x,要使,要使 p2p2 也指向也指向 x x, ()是正确的。是正确的。A.A. p2=p1;p2=p1;B.B. p2=*p1;p2=*p1;C. C. p2=&p1;p2=&p1;D.D.

146、 p2=*p1;p2=*p1;3. 3.下列语句定义下列语句定义 ptpt 为指向为指向 intint 类型变量类型变量 t t 的指针的指针, ()是正确的。)是正确的。A.A. intintt, t, *pt=t;*pt=t;B.B. intint*pt=&t,*pt=&t, t; t;C. C. intintt, t, *pt=&t;*pt=&t;D.D. intintt, t, *pt=0;*pt=0;4. 4.若有说明:若有说明:intintn=2,n=2, *p=&n,*p=&n, *q=p;*q=p;则以下非法的赋值语句是(则以下非法的赋值语句是() 。A.A. p=q;p=q;

147、B.B. *p=*q;*p=*q;C. C. n=*q;n=*q;D.D. p=n;p=n;5. 5.若指针若指针 p p 已正确定义并指向如图所示存储单元:已正确定义并指向如图所示存储单元:则执行语句则执行语句+p;+p;后,后,*p*p 的值是(的值是() 。A.A. 2020B.B. 3030C. C. 2121D.D. 31316. 6.设设 intint*p,*p, x, x, a5=1,a5=1, 2, 2, 3, 3, 4, 4, 5;5; p=a;p=a;能使能使 x x 的值为的值为 3 3 的语句是(的语句是() 。A.A. x=a3;x=a3;B.B. x=*(p+2);

148、x=*(p+2);C. C. x=*a;x=*a;D.D. a+;a+; x=*(a+1);x=*(a+1);7. 7.设有语句设有语句 intintaa =1,=1, 3, 3, 5, 5, 7;7; intint*p=&a0;*p=&a0;,那么,那么*(p+2)*(p+2)的值为的值为_。8. 8.编写函数交换变量编写函数交换变量 a, a, b b 的值。的值。9. 9.设设A A为存放字符型的一维数组为存放字符型的一维数组, 如如果果A A的首地址的首地址为为p p, 那那么么A A中中第第i i个元素的地址为个元素的地址为。10.10. 写写出程序输出出程序输出结果结果。#incl

149、ude#include intint main(main(voidvoid)intinti, i, j, j, *k;*k;intintaa =1,2,3,4,5;=1,2,3,4,5;k=&a0;k=&a0;i=*(k+3);i=*(k+3);j=*(k+4);j=*(k+4);printf(i=%d,printf(i=%d, j=%d,j=%d, *k=%d,*k=%d, i, i, j, j, *k);*k);returnreturn 0;0; 高斯课堂系列课程高斯课堂系列课程官方公众号:蜂考官方公众号:蜂考蜂考蜂考大学生备考集训营大学生备考集训营46微信扫一扫微信扫一扫3 3 小时速成

150、课程小时速成课程课时十一课时十一 结构体结构体考点考点重要程度重要程度分值分值常见题型常见题型1. 1.结构体结构体4-84-8选择题、读程序题、部分编程题选择题、读程序题、部分编程题structstructStudentStudentcharcharName20;Name20;intintId;Id;charcharClass20;Class20; ;structstructStudentStudentstu1=Li,stu1=Li, 10,10, A01A01 ; ;structstructStudentStudentcharcharName20;Name20;intintId;Id;ch

151、archarClass20;Class20;stu1=Li,stu1=Li, 10,10, A01;A01;1. 1.以下程序的运行结果为以下程序的运行结果为。#include#includestructstructstudstudententcharcharnum10;num10;intintscore2;score2; ; ;intint main(main(voidvoid)structstructstudstudententstustu4 4= 2012018 80101 , , 89,89, 50,50, 2012018 80202 , , 87,87, 80,80, 2012018

152、 80303 , , 98,98, 89,89, 2012018 80404 , , 90,90, 100100 ; ;intinti, i, j, j, sum=0,sum=0, avg;avg;for(i=0;ifor(i=0;i4 4;i+);i+)sum+=stui.score1;sum+=stui.score1;avg=sum/avg=sum/4 4; ;printf(printf( %d%d%dn%dn , , sum,sum, avg);avg);returnreturn 0;0; 姓名姓名学号学号班级班级1 1LiLi1010A01A012 2ZhangZhang8585B04

153、B043 3WangWang2323C07C07structstruct名称名称 ; ;structstruct名称名称变量变量; ;structstruct名称名称 变量变量; ;运行结果运行结果3193197979高斯课堂系列课程高斯课堂系列课程官方公众号:蜂考官方公众号:蜂考蜂考蜂考大学生备考集训营大学生备考集训营47微信扫一扫微信扫一扫3 3 小时速成课程小时速成课程2. 2.结构体类型中的成员名可以与程序中的变量名相同结构体类型中的成员名可以与程序中的变量名相同。 ()答案:答案:3. 3.定义定义结构体结构体structstruct t t charcharname20;name2

154、0;floatfloatscore;score;intintn;n; a; a;则结构体变量则结构体变量 a a 在内存占用在内存占用个字节。个字节。答案:答案: 2626 。4. 4.structstructStudentCardStudentCard charcharName20;Name20;intintId;Id;charcharClass20;Class20; stu=LiMing,stu=LiMing, 10,10, class1;class1;sizeof(stu)sizeof(stu)的值是的值是。答案:答案: 4242 。5. 5.程序填空题程序填空题。现有表示图书的结构体现

155、有表示图书的结构体 BookBook,其中有两个成员,第一个成员为字符数组用来,其中有两个成员,第一个成员为字符数组用来表示图书编号,第二个成员为表示图书编号,第二个成员为双双精度浮点型用来表示价格,程序中定义了含有三个元素的结构精度浮点型用来表示价格,程序中定义了含有三个元素的结构体数组体数组 bkbk,现需要从键盘读入这,现需要从键盘读入这 3 3 个数组元素的价格成员,最终输出总价。个数组元素的价格成员,最终输出总价。#include#include structstruct BookBookcharcharnum5;num5;doubledoubleprice;price; ;inti

156、nt main(main(voidvoid)bk3=NO.1,NO.2,NO.3;bk3=NO.1,NO.2,NO.3;intinti; i;doubledoubletotal_price=0;total_price=0;for(i=0;i3;i+)for(i=0;id.yearp-d.yearD.D. p.d.yearp.d.year2. 2. 设有下列人员登记表,采用最佳方式对它进行类型定义。设有下列人员登记表,采用最佳方式对它进行类型定义。姓名姓名性别性别出生年月出生年月家庭地家庭地址址年年月月日日姓名姓名 namename 表示表示,性别用性别用 sexsex 表示表示,出生年月用出生

157、年月用 birthdaybirthday 表示表示,年用年用 yearyear 表示表示,月用月用 monthmonth 表表示,日用示,日用 datedate 表示,家庭地址用表示,家庭地址用 addressaddress 表示。表示。3. 3. 用结构题数组存储职工信息,每个职工有姓名、工号、年龄和性别,从键盘输入用结构题数组存储职工信息,每个职工有姓名、工号、年龄和性别,从键盘输入 5 5 名职工信名职工信息,再输出年龄最大的职工的姓名。息,再输出年龄最大的职工的姓名。高斯课堂系列课程高斯课堂系列课程官方公众号:蜂考官方公众号:蜂考蜂考蜂考大学生备考集训营大学生备考集训营49微信扫一扫微

158、信扫一扫3 3 小时速成课程小时速成课程课时十二课时十二文件文件考点考点重要程度重要程度分值分值常见题型常见题型1. 1.文件文件4-84-8程序填空题、编程题程序填空题、编程题1. 文件文件1. 1. 文件分为二进制文件和文本文件。文件分为二进制文件和文本文件。2. 2. 定义文件指针:定义文件指针:FILEFILE*fp;*fp;3. 3. 打开文件:打开文件:fp=fopen(fp=fopen(文件名文件名, , 打开方式打开方式); );4. 4. 关闭文件:关闭文件:fclose(fp);fclose(fp);5. 5. 文件的打开方式:文件的打开方式:rr,ww,rbrb,wbwb

159、,r+r+,w+w+,rb+rb+,wb+wb+1. 1.c c 语言中,文件分为语言中,文件分为和和。答案:答案: 二进制文件二进制文件 , 文本文件文本文件 。2. 2.要求以读写方式创建一个文本文件要求以读写方式创建一个文本文件 stu1.txtstu1.txt,使用语句:,使用语句:。答案:答案: FILEFILE*fp;*fp;fp=fopen(stu1.txt,fp=fopen(stu1.txt, w+);w+);3. 3.关闭一个打开的文件,文件指针关闭一个打开的文件,文件指针 fpfp 已经指向该文件,使用语句:已经指向该文件,使用语句:。答案:答案: fclose(fp)fc

160、lose(fp) 。4. 4.当已存在一个当已存在一个 file.txtfile.txt 文件,执行语句文件,执行语句 fopen(file.txt,fopen(file.txt, r+)r+) 的功能是(的功能是() 。A.A. 打开打开 file.txtfile.txt 文件,清除原有的内容文件,清除原有的内容B.B. 打开打开 file.txtfile.txt 文件,只能写入新的内容文件,只能写入新的内容C. C. 打开打开 file.txtfile.txt 文件,只能读取原有内容文件,只能读取原有内容D.D. 打开打开 file.txtfile.txt 文件,可以读取和写入新的内容文件

161、,可以读取和写入新的内容答案:选答案:选 D D。1. 1.fputc(ch,fputc(ch, fp)fp) 把字符把字符 chch 输出到输出到 fpfp 指向的文件中指向的文件中。2. 2.chch = = fgetc(fp)fgetc(fp) 从文件中获取一个字符赋值从文件中获取一个字符赋值给给 chch。高斯课堂系列课程高斯课堂系列课程官方公众号:蜂考官方公众号:蜂考蜂考蜂考大学生备考集训营大学生备考集训营50微信扫一扫微信扫一扫3 3 小时速成课程小时速成课程5. 5.从键盘输入一些字符,逐个把它们从键盘输入一些字符,逐个把它们写写到磁盘上去,直到输入一个到磁盘上去,直到输入一个“

162、 “# #” ”为止,请填空。为止,请填空。#include#include intint main(void)main(void)FILEFILE*fp;*fp;charcharch,ch, filename10;filename10;scanf(%s,filename);scanf(%s,filename);if(_if(_=NULL)_=NULL) # #打开文件,并检测打开文件,并检测printf(cannotprintf(cannot openopen filen);filen);exit(0);exit(0); ch=getchar();ch=getchar();/*/*接收执行接

163、收执行 scanfscanf 语句时最后输入的回车符语句时最后输入的回车符*/*/ch=getchar();ch=getchar();/*/*接收输入的第一个字符接收输入的第一个字符*/*/while(ch!=#)while(ch!=#)_;#_;#向文件写入字符向文件写入字符putchar(ch);putchar(ch);ch=getchar();ch=getchar(); _ _;#_;#关闭文件关闭文件returnreturn 0 0 解析:根据提示的内容,依次填入:解析:根据提示的内容,依次填入: fp=fopen(filename,fp=fopen(filename, w w ) )

164、 , fputc(ch,fp)fputc(ch,fp) , fclose(fp)fclose(fp) 。打开文件打开文件FILEFILE*fp;*fp;if if(fp(fp= =fopen(fopen( filefile.txt.txt , , w w )=NULL)NULL)printf(printf( CannotCannot openopen thisthis filefile n n ); );exit(exit(0 0) ) ; ;高斯课堂系列课程高斯课堂系列课程官方公众号:蜂考官方公众号:蜂考蜂考蜂考大学生备考集训营大学生备考集训营51微信扫一扫微信扫一扫3 3 小时速成课程小时

165、速成课程课时课时十十二二练习题练习题1. 1. 在在 C C 程序文件中,根据文件存储形式可分为程序文件中,根据文件存储形式可分为文件和文件和文件。文件。2. 2. 若要创建一个二进制文件,则在使用若要创建一个二进制文件,则在使用 fopenfopen 打开文件时的打开方式应该是打开文件时的打开方式应该是() 。A.A. w w B.B. r rb b+ + C. C. w+w+ D.D. wb+wb+ 3. 3. 如果要打开一个文本文件如果要打开一个文本文件 file.txtfile.txt,该文件能够读写,使用语句:,该文件能够读写,使用语句:。4. 4. 编写一个程序,以只读方式打开文件

166、编写一个程序,以只读方式打开文件 file.txtfile.txt,并将文件指针指向该文件,如果打不开,输出,并将文件指针指向该文件,如果打不开,输出CannotCannot openopen thisthis filefile。5. 5. 程序填空题程序填空题读文本文件内容,并显示。读文本文件内容,并显示。#include#includeintint main(main(voidvoid)FILEFILE*fp;*fp;charcharch,ch, filename20;filename20;scanf(scanf( %s%s ,filename);,filename);getchar();getchar();if(if(1)(1)=NULL)=NULL)printf(printf( cannotcannot openopen filenfilen ); );exit(0);exit(0); while(!feof(fp)while(!feof(fp)(2)(2); ;putchar(ch);putchar(ch); (3)(3); ;returnreturn 0;0;

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号