c语言program_8_1
C语言程序设计(第三版)习题库答案
C语言程序设计(第三版)习题库1、设圆半径r=1.5,圆柱高h=3,求圆周长、圆面积、圆球表面积、圆球体积、圆柱体积。
用scanf输入数据,输出计算结果,输出时要求文字说明,取小数点后两位数字。
请编程序。
#include<stdio.h>main(){floatr,h,C1,Sa,Sb,Va,Vb;scanf(__”%f”__,&r);scanf(”%d”,__&h_);;C1=2*3.14*r;Sa=3.14*r*r;Sb=4*Sa;Va=4*3.14*r*r*r/3;Vb=Sa*h;printf(___”Cl=%.2fSa=%.2fSb=%.2fVa=%.2fVb=%.2f”,C l,Sa,Sb,Va,Vb);}2、输入一个华氏温度,要求输出摄氏温度。
公式为c=5(F-32)/9 输出要求有文字说明,取位2小数。
#include<stdio.h>main(){floatF,c;scanf("%f",&F);____c=5*(F-32)/9______;printf("c=%.2f",c);}3、有一函数:⎪⎩⎪⎨⎧≥-<≤-<=10113101121x x x x x xy 写一程序,输入x 值,输出y值。
#include<stdio.h>main(){intx,y;printf("输入x :");scanf("%d",&x);if(x<1){/*x<1*/y=x;printf("x=%3d,y=x=%d\n",x,y);}elseif(____x<10_______){/*1≤x -10*/_____y=2*x-1_______;printf("x=%3d,y=2*x-1=%d\n",x,y);}else{/*x≥10*/y=3*x-11;printf("x=%3d,y=3*x-11=%d\n",x#include"st dio.h"main(){intx,y;scanf("%d",&x);if(x<1){y=x;}elseif(x>=1&&x<10) {y=2*x-1;}else{y=3*x-11;}printf("%d",y);}#include"stdio.h" main(){intx,y;scanf("%d",&x);if(x<1){y=x;}elseif(x>=1&&x<10) {y=2*x-1;}else{y=3*x-11;}printf("%d\n",y);}#include"stdio.h"main(){intx,y;scanf("%d",&x);if(x<1){y=x;}elseif(x>=1&&x<10){y=2*x-1;}else{y=3*x-11;}printf("%d",y);}scanf("%d",&x);if(x<1){y=x;}elseif(x>=1&&x<10){y=2*x-1;}else{y=3*x-11;}#include"stdio.h" main(){intx,y;scanf("%d",&x);if(x<1)y=x;elseif(x>=1&&x<10)y=2*x-1;elsey=3*x-11;printf("%d",y);},y);}}4、给定一个不多于5位的正整数,要求:①求它是几位数;②按逆序打印出各位数字。
语言程序设计习题答案
C 语言程序设计习题答案习题一 C 语言程序设计概述一、名词解释(1)程序P1 (2)程序设计P1 (3)机器语言P1 (4)汇编程序P2(5)高级语言P2 (6)编译程序P3 (7)解释程序P3 (8)算法P4(9)结构化的程序设计P9二、简述题1. 设计程序时应遵循哪些基本原则P4答:正确性、可靠性、简明性、有效性、可维护性、可移植性。
2. 算法的要素是什么算法具有哪些特点答:算法的要素是:操作与控制结构;算法的特点有:有穷性、确定性、有效性、有零个或多个输入、有一个或多个输出。
3. 算法的表示形式有哪几种答:算法的表示形式有:自然语言、传统流程图、伪代码、结构化的流程图(N_S 流程图,盒图)。
4. 有哪三种基本结构答:三种基本结构是:顺序结构、选择结构和循环结构。
5. 传统流程图与N-S 流程图最大的区别是什么答:N-S 流程图去掉了在传统流程图中常用的流程线,使得程序的结构显得更加清晰、简单。
三、用传统流程图、N-S 图分别表示求解以下问题的算法。
1. 有3个数a ,b ,c ,要求按由大到小的顺序把它们输出。
2. 依次将10个数输入,求出其中最大的数 和最小的数并输出。
3. 求1+2+3+…+100的值。
4. 求1×2×3×…×10的值。
5. 求下列分段函数的值。
6. 求100~200之间的所有素数。
7. 求一元二次方程ax 2+bx+c=0的根。
分别考虑d=b 2-4ac 大于0、等于0和小于0三种情况。
四、注释下面C 程序的各个组成部分。
main() /*主函数 */{ /*程序开始 */int a,k,m; /*定义三个用来存放整数的变量 */a=10; /*将整数10赋值给变量a */k=2; /*将整数2赋值给变量k */m=1; /*将整数1赋值给变量1 */a=(k+m)*k/(k-m); /*先求出算术表达式的值,并将其赋值给变量a */printf("%d\n",a); /*在屏幕上打印出变量a 的值 */} /*程序结束 */习题二 数据类型、运算符与表达式一、选择题1~10:BCDCB DDBCA11~20: ADDAA DBADC21~28: DABAD CDDY= 3X (X<1) 4X-1 (X=1) 5(X-1)+6 (1<X<5) 6-3X (X ≥5) 输入一个数给x X<=1 Yes no X<1 x<5 Yes no yes no Y=3x y=4x-1 y=5x+1 y=6-3x 输出s 的值 i =100 当i<=200时 n=2; flag=1; 当n< i 时i 能否被n 整除yes no flag=0 n = n+1 flag=1yes no输出i 的值i = i+1二、填空题1.字母L 或字母l2.字符或%c 、整数或%d3.在程序运行过程中,其值可以在一定的范围内变化的量。
c语言《程序设计基础》课后习题参考答案与解析
c语言《程序设计基础》课后习题参考答案与解析《程序设计基础》习题参考答案与部分解析第1章 C 语言概述一、填空a) C源程序的基本单位是函数。
b) 一个C程序中至少应包括一个 main函数。
c) 在C语言中,输出操作是有库函数 printf( )函数完成。
二、单选题1、A2、C3、B解析:第1题答案:A 。
因为一个C程序总是从main函数开始执行的,而不论main函数在程序中的位置。
且到main函数结束。
第2题答案:C 。
因为 main函数没有限制必须位于程序的最前面。
C程序书写自由,一行内可写几个语句。
在对一个C 程序进行编译的过程中,无法检查注释当中的拼写错误。
不过C语言本身并没有输入输出语句,输入输出是由函数完成的。
第3题答案:B。
因为一个C语言程序是由若干个函数组成的。
但至少包含一个main 函数,且main函数的位置不限。
三、编程题1、编写一个输出“Welcome to C!”信息的小程序。
解:程序如下#include “stdio.h”main( ){1printf(“Welcome to C!”) ;}2、已知三角形的三边长分别为3,4,5,试用海轮公式编程求其面积。
海伦公式为:S?= ,其中s= (a+b+s)/2 ;解:程序如下#include “math.h”#include “stdio.h”main( ){int a , b , c ; /* a ,b,c 3个整型变量表示三角形的3条边。
*/float s ,s1 ; /* s1作为面积变量,s 作为中间变量是都应该是实形*/a=3 ; b= 4; c=5 ;s= (a+b+c)/2.0 ;s1= sqrt(s*(s-a)*(s-b)*(s-c)); /* sqrt函数完成开平方根功能。
*/printf(“area=%f\n”,s1);}2第2章程序设计基础知识一、单选题1、C2、A3、C4、A5、C6、C7、D8、C9、D 10、A 11、D 12、A 13、C 14、C 15、B A 16、B 17 D解析:1. 答案:C。
成人高考C语言程序设计(考试复习资料)
单项选择题导读:单项选择题要求从给出的四个备选答案中,选出一个最符合题意的答案。
本类习题主要检查对C语言基本概念的掌握情况,读者可根据学习进度选做部分习题。
在完成习题的过程中,不但要选出正确的答案,而且要清楚不正确的选项错在何处,以加深对概念的理解。
对于掌握不准的问题,应该通过上机实验来检验。
【1.1】以下不正确的C语言标识符是____。
A) int B) a_1_2 C) ab1exe D) _x【1.2】以下是正确的C语言标识符是____。
A) #define B) _123 C) %d D) \n【1.3】下列四组字符串中都可以用作C语言程序标识符的一组是。
••• A) print B) i\am C) Pxq D) str_l••• _3d one_half My->book Cpp••• oodb start$it line# pow••• aBc 3pai His.age while【1.4】下面各选项组中,均是C语言关键字的组是。
A) auto,enum,include B) switch,typedef,continueC) signed,union,scanf D) if,struct,type【1.5】下列不属于C语言关键字的是。
A) default B) register C) enum D) external【1.6】C语言程序从main()函数开始执行,所以这个函数要写在____。
A) 程序文件的开始B) 程序文件的最后C) 它所调用的函数的前面D) 程序文件的任何位置【1.7】下列关于C语言的叙述错误的是____A) 大写字母和小写字母的意义相同B) 不同类型的变量可以在一个表达式中C) 在赋值表达式中等号(=)左边的变量和右边的值可以是不同类型D) 同一个运算符号在不同的场合可以有不同的含义【1.8】在C语言中,错误的int类型的常数是。
A) 32768 B) 0 C) 037 D) 0xAF【1.9】执行语句printf("%x",-1);屏幕显示____。
c语言程序设计试题及答案
c语言程序设计试题及答案第一章基础知识一、填空1.每个C程序都必须有且仅有一个________函数。
2.C语言程序开发到执行通常要经过6个阶段即编辑、预处理、________、链接、加载和执行。
3.软件是程序,以及______、使用和维护所需要的所有文档。
4.国标中规定:“计算机程序是按照具体要求产生的适合于计算机处理的_________”。
5.程序设计语言按照书写形式,以及思维方式的不同一般分为低级语言和________两大类6.C语言是由________组成的。
7.C语言的函数可分为主函数main、标准库函数和_________。
8.一个函数是由两部分组成的,即:________和函数体。
9.编译是将C语言所编写的源程序________成机器代码,也称为建立目标代码程序的过程。
10.程序是由某种程序设计语言编制出来,体现了编程者的控制思想和对计算机执行操作的要求。
不同的任务功能,就会需求不同的软件程序,如:控制计算机本身软硬件协调工作,并使其设备充分发挥效力,方便用户使用的系统软件程序,称为操作系统;而为办公自动化(OA)、信息系统(MIS)、人工智能、电子商务、网络互联等等应用而开发的软件程序,统称为_________。
11.机器语言是以__________形式表示的机器基本指令的集合,是计算机系统唯一不需要翻译可以直接识别和执行的程序设计语言。
12.与机器语言相比,使用汇编语言来编写程序可以用_______来表示指令的操作码和操作对象,也可以用标号和符号来代替地址、常量和变量。
13.在编译程序之前,凡以____开头的代码行都先由预处理程序预处理。
14.C程序的执行均是由执行_________开始。
15.函数体即为包含在{}内的部分。
它分为________和为完成功能任务由若干个C语句组成的执行部分。
16.C语言程序中一条简单语句是以________字符作为结束符的。
17.C语言是结构化、________的程序设计语言。
c语言程序设计第五版习题答案
习题解析与答案第1章C语言概述一.简答题1.概述C语言的主要特点。
【解答】(1)语言简洁、紧凑,使用方便、灵活.(2)数据类型丰富,表达能力强。
(3)运算符多样。
C语言中的运算符包含的范围非常广泛。
(4)具有结构化的控制语句。
如if…else语句、while语句、do while语句、switch 语句、for语句.(5)允许直接访问物理地址.C语言中含有的位和指针运算,能够直接对内存地址进行访问操作.(6)所生成的目标代码质量高,可移植性好。
2.构成C语言程序的基本单位是什么?它由哪几部分组成?【解答】函数是构成C语言程序的基本单位。
一个完整的C程序一般由文件包含、宏定义、函数说明、变量和一个或若干个函数组成。
3.C语言程序的运行一般要经过哪几个步骤?【解答】(1)编辑;(2)编译;(3)连接,生成EXE文件;(4)执行。
二.运行程序写结果1.输入下面程序并运行。
main(){int a1,a2,x;a1=100;a2=50;x=a1—a2;printf(″x=%d\n″,x);}【解答】运行结果为:x=502.输入下面程序并运行。
main(){int a1,a2,x;a1=10;a2=20;x=a1*a2;printf(″a1=%d,a2=%d\n″,a1,a2);printf(″x=%d\n″,x);}【解答】运行结果为:a1=10,a2=20x=200三.编程题1.参照本章例题,编写一个C程序,用于显示如下信息:*************************I love C programs!*************************【分析与提示】①要有文件包含语句#include <stdio。
h〉。
C语言中没有数据的输入、输出等功能,数据的输入、输出都是通过调用系统提供的库函数scanf和printf等来实现的.这些函数的说明都包括在stdio.h文件中.②main是主函数的名称。
1C语言程序基本框架_2
1.1 初识C语言程序
• 1.1.2 C程序的组成
• 以上实例及实例分析已经反应出了C程序的基本框架及其组成要素。 • 1 . C程序是由函数构成的 • C程序通常由包括main( )在内的一个或多个函数组成,函数是构成C
程序的基本单位。其中,主函数必须有且只能有一个,被调用的其他 函数可以是系统提供的库函数,也可以是用户自定义的函数。C程序 的全部工作都是由函数来完成的,因此C语言被称为函数式语言。 • 2. 函数的构成 • C的函数由函数首部和函数体两大部分组成。以主函数为例: • main( ) ← 函数首部,指定函数名、函数参数等信息 • { ← 函数体从这里开始 • … … ← 函数体内的语句 • } ← 函数体到这里结束
c = max(a,b);
/ * 调用max()函数*/
•
printf("%d ,%d中的大数为:%d\n\n\n",a,b,c); / * 标准输从键盘提供两个整数12和21,得到的输出结果为:
• 程序执行时,如果从键盘提供的两个整数是31和13,那么得到的输出 结果则为:
1.2 C语言程序的实现
• 1.2.1 C程序实现过程
• 按照C语言语法规则编写的C程序称为源程序。设计好C的源程序后, 要将它输入到计算机并得到最终结果,必须经过编辑、编译、链接和 运行这几个主要环节,其实现过程如图1-1所示。
• 1. 编辑源程序 • 设计好的源程序要利用程序编辑器输入到计算机中,输入的程序一般
• 【程序代码】
• #include "stdio.h"
• main( )
•{
•
printf(" \nThis i s myf i r s t C program!\n");
数据结构(C语言版)(第4版)习题
习题11.1选择题。
(1)计算机识别、存储和加工处理的对象统称为。
A.数据B.数据元素C.数据结构D.数据类型(2)数据结构通常是研究数据的及它们之间的联系。
A.存储和逻辑结构B.存储和抽象C.理想和抽象D.理想和逻辑(3)下列不是数据的逻辑结构的是。
A.散列结构 B.线性结构 C.树形结构 D.图状结构(4)数据结构被形式地定义<D,R>,其中D是的有限集,R是___的有限集。
A.算法 B.数据元素C.数据操作 D.逻辑结构(5)组成数据的基本单位是。
A.数据项 B.数据类型 C.数据元素 D.数据变量(6)设数据结构A=(D,R),其中,D={1,2,3,4},R={r},r={<1,2>,<2,3 >,<3,4>,<4,1>},则数据结构A是。
A.线性结构 B.树形结构 C.图状结构 D.集合(7)数据在计算机存储器中表示时,若物理地址与逻辑地址相同并且是连续的,则称为。
A.存储结构B.逻辑结构C.顺序存储结构D.链式存储结构(8)在数据结构的讨论中把数据结构从逻辑上分。
A.内部结构与外部结构B.静态结构与动态结构B.线性结构与非线性结构 D.紧凑结构与非紧凑结构(9)对于一个算法的评价,不包括以下方面的内容。
A.健壮性和可读性B.并行性C.正确性D.时间空间复杂度(10)算法分析的两个方面是。
A.空间复杂性和时间复杂性B.正确性和简明性C.可读性和文档性 D.数据复杂性和程序复杂性1.2填空题(1)数据结构是一门研究非数值计算的程序设计问题中计算机的以及它们之间的和运算等的学科。
(2)数据结构包括数据的结构和结构。
(3)数据结构从逻辑上划分为3种基本类型,即、和。
(4)数据的物理结构被分为、、和种类型。
(5)一种抽象数据结构类型包括和两个部分。
(6)数据的逻辑结构是指数据的存储结构是指(7)数据结构是指指数数据及其相互之间的当结点之间存在M对N(M:N)的联系时,称这种结构为当结点之间存在1对N(1:N)的联系时,称这种结构为(8)对算法从时间和空间两个方面进行衡量,分别称为分析。
有趣的C语言代码集萃
怎样获取鍵盘输入?
在 Tc2.0 中有一个处理键盘输入的函数 bioskey(); int bioskey(int cmd);
当 cmd 为 1 时,bioskey()检测是否有键按下。没有键按下时返回 0;有键按下时返 回按键码(任何按键码都不为 0),但此时并不将检测到的按 键码从键盘缓冲队列中清除。
即中断发生时,将调用 isr()函数。
在程序开始的时候截获时钟中断,并设置新的中断处理。在程序结束的时候,一定 要记着恢复时钟中断哦,不然系统的计时功能会出问题 的。具体演示程序请参见 prog5.c。由于中断处理大家可能用的不多,所以我把 prog5.c 这个程序完整地贴在下面,并加上详细的解释。
/* 恢复原有的时钟中断处理过程 */ void KillTimer() { disable(); setvect(TIMER,oldhandler); enable(); }
void main(void) { int key,time=0;
1使用程序前先对图书库读者库进行初始化然后才能进行相应的操作2本程序又一定的纠错功能调用子函数对功能进行相应的选择的时候如果选择的端子不正确则提示错误对添加的读者函数操作的时候如果读者库已经满了读者申请的编号已经存在的情况则提示错误对删除读者函数操作的时候如果输入的读者编号不存在则提示错误对查找读者函数操作的时候如果输入的读者编号不存在的时候则提示错误对新书入库函数操作的时候如果书库已经满或者申请的书编号已经存在则提示错对删除的图书函数进行操作的时候如果要删除的图书编号不存在则提示出错对查找函数操作的时候如果要查找的图书函数不存在则提示出错对借书函数进行操作时如果读者编号不存在不能在借书所要借的书已经借出或者要借的书不存在的时候则提示出错对还书函数操作的时候如果读者编号不存在所还图书不为图书馆所有时则提示出错
《C语言程序设计》课后习题答案第八章
8.1 编写两个函数,分别求两个证书的最大公约数和最小公倍数,用主函数调用这两个函数并输出结果,两个整数由键盘输入。
void main(){ int Mgy(int x,int y);int Mgb(int z);int a,b,mgy,mgb;printf("请输入两个数:\n");scanf("%d,%d",&a,&b);mgy=Mgy(a,b);mgb=Mgb(a,b,mgy);printf("两个数的最大公约数为%d,最小公倍数为%d\n",mgy,mgb);}int Mgy(int x,int y){ int r,temp;if(x<y){ temp=x;x=y;y=temp;}while(x%y!=0){ r=x%y;x=y;y=r;}return y;}int Mgb(int x,int y,int z){ return (x*y/z);}8.2 求方程ax²+bx+c=0的根,用三个函数分别求当b²-4ac大于零、等于零和小于零时的根,8.3编写一个判素数的函数,在主函数输入一个整数,输出是否是素数的信息。
#include<math.h>void main(){ int Isprime(int a);int m,temp=0;printf("请输入一个数:\n");scanf("%d",&m);temp=Isprime(m);if(temp==0) printf("%d不是素数。
\n",m);else printf("%d是素数。
\n",m);}int Isprime(int a){ int i,k,flag;if(a==0||a==1) flag=0;else{ k=sqrt(a);for(i=2;i<=k;i++)if(a%i==0) flag=0; }return flag; }8.8 写一个函数,输入一个4位数字,要求输出这4个数字字符,但每两个数字间空一格空8.9编写一个函数,由实参传来一个字符串,统计此字符串中字母、数字、空格和其他字符8.10 写一个函数,输入一行字符,将此字符串中最长的单词输出。
全国计算机等级考试二级C语言课后习题
第二章C程序设计的初步知识一、选择题1。
以下选项中正确的整型常量是()。
A。
12. B。
—20 C。
1,000 D。
4 5 62。
以下选项中正确的实型常量是()。
A.0B.3。
1415 C。
0。
329×102 D. 。
8713. 以下选项中不正确的实型常量是()。
A.2.607E—1B.0.8103e 2 C。
—77.77 D.456e—24。
以下选项中不合法的用户标识符是()。
A。
abc.c B.file C.Main D.PRINTF5。
以下选项中不合法的用户标识符是()。
A._123B.printfC.A $D.Dim6.C语言中运算对象必须是整型的运算符是()。
A.%B./ C。
! D.**7。
可在C程序中用作用户标识符的一组标识符是( )。
A.void define WORDB.as_b3 _123 IfC。
For —abc case D.2c DO SIG8。
若变量已正确定义并赋值,符合C语言语法的表达式是()。
A。
a=a+7; B。
a=7+b+c,a++ C。
int(12.3%4) D.a=a+7=c+b9。
以下叙述中正确的是()。
A。
a是实型变量,C允许进行赋值a=10,但可以这样说:实型变量中允许存放整型值B。
在赋值表达式中,赋值号左边既可以是变量也可以是任意表达式C。
执行表达式a=b后,在内存中a和b存储单元中的原有值都将被改变,a的值已由原值改变为b的值,b的值由原值变为0D.已有a=3,b=5,当执行了表达式a=b,b=a之后,使a中的值为5,b中的值为310。
以下叙述中正确的是()。
A。
在C程序中无论是整数还是实数,只要在允许的范围内部都能准确无误的表示B。
C程序由主函数组成C.C程序由若干函数组成D.C程序中只允许包含一个函数11.VC6。
0中int类型变量所占字节数是( )。
A.1B.2C.3D.412。
合法的八进制数是().A.0B.028C.—077D.01.013。
C语言程序设计习题与参考答案
习题与参考答案第1章 C语言程序设计基础思考与练习一、填空题1、C程序是由构成的,一个C程序中至少包含。
2、C程序的注释是由和所界定的文字信息组成的。
3、开发一个C程序要经过编辑、、和运行4个环节。
4、C语言中,头文件的扩展名是。
5、C语言源程序的扩展名;经过编译后,生成文件的后缀是;经过连接后,生成文件的扩展名是。
二、简答题1、简述C语言程序的运行步骤。
2、软件编程中的可读性原则一般包括那些内容?3、什么是算法?算法的特点有哪些?4、参照本章例题,编写一个C程序,输出以下内容。
**************************************************Hello,world!**************************************************5、写出算法。
已知圆的半径,求周长和面积。
第1章思考与练习参考答案一、填空题1、函数、一个主函数main()2、/*、*/3、编译、连接4、.h5、.c、.obj、.exe二、简答题1、简述C语言程序的运行步骤。
答:(1)编辑C程序源文件;(2)编译,将编辑好的源程序文件“*.c”,翻译成二进制目标代码文件“*.obj”;(3)连接,将编译生成的各个目标程序模块和系统或第三方提供的库函数“*.lib”连接在一起,生成可以脱离开发环境、直接在操作系统下运行的可执行文件“*.exe”;(4)运行程序。
如果运行出错,这说明程序处理的逻辑存在问题,需要再次回到编辑环境针对程序出现的逻辑错误进一步检查、修改源程序,重复编辑→编译→连接→运行的过程,直到取得预期结果为止。
2、软件编程中的可读性原则一般包括那些内容?答:1.编程规范概要(1)程序结构清晰,简单易懂,单个函数的程序行数不得超过100行。
(2)打算干什么,要简单,直截了当,代码精简,避免垃圾程序。
(3)尽量使用标准库函数和公共函数。
(4)不要随意定义全局变量,尽量使用局部变量。
C语言实验指导书1
main( ) {char c; printf("请输入一个小写字母\n") ; scanf("%c", &c); c=c-32; printf("这个小写字母对应的大写字母为%c\n",c) ; } 3.#include <stdio.h> main( ) {char c; printf("请输入一个字母\n") ; scanf("%c", &c); c=c+1; printf("这个字母的后继字母为%c\n",c) ; } 4.#include <stdio.h> main( ) { long int a,b,m ; printf("请输入两个整数\n") ; scanf("%ld,%ld", &a,&b); m=a*b;
实验一 CFree 集成开发环境和 C 程序实现
一、课时安排:2 课时 二、实验目的: 1.熟悉 CFree 集成开发环境 2.熟悉 C 程序的实现过程和方法
1)掌握编辑、编译、连接、运行程序的过程和方法 2)学会发现和解决常见的语法错误
三、实验环境: CFREE3.5
四、实验内容: 1.启动 CFree 集成开发环境,了解 CFree 集成开发环境的功能,熟悉菜单、
x+a%3*(int)(x+y)%2/4 的值。试编程上机验证。
您分析的表达式结果:
。
3.摄氏温度转化为摄氏温度的公式为 C=(F-32)*5/9,输入一个.华氏温度,
输出相应的摄氏温度,注意类型转化。
4.编写一个计算三角形周长的程序:输入三角形三边,程序输出计算结果。
C语言程序设计教程(第2版)课后习题答案(完美版)
C语言程序设计教程(第二版)课后习题答案第一章C语言程序设计概述-习题答案1算法的描述有哪些基本方法?答1、自然语言2、专用工具2 C语言程序的基本结构是怎样的?举一个例子说明。
答1、C语言程序由函数构成;2、“/*”与“*/”之间的内容构成C语言程序的注释部分;3、用预处理命令#include、#define可以包含有关文件或预定义信息;4、大小写字母在C语言中是有区别的;5、除main()函数和标准库函数外,用户也可以自己编写函数,应用程序一般由多个函数组成,这些函数指定实际所需要做的工作。
3 C语言有什么特点?答1、具有结构语言的特点,程序之间很容易实现段的共享;2、主要结构成分为函数,函数可以在程序中被定义完成独立的任务,独立地编译代码,以实现程序的模块化;3、运算符丰富,包含的范围很广;4、数据类型丰富;5、允许直接访问物理地址,即可直接对硬件进行损伤,实现汇编语言的大部分功能;6、限制不太严格,程序设计自由度大,这样使C语言能够减少对程序员的束缚;7、生成的目标代码质量,程序执行效率高,同时C语言编写的程序的可移植性好。
4★指出合法与不合法的标识符命名。
答AB12--√leed_3-- a*b2--× 8stu--× D.K.Jon--× EF3_3--√ PAS--√ if--× XYZ43K2 --√ AVE#XY--× _762--√ #_DT5--× C.D--×5说明下列Turbo C热键的功能。
答F2:源文件存盘 F10:调用主菜单 F4:程序运行到光标所在行(用于调试程序) Ctrl+F9:编译并链接成可执行文件 Alt+F5:将窗口切换到 DOS 下,查看程序运行结果。
6说明下列Turbo C方式下输入并运行下列程序,记录下运行结果。
①main(){printf("********************\n");printf(" welcome you \n");printf(" very good \n);printf("********************\n");}②main()printf("please input three numbers;");scanf("%d,%d,%d",&a,&b,&c); /*教材S是错误的*/t=max(max(a,b),c);printf("max number is:%d\n",t);}int max(int x, int y){ int z;if(x>y)z=x;else z=y;return(z);}答运行结果:********************welcome youvery good********************运行结果:please input three numbers;3,1,4 /*左侧下划线内容为键盘输入*/max number is:47一个C程序是由若干个函数构成的,其中有且只能有一个___函数。
C语言程序设计第1章C语言概述简明教程PPT课件
1.1.2 C语言的特点
1.语言简洁、紧凑,使用灵活、方便
C99标准规定,C语言共具有: 37个关键字 9种控制语句 程序书写自由 可以像汇编语言一样对位、字节和地址进行操作
C语言程序设计
第1章 C语言概述
5
1.1.2 C语言的特点
1.语言简洁、紧凑,使用灵活、方便 2.运算符丰富 C语言的运算符包含34个运算符。 C语言把括号、赋值、强制类型转换等都作为运算符处 理,从而使C的运算类型极其丰富,表达式类型多样化, 通过灵活使用各种运算符,可以实现在其它高级语言中 难以实现的运算。
8.C语言适用范围大,可移植性好
C语言程序设计 第1章 C语言概述 10
1.2 C语言的程序结构及书写规则 构成C语言程序,在屏幕上输出一行信息
定义主函数 main函数 开始标志 main函数 结束标志 #include<stdio.h> 编译预处理指令 void main() { printf("This is a C program.\n"); } 输出指定的一行信息 运行结果:
C语言程序设计
第1章 C语言概述
6
1.1.2 C语言的特点
1.语言简洁、紧凑,使用灵活、方便 2.运算符丰富 3.数据类型丰富 C语言的数据类型有:整型、实型、字 符型、数组类型、指针类型、结构体类 型、共用体类型等,并能通过现有数据 类型来构建各种复杂的数据类型。
C语言程序设计
第1章 C语言概述
掌握C语言的关键字;
掌握C程序的运行环境及运行步骤;
C语言程序设计
第1章 C语言概述
3
1.1 C语言的发展简史和特点
1.1.1 C语言的起源与发展 产生背景 发展过程 机器码是计算机语言的最终形式,汇编 语言是机器码的简单表示。 C标准 ─时间 :1972~1973 ─地点 :由于汇编语言程序依赖于计算机硬件来 美国贝尔实验室 标准 C: K&R 合著《The C Programming 实现,其可读性和可移植性很差;其它的高 ─目的 :UNIX Language 》 操作系统 级语言又难以实现对计算机硬件的直接操作 ─设计人 : Ken.Thompson 和Dennis.M.Ritchie ANSI C: 1983 年 (汇编语言的特点),于是人们期望有一种 87 ANSI C: 1987年 1990兼有汇编语言和高级语言特性的新语言出现。 年国际标准的ANSI C ISO在1995年对C90进行技术补充,推出C95标准 1999年,ANSI和ISO又通过了最新版本的C语言标 准和技术勘误文档,该标准被称为 C99 4 C语言程序设计 第1章 C语言概述
单元一808C语言流程控制
单元一(8)程序设计方法及流程图绘制一、流程图简介1.流程图的基本概念流程图:使用图形表示算法的思路是一种极好的方法,因为千言万语不如一张图。
流程图是流经一个系统的信息流、观点流或部件流的图形代表。
在企业中,流程图主要用来说明某一过程。
这种过程既可以是生产线上的工艺流程,也可以是完成一项任务必需的管理过程。
例如,一张流程图能够成为解释某个零件的制造工序,甚至组织决策制定程序的方式之一。
这些过程的各个阶段均用图形块表示,不同图形块之间以箭头相连,代表它们在系统内的流动方向。
下一步何去何从,要取决于上一步的结果,典型做法是用“是”或“否”的逻辑分支加以判断。
流程图是揭示和掌握封闭系统运动状况的有效方式。
作为诊断工具,它能够辅助决策制定,让管理者清楚地知道,问题可能出在什么地方,从而确定出可供选择的行动方案。
2.常用流程图的种类●数据流程图数据流程图表示求解某一问题的数据通路.同时规定了处理的主要阶段和所用的各种数据媒体。
数据流程图包括:⏹指明数据存在的数据符号,这些数据符号也可指明该数据所使用的媒体;⏹指明对数据执行的处理的处理符号,这些符号也可指明该处理所用到的机器功能;⏹指明几个处理和(或)数据媒体之间的数据流的流线符号;⏹便于读.写数据流程图的特殊符号.在处理符号的前后都应是数据符号.数据流程图以数据符号开始和结束(除9.4规定的特殊符号外)●程序流程图程序流程图表示程序中的操作顺序.程序流程图包括:⏹指明实际处理操作的处理符号,它包括根据逻辑条件确定要执行的路径的符号;⏹指明控制流的流线符号;⏹便于读.写程序流程图的特殊符号.●系统流程图系统流程图表示系统的操作控制和数据流.。
系统流程图包括:⏹指明数据存在的数据符号,这些数据符号也可指明该数据所使用的媒体;⏹定义要执行的逻辑路径以及指明对数据执行的操作的处理符号;⏹指明各处理和(或)数据媒体间数据流的流线符号;⏹便于读.写系统流程图的特殊符号.●程序网络图程序网络图表示程序激活路径和程序与相关数据的相互作用。
下列关于C语言用户标识符的叙述中正确的是______
C语言试题(一)1.下列关于C语言用户标识符的叙述中正确的是______。
A. 用户标识符中可以出现下划线和中划线(减号)B. 用户标识符中不可以出现中划线,但可以出现下划线C. 用户标识符中可以出现下划线,但不可以放在用户标识符的开头D. 用户标识符中可以出现下划线和数字,它们都可以放在用户标识符的开头2.以下叙述不正确的是A. 一个C源程序可由一个或多个函数组成B. 一个C源程序必须包含一个main函数C. C程序的基本组成单位是函数D. 在C程序中,注释说明只能位于一条语句的后面3.下面能正确进行字符串赋值操作的语句是A.char s[5]={"ABCDE"};B.chars[5]={'A','B','C','D','E'};C.char *s;s="ABCDEF";D.char *s; scanf("%s",s);4.下列叙述中正确的是A. C语言编译时不检查语法B. C语言的子程序有过程和函数两种C. C语言的函数可以嵌套定义D. C语言的函数可以嵌套调用5.以下程序输出的结果是____。
main( ){ float a=5,b=4,d;d=(a>b);printf("%d\n",d);}A. 1B. 0C. 1.0D. 46.设int a=5,b=6,表达式(b--==6)?++a:--b的值是___A. 5B. 6C. 7D. 47.设i,j,k均为int型变量,则执行完下面的for语句后,k的值为___ 。
for(i=0, j=10; j>=i; i++, j--)k=i+j;A. 10B. 20C. 8D. 08.能正确表示逻辑关系:"1≤a≤9"的C语言表达式是A. a>=1 or a<=9B. a>=1且a<=9C. a>=1&&a<=9D. 1≤a≤99.有以下程序main(){int i=0,k=2;if(++i)printf("%d",k);else printf("%d",-k)}执行后输出结果是A. -2B. 2C. 0D. 110.执行下面的程序段后,变量k中的值为int k=3, s[2];s[1]=k; k=s[1]*10;A.不定值 B.33 C.30 D.10 11.若有以下说明和语句,则输出结果是______。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
按功能划分模块
●可验证性比较好
●可重组性比较好
8.1 函数的定义和说明
8.1.1 函数的定义格式
合法标识符
存储类和数 据类型 函数头
方法1: int max (int x,int y) {……} 方法2: int max(x,y) int x,y; {……}
思考?
调用前: x: x: 调用: 7 y: y: 11
#include <stdio.h> void main() { int x=7,y=11; printf("x=%d,\ty=%d\n",x,y); printf("swapped:\n"); swap(x,y); printf("x=%d,\ty=%d\n",x,y); } swap(int a,int b) { int temp; temp=a; a=b; b=temp; }
被调函数出现在主调函数 之前,不必函数说明
8.2 函数的参数和返回值
8.2.1 函数的参数
形参与实参
形式参数:定义函数时函数名后面括号中的变量名
在未出现函数调用时,它们不占有内存单元,只有在被调用 时,通过调用函数的实参来给它初始化,它才有内存单元。 函数调用结束后,形参将被释放。
例A8.5 一个没有返回值的函数
#include<stdio.h> void printstart(int,char); void main() { int n; char ch; printf("Input n and ch: "); scanf("%d,%c",&n,&ch);
函数定义格式分为函数头和函数体两大部分 函数头中给出函数名、函数参数、函数参数的类型以及函数 的类型 函数体是由一对花括号括起的若干条语句
类型 包含存储类和数据类型
对函数来讲,存储类有两种 全局函数(外部函数) 存储类说明符为extern,也可省略 默认形式:即在定义的函数头前无存储类说明的都是全 局函数
例2 无参函数 void printstar( ) 例 1 有参函数 { int max(int x, int y) printf(“**********\n”); { } int z; 或 z=x>y?x:y; void printstar(void ) return(z); { } printf(“**********\n”); 在括号内函数参 或 数名前给出参数 } double max(x,y) 的数据类型 double x,y; 例 空函数 { dummy( ) double d; { } d=x>y?x:y; 函数体为空, return d; 最简单的函 函数名下行给出 } 数
{
int a,b,c; scanf("%d,%d",&a,&b); c=max(a,b); printf("max=%d\n",c); } int max(int x,int y) { int z; if(x>y)z=x;else z=y; return(z); }
模块化程序设计的基本概念
模块化程序设计是指把一个大程序按人们能理解的 大小规模进行分解。
参数的数据类型
函数定义举例
注意:函数不能嵌套定义,即在一个函数的函数体内 不得再定义其他函数,但可以在一个函数体内调用另 一个函数。
f1(int a,int b) { …… f2(int i,int j) { return i+j; } …… }
f1(int a,int b) { int k; …… k=f2(a,b); …… } f2(int i,int j) { return i+j; }
两种函数说明的方法
简单说明方法
<类型> <函数名>(); 类型:包含存储类和数据类型说明符,与定义时同 不必给出函数参数及其类型
例如: double max(); … double max(x,y) double x,y; { double d; d=x>y?x:y; return d; }
实际参数:调用函数时函数名后面括号中的表达式
实参具有确定的值,它可以是常量、变量或表达式。在函数 调用时,系统将实参值传递给形参,使得形参从此获得值。
例A8.2 比较两个数并输出大者
void main() { int a,b,c; scanf("%d,%d",&a,&b); c=max(a,b); (main 函数) c=max(a,b); 实参 printf("Max is %d",c); max(int x, int y)(max 函数) { int z; } z=x>y?x:y; int max(int x, int y) 形参 return(z); { int z; } z=x>y?x:y; return(z); }
第八章 函数
8.0 函数的引入 8.1 函数的定义和说明 8.2 函数的参数和返回值 8.3 函数的调用 8.4 指针作函数参数 8.5 系统函数 练习 8
8.0 函数的引入
C是模块化程序设计语言
C程序 源程序文件1 源程序文件i 源程序文件n
预编译命令
函数1
函数n
说明部分
执行部分
C程序结构
函数是C语言程序中最小的结构化模块。 一个函数将实现一种功能,函数是通过调用被执行的。 一个函数在调用之前,必须先定义,有时还要对已定义函数进行说 明。 一个C程序必须有且只能有一个名为main的主函数。 C程序的执行总是从main函数开始,在main中结束。
例 有返回值函数 int max(int x,int y) { int z; z=x>y?x:y; return(z); }
例 无返回值函数 void swap(int x,int y ) { int temp; temp=x; x=y; y=temp; }
例8.2 编程求出任意4个int型数中最大的一个,要求编写一个比 较两个int型数大小的函数。 #include<stdio.h> int max(int a,int b) { return a>b?a:b; } void main() { int x1,x2,x3,x4,m; scanf("%d%d%d%d",&x1,&x2,&x3,&x4); m=max(x1,x2); m=max(m,x3); m=max(m,x4); printf("max=%d\n",m); }
#include <stdio.h> float add(float x, float y) { float z; z=x+y; return(z); } void main() { float a,b,c; scanf("%f,%f",&a,&b); c=add(a,b); printf("sum is %f",c); }
在实际使用中,函数的形参和实参应注意如下事项
函数形参的值是在调用时由函数实参传递的,形参与实 参的个数相同,且类型一致。 允许函数的实参与形参同名,实参和形参是属于不同函 数的参数,它们相互毫无关系。 函数实参与函数形参的数据传递是单向的。在内存中实 参和形参各自占有不同单元。
例A8.3 交换两个数
简单说明
原型说明方法(VC++6.0要求)
<类型> <函数名>(<参数类型说明表>); 类型:包含存储类和数据类型说明符,与定义时同 参数类型说明表 给出所有参数的类型和名称,多个参数用逗号分隔
也可省略参数的名称,但要用参数类型表示出参数的个数
例如: 原型说明 double max(double x, double y); //double max(double , double ); … double max(x,y) 函数说明可以放在 调用函数的 double x,y; 函数体内, { 也可放在调用函数的函数体外, double d; 函数说明语句中还可以会有相 d=x>y?x:y; 同类型的变量,即可一起说明 return d; }
函数体
函数类型 函数名(形参类型说明表) { 说明部分 语句部分 } 全局函数(外部函数) 存储类说明符:extern 静态函数(内部函数) 存储类说明符:static
存储类: 确定函数 的作用域
数据类型:指该函数返回 值的类型,函数无返回值 时用void
函数定义格式的详细说明
函数头和函数体
不带有表达式的返回语句,只执行步骤(4),其他步骤将不执行。
在一个被调用的函数中,可以有一个或多个return语句,其中可以带表达 式,也可以不带表达式。 如果一个函数中无return语句,该函数体的右花括号具有return语句的作 用。 当函数中具有多个带表达式的返回语句时,最多只有一个返回语句其作用。 当函数的数据类型与return所带的表达式类型不一致时,将表达式的类型 转换为函数的数据类型 ,可能有精度的损失。
√
8.1.2 函数的说明方法
在程序中,要调用的函数先要定义好(编程者或系 统已定义),定义好的函数,在调用前通常还需要 说明。
作用:告诉编译系统函数类型、参数个数及类型,以便 检验
关于函数的说明分为如下3种情况:
必须说明的:函数定义在后,调用在前,并且函数定义时有数 据类型说明时 不必说明的:当函数在定义时省略了数据类型说明 可说明也可不说明的:函数定义在前,调用在后,通常不说明 函数定义与函数说明不同 函数说明位置:程序的数据说明部分(函数内或外)