ImageVerifierCode 换一换
格式:DOCX , 页数:35 ,大小:31.92KB ,
资源ID:2327328      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-2327328.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(《C语言程序设计》考纲试题答案解析.docx)为本站会员(b****2)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

《C语言程序设计》考纲试题答案解析.docx

1、C语言程序设计考纲试题答案解析C语言程序设计考纲、试题、答案解析一、考试说明(一)说明:考试为闭卷,试卷满分为100分,考试时间90分钟。(二)题型及各题型所占分数和相应的答题技巧1、选择题(每题2分,共20分) 2、填空(每空3分,共15分) 3、程序填充(每空5分,共25分) 4、运行结果题(每题10分,共20分)5、编程题:(每题20分)答题技巧:选择与题干相匹配的答案,注意错误答案干扰。答题技巧:理解程序要点,注意关键语句的书写。本课程内容相对较为琐碎,需要理解掌握的东西比较多,希望学员们能够在理解算理的基础上完成复习工作。二、重点内容第一章 算法算法的五种描述方法第二章C语言程序设计

2、基础1C程序的基本结构例如:/* This is the first program */(注释信息)main()(主函数)printf(”Welcome to C! n”);(函数调用,printf是函数名)(1)程序的第一行是注释信息(2)main开始到最后的称为函数2C程序的执行过程从本程序的main开始,到main函数结束第二章 数据类型与表达式1C语言规定,符号常量和变量必须“先定义,后使用”。2C语言的基本数据类型及各自的定义方式(1)整型数据C语言提供了3种表示整数常量的方法: 十进制整数:例如10、-23、89等。 八进制整数:以数字0开头的数是八进制数,例如011实际上相当于

3、十进制的9,-011是十进制的-9。八进制的数位值是0、1、8。 十六进制整数:以0x或0X开头的是十六进制数。例如:0x18实际上是(18)16,相当于十进制数的24。整型变量的定义格式:“数据类型名标识符 变量名”即“int 变量名;”,整型类型名int与变量名之间要用空格分开,最后还要以分号结尾。例如:int a;定义了一个整型变量,而int a,b,c;定义了3个整型变量。并且可以赋初值。(2)字符型数据C语言中,用单引号括起来的是字符常量,用双引号括起来的被称为字符串常量。字符串实际上是连续存放的一组字符,但最后一个字符的值是0。(3)实型数据实型常量有两种表示方法:十进制小数形式和

4、指数形式。实型变量的分类 单精度实型,数据类型符是float,这种变量占用4个字节(32位)内存,定义范例为float f=2.14,f; 双精度实型,数据类型符是double,这种变量占用了8个字节(64位)内存,定义范例为double x,y; 长双精度实型:数据类型符是long double,这种变量占用16字节(128位)内存,定义范例long double x,y;(4)空类型:void3Printf函数输出各种类型数据的方法(1)格式:printf(参数列表)(2)Printf函数可以带多个参数,例如:printf(“variable a=%d”,a)(3)函数printf在显示不

5、同类型数据时使用不同的格式控制符Int %d;unsigned int %u;float %f;char %c;字符串 %s4运算符和表达式的含义变量用来存放数据,运算符则用来处理数据。用运算符将变量和常量连接起来的符合c语法规则的式子被称为表达式。说明:开始阶段,大家理解运算符可以利用数学上的+、-、*、/来理解即可。5.运算符的种类(按所带操作数的数量划分)(1)单目运算符(2)双目运算符(3)三目运算符6C语言的各种运算符和表达式(1)赋值运算符和赋值表达式:“=”/“=”;c语言中,“=”被称为赋值运算符,它的作用是设置变量的值。C语言允许在一个表达式中对多个变量连续赋值,例如:a=b

6、=c=22。连续赋值的表达式的运算顺序是从右向左的(又被称为右结合性)。说明:与数学中的=严格区分开来,在c语言中,a=b只是代表要将b的值赋给a,并不说明a的值与b的值相等。例如下面的程序段:int a,b;a=30;b=a;a=40;上面的含义是:定义两个变量a、b;将30赋给变量a;将a的值赋给b;再将40赋给a。c语言中允许在一个表达式中对多个变量连续赋值。例如:a=b=c=22;根据=的右结合性,我们知道:先对c赋值22,得到c=22,再对b赋值,得到b=c=22,最后对a赋值,得到a=b=c=22。(2)强制类型转换符当等号左右两边的数据类型不一致时,c语言将首先将=右边的表达式的

