admin 管理员组

文章数量: 1086019


2024年4月27日发(作者:程序设计语言教学)

C语言程序设计单元总结与练习题

答 案

单元一 程序设计宏观认识

单元总结提升

本单元中,核心内容有C语言程序框架结构、程序的构成和程序开发过程;通

过本单元的学习,我们应该知道:

1.C语言程序最基本的程序框架由两部分构成,分别是:

1 编译预处理

2 函数组

2.C程序最大的特点就是所有的程序都是用函数来装配的,函数是构成C语言

程序的基本单位,函数包括主函数、库函数和自定义函数;函数的一般结构形式

启动

打开或

打开或

图 VC++开发程序的步骤

编辑、编

完成

为:

函数返回值类型 函数名形式参数 关键字不能作为用户自定

义标识符

C.用户自定义标识符中不区分大小写字母

D.标识符中可以出现下划线,且可以出现在标识符的任意位置

5.以下可用作用户自定义标识符的一组是 ;

A.void、return、if

C.Max、_abc、Main

二.填空题

1.C语言程序一般由若干个函数构成,程序中应至少包含一个_________,其名称只能为_________;

2.C语言程序中每条语句必须以_________结束;

3.C语言程序的注释是以_________开头,以________结束的,在VC++编程环境中,可使用_________作

为注释的起始标识,注释对程序的执行不起任何作用;

B.printf、include、fabs

D.2abc、pay$、sum-10

4.最初编写的C语言程序称为_________,其扩展名为_________,编译后生成的文

件为_________,其扩展名是_________,连接后生成的文件是_________,其扩展名

是_________;

5.C语言规定,标识符只能由_________、_________和_________三种字符组成,

而且,首字符只能是_________或_________;

习题答案:

一.选择题

1.C 2.B 3.C 4.C 5.C

二.填空题

1.主函数 main

2.分号;

3./ / pp或.c

序 .exe

5.字母A~Z,a~z、数字0~9、下划线“_” 字母或下划线

目标文件或目标程序 .obj 可执行文件或可执行程

单元二 程序设计基础知识

单元总结提升

本单元中,核心内容有C语言中基本的数据类型、常量和变量、运算符和表达

式以及算法的概念;通过本单元的学习,我们应该知道:

1.C语言中最基本的数据类型有: 整型、字符型、浮点型 ;

2.C程序中使用的常量按照表现形式可分为直接常量和符号常量;

1直接常量

1整型常量,有十进制、八进制和十六进制三种描述方式,其中,八进制的前

置符号标志为 0 ,十六进制的前置符号标志为 0x或0X ;

2浮点型常量,有十进制小数和指数两种描述方式,指数形式的符号标志是 e

或E ;

3字符型常量,是用单撇引号括起来的单一字符,对一些特殊字符和控制字符

用 的形式表示;

4字符串常量,是用双撇引号括起来的一串字符序列;字符串的结束标志为

‘0’ ;

2符号常量

符号常量是使用某个符号代表的常量,符号常量使用编译预处理中的宏定义

命令 定义;

3.C程序中使用变量,必须先 定义 ,后 使用 ;变量定义后,系统会根据变量

的类型分配相应的存储空间;

4.C语言有丰富的运算符,其中算术运算符包括+、-、、/、%,运算符中的 仅

用于整数间的运算;赋值运算符包括“=”和相应的复合赋值运算符 +=、-=、

=、/= ,赋值运算的含义是将“=”右侧的表达式的计算结果赋值给“=”左

侧的变量,这与数学中“=”的含义不同,需要注意;

5.由运算符和数据构成表达式,若表达式中各数据的类型不同,则存在类型自

动转换问题,必要时也可以使用强制类型转换;

6.对于面向过程的程序设计来说,程序= 数据结构 + 算法 ;

7.在C语言中,对于每一个程序设计单元可采用结构化程序设计方法,有三种

基本的程序结构,分别为: 顺序 、 选择 和 循环 ;

通过本单元的学习,应该掌握C语言程序设计所需要的基本知识,为后续内容

的学习打下坚实的基础;

单元练习

一.选择题

1.在C语言中,int、short、char三种类型数据所占用的存储空间是 ;

A.均为2个字节

B.int和short占2个字节,char占1个字节

D.由用户自己定义 C.与编译环境有关

2.下面定义字符型变量ch的语句不正确的是 ;

A.char ch=‘X2A’;

C.char ch=65;

B.char ch="c";

D.char ch=NULL;

3.已知大写字母A的ASCII是65,小写字母a的ASCII是97,以下不能将字符型变量c中的大写字母

转换成对应的小写字母的语句是 ;

A.c=

