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

上传人:b****2 文档编号:2327328 上传时间:2023-05-03 格式:DOCX 页数:35 大小:31.92KB
下载 相关 举报
《C语言程序设计》考纲试题答案解析.docx_第1页
第1页 / 共35页
《C语言程序设计》考纲试题答案解析.docx_第2页
第2页 / 共35页
《C语言程序设计》考纲试题答案解析.docx_第3页
第3页 / 共35页
《C语言程序设计》考纲试题答案解析.docx_第4页
第4页 / 共35页
《C语言程序设计》考纲试题答案解析.docx_第5页
第5页 / 共35页
《C语言程序设计》考纲试题答案解析.docx_第6页
第6页 / 共35页
《C语言程序设计》考纲试题答案解析.docx_第7页
第7页 / 共35页
《C语言程序设计》考纲试题答案解析.docx_第8页
第8页 / 共35页
《C语言程序设计》考纲试题答案解析.docx_第9页
第9页 / 共35页
《C语言程序设计》考纲试题答案解析.docx_第10页
第10页 / 共35页
《C语言程序设计》考纲试题答案解析.docx_第11页
第11页 / 共35页
《C语言程序设计》考纲试题答案解析.docx_第12页
第12页 / 共35页
《C语言程序设计》考纲试题答案解析.docx_第13页
第13页 / 共35页
《C语言程序设计》考纲试题答案解析.docx_第14页
第14页 / 共35页
《C语言程序设计》考纲试题答案解析.docx_第15页
第15页 / 共35页
《C语言程序设计》考纲试题答案解析.docx_第16页
第16页 / 共35页
《C语言程序设计》考纲试题答案解析.docx_第17页
第17页 / 共35页
《C语言程序设计》考纲试题答案解析.docx_第18页
第18页 / 共35页
《C语言程序设计》考纲试题答案解析.docx_第19页
第19页 / 共35页
《C语言程序设计》考纲试题答案解析.docx_第20页
第20页 / 共35页
亲,该文档总共35页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

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

《《C语言程序设计》考纲试题答案解析.docx》由会员分享,可在线阅读,更多相关《《C语言程序设计》考纲试题答案解析.docx(35页珍藏版)》请在冰点文库上搜索。

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

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

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

一、考试说明

(一)说明:

考试为闭卷,试卷满分为100分,考试时间90分钟。

(二)题型及各题型所占分数和相应的答题技巧

1、选择题(每题2分,共20分)

2、填空(每空3分,共15分)

3、程序填充(每空5分,共25分)

4、运行结果题(每题10分,共20分)

5、编程题:

(每题20分)

答题技巧:

选择与题干相匹配的答案,注意错误答案干扰。

答题技巧:

理解程序要点,注意关键语句的书写。

本课程内容相对较为琐碎,需要理解掌握的东西比较多,希望学员们能够在理解算理的基础上完成复习工作。

二、重点内容

第一章算法

算法的五种描述方法

第二章C语言程序设计基础

1.C程序的基本结构

例如:

/*Thisisthefirstprogram*/(注释信息)

main()(主函数)

{

printf(”WelcometoC!

\n”);(函数调用,printf是函数名)

}

(1)程序的第一行是注释信息

(2)main开始到最后的}称为函数

2.C程序的执行过程

从本程序的main开始,到main函数结束

第二章数据类型与表达式

1.C语言规定,符号常量和变量必须“先定义,后使用”。

2.C语言的基本数据类型及各自的定义方式

(1)整型数据

C语言提供了3种表示整数常量的方法:

Ø十进制整数:

例如10、-23、89等。

Ø八进制整数:

以数字0开头的数是八进制数,例如011实际上相当于十进制的9,-011是十进制的-9。

八进制的数位值是0、1、……8。

Ø十六进制整数:

以0x或0X开头的是十六进制数。

例如:

0x18实际上是(18)16,相当于十进制数的24。

整型变量的定义

格式:

“数据类型名标识符变量名”即“int变量名;”,整型类型名int与变量名之间要用空格分开,最后还要以分号结尾。

例如:

inta;定义了一个整型变量,而inta,b,c;定义了3个整型变量。

并且可以赋初值。

(2)字符型数据

C语言中,用单引号括起来的是字符常量,用双引号括起来的被称为字符串常量。

字符串实际上是连续存放的一组字符,但最后一个字符的值是0。

(3)实型数据

实型常量有两种表示方法:

十进制小数形式和指数形式。

实型变量的分类

Ø单精度实型,数据类型符是float,这种变量占用4个字节(32位)内存,定义范例为floatf=2.14,f;

Ø双精度实型,数据类型符是double,这种变量占用了8个字节(64位)内存,定义范例为doublex,y;

Ø长双精度实型:

数据类型符是longdouble,这种变量占用16字节(128位)内存,定义范例longdoublex,y;

(4)空类型:

void

3.Printf函数输出各种类型数据的方法

(1)格式:

printf(参数列表)

(2)Printf函数可以带多个参数,例如:

printf(“variablea=%d”,a)

(3)函数printf在显示不同类型数据时使用不同的格式控制符

Int%d;unsignedint%u;float%f;char%c;字符串%s

4.运算符和表达式的含义

变量用来存放数据,运算符则用来处理数据。

用运算符将变量和常量连接起来的符合c语法规则的式子被称为表达式。

说明:

开始阶段,大家理解运算符可以利用数学上的+、-、*、/来理解即可。

5.运算符的种类(按所带操作数的数量划分)

(1)单目运算符

(2)双目运算符

(3)三目运算符

6.C语言的各种运算符和表达式

(1)赋值运算符和赋值表达式:

“=”/“=”;

c语言中,“=”被称为赋值运算符,它的作用是设置变量的值。

C语言允许在一个表达式中对多个变量连续赋值,例如:

a=b=c=22。

连续赋值的表达式的运算顺序是从右向左的(又被称为右结合性)。

说明:

与数学中的=严格区分开来,在c语言中,a=b只是代表要将b的值赋给a,并不说明a的值与b的值相等。

例如下面的程序段:

inta,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语言将首先将=右边的表达式的值转化为=左边的数据类型,然后再赋值给=左边的变量。

例如:

inta;

a=3.2;

这时赋给a的值是3。

(3)算术运算符和算术表达式:

+、-、*、/和%

c语言提供的算术运算符包括:

加(+)、减(-)、乘(*)、除(/)和取余(%)。

这些都是双目运算符。

利用算术运算符连接起来的式子称为算术表达式。

说明:

Ø+、—、*、/运算符既可用语整型数据的算术运算,又可用于实型数据的算术运算。

而%只能用于整数。

Ø先乘除、后加减。

Ø同级运算符的计算顺序是从左向右。

Ø优先级:

强制转换运算符>算术运算符>赋值运算符。

例如:

inta;

a=(int)2.5*2+3;

最后a的值是7。

(4)自增自减运算符和符号运算符:

++、--和-

-既是一个算术运算符,又是一个负号运算符,它是一个单目运算符;例如,a=34,则-a是-34。

负号运算符优先级与强制类型转换运算符一样。

++和--

++的作用是使变量自己增1,--的作用是使变量自己减1。

与负号运算符优先级相同。

++和--位于变量左边和右边的结果是不同的。

(在变量左边,先增减后计算;在变量右边,先计算,后增减)

(5)位运算符:

按位与(&)、按位或(|)、按位异或(^)、按位取反(~)、左移(<<)和右移(>>)

上述除了按位取反(~)外,都是双目运算符。

位运算符只能作用于int和char型数据。

(6)逗号运算符和逗号表达式

用逗号连接起来的表达式称为逗号表达式。

一般形式:

表达式1,表达式2,……,表达式k,例如:

a+5,b=6,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函数的功能就是按照“格式控制字符串”的要求,将表达式1,表达式2,…,表达式n的值显示在屏幕上。