7、值转化为=左边的数据类型,然后再赋值给=左边的变量。例如:int a;a=3.2;这时赋给a的值是3。(3)算术运算符和算术表达式:+、-、*、/和%c语言提供的算术运算符包括:加(+)、减(-)、乘(*)、除(/)和取余(%)。这些都是双目运算符。利用算术运算符连接起来的式子称为算术表达式。说明: +、*、/运算符既可用语整型数据的算术运算,又可用于实型数据的算术运算。而%只能用于整数。 先乘除、后加减。 同级运算符的计算顺序是从左向右。 优先级:强制转换运算符 算术运算符赋值运算符。例如:int a;a=(int)2.5*2+3;最后a的值是7。(4)自增自减运算符和符号运算符:+、-和-

8、既是一个算术运算符,又是一个负号运算符,它是一个单目运算符;例如,a=34,则-a是-34。负号运算符优先级与强制类型转换运算符一样。+和-+的作用是使变量自己增1,-的作用是使变量自己减1。与负号运算符优先级相同。+和-位于变量左边和右边的结果是不同的。(在变量左边,先增减后计算;在变量右边,先计算,后增减)(5)位运算符:按位与(&)、按位或(|)、按位异或()、按位取反()、左移()上述除了按位取反()外,都是双目运算符。位运算符只能作用于int和char型数据。(6)逗号运算符和逗号表达式用逗号连接起来的表达式称为逗号表达式。一般形式:表达式1,表达式2,表达式k,例如:a+5,b=6

9、,b+逗号表达式的计算规则是:从左向右依次计算逗号分割的各个表达式的值,最后一个的值就是整个逗号表达式的值。(7)sizeof运算符:计算字符个数,因此牢记各类型数据的长度作用:能获取变量和数据类型所占内存大小的运算符。使用格式:sizeof 表达式 sizeof (数据类型名或表达式)例如:sizeof(int)的值是2。第四章、顺序程序设计1数据输出函数Printf函数(1)各种格式转换符:%d,%x,%o,%u,%c,%s,%f,%e,%g(2)调用printf函数的基本格式是printf(“格式控制字符串”,表达式1,表达式2,表达式n);(3)printf函数的功能就是按照“格式控制

10、字符串”的要求,将表达式1,表达式2,表达式n的值显示在屏幕上。(4)格式控制字符串中包含2类字符:常规字符和格式控制符。在输出是,printf函数规定,常规字符要原样输出,而格式控制符的位置上输出相对应的表达式的值。输出有符号整数的格式控制符的一般形式是:%-+width.precisionld输出无符号整数的格式控制符的一般形式是:%-#width.precisionl u|o|x|y输出实数的格式控制符的一般形式是:%-+#width.precisionl|L f|e|E|g|G输出字符的格式控制符的一般形式是:%-width c输出字符串的格式控制符的一般形式是:%-width.pre

11、cision s字符和字符串的输出,除了可以利用printf函数以外,还可以利用putchar和puts函数。putchar函数只带一个参数,这个参数就是要输出的字符。puts函数也只带一个参数,这个参数就是要输出的字符串,puts函数输出这个字符串后自动换行回车。但利用putchar函数却无法控制字符输出的格式,利用puts函数也无法控制字符串的输出格式。当程序不需要控制字符和字符串的格式时,调用putchar和puts函数要比调用printf函数简便得多。格式化输出时,通过格式控制字符控制的格式要素主要有:(1)数据类型及其长度,比如用%d输出int型数据,用%ld输出long型数据,用%

12、f输出double型数据,用%lf输出long double型数据。(2)输出数据所占的宽度(域宽),比如,%4d表示输出至少占4格。(3)输出数据的精度,比如%4.2f表示输出2位小数,%.3s表示要输出字符串的前3个字符,%6.4u表示至少要输出4位数。(4)对齐特征,比如%-16d表示输出的数据左对齐。缺省情况下,输出将右对齐。(5)数制形式,比如,%x要求以十六进制形式输出数据。(6)数值符号,比如,%+d要求输出整数的正负号。2数据输入函数Scanf函数(1)调用scanf函数的基本格式是scanf(“格式控制字符串”,变量1的地址,变量2的地址,变量n的地址);(2)与上面prin