c-'A'%26+'a';

C.c=

c-'A'+'a';

B.c2=tolowerc;

D.c='A'+c%26-'a';

4.设有定义:double d,h;,其中d为三角形的底边长,h为三角形的高,则以下C语言表达式与其面积公

1

dh计算结果不相符的是 ;

2

A.dh/2 B.1/2dh C.dh1/2 D.d/2h

5.以下选项中,与k=n++;完全等价的语句是 ;

A.k=n;n=n+1; B.n=n+1;k=n; C.k=++n; D.k+=n+1;

二.填空题

1.写出整型变量a、无符号长整型变量b、双精度浮点型变量c和字符型变量d

的定义语句:

;

2.常量‘a’和”a”分别占用_____个字节和_____个字节的存储空间;

3.有定义 int a=1234;,获取其百位数码的表达式为________________________;

4.若有定义:char a=97,c;,则表达式c='a'+'8'-'3'的值为_________;

5.已知int x=6;,则执行x+=x-=x-3;语句后,x的值是_________;

6.将一个浮点型变量n四舍五入精确到小数点后两位,其表达式

为: ;

7.C语言中基本的数据类型有 、 、 ;

8.结构化程序设计中基本的程序结构

有 、 、 ;

习题答案:

一.选择题

1.C 2.B 3.D 4.B 5.A

二.填空题

1.int a; unsigned long b; double c; char d;

2.1 2

3.a/100%10

4.f

5.6

6.intn100+/;

7.整型、浮点型、字符型

8.顺序、选择、循环

单元三 顺序结构程序设计

单元总结提升

本单元中,核心内容是顺序程序结构程序设计中标准输入输出库函数的使用;

通过本单元的学习,我们应该知道:

1.C语言提供了标准输入输出库函数用于实现数据输入输出操作,其对应的头

文件为 ;

2.单字符输入和输出函数分别为 getchar 和 putchar ;

3.格式化输入和输出函数分别为 scanf 和 printf ;

4.格式化输出函数有两种调用格式:

1 printf"字符串常量";

2 printf"格式控制字符串",输出项列表;

5.格式化输入/输出中,格式控制符由 % 开头;常用的格式控制符有:整

型int格式符 %d 、float浮点型格式符 %f 、double浮点型格式符 %lf 、

字符型格式符 %c ;对于浮点型格式可以用 形式的附加格式说明小数的

宽度和小数位数;

6.格式化输入中的输入项为地址列表,对变量取地址的运算符为 & ;

通过本单元的学习,应对顺序结构程序设计的特点和设计思路有所了解,

同时重点学会单字符输入函数getchar、单字符输出函数putchar、格式化输

出函数printf和格式化输入函数scanf的正确使用;

单元练习

一.选择题

1.已定义x为float型变量,其值为,则printf"%n",x;的输出结果为 ;

A.

C.

B.

D.输出格式控制说明的域宽不够,不能输出

2. 有以下程序,程序运行时输入:1,2,3<回车>,则输出的结果为 ;

include <>

void main

{ int a,b,c;

scanf"%d%d%d",&a,&b,&c;

printf"a+b+c=%dn",a+b+c;

}

A.6 B.a+b+c=6 C.123 D.不确定的值

3.下面输入语句中,正确的是 ;

A.scanf

"a=b=%d",&a,&b;

C.scanf

"%c",c

;

B.scanf

"%d,%d",&a,&b

;

D.scanf

"%d %dn",&f1,f2

;

4.在VC++环境中,下列说法正确的是 ;

A.输入函数scanf输入多个数据时,有时数据间不必加间隔符;

B.输入函数scanf中单精度或双精度浮点型数据都要用%f作为格式控制符;

C.使用输出函数printf输出字符或字符串都用格式控制符%s;

D.输出函数printf中单精度或双精度浮点型数据都要用%f作为格式控制符;

5.下面程序的功能是实现两个字符变量互换值,若为ch1输入a,ch2输入b,则程序运行时正确的输入

是 ;

include <>

void main

{ char ch1,ch2,ch;

scanf"%c%c",&ch1,&ch2;

ch=ch1;ch1=ch2;ch2=ch;

printf"ch1=%c,ch2=%cn",ch1,ch2;

}

A.a,b B.a<空格>b C.ab D.a<回车>b

二.填空题

1.有语句putchargetchar,程序运行时输入:A,则输出结果是____________;

2.printf"%%%",3;的输出结果是____________;

3.补充程序: int n1=10,n2=20; printf" ",n1,n2;

要求按以下格式输出n1和n2的值,每个输出行从第一列开始;

n1=0010

n2=0020

