C语言程序设计基础教材参考题答案样本.docx

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

C语言程序设计基础教材参考题答案样本.docx

《C语言程序设计基础教材参考题答案样本.docx》由会员分享,可在线阅读,更多相关《C语言程序设计基础教材参考题答案样本.docx(105页珍藏版)》请在冰点文库上搜索。

C语言程序设计基础教材参考题答案样本.docx

C语言程序设计基础教材参考题答案样本

 

《C语言程序设计基本》教材

参考答案

 

涉及各单元:

一.随堂练习

二.单元总结

三.单元练习

四.实训指引

 

单元一程序设计宏观结识

一.随堂练习

【随堂练习1-1】

1.依照上述示例模仿编程,输入正方形边长,计算其面积。

#include

voidmain()

{inta,s;//数据准备,边长a,面积s

printf("请输入正方形边长:

");

scanf("%d",&a);//数据输入

s=a*a;//数据计算

printf("该正方形面积为:

%d.\n",s);

}

【随堂练习1-2】

1.下面哪些标记符属于合法顾客自定义标记符:

Main、void、_num、my$、a*、N4、3m、a-2

答:

合法顾客自定义标记符是:

Main、_num、N4

2.结合【例1.2】指出程序代码中所用到标记符哪些是核心字,哪些是预定义标记符,哪些是顾客自定义标记符。

答:

核心字:

void、int

预定义标记符:

include、main、printf、scanf

顾客自定义标记符:

a、b、c

3.分析【例1.2】中函数构造,涉及函数首部(函数返回值类型、函数名、形式参数)、函数体语句(阐明语句、可执行语句)。

答:

函数首部:

voidmain(),其中函数返回值类型为void、函数名为main、形式参数无;

函数体语句:

{}内语句为函数体,其中:

阐明语句为inta,b,c;,别的为可执行语句。

【随堂练习1-3】

1.在VC++6.0环境中完毕【例1.2】程序开发过程。

(略)

2.查阅【例1.2】所相应工程文献夹,理解有关文献含义。

工程文献夹中:

.CPP:

用C/C++语言编写源代码文献。

.DSP:

VC开发环境生成工程文献,VC4及此前版本使用MAK文献来定义工程。

项目文献,文本格式。

.DSW:

VC开发环境生成WorkSpace文献,用来把各种工程组织到一种WorkSpace中。

工作区文献,与.dsp差不多。

.NCB:

NCB是“NoCompileBrowser”缩写,其中存储了供ClassView、WizardBar和ComponentGallery使用信息,由VC开发环境自动生成。

无编译浏览文献。

当自动完毕功能出问题时可以删除此文献。

编译工程后会自动生成。

.OPT:

VC开发环境自动生成用来存储WorkSpace中各种选项文献。

工程关于开发环境参数文献。

如工具条位置信息等。

DEBUG文献夹中:

.OBJ:

源文献编译后生成目的文献,是模块二进制中间文献。

.EXE:

可执行文献。

(注:

蓝色字体为重点理解。

二.单元总结

本单元中,核心内容有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)连接目的程序及其有关模块,生成可执行文献

(4)运营可执行文献

5.简朴描述使用VC++6.0开发应用程序环节:

如图所示:

总之,通过本单元学习,应当掌握C语言程序框架构造和程序开发过程,还要对C语言程序设计知识脉络有一定理解。

三.单元练习

一.选取题

1.构成C语言程序基本单位是()。

A.框架   B.预解决   C.函数  D.语句

2.在程序开发过程中,把文本文献格式源程序转化为二进制格式目的程序过程称之为()。

A.编辑B.编译C.连接D.运营

3.关于主函数,下列说法不对的是()。

A.一种完整C语言应用程序有唯一主函数

B.主函数名称只能是main

C.主函数可以被其她自定义函数调用

D.C语言程序运营从主函数开始,以主函数为核心展开

4.关于标记符,下列说法不对的是()。

A.库函数名称为预定义标记符,不建议用作顾客自定义标记符

B.核心字不能作为顾客自定义标记符

C.顾客自定义标记符中不区别大小写字母

D.标记符中可以浮现下划线,且可以出当前标记符任意位置

5.如下可用作顾客自定义标记符一组是()。

A.void、return、ifB.printf、include、fabs

C.Max、_abc、MainD.2abc、pay$、sum-10

二.填空题

1.C语言程序普通由若干个函数构成,程序中应至少包括一种_________,其名称只能为_________。

 

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

3.C语言程序注释是以_________开头,以________结束,在VC++6.0编程环境中,可使用_________作为注释起始标记,注释对程序执行不起任何作用。

 

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

 

5.C语言规定,标记符只能由_________、_________和_________三种字符构成,并且,首字符只能是_________或_________。

*******************************************************************************

习题答案:

一.选取题

1.C2.B3.C4.C5.C

二.填空题

1.主函数main

2.分号;

3./**///

4.源程序.cpp或.c目的文献(或目的程序).obj可执行文献(或可执行程序).exe

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

*******************************************************************************

四.实训指引

1.完毕【引例】中题目。

【引例1】

(1)C语言程序基本框架涉及编译预解决和函数组两某些。

(2)编译预解决是程序编译之前准备工作,以“#”开头。

(3)函数组涉及主函数、库函数和顾客自定义函数,函数是构成C语言程序基本单位。

整个程序执行以主函数main()为核心展开;C语言原则函数库提供大量功能丰富库函数,使用时需要在编译预解决中包括相应头文献,参见附录D;顾客也可以依照需要编写具备特定功能函数,称为顾客自定义函数。

(4)在C语言中任何恰当位置可添加注释,以增强程序可读性。

在VisualC++编程环境中可用“//”作为程序单行注释起始符号,也可以使用“/*”和“*/”作为单行或多行注释起始和终结符号。

【引例2】编辑好C语言程序要通过编译、连接和执行几种环节,其完整过程描述如教材图1-1所示。

2.新建工程,输入【例1-2】源程序,使之可以运营。

(略)

3.编写一种程序,输出下面三行字符:

 

****************************** 

欢迎来到“吉尼斯乐园”!

 

****************************** 

参照程序如下:

(注意转义字符理解)

#include

voidmain()

{printf("******************************\n");

printf("欢迎来到\"吉尼斯乐园\"!

\n");

printf("******************************\n");

}

4.有三个同样大小瓶子,一种装可乐,一种装雪碧,尚有一种空瓶,请用语言描述将可乐和雪碧互换瓶子盛放办法。

然后编程实现:

将两个整数a和b值互换,输出互换后成果。

参照程序如下:

#include

voidmain()

{inta,b,c;//借助变量c互换a和b值

printf("请输入a和b值:

");

scanf("%d%d",&a,&b);

c=a;//互换a和b值

a=b;

b=c;

printf("互换成果为:

a=%d,b=%d.\n",a,b);

}

单元二程序设计基本知识

一.随堂练习

【随堂练习2-1】

1.判断下列常量表达对的与否?

(带下划线不对的)

(1)整型常量:

32768、037、081、0x4f、0xAH

(2)浮点型常量:

.124、3.0、1e3、2.3E1.5

(3)字符型常量:

'a'、'101'、65、'\x21'

2.字符串常量“Howareyou?

\n”字符串长度为13个字节,它占用存储空间为14个字节。

3.“d:

\windows\info.txt”在C语言程序设计时应描述为"d:

\\windows\\info.txt"。

4.在编程解决物理力学有关运算时,常将重力加速度G定义为符号常量,其定义语句可描述为:

#defineG9.8。

【随堂练习2-2】

1.完毕本单元【引例】中问题

(1)。

floata,b,c,s,area;

2.下列变量定义中合法是:

(如下定义语句均不合法)

(1)longdo=0xfd;

(2)intmax=min=0;(3)doublef,inta;(4)charch="A";

【随堂练习2-3】

1.完毕本单元【引例】中问题

(2)。

#include

s=(a+b+c)/2;

area=sqrt(s*(s-a)*(s-b)*(s-c))

2.有定义语句:

charch='M';,写出将变量ch变为小写字母表达式:

ch=ch+32;。

【随堂练习2-4】

1.试分析本单元【引例】数据构造和实现算法,并绘制算法流程图。

(1)数据构造:

三角形三个边长a,b,c,中间变量s和面积area,均为浮点型。

(2)实现算法:

以顺序构造为例,依照题目规定,其算法表达如下:

环节1:

输入三个边长a、b、c值;

环节2:

依照公式计算出s值,然后依照公式计算出三角形面积area;

环节3:

输出计算成果。

(3)算法流程图:

 

二.单元总结

本单元中,核心内容有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个字节

C.与编译环境关于  D.由顾客自己定义 

2.下面定义字符型变量ch语句不对的是()。

A.charch=‘\X2A’; B.charch="c"; 

C.charch=65;  D.charch=NULL; 

3.已知大写字母AASCII是65,小写字母aASCII是97,如下不能将字符型变量c中大写字母转换成相应小写字母语句是()。

A.c=(c-'A')%26+'a';   B.c2=tolower(c);

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

4.设有定义:

doubled,h;,其中d为三角形底边长,h为三角形高,则如下C语言表达式与其面积公式

dh计算成果不相符是()。

A.d*h/2   B.1/2*d*hC.d*h*1/2D.d/2*h 

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.有定义inta=1234;,获取其百位数码表达式为________________________。

4.若有定义:

chara=97,c;,则表达式c='a'+'8'-'3'值为_________。

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

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

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

8.构造化程序设计中基本程序构造有、、。

*******************************************************************************

习题答案:

一.选取题

1.C2.B3.D4.B5.A

二.填空题

1.inta;unsignedlongb;doublec;chard;

2.12

3.a/100%10

4.f

5.6

6.((int)(n*100+0.5))/100.0;

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

8.顺序、选取、循环

*******************************************************************************

四.实训指引

1.完毕【引例】中题目,规定计算成果保存两位小数。

参照程序代码如下:

#include

#include

voidmain()

{floata,b,c,s,area;

printf("请输入三角形三边长:

");

scanf("%f%f%f",&a,&b,&c);

s=(a+b+c)/2;

area=sqrt(s*(s-a)*(s-b)*(s-c));

printf("三角形面积为:

%.2f\n",area);

}

2.新建工程,输入【例2-4】源程序,使之可以运营,重点体会符号常量用法及好处。

(略)

3.下列程序有若干处错误,请调试改正。

程序功能:

求华氏温度120.3相应摄氏温度,计算公式为c=5/9(f-32),其中c表达摄氏温度,f表达华氏温度。

给定程序

程序改正

#include

voidmain()

{intc;f;

c=5/9*(f-32);

f=120.3;

printf(“c=%f\n”,c)

}

#include

voidmain()

{floatc,f;

f=120.3;

c=5*(f-32)/9;

printf("c=%f\n",c);

}

4.编写程序,将两个两位数正整数a和b合并成一种整数放在c中。

合并方式是:

将a数十位和个位数依次放在c数个位和百位上,将b数十位和个位数依次放在c数十位和千位上。

参照程序代码如下:

#include

voidmain()

{inta,b,c;

intas,ag,bs,bg;

printf("请输入两个两位整数:

");

scanf("%d%d",&a,&b);

as=a/10;

ag=a%10;

bs=b/10;

bg=b%10;

c=bg*1000+ag*100+bs*10+as;

printf("合并后成果为:

%d.\n",c);

}

单元三顺序构造程序设计

一.随堂练习

【随堂练习3-1】

1.下面程序功能为:

输入一种A~Z之间字母,输出与之左右相邻两个字母,依照注释信息将程序填写完整。

(注意:

题目规定输入A~Z之间字母,即不包括A和Z)

#include

voidmain()

{charch;//数据准备

ch=getchar();//调用getchar()输入一种字母,并赋值给ch

putchar(ch-1);//调用putchar()输出与ch左相邻字母

putchar(ch+1);//调用putchar()输出与ch右相邻字母

}

【随堂练习3-2】

1.输出提示语“请输入银行卡密码:

”语句可描述为printf("请输入银行卡密码:

");。

2.分析下列程序输出成果。

#include

voidmain()

{inta=65,b=97;

doublem=3.14159;

printf("%c-%d\n%c-%d\n",a,a,b,b);

printf("a=%06d,b=%-6d.\n",a,b);

printf("a=%d,a=%o,a=%x\n",a,a,a);

printf("m=%lf.\n",m);

printf("m=%4.3lf.\n",m);

printf("m=%06.3lf.\n",m);

}

输出成果如下:

【随堂练习3-3】

1.分别按照int、double和char类型给变量a,b,c输入数值语句可描述为:

scanf("%d%lf%c",&a,&b,&c);

2.依照规定给出数据输入办法。

(1)有语句scanf("a=%d,b=%d",&a,&b);,要使a值为2,b值为3,则对的输入办法是:

a=2,b=3

(2)有输入语句scanf("%d%c",&m,&n);,为使m值为6,n值为字母y,则对的输入办法是:

6y

 

二.单元总结

本单元中,核心内容是顺序程序构造程序设计中原则输入输出库函数使用。

通过本单元学习,咱们应当懂得:

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.已定义x为float型变量,其值为213.45678,则printf("%-4.2f\n",x);输出成果为()。

A.213.46   B.213.45  

C.-213.45  D.输出格式控制阐明域宽不够,不能输出 

2.有如下程序,程序运营时输入:

1,2,3<回车>,则输出成果为()。

#include

voidmain()

{inta,b,c;

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

printf("a+b+c=%d\n",a+b+c);

}

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

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,则程序运营时对的输入是()。

#include

voidmain()

{charch1,ch2,ch;

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

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 表格模板 > 表格类模板

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

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