13、tf函数同样的格式控制符(3)scanf函数的功能是在第一个参数格式控制字符串的控制下,接受用户的键盘输入,并将用户输入的数据依次存放在变量1、变量2,和变量n中。(4)&是取地址符。功能是取地址。要获得变量的地址,需要在变量名前加&。因此&又被称为取地址运算符。(5)scanf函数规定,当输入一项数据时,遇到以下情况scanf认为该数据输入结束: 遇到空格、回车或Tab键。 指定的宽度结束,比如scanf(“%3d”,&a);要求输入一个整数。如果用户输入1234,a的值将是123。 遇到非法输入,比如scanf(“%d”,&a);要求输入一个整数。如果用户输入12a3,a的值将是12,字符

14、a是输入整数时的非法字符。 当用%c输入字符型数据时,可显示字符、空格、回车以及其他转义字符都是有效输入。3各种数据类型的输出:整型、实数、字符和字符串、格式化输出等。比如下边列出格式化输出的总结:(1)数据类型及其长度,比如用%d输出int型数据,用%ld输出long型数据,用%f输出double型数据,用%lf输出long double型数据。(2)输出数据所占的宽度(域宽),比如,%4d表示输出至少占4格。(3)输出数据的精度,比如%4.2f表示输出2位小数,%.3s表示要输出字符串的前3个字符,%6.4u表示至少要输出4位数。(4)对齐特征,比如%-16d表示输出的数据左对齐。缺省情况

15、下,输出将右对齐。(5)数制形式,比如,%x要求以十六进制形式输出数据。(6)数值符号,比如,%+d要求输出整数的正负号。本章所介绍的函数:函数功能函数功能printf格式化输出putchar字符输出scanf格式化输入getchar, getche, getch字符输入clrscr清屏gotoxy光标定位clreol清一行textcolor设置文本颜色textattr设置文本显示属性textbackground设置文本背景色cprintf彩色格式化输出puts字符串输出_setcursortype设置光标属性bioskey获取各种按键信息第五章 选择结构1选择结构的程序设计(1)简单的if语

16、句if(表达式)程序段ifelse语句:if(表达式p)程序段s1else程序段s2(1) if后面的()是必不可少的。(2) 当简单if语句和if-else语句中的程序段只有一条语句时,外边的可以省略。(3) if语句中的程序段可以包含任何类型的C语句。(4) if语句中的表达式可是任何类型,不仅限于关系表达式和逻辑表达式。表达式非零时,表达式的值就是真,否则就是假。(5) 如果表达式是一个判断两个数是否相等的表达式,要当心不要将=写成了赋值运算符=。(2)Switch语句switch(变量或表达式p)case常量表达式c1:程序段s1break;case常量表达式c2:程序段s2break

17、;case常量表达式cn:程序段snbreak;default:程序段s(n+1)break;该语句将p与c1到cn这些表达式的值按顺序比较,如果p与某表达式的值相等,则执行该case语句下的程序段。如果p与所有的表达式都不相等,则执行default下的程序段sn+1。如果遇到break则跳出该switch语句。(1) switch, case, default都是保留字,switch后面的()不能省略。(2) switch后面的()后面的不能省略。(3) case表达式后面的冒号不能省略。(4) case后面必须是常量表达式,表达式不能包含变量。(5) “case常量表达式”被称为case子

18、句,“break”又称为break子句,“default”又称为default子句。(6) case子句和default子句之间没有固定的顺序,它们之间顺序的变化不会影响switch语句的功能。(7) 程序段可以包含任何类型的C语句。(8) break子句可以省略,但是否省略,要根据算法的逻辑而定。省略了break子句的switch语句与不省略break子句功能是不同的。第六章、循环结构的程序设计(1)While和do while语句while(表达式p)程序段s功能:首先判断表达式p的值是否非真。如果是真,则执行程序段s,然后再判断表达式p的值是否为真,如果为真,再执行程序段s。如此循环往复

