《C语言程序设计基础》单元总结与练习题及答案
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
#include <stdio.h> void main( ) { char ch1,ch2,ch; scanf("%c%c",&ch1,&ch2); ch=ch1;ch1=ch2;ch2=ch; printf("ch1=%c,ch2=%c\n",ch1,ch2); }
5.由运算符和数据构成表达式,若表达式中各数据的类型不同,则 存在类型自动转换问题,必要时也可以使用强制类型转换。 6.对于面向过程的程序设计来说,程序= 数据结构 + 算法 。 7.在C语言中,对于每一个程序设计单元可采用结构化程序设计方 法,有三种基本的程序结构,分别为: 顺序 、 选择 和 循环 。 通过本单元的学习,应该掌握C语言程序设计所需要的基本知识, 为后续内容的学习打下坚实的基础。
4.若有定义:char a=97,c;,则表达式c='a'+'8'-'3'的值为_________。 5.已知int x=6;,则执行x+=x-=x-3;语句后,x的值是_________。 6.将一个浮点型变量n四舍五入精确到小数点后两位,其表达式为: 。 7.C语言中基本的数据类型有 、 、 、 。 、 。 8.结构化程序设计中基本的程序结构有
C.用户自定义标识符中不区分大小写字母 D.标识符中可以出现下划线,且可以出现在标识符的任意位置 5.以下可用作用户自定义标识符的一组是( )。 A.void、return、if B.printf、include、fabs C.Max、_abc、Main D.2abc、pay$、sum-10
二.填空题
1.C语言程序一般由若干个函数构成,程序中应至少包含一个 _________,其名称只能为_________。 2.C语言程序中每条语句必须以_________结束。 3.C语言程序的注释是以_________开头,以________结束的,在 VC++6.0编程环境中,可使用_________作为注释的起始标识,注释对 程序的执行不起任何作用。 4.最初编写的C语言程序称为_________,其扩展名为_________,编译 后生成的文件为_________,其扩展名是_________,连接后生成的文件 是_________,其扩展名是_________。 5.C语言规定,标识符只能由_________、_________和_________三种 字符组成,而且,首字符只能是_________或_________。
单元练习
一.选择题
1.在C语言中,int、short、char三种类型数据所占用的存储空间是( )。 A.均为2个字节 B.int和short占2个字节,char占1个字 节 C.与编译环境有关 D.由用户自己定义 2.下面定义字符型变量ch的语句不正确的是( )。 A.char ch=‘\X2A’; B.char ch="c"; C.char ch=65; D.char ch=NULL; 3.已知大写字母A的ASCII是65,小写字母a的ASCII是97,以下不能将 字符型变量c中的大写字母转换成对应的小写字母的语句是( )。 A.c= (c-'A')%26+'a'; B.c2=tolower(c); C.c= c-'A'+'a'; D.c=('A'+c)%26-'a'; 4.设有定义:double d,h;,其中d为三角形的底边长,h为三角形的高, 则以下C语言表达式与其面积公式dh计算结果不相符的是( )。 A.d*h/2 B.1/2*d*h C.d*h*1/2 D.d/2*h 5.以下选项中,与k=n++;完全等价的语句是( )。 A.k=n;n=n+1; B.n=n+1;k=n; C.k=++n; D.
*************************************************************************
习题答案:
一.选择题
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.((int)(n*100+0.5))/100.0; 7.整型、浮点型、字符型
5.字母(A~Z,a~z)、数字(0~9)、下划线“_” 字母或下划线 *************************************************************************
单元二 程序设计基础知识
单元总结提升
本单元中,核心内容有C语言中基本的数据类型、常量和变量、运 算符和表达式以及算法的概念。通过本单元的学习,我们应该知道: 1.C语言中最基本的数据类型有: 整型、字符型、浮点型 。 2.C程序中使用的常量按照表现形式可分为直接常量和符号常量。 (1)直接常量 1)整型常量,有十进制、八进制和十六进制三种描述方式,其 中,八进制的前置符号标志为 0 ,十六进制的前置符号标志为 0x或 0X 。 2)浮点型常量,有十进制小数和指数两种描述方式,指数形式的 符号标志是 e或E 。 3)字符型常量,是用单撇引号括起来的单一字符,对一些特殊字 符和控制字符用 的形式表示。 4)字符串常量,是用双撇引号括起来的一串字符序列。字符串的 结束标志为 ‘\0’ 。 (2)符号常量 符号常量是使用某个符号代表的常量,符号常量使用编译预处理中 的宏定义命令 定义。 3.C程序中使用变量,必须先 定义 ,后 使用 。变量定义后,系统 会根据变量的类型分配相应的存储空间。 4.C语言有丰富的运算符,其中算术运算符包括+、-、*、/、%,运 算符中的 仅用于整数间的运算;赋值运算符包括“=”和相应的复合 赋值运算符 +=、-=、*=、/= ,赋值运算的含义是将“=”右侧的表达 式的计算结果赋值给“=”左侧的变量,这与数学中“=”的含义不同,需 要注意。
(4) 运行可执行文件 5.简单描述使用VC++6.0开发应用程序的步骤: 如图所示: 总之,通过本单元的学习,应该掌握C语言程序框架结构和程序开 发过程,还要对C语言程序设计的知识脉络有一定的了解。 启动VC++6.0 打开或 新建工程 打开或 新建文件 编辑、编译 连接、运行 完成
图 VC++6.0开发程序的步骤
《C语言程序设计》单元总结与练习题 答 案
单元一 程序设计宏观认识
单元总结提升
本单元中,核心内容有C语言程序框架结构、程序的构成和程序开 发过程。通过本单元的学习,我们应该知道: 1.C语言程序最基本的程序框架由两部分构成,分别是: (1) 编译预处理 (2) 函数组 2.C程序最大的特点就是所有的程序都是用函数来装配的,函数是 构成C语言程序的基本单位,函数包括主函数、库函数和自定义函 数。函数的一般结构形式为: 函数返回值类型 函数名(形式参数) //函数首部 { 说明语句; //函数体 可执行语句; } 3. 标识符是用来标识程序中的某个对象名字的字符序列。C语言把 标识符分为三类,即关键字、预定义标识符、用户自定义标识符。 对于用户自定义标识符的命名C语言规定: (1) 所有的用户标识符必须先定义后使用; (2) 用户标识符由字母(A~Z,a~z)、数字(0~9)、下划线“_”组 成,并且首字符不能是 数字 ; (3) 区分大小写; (4)不能用关键字作为用户自定义标识符,通常不使用预定义标识 符作为用户自定义标识符。 4.理论上讲,程序开发过程分为四个步骤,分别为: (1) 编辑源程序 (2) 编译源程序,生成目标程序 (3) 连接目标程序及其相关模块,生成可执行文件
#include <stdio.h> void main( ) { int a,b,c; scanf("%d%d%d",&a,&b,&c); printf("a+b+c=%d\n",a+b+c); }
A.6 B.a+b+c=6 C.123 D.不确定的值 3.下面输入语句中,正确的是( )。 A.scanf("a=b=%d",&a,&b); B.scanf("%d,%d",&a,&b); C.scanf("%c",c); D.scanf("%d %d\n",&f1,f2); 4.在VC++6.0环境中,下列说法正确的是( )。 A.输入函数scanf()输入多个数据时,有时数据间不必加间隔符。 B.输入函数scanf()中单精度或双精度浮点型数据都要用%f作为格 式控制符。 C.使用输出函数printf()输出字符或字符串都用格式控制符%s。 D.输出函数printf()中单精度或双精度浮点型数据都要用%f作为格 式控制符。 5.下面程序的功能是实现两个字符变量互换值,若为ch1输入a,ch2输 入b,则程序运行时正确的输入是( )。
*************************************************************************
习题答案:
一.选择题
1.C 2.B 3.C 4.C 5.CFra bibliotek二.填空题
1.主函数 main 2.分号; 3./* */ // 4.源程序 .cpp或.c 目标文件(或目标程序) .obj 可执行文件 (或可执行程序) .exe
k+=n+1;
二.填空题
1.写出整型变量a、无符号长整型变量b、双精度浮点型变量c和字符型 变量d的定义语句: 。 2.常量‘a’和”a”分别占用_____个字节和_____个字节的存储空间。 3.有定义 int ________________________。 a=1234;,获取其百位数码的表达式为
8.顺序、选择、循环 *************************************************************************
单元三 顺序结构程序设计
单元总结提升
本单元中,核心内容是顺序程序结构程序设计中标准输入输出库函 数的使用。通过本单元的学习,我们应该知道: 1.C语言提供了标准输入输出库函数用于实现数据输入输出操作, 其对应的头文件为 stdio.h 。 2.单字符输入和输出函数分别为 getchar() 和 putchar() 。 3.格式化输入和输出函数分别为 scanf() 和 printf() 。 4.格式化输出函数有两种调用格式: (1) printf("字符串常量"); (2) printf("格式控制字符串",输出项列表); 5.格式化输入/输出中,格式控制符由 % 开头。常用的格式控制 符有:整型int格式符 %d 、float浮点型格式符 %f 、double浮点型格 式符 %lf 、字符型格式符 %c ;对于浮点型格式可以用 m.n 形式的 附加格式说明小数的宽度和小数位数。 6.格式化输入中的输入项为地址列表,对变量取地址的运算符为 & 。 通过本单元的学习,应对顺序结构程序设计的特点和设计思路 有所了解,同时重点学会单字符输入函数getchar()、单字符输出函 数putchar()、格式化输出函数printf()和格式化输入函数scanf()的正 确使用。
单元练习
一.选择题
1.构成C语言程序的基本单位是( )。 A.框架 B.预处理 C.函数 D.语句 2.在程序开发过程中,把文本文件格式源程序转化为二进制格式的目 标程序的过程称之为( )。 A.编辑 B.编译 C.连接 D.运行 3.关于主函数,下列说法不正确的是( )。 A.一个完整的C语言应用程序有唯一的主函数 B.主函数的名称只能是main C.主函数可以被其他自定义函数调用 D.C语言程序的运行从主函数开始,以主函数为核心展开 4.关于标识符,下列说法不正确的是( )。 A.库函数名称为预定义标识符,不建议用作用户自定义标识符 B. 关键字不能作为用户自定义标识符
单元练习
一.选择题
1.已定义x为float型变量,其值为213.45678,则printf("%-4.2f\n",x);的 输出结果为( )。
A.213.46 C.-213.45 出
B.213.45 D.输出格式控制说明的域宽不够,不能输
2. 有以下程序,程序运行时输入:1,2,3<回车>,则输出的结果为( )。
5.由运算符和数据构成表达式,若表达式中各数据的类型不同,则 存在类型自动转换问题,必要时也可以使用强制类型转换。 6.对于面向过程的程序设计来说,程序= 数据结构 + 算法 。 7.在C语言中,对于每一个程序设计单元可采用结构化程序设计方 法,有三种基本的程序结构,分别为: 顺序 、 选择 和 循环 。 通过本单元的学习,应该掌握C语言程序设计所需要的基本知识, 为后续内容的学习打下坚实的基础。
4.若有定义:char a=97,c;,则表达式c='a'+'8'-'3'的值为_________。 5.已知int x=6;,则执行x+=x-=x-3;语句后,x的值是_________。 6.将一个浮点型变量n四舍五入精确到小数点后两位,其表达式为: 。 7.C语言中基本的数据类型有 、 、 、 。 、 。 8.结构化程序设计中基本的程序结构有
C.用户自定义标识符中不区分大小写字母 D.标识符中可以出现下划线,且可以出现在标识符的任意位置 5.以下可用作用户自定义标识符的一组是( )。 A.void、return、if B.printf、include、fabs C.Max、_abc、Main D.2abc、pay$、sum-10
二.填空题
1.C语言程序一般由若干个函数构成,程序中应至少包含一个 _________,其名称只能为_________。 2.C语言程序中每条语句必须以_________结束。 3.C语言程序的注释是以_________开头,以________结束的,在 VC++6.0编程环境中,可使用_________作为注释的起始标识,注释对 程序的执行不起任何作用。 4.最初编写的C语言程序称为_________,其扩展名为_________,编译 后生成的文件为_________,其扩展名是_________,连接后生成的文件 是_________,其扩展名是_________。 5.C语言规定,标识符只能由_________、_________和_________三种 字符组成,而且,首字符只能是_________或_________。
单元练习
一.选择题
1.在C语言中,int、short、char三种类型数据所占用的存储空间是( )。 A.均为2个字节 B.int和short占2个字节,char占1个字 节 C.与编译环境有关 D.由用户自己定义 2.下面定义字符型变量ch的语句不正确的是( )。 A.char ch=‘\X2A’; B.char ch="c"; C.char ch=65; D.char ch=NULL; 3.已知大写字母A的ASCII是65,小写字母a的ASCII是97,以下不能将 字符型变量c中的大写字母转换成对应的小写字母的语句是( )。 A.c= (c-'A')%26+'a'; B.c2=tolower(c); C.c= c-'A'+'a'; D.c=('A'+c)%26-'a'; 4.设有定义:double d,h;,其中d为三角形的底边长,h为三角形的高, 则以下C语言表达式与其面积公式dh计算结果不相符的是( )。 A.d*h/2 B.1/2*d*h C.d*h*1/2 D.d/2*h 5.以下选项中,与k=n++;完全等价的语句是( )。 A.k=n;n=n+1; B.n=n+1;k=n; C.k=++n; D.
*************************************************************************
习题答案:
一.选择题
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.((int)(n*100+0.5))/100.0; 7.整型、浮点型、字符型
5.字母(A~Z,a~z)、数字(0~9)、下划线“_” 字母或下划线 *************************************************************************
单元二 程序设计基础知识
单元总结提升
本单元中,核心内容有C语言中基本的数据类型、常量和变量、运 算符和表达式以及算法的概念。通过本单元的学习,我们应该知道: 1.C语言中最基本的数据类型有: 整型、字符型、浮点型 。 2.C程序中使用的常量按照表现形式可分为直接常量和符号常量。 (1)直接常量 1)整型常量,有十进制、八进制和十六进制三种描述方式,其 中,八进制的前置符号标志为 0 ,十六进制的前置符号标志为 0x或 0X 。 2)浮点型常量,有十进制小数和指数两种描述方式,指数形式的 符号标志是 e或E 。 3)字符型常量,是用单撇引号括起来的单一字符,对一些特殊字 符和控制字符用 的形式表示。 4)字符串常量,是用双撇引号括起来的一串字符序列。字符串的 结束标志为 ‘\0’ 。 (2)符号常量 符号常量是使用某个符号代表的常量,符号常量使用编译预处理中 的宏定义命令 定义。 3.C程序中使用变量,必须先 定义 ,后 使用 。变量定义后,系统 会根据变量的类型分配相应的存储空间。 4.C语言有丰富的运算符,其中算术运算符包括+、-、*、/、%,运 算符中的 仅用于整数间的运算;赋值运算符包括“=”和相应的复合 赋值运算符 +=、-=、*=、/= ,赋值运算的含义是将“=”右侧的表达 式的计算结果赋值给“=”左侧的变量,这与数学中“=”的含义不同,需 要注意。
(4) 运行可执行文件 5.简单描述使用VC++6.0开发应用程序的步骤: 如图所示: 总之,通过本单元的学习,应该掌握C语言程序框架结构和程序开 发过程,还要对C语言程序设计的知识脉络有一定的了解。 启动VC++6.0 打开或 新建工程 打开或 新建文件 编辑、编译 连接、运行 完成
图 VC++6.0开发程序的步骤
《C语言程序设计》单元总结与练习题 答 案
单元一 程序设计宏观认识
单元总结提升
本单元中,核心内容有C语言程序框架结构、程序的构成和程序开 发过程。通过本单元的学习,我们应该知道: 1.C语言程序最基本的程序框架由两部分构成,分别是: (1) 编译预处理 (2) 函数组 2.C程序最大的特点就是所有的程序都是用函数来装配的,函数是 构成C语言程序的基本单位,函数包括主函数、库函数和自定义函 数。函数的一般结构形式为: 函数返回值类型 函数名(形式参数) //函数首部 { 说明语句; //函数体 可执行语句; } 3. 标识符是用来标识程序中的某个对象名字的字符序列。C语言把 标识符分为三类,即关键字、预定义标识符、用户自定义标识符。 对于用户自定义标识符的命名C语言规定: (1) 所有的用户标识符必须先定义后使用; (2) 用户标识符由字母(A~Z,a~z)、数字(0~9)、下划线“_”组 成,并且首字符不能是 数字 ; (3) 区分大小写; (4)不能用关键字作为用户自定义标识符,通常不使用预定义标识 符作为用户自定义标识符。 4.理论上讲,程序开发过程分为四个步骤,分别为: (1) 编辑源程序 (2) 编译源程序,生成目标程序 (3) 连接目标程序及其相关模块,生成可执行文件
#include <stdio.h> void main( ) { int a,b,c; scanf("%d%d%d",&a,&b,&c); printf("a+b+c=%d\n",a+b+c); }
A.6 B.a+b+c=6 C.123 D.不确定的值 3.下面输入语句中,正确的是( )。 A.scanf("a=b=%d",&a,&b); B.scanf("%d,%d",&a,&b); C.scanf("%c",c); D.scanf("%d %d\n",&f1,f2); 4.在VC++6.0环境中,下列说法正确的是( )。 A.输入函数scanf()输入多个数据时,有时数据间不必加间隔符。 B.输入函数scanf()中单精度或双精度浮点型数据都要用%f作为格 式控制符。 C.使用输出函数printf()输出字符或字符串都用格式控制符%s。 D.输出函数printf()中单精度或双精度浮点型数据都要用%f作为格 式控制符。 5.下面程序的功能是实现两个字符变量互换值,若为ch1输入a,ch2输 入b,则程序运行时正确的输入是( )。
*************************************************************************
习题答案:
一.选择题
1.C 2.B 3.C 4.C 5.CFra bibliotek二.填空题
1.主函数 main 2.分号; 3./* */ // 4.源程序 .cpp或.c 目标文件(或目标程序) .obj 可执行文件 (或可执行程序) .exe
k+=n+1;
二.填空题
1.写出整型变量a、无符号长整型变量b、双精度浮点型变量c和字符型 变量d的定义语句: 。 2.常量‘a’和”a”分别占用_____个字节和_____个字节的存储空间。 3.有定义 int ________________________。 a=1234;,获取其百位数码的表达式为
8.顺序、选择、循环 *************************************************************************
单元三 顺序结构程序设计
单元总结提升
本单元中,核心内容是顺序程序结构程序设计中标准输入输出库函 数的使用。通过本单元的学习,我们应该知道: 1.C语言提供了标准输入输出库函数用于实现数据输入输出操作, 其对应的头文件为 stdio.h 。 2.单字符输入和输出函数分别为 getchar() 和 putchar() 。 3.格式化输入和输出函数分别为 scanf() 和 printf() 。 4.格式化输出函数有两种调用格式: (1) printf("字符串常量"); (2) printf("格式控制字符串",输出项列表); 5.格式化输入/输出中,格式控制符由 % 开头。常用的格式控制 符有:整型int格式符 %d 、float浮点型格式符 %f 、double浮点型格 式符 %lf 、字符型格式符 %c ;对于浮点型格式可以用 m.n 形式的 附加格式说明小数的宽度和小数位数。 6.格式化输入中的输入项为地址列表,对变量取地址的运算符为 & 。 通过本单元的学习,应对顺序结构程序设计的特点和设计思路 有所了解,同时重点学会单字符输入函数getchar()、单字符输出函 数putchar()、格式化输出函数printf()和格式化输入函数scanf()的正 确使用。
单元练习
一.选择题
1.构成C语言程序的基本单位是( )。 A.框架 B.预处理 C.函数 D.语句 2.在程序开发过程中,把文本文件格式源程序转化为二进制格式的目 标程序的过程称之为( )。 A.编辑 B.编译 C.连接 D.运行 3.关于主函数,下列说法不正确的是( )。 A.一个完整的C语言应用程序有唯一的主函数 B.主函数的名称只能是main C.主函数可以被其他自定义函数调用 D.C语言程序的运行从主函数开始,以主函数为核心展开 4.关于标识符,下列说法不正确的是( )。 A.库函数名称为预定义标识符,不建议用作用户自定义标识符 B. 关键字不能作为用户自定义标识符
单元练习
一.选择题
1.已定义x为float型变量,其值为213.45678,则printf("%-4.2f\n",x);的 输出结果为( )。
A.213.46 C.-213.45 出
B.213.45 D.输出格式控制说明的域宽不够,不能输
2. 有以下程序,程序运行时输入:1,2,3<回车>,则输出的结果为( )。