(4)格式控制字符串中包含2类字符:

常规字符和格式控制符。

在输出是,printf函数规定,常规字符要原样输出,而格式控制符的位置上输出相对应的表达式的值。

输出有符号整数的格式控制符的一般形式是:

%[-][+][width][.precision][l]d

输出无符号整数的格式控制符的一般形式是:

%[-][#][width][.precision][l]u|o|x|y

输出实数的格式控制符的一般形式是:

%[-][+][#][width][.precision][l|L]f|e|E|g|G

输出字符的格式控制符的一般形式是:

%[-][width]c

输出字符串的格式控制符的一般形式是:

%[-][width][.precision]s

字符和字符串的输出,除了可以利用printf函数以外,还可以利用putchar和puts函数。

putchar函数只带一个参数,这个参数就是要输出的字符。

puts函数也只带一个参数,这个参数就是要输出的字符串,puts函数输出这个字符串后自动换行回车。

但利用putchar函数却无法控制字符输出的格式,利用puts函数也无法控制字符串的输出格式。

当程序不需要控制字符和字符串的格式时,调用putchar和puts函数要比调用printf函数简便得多。

格式化输出时,通过格式控制字符控制的格式要素主要有:

(1)数据类型及其长度,比如用%d输出int型数据,用%ld输出long型数据,用%f输出double型数据,用%lf输出longdouble型数据。

(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)与上面printf函数同样的格式控制符

(3)scanf函数的功能是在第一个参数格式控制字符串的控制下,接受用户的键盘输入,并将用户输入的数据依次存放在变量1、变量2,……和变量n中。

(4)&是取地址符。

功能是取地址。

要获得变量的地址,需要在变量名前加&。

因此&又被称为取地址运算符。

(5)scanf函数规定,当输入一项数据时,遇到以下情况scanf认为该数据输入结束:

Ø遇到空格、回车或Tab键。

Ø指定的宽度结束,比如scanf(“%3d”,&a);要求输入一个整数。

如果用户输入

1234,a的值将是123。

Ø遇到非法输入,比如scanf(“%d”,&a);要求输入一个整数。

如果用户输入12a3,

a的值将是12,字符a是输入整数时的非法字符。

Ø当用%c输入字符型数据时,可显示字符、空格、回车以及其他转义字符都是有效

输入。

3.各种数据类型的输出:

整型、实数、字符和字符串、格式化输出等。

比如下边列出格式化输出的总结:

(1)数据类型及其长度,比如用%d输出int型数据,用%ld输出long型数据,用%f输出double型数据,用%lf输出longdouble型数据。

(2)输出数据所占的宽度(域宽),比如,%4d表示输出至少占4格。

(3)输出数据的精度,比如%4.2f表示输出2位小数,%.3s表示要输出字符串的前3个字符,%6.4u表示至少要输出4位数。

(4)对齐特征,比如%-16d表示输出的数据左对齐。

缺省情况下,输出将右对齐。

(5)数制形式,比如,%x要求以十六进制形式输出数据。

(6)数值符号,比如,%+d要求输出整数的正负号。

本章所介绍的函数:

函数

功能

函数

功能

printf

格式化输出

putchar

字符输出

scanf

格式化输入

getchar,getche,getch

字符输入

clrscr

清屏

gotoxy

光标定位

clreol

清一行

textcolor

设置文本颜色

textattr

设置文本显示属性

textbackground

设置文本背景色

cprintf

彩色格式化输出

puts

字符串输出

_setcursortype

设置光标属性

bioskey

获取各种按键信息

 

第五章选择结构

1.选择结构的程序设计

(1)简单的if语句

if(表达式)

{程序段}

if…else语句:

if(表达式p)

{程序段s1}

else

{程序段s2}

(1)if后面的()是必不可少的。

(2)当简单if语句和if-else语句中的程序段只有一条语句时,外边的{}可以省略。

(3)if语句中的程序段可以包含任何类型的C语句。

(4)if语句中的表达式可是任何类型,不仅限于关系表达式和逻辑表达式。

表达式

非零时,表达式的值就是真,否则就是假。

(5)如果表达式是一个判断两个数是否相等的表达式,要当心不要将==写成了赋值

运算符=。

(2)Switch语句

switch(变量或表达式p)

{

case常量表达式c1:

程序段s1

break;

case常量表达式c2:

程序段s2

break;

……

case常量表达式cn:

程序段sn

break;

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子句,“break”又称为break子句,“default”又称为default子句。

(6)case子句和default子句之间没有固定的顺序,它们之间顺序的变化不会影响switch语句的功能。

(7)程序段可以包含任何类型的C语句。

(8)break子句可以省略,但是否省略,要根据算法的逻辑而定。

省略了break子句的switch语句与不省略break子句功能是不同的。

第六章、循环结构的程序设计

(1)While和dowhile语句

while(表达式p)

{

程序段s

}

功能:

首先判断表达式p的值是否非真。

如果是真,则执行程序段s,然后再判断表达式p的值是否为真,如果为真,再执行程序段s。

如此循环往复,知道p的值为假为止。

do

{

程序段s

}while(表达式p);

功能:

首先执行程序段s,然后再判断表达式p的值是否为真,如果为真,则循环执行程序段s,直到p为假为止。

(1)while后面的()不能省略,()中间的表达式可以是任何类型的表达式。

(2)当while语句的程序段中只有1条语句时,程序段外边的{}可以省略,但省略

{}不是一个好习惯。

如果表达式P的值一开始就是假,循环体将一次也不被执行。

(3)程序段可以包含任何类型的C语句。

这个程序段又称循环体。

(4)通常情况下,程序中会利用一个变量来控制while语句的表达式P的值,这个

变量被称为循环控制变量。

(5)要在while语句的某处(表达式P或循环体内)改变循环控制变量的值,否则

极易构成死循环。

(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、表达式2和表达式3之间必须用分号分隔,表达式可以为空,但分号不能省略。

(3)表达式1和表达式3通常是逗号表达式,表达式1只被执行一次,通常用于初始化循环控制变量。

而表达式3通常用来改变循环控制变量的值。

(4)表达式2为空相当于表达式2的值是真。

因此,下面的循环是死循环:

(5)当for语句的程序段中只有1条语句时,程序段外边的{}可以省略,但是省略{}不是一个好习惯。

(6)程序段可以包含任何类型的C语句。

(7)程序员既可以在for语句前面单独初始化循环控制变量,也可以利用for语句的表达式1初始化循环控制变量。

(8)程序员既可以在循环体内改变循环控制变量的值,也可以利用表达式3改变循环控制变量的值。

(9)如果在执行循环体过程中,遇到了break子句,则跳出for循环。

(10)如果在执行循环体过程中,遇到了continue语句,则循环体中continue语句后面的其他语句将被跳过,而直接进入下一轮循环。

三种循环语句的异同点比较:

(1)在使用while和do-while语句时,必须在while或do-while语句前初始化循环

控制变量。

但for语句却可以利用表达式1来初始化循环控制变量。

(2)在使用while和do-while语句时,循环控制变量的变化必须放在循环体内。

for语句却可以利用表达式3来改变循环控制变量的值。

(3)do-while语句的循环体至少被执行一次,但while语句和for语句的循环体可能

一次也不执行。

(4)while和do-while语句中不能省略循环控制条件(即表达式P),但for语句却可

以省略循环条件(即表达式2)。

(5)break语句和continue语句在这3种循环语句中的作用是相同的。

凡是用while语句能实现的循环,必然能用for语句实现,反过来也一样。

3.Break和continue语句

break语句和continue语句大大增强了c语言实现选择控制和循环控制的灵活性

4.关系运算符和关系表达式

<小于,<=小于等于,>大于,>=大于等于,==等于,!

=不等于

5.逻辑运算符和逻辑表达式

||逻辑或;&&逻辑与!

逻辑非

6.条件运算符和条件表达式

条件运算符:

(?

7.运算符的优先级

算术运算符>移位运算符>关系运算符>位运算符>逻辑运算符

8.混合结构的程序设计

不管是选择结构的程序设计还是循环结构的程序设计,都应该结合起来以实现混合优化。

只有这样,才能彰显c语言的程序设计魅力。

1.表达式语句

任何一个表达式的后面加上分号就构成了表达式语句。

例如:

a++是表达式,a++;是表达式语句。

a=5是表达式,a=5;是表达式语句。

2.函数调用语句

函数调用加上分号就是函数调用语句。

例如:

printf(“Hello”)是函数调用,printf(“Hello”);是函数调用语句。

3.复合语句

可以用{}将一些语句括起来,就成了复合语句。

复合语句又称分程序。

例如:

{

a++;

b--;

}

4.空语句

空语句就是一个分号。

空语句有时用在空循环(什么都不执行的循环)中。

5.控制语句

用来实现一定的控制功能的语句称为控制语句。

C语言用控制语句来实现分支结构和循环结构。

第七章数组

1.一维数组的定义与引用

(1)定义形式:

数据类型符数组变量名[变量表达式];

在定义时可以直接赋初值:

未指定的值被赋值为0。

(2)引用说明

1)c语言规定,数组是一种数据单元的序列,不能直接存取整个数组,只能引用数组中的各个数据单元。

引用数据单元的格式是:

数据变量名[下标]

其中,下标可以使整性变量或整型表达式,c语言规定,下标的最小值是0,最大值是数组大小减1。

2)给数组赋值:

a[0]=2,表示将数组a的第一个单元赋值为2。

3)注意数组的内存地址和数组单元的存放

4)不许多数组变量名赋值:

a=3是错误的。

2.二维数组

当构成一维数组的元素也是一维数组时,就构成了二维数组。

二维数组是一维数组的数组。

以此类推,三维数组是二维数组的数组,四维数组是三维数组的数组……

C语言中,二维数组的定义格式是在一维数组的定义格式基础上增加了一维:

数据类型符数组变量名[整型常量表达式1][整型常量表达式2];

与一维数组相比,二维数组的定义,除了增加了一个[整型常量表达式]外,其他都一样。

对二维数组中数据引用的单元格式是:

数组变量名[下标1][下标2]。

与一维数组相比,数据单元的引用形式除了多一个[下标]外,其他都一样。

3.字符串与数组

(1)所谓字符串常量就是用双引号括起来的一组字符。

但实际上,字符串是一种字符型数组,并且这个数组的最后一个单元的值是‘\0’(即数值0)。

也就是说,字符串是一种以‘\0’结尾的字符数组。

这个结尾的字符‘\0’唯一的作用是标志字符串结束。

字符串的输入:

scanf函数和gets函数。

scanf函数在输入字符串时使用%s格式控制符,并且与%s对应的地址参数应该是一个字符数组,scanf函数会自动在字符串后面加0。

利用scanf函数输入字符串有不足:

当遇到空格时,scanf函数的输入操作便终止了。

因此,我们无法利用scanf函数输入一个包含多个单词或空格的句子。

利用scanf函数连续输入多个字符串,输入时,字符串间要用空格分隔。

能输入完整句子的函数是gets函数。

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函数

格式为:

strlen(字符串);

第八章函数

1.函数的定义和调用

(1)不带参数没有返回值的函数

1)定义格式:

void函数名(void)

{

变量声明部分

执行部分

}

2)说明:

函数名必须是合法标识符。

执行部分放置c语句。

void是一种特殊的数据类型:

空类型,表明这个函数没有返回值。

3)声明格式和调用格式分别为:

void函数名(void);

函数名();

调用任何函数必须先声明函数的原型

例如:

#include

voidshowerr(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