19、,知道p的值为假为止。do程序段swhile(表达式p);功能:首先执行程序段s ,然后再判断表达式p的值是否为真,如果为真,则循环执行程序段s ,直到p为假为止。(1) while后面的()不能省略,()中间的表达式可以是任何类型的表达式。(2) 当while语句的程序段中只有1条语句时,程序段外边的可以省略,但省略不是一个好习惯。如果表达式P的值一开始就是假,循环体将一次也不被执行。(3) 程序段可以包含任何类型的C语句。这个程序段又称循环体。(4) 通常情况下,程序中会利用一个变量来控制while语句的表达式P的值,这个变量被称为循环控制变量。(5) 要在while语句的某处(表达式P或

20、循环体内)改变循环控制变量的值,否则极易构成死循环。(6) 如果在执行循环体过程中,遇到了break子句,则跳出while循环。(7) 如果在执行循环体过程中,遇到了continue语句,则循环体中continue语句后面的其他语句将被跳过,而直接进入下一轮循环。(2)For语句for(表达式1;表达式2;表达式3)程序段s功能:首先求表达式1的值,然后判断表达式2是否为真。如果是真,则执行程序段s,然后求表达式3的值。接下来再判断表达式2是否为真,如果为真,继续执行循环体以及求表达式3的值,直到表达式2的值为假为止。(1) 表达式1、表达式2和表达式3可以是任何类型的表达式。(2) 表达式1

21、、表达式2和表达式3之间必须用分号分隔,表达式可以为空,但分号不能省略。(3) 表达式1和表达式3通常是逗号表达式,表达式1只被执行一次,通常用于初始化循环控制变量。而表达式3通常用来改变循环控制变量的值。(4) 表达式2为空相当于表达式2的值是真。因此,下面的循环是死循环:(5) 当for语句的程序段中只有1条语句时,程序段外边的可以省略,但是省略不是一个好习惯。(6) 程序段可以包含任何类型的C语句。(7) 程序员既可以在for语句前面单独初始化循环控制变量,也可以利用for语句的表达式1初始化循环控制变量。(8) 程序员既可以在循环体内改变循环控制变量的值,也可以利用表达式3改变循环控制

22、变量的值。(9) 如果在执行循环体过程中,遇到了break子句,则跳出for循环。(10) 如果在执行循环体过程中,遇到了continue语句,则循环体中continue语句后面的其他语句将被跳过,而直接进入下一轮循环。三种循环语句的异同点比较:(1) 在使用while和do-while语句时,必须在while或do-while语句前初始化循环控制变量。但for语句却可以利用表达式1来初始化循环控制变量。(2) 在使用while和do-while语句时,循环控制变量的变化必须放在循环体内。而for语句却可以利用表达式3来改变循环控制变量的值。(3) do-while语句的循环体至少被执行一次,

23、但while语句和for语句的循环体可能一次也不执行。(4) while和do-while语句中不能省略循环控制条件(即表达式P),但for语句却可以省略循环条件(即表达式2)。(5) break语句和continue语句在这3种循环语句中的作用是相同的。凡是用while语句能实现的循环,必然能用for语句实现,反过来也一样。3Break和continue语句break语句和continue语句大大增强了c语言实现选择控制和循环控制的灵活性4关系运算符和关系表达式小于,大于,=大于等于,=等于,!=不等于5逻辑运算符和逻辑表达式|逻辑或; &逻辑与 !逻辑非6条件运算符和条件表达式条件运算符:

24、(?:)7运算符的优先级算术运算符移位运算符关系运算符位运算符逻辑运算符8混合结构的程序设计不管是选择结构的程序设计还是循环结构的程序设计,都应该结合起来以实现混合优化。只有这样,才能彰显c语言的程序设计魅力。1 表达式语句任何一个表达式的后面加上分号就构成了表达式语句。例如:a+是表达式,a+;是表达式语句。 a=5是表达式,a=5;是表达式语句。2 函数调用语句函数调用加上分号就是函数调用语句。例如:printf(“Hello”)是函数调用,printf(“Hello”);是函数调用语句。3 复合语句可以用将一些语句括起来,就成了复合语句。复合语句又称分程序。例如: a+; b-; 4 空

