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.在算术运算符、关系运算符、逻辑运算符和赋值运算符中,运算优先级最高的
运算符是 ,最低的是 ;
版权声明:本文标题:C语言程序设计基础单元总结与练习题及答案 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/p/1714187371a668860.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论