4.有以下程序,程序运行时输入:1234<回车>,执行后输出的结果是

_________________;

include <>

void main

{ char ch1,ch2;

int n1,n2;

ch1=getchar;

ch2=getchar;

n1=ch1-

0

;

n2=n110+ch2-

0

;

printf"n1=%d,n2=%d.n",n1,n2;

}

5. 输入多个非字符型的数值数据时,数据输入时可用 、 和

作为间隔符;

习题答案:

一.选择题

1.A 2.D 3.B 4.A 5.C

二.填空题

=%04dnn2=%04d

=1,n2=12

5.空格,TAB键,回车

单元四 选择结构程序设计

单元总结提升

在选择结构程序设计中,条件判断表达式和选择结构实现语句是两个核心内

容;通过本单元的学习,我们应该知道:

1.条件判断表达式由关系运算符及其表达式、逻辑运算符及其表达式构成,

其中:

(1) 关系运算符有: > 、 < 、 >= 、 <= 、 =、 ==

(2) 逻辑运算符有: &&、||、

2.选择结构实现语句有三种方式:

(1) 单分支if选择结构,一般格式为:

if 表达式

{ 语句;}

(2) 双分支if-else选择结构,一般格式为:

if 表达式

{ 语句1;}

else

{ 语句2;}

(3) 多分支 switch选择结构,一般格式为:

switch 表达式

{ case 常量表达式1: 语句序列1; break;

}

3.在应用选择结构时,应注意以下问题:

case 常量表达式2: 语句序列2; break;

case 常量表达式n: 语句序列n; break;

……

default: 语句序列n+1;

1在if嵌套语句中,要弄清else与if的匹配关系,书写if语句嵌套时一般采

用缩进的阶梯式写法,在实际编程中,为了表明编程者的意图,也常常通过“{}”来

强制if和else的配对关系;

2switch语句中,“表达式”和“常量表达式”的类型只能是整型或字符型数

据,且“常量表达式”只能由常量构成,通过“表达式”与“常量表达式”之间的

对等关系构造出多分支选择结构;

3在某些多分支选择结构程序设计中,既可使用if-else语句实现,也可以使

用switch语句实现;switch语句与if语句的不同之处在于:switch语句仅能判

断一种逻辑关系,即“表达式”和指定“常量表达式”的值是否相等,而不能进行

大于,小于某一个值的判断,不能表达区间数据的概念;if语句可以计算和判断各

种表达式;所以switch语句不能完全替代if语句;

总之,通过本单元的学习,应该掌握C语言选择结构程序设计的思路和语句的

基本用法;

单元练习

一.选择题

1.以下选项中,当x为大于1的奇数时,值为0的表达式 ;

A.x%2==1 B.x/2 C.x%2=0 D.x%2==0

2.在C语言中,if语句后的一对圆括号中有一个用以决定分支走向的表达式,该表

达式 ;

A.只能是关系表达式 B.只能是逻辑表达式

C.只能是关系或逻辑表达式 D.可以是任何合法表达式

3.读下面程序段,当x=-3时,输出y的值为 ;

int x,y;

y=0;

scanf“%d”,&x;

ifx>=0

ifx>0 y=1;

else y=-1;

printf“y=%d”,y;

A.1 B.-1 C.0 D.不确定

4.下列语句将小写字母转化为大写字母,正确的语句为 ;

A.if’z’>=ch>=’a’ ch=ch-32;

B.ifch>=’a’&&ch<=’z’ ch=ch-32;

C.ch=’z’>=ch>=’a’ch-32:ch;

D.ch= ch>=’a’&&ch<=’z’ch:ch-32;

5.关于与switch语句配套的case语句中所使用的表达式,说法正确的是 ;

A.可以是变量

B.可以是常量或变量

C.只能是常量或常量表达式

D.无论是何种表达式,只要在执行时有确定的值就行

二.填空题

1.在算术运算符、关系运算符、逻辑运算符和赋值运算符中,运算优先级最高的

运算符是 ,最低的是 ;

2.正确表示数学关系“1

3.整型变量n不能被3整除的条件判断表达式为 ;

4.以下程序段的功能是:对输入的大写字母循环移动6个位置后输出,如’A’变

为’G’,’W’变为’C’;请将程序段补充完整;

char ch;

ch= ;

ifch>=’A’&&

else if

putcharch;

5.以下程序段功能是根据学生考试成绩,确定其成绩等级,成绩与等级对应情况与

例4-7中表格相同,请将程序段补充完整;

char level; ,level;

习题答案:

一.选择题

1.D 2.D 3.C 4.B 5.C

二.填空题


本文标签: 表达式 语句 程序 程序设计 常量