25、语句空语句就是一个分号。空语句有时用在空循环(什么都不执行的循环)中。5 控制语句用来实现一定的控制功能的语句称为控制语句。C语言用控制语句来实现分支结构和循环结构。第七章 数组1一维数组的定义与引用(1)定义形式:数据类型符 数组变量名变量表达式;在定义时可以直接赋初值:未指定的值被赋值为0。(2)引用说明1)c语言规定,数组是一种数据单元的序列,不能直接存取整个数组,只能引用数组中的各个数据单元。引用数据单元的格式是:数据变量名 下标其中,下标可以使整性变量或整型表达式,c语言规定,下标的最小值是0,最大值是数组大小减1。2)给数组赋值:a0=2,表示将数组a的第一个单元赋值为2。3)注意

26、数组的内存地址和数组单元的存放4)不许多数组变量名赋值:a=3是错误的。2二维数组当构成一维数组的元素也是一维数组时,就构成了二维数组。二维数组是一维数组的数组。以此类推,三维数组是二维数组的数组,四维数组是三维数组的数组C语言中,二维数组的定义格式是在一维数组的定义格式基础上增加了一维:数据类型符 数组变量名整型常量表达式1整型常量表达式2;与一维数组相比,二维数组的定义,除了增加了一个整型常量表达式外,其他都一样。对二维数组中数据引用的单元格式是:数组变量名下标1下标2。与一维数组相比,数据单元的引用形式除了多一个下标外,其他都一样。3字符串与数组(1)所谓字符串常量就是用双引号括起来的一

27、组字符。但实际上,字符串是一种字符型数组,并且这个数组的最后一个单元的值是0(即数值0)。也就是说,字符串是一种以0结尾的字符数组。这个结尾的字符0唯一的作用是标志字符串结束。字符串的输入:scanf函数和gets函数。scanf函数在输入字符串时使用%s格式控制符,并且与%s对应的地址参数应该是一个字符数组,scanf函数会自动在字符串后面加0。利用scanf函数输入字符串有不足:当遇到空格时,scanf函数的输入操作便终止了。因此,我们无法利用scanf函数输入一个包含多个单词或空格的句子。利用scanf函数连续输入多个字符串,输入时,字符串间要用空格分隔。能输入完整句子的函数是gets函

28、数。gets的调用格式是:gets(数组变量名);gets的主要功能是接受键盘输入,将输入的字符串存放在参数数组中,当遇到回车时返回。gets函数会自动在字符串后面添加结尾字符0。(2)字符串的输出:printf函数,cprintf函数或puts函数。(3)字符串的比较:strcmp函数。格式为:strcmp(字符串1,字符串2);(4)字符串的复制:strcpy函数格式为:strcpy(字符数组1,字符串2);(5)字符串的连接:strcat函数格式为:strcat(字符数组1,字符串2);strcat函数的功能是将字符串2连续接到字符数组1的字符串的后面。(6)求字符串的长度:strlen

29、函数格式为:strlen(字符串);第八章 函数1函数的定义和调用(1)不带参数没有返回值的函数1)定义格式:void函数名(void)变量声明部分执行部分2)说明:函数名必须是合法标识符。执行部分放置c语句。void是一种特殊的数据类型:空类型,表明这个函数没有返回值。3)声明格式和调用格式分别为:void函数名(void);函数名();调用任何函数必须先声明函数的原型例如:#includevoid showerr(void);/*声明showerr函数的原型*/函数在执行完函数体内最后一句语句后,会自动返回到调用它的地方。在某种条件下,也可以利用return 语句返回,其功能即是使函数终止执行并返回到调用它的地方。(2)不带参数有返回值的函数1)定义格式返回值类型 函数名(void)变量声明部分执行部分2)说明:函数名是合法标识符;返回值类型符必须是合法的数据类型标识符;当返回值类型符被省略时,默认为int型。函数的返回值通常由return语句返回给调用者。3)原型声明格式和调用格式返回值类型符 函数名(void);函数名();或者变量=函数名();(3)带参数没有返回值的函数1)定义格式void函数名(形式参数列表)变量声明部分执行部分2)说明函数名合法标识符; 形参列表格式为: 数据类型1 形参名1,数据类型2 形参名2,数据类型n 形参名n若省略数据类型,则

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2