C语言程序设计(第3版)第10章补充习题及答案

C语言程序设计(第3版)第10章补充习题及答案
C语言程序设计(第3版)第10章补充习题及答案

第10章补充习题及答案

习题

10.1 选择题

(1)当已存在一个abc.txt文件时,执行函数fopen("abc.txt","r+")的功能是。

A.打开abc.txt文件,清除原有的内容

B.打开abc.txt文件,只能写入新的内容

C.打开abc.txt文件,只能读取原有内容

D.打开abc.txt文件,可以读取和写入新的内容

(2)若用fopen()函数打开一个已存在的文本文件,保留该文件原有内容,且可以读,可以写。则文件打开模式是。

A."ab+" B."w+" C."a+" D."a"

(3)以下不能将文件指针重新移到文件开头位置的函数是。

A.rewind(fp); B.fseek(fp,0,SEEK_SET);

C.fseek(fp,-(long)ftell(fp),SEEK_CUR); D.fseek(fp,0,SEEK_END);

(4)若用fopen()函数打开一个新二进制文件,该文件可以读也可以写,则文件的打开模式为 B 。

A."ab+" B."wb+" C."rb+" D."a+"

(5)fread(buffer,64,2,fp)的功能是。

A.从fp所指的文件中读取64并存入buffer中

B.从fp所指的文件中读取64和2并存入buffer中

C.从fp所指的文件中读取64个字节的数据并存入buffer中

D.从fp所指的文件中读取2个64字节的数据并存入buffer中(6)以下程序的功能是。提示:PRN是打印设备。

#include

void main()

{ FILE * fp;

char chStr[]="HELLO";

fp=fopen("PRN","w");

fputs(chStr,fp);

fclose(fp);

}

A.在屏幕显示HELLO B.把HELLO存入PRN文件中

C.在打印机上打印出HELLO D.以上都不对

10.2 填空题

(1)使用fopen("abc","r+")打开文件时,若"abc"文件不存在,则返回。

(2)假设数组dArray声明为double dArray[4]={2.3,45.6,5.7,10.89},则将数值5.7写入文件指针fp所指向的文件的语句是。

(3)fputs("ShenZhen",fp)的功能是。其中,fp为一文件指针。

(4)文件指针fp指向一个打开的文件,则将文件位置指针移离文件开头64个字节处,应使用的函数调用语句是,将文件位置指针移离文件当前位置32个字节处,应使用的函数调用语句是,将文件位置指针移离距末尾文件128个字节处,应使用的函数调用语句是。

答案

10.1 选择题

(1)当已存在一个abc.txt文件时,执行函数fopen("abc.txt","r+")的功能是 D 。

A.打开abc.txt文件,清除原有的内容

B.打开abc.txt文件,只能写入新的内容

C.打开abc.txt文件,只能读取原有内容

D.打开abc.txt文件,可以读取和写入新的内容

(2)若用fopen()函数打开一个已存在的文本文件,保留该文件原有内容,且可以读,可以写。则文件打开模式是 C 。

A."ab+" B."w+" C."a+" D."a"

(3)以下不能将文件指针重新移到文件开头位置的函数是 D 。

A.rewind(fp); B.fseek(fp,0,SEEK_SET);

C.fseek(fp,-(long)ftell(fp),SEEK_CUR); D.fseek(fp,0,SEEK_END);

(4)若用fopen()函数打开一个新二进制文件,该文件可以读也可以写,则文件的打开模式为 B 。

A."ab+" B."wb+" C."rb+" D."a+"

(5)fread(buffer,64,2,fp)的功能是 D 。

A.从fp所指的文件中读取64并存入buffer中

B.从fp所指的文件中读取64和2并存入buffer中

C.从fp所指的文件中读取64个字节的数据并存入buffer中

D.从fp所指的文件中读取2个64字节的数据并存入buffer中(6)以下程序的功能是 D 。提示:PRN是打印设备。

#include

void main()

{ FILE * fp;

char chStr[]="HELLO";

fp=fopen("PRN","w");

fputs(chStr,fp);

fclose(fp);

}

A.在屏幕显示HELLO B.把HELLO存入PRN文件中

C.在打印机上打印出HELLO D.以上都不对

10.2 填空题

(1)使用fopen("abc","r+")打开文件时,若"abc"文件不存在,则返回NULL 。

(2)假设数组dArray声明为double dArray[4]={2.3,45.6,5.7,10.89},则将数值5.7写入文件指针fp所指向的文件的语句是fwrite(&disarray[2],4,1,fp);。

(3)fputs("ShenZhen",fp)的功能是将字符串”ShenZhen”写入文件指针fp所指向的文件。其中,fp为一文件指针。

(4)文件指针fp指向一个打开的文件,则将文件位置指针移离文件开头64个字节处,应使用的函数调用语句是fseek(fp,64,0) ,将文件位置指针移离文件当前位置32个字节处,应使用的函数调用语句是fseek(fp,32,1) ,将文件位置指针移离距末尾文件128个字节处,应使用的函数调用语句是fseek(fp,128,2) 。

C语言程序设计第三版谭浩强课后习题答案完整版

1.6 编写一个程序,输入a、b、c 三个值,输出其中最大值。 课后习题答案完整版 第一章 1.5 请参照本章例题,编写一个C 程序,输出以下信息: ************************** Very Good! ************************** 解:mian() {int a,b,c,max; printf( “请输入三个数a,b,c:\n ” ); scanf( “%d,%d,%”d ,&a,&b,&c); C语言程序设计第三版谭浩强 解: mian() {printf( ”); “************************** printf( “”X “ n” ); printf( “Very Good!” \ n”); printf( “”X “ n” ); printf( “************************** ); max=a; if(max

{char #include c1='a',c2='b',c3= 'c',c4= ' \101 ',c5= ' 116'; printf( “a%cb%c n”,c1,c2,c 3); printf( “ b%c %c” ,c4,c5); } 解: aa 口bb 口口口cc 口口口口口口abc A 口N 3.7 要将"China" 译成密码,译码规律是:用原来字母后面的第 4 个字母代替原来的字母.例如,字母"A" 后面第 4 个字母是"E" . "E"代替"A"。因此,"China"应译为"Glmre" 。请编一程序,用赋初值的方法使cl 、c2、c3、c4、c5 五个变量的值分别为, ' C'、h'、i '、n'、a'经过运算,使cl、c2、c3、c4、c5分别变为'G'、' I '、' m >' r'、’ e',并输出。main() { char c1=' C' ,c2=' h' ,c3= ' i ' ,c4= ' n' ,c 5=' a' ; c1+=4; c2+=4; c3+=4; c4+=4; c5+=4; printf(" 密码是%c%c%c%c%c\n",c1,c2,c3,c4,c5); } 运行结果: 密码是GImre 3.9 求下面算术表达式的值。 解: 1 )x+a%3*(int)(x+y)%2/4

第10章C语言程序设计习题答案

C 语言程序设计( Visual C++6.0 环境)》习题答案 习题十 、思考题 1.简述公有类型成员与私有类型成员的区别。 公有(public) 类型成员不但可以被类的成员函数访问,而且可以被外界访问,所以说公有类型定义了类的外部接口。 私有(private) 类型成员只能被类的成员函数访问,外界不能直接访问它。类的数据成员一般都应该声明为私有成员。 2.简述构造函数与析构函数的作用。 构造函数的作用就是在对象在被创建时利用特定的值构造对象,将对象初始化。析构函数的作用与构造函数正好相反,它是用来在对象被删除前进行一些清理工作。析构函数调用之后,对象被撤消了,相应的内存空间也将被释放。 3.简述什么是友元函数。 友元函数是在类定义中由关键字friend 修饰的非成员函数。友元函数可以是一个普通函数,也可以其它类中的一个成员函数,它不是本类的成员函数,但它可以访问本类的私有成员和保护成员。 4.简述公有继承、私有继承和保护继承三种继承方式的区别。 ⑴、当类的继承方式为公有(public 继承)时,基类的公有(public )成员和保 护( protected )成员仍然成为派生类的公有成员和保护成员,而基类的私有成员不能被派生类访问。 ⑵、当类的继承方式为保护( protected )继承时,基类的公有(public )成员和 保护( protected )成员将成为派生类的保护成员,而基类的私有成员不能被派生类访问。 ⑶、当类的继承方式为私有(private )继承时,基类的公有(public )成员和保护(protected )成员将成为派生类的私有成员,而基类的私有成员不能被派生类访问。5.定义一个圆柱体类,其属性为圆柱体的底面半径和高,能计算出圆柱体的体积。 #include class cylinder { public: cylinder(float r,float h) { radius=r; height=h; } float Volume(); private: float radius; float height;

《C语言程序设计》第三章 C语言基础 课堂笔记

页眉内容 《C语言程序设计》第三章C语言基础课堂笔记 §3.1 基本字符集、关键字和标识符 一.基本字符集 字符是C的基本元素,C语言允许使用的基本字符集: 1.26个大写字母A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 2.26个小写子母a b c d e f g h I j k l m n o p q r s t u v w x y z 3.10个阿拉伯数字0 1 2 3 4 5 6 7 8 9 4.其他字符!" # % & ' ( ) * + , - . / : < = > ? [ \ ] ^ _ { | } ~ 5.空格字符以及制表符合换行符等控制字符 二.关键字(P375,附录II) C中具有固定意义的字符串。 (1) C中的关键字共32个,必须用小写字母 (2) 关键字不可用于变量名、函数名等。 auto break case char const continue default do double else enum extern float for goto if int long register return short signed sizeof static struct switch typedef union unsigned void volatile while 三.标识符 标识符用于命名变量、类型、函数和其他各种用户定义的对象,是由字母、下划线和数字三种字符组成。 (1) 第一个字符必须为字母或下划线 (2) C对标识符的长度规定为任意,Turbo C区分32 个字符 (3) C区分大小写 (4) 不允许关键字作为标识符 §3.2 C数据类型

c语言程序设计第二章课后参考答案

第二章:C程序的基本结构 一、单项选择题 1、以下不是C语言的特点的是________。 A)语言的表达能力强B)语言定义严格 C)数据结构系统化 D)控制流程结构化 2、TC编译系统提供了对C程序的编辑、编译、连接和运行环境,以下可以不在该环境下进行的环节是________。 A)编辑和编译 B)编译和连接 C)连接和运行D)编辑和运行 3、以下不是二进制代码文件是________。 A)标准库文件 B)目标文件C)源程序文件 D)可执行文件 4、下面个选项组中,均属于C语言关键字的一组是________。 A)auto,enum,include B)switch,typedef,continue C)signed,union,scanf D)if,struct,type 5、下面四组字符串中,都可以用作C语言标识符的是________。 A)print B)I \am C)signed D)if _maf scanf 3mf ty_pr mx_2d mx_ a.f x1# aMb6 AMB A&B 5XY 6、以下不属于流程控制语句的是_________。 A)表达式语句 B)选择语句 C)循环语句 D)转移语句 7、下面描述中,不正确的是________。 A)C语言的函数体由一系列语句和注释组成。 B)注释内容不能单独写在一行上。 C)C程序的函数说明部分包括对函数名、函数类型、形式参数等的定义和说明。 D)scanf和printf是标准库函数而不是输入和输出语句。 8、下面描述中,正确的是________。 A)主函数的花括号必须有,而子函数中的花括号是可有可无的。 B)一个C程序行只能写一个语句。 C)主函数是程序启动时的唯一入口。 D)函数体包含了函数说明部分。 二、填空题 1、一个完整的C程序至少要有一个________函数。(主函数) 2、标准库函数不是C语言本身的组成部分,它是由__________提供的功能函数。(编译系统) 3、C语言是以________为基本单位、整个程序由________组成。(函数函数) 4、常用的标准库函数有数学函数、字符函数和字符串函数、动态分配函数、随机函数和________函数等几个大类。(输入输出) 5、标准库函数存放在________文件中。(函数库) 6、目标程序文件的扩展名是________。(.obj) 7、程序连接过程是将目标程序、________或其它目标程序连接装配成可执行文件。(库函数) 8、因为源程序是________类型文件,所以用具有文本编辑功能的任何编辑软件程序完成编辑。(文本)

C语言程序设计第11.12章测试答案

第一题、单项选择题(每题1分,5道题共5分) 1、设有定义“int a=3,b,*p=&a;”,则下列语句中,使b不为3的语句是: A、b=*&a; B、b=*p; C、b=a; D、b=*a; 2、在C语言中,关于文件存取方式,: A、只能顺序存取 B、只能随机存取(也称直接存取) C、可以顺序存取,也可以随机存取 D、只能从文件开头存取 3、fp 是文件指针,str 是一个字符串,n是一个整数,向文件中输出数据的正确格式是: A、fprintf("%s,%d\n",str,n,fp); B、fprintf(fp,"%s,%d\n",str,n); C、fprintf("fp %s,%d\n",str,n); D、fprintf("%s,%d fp\n",str,n); 4、若有int a=3,*pa; float f=4.5,*pf=&f;,则下列表述中,错误的是 ( )。 A、pa=&a B、pa=&f C、pf=&f D、*pf=a+f 5、若有int a[10],*p=a;,则( )。 A、p++可以使p指向下一个字节 B、p+=2 相当于p=sizeof(a)/10 C、p++可以使p指向下一个元素,即a[1]的首地址 D、p+=2可以使p指向下一个元素,即a[1]的首地址 第二题、多项选择题(每题2分,5道题共10分) 1、C语言中的文件分类是: A、文本文件和数据文件 B、文本文件和二进制文件 C、数据文件和二进制文件 D、顺序文件和随机文件 2、以读写方式打开一个二进制文件fil2,fopen函数的正确的调用方式是: A、FILE *FP; FP=fopen("fil2","r"); B、FILE *FP; FP=fopen("fil2","rb");

C语言程序设计第三版习题库答案

C 语言程序设计(第三版)习题库 1、设圆半径r=,圆柱高h=3,求圆周长、圆面积、圆球表面积、圆球体积、圆柱体积。用scanf 输入数据,输出计算结果,输出时要求文字说明,取小数点后两位数字。请编程序。 #include<> main(){ floatr,h,C1,Sa,Sb,Va,Vb; scanf(__”%f ”__,&r); scanf(”%d ”,__&h _);; C1=2**r; Sa=*r*r; Sb=4*Sa; Va=4**r*r*r/3; Vb=Sa*h; printf(___”Cl=%.2fSa=%.2fSb=%.2fVa=%.2fVb=%.2f ”,Cl,Sa,Sb,Va,Vb ); } 2、输入一个华氏温度,要求输出摄氏温度。公式为c=5(F-32)/9 输出要求有文字说明,取位2小数。 #include<> main(){ floatF,c; scanf("%f",&F); ____c=5*(F-32)/9______; printf("c=%.2f",c); } 3、有一函数:?? ???≥-<≤-<=10113101121x x x x x x y 写一程序,输入x 值,输出y 值。 #include<> 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"" 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"" 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"" 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);

C语言-第三章编程题

完成以下编程题,将程序源代码粘贴提交。 P.56 2.编写程序,输入圆的半径,计算并输出其周长和面积。常量pi的值取3.14159,周长和面积取小数点后2位数字。 #include #define pi 3.14159 void main() { float r,s,a; printf("请输入圆的半径"); scanf("%f",&r); s=pi*r*r; a=2*pi*r; printf("s=%.2f,a=%.2f\n",s,a); } 3.编写程序,把整数华氏温度f转换为浮点型的摄氏温度c。转换公式为c=5/9(f-32),输出要有文字说明,取2位小数。 #include void main() { int f; float c; printf("请输入华氏温度"); scanf("%d",&f);

c=5.0/9*(f-32); printf("摄氏温度为%.2f\n",c); } 4.编写程序,输入三角形的三边的边长,求三角形面积。三角形面积的计算公式为:p=(a+b+c)/2 ,S=sqrt(p(p-a)(p-b)(p-c))。 #include #include void main() { float a,b,c,S,p; printf("请输入三角形三边长\n"); scanf("%f%f%f",&a,&b,&c); p=(a+b+c)/2.0; S=sqrt(p*(p-a)*(p-b)*(p-c)); printf("S=%f\n",S); } 6.编写程序,输入一个小写字母,输出其对应的大写字母。 #include void main() { char c; printf("请输入一个小写字母\n"); scanf("%c",&c);

《C语言程序设计》第10章在线测试

A B C D 、下列描述中,合法的数组定义是: A B C D 程序的执行是从 A B C D 、下列语句中,正确的语句定义是 A B C D int a[3][4]; A B C D

2、若形参是简单变量形式,则对应的实参可以是: A、常量 B、数组名 C、简单变量 D、数组元素 3、下列描述中,合法的数组定义是( )。 A、char a[]={“String”}; B、char a[5]={0,1,2,3,4};这组题特BT,答案明明是D,却ABCD全要选才算正确,让我测了N回! C、char a[]=“String”; D、char a[]={0,1,2,3,4,5}; 4、下列描述中,不能正确给字符数组str定义和赋值的是( )。 A、char str[]={"abcdefghijklmn "}; B、char str[10];str={" abcdefghijklmn "}; C、char str[10]={"abcdefghijklmn"}; D、char str[10];strcpy(str,"abcdefghijklmn"); 5、如果想使下列数组a中5个元素的值全部为0,可以写成( )。 A、int a[5]={0:5}; B、int a[5]={0}; C、int a[5]={5:0}; D、int a[5]={0,0,0,0,0}; E、int a[5]=0; 第三题、判断题(每题1分,5道题共5分) 1、若有func((v1,v2),(v3,v4,v5),v6)调用,说明函数func有6个形参。 正确错误 2、在说明一个结构体变量时系统分配给它的存储空间是该结构体中所有成员所需存储空间的总和。

二级c语言程序设计习题及解答ch1-3

12)计算机能直接执行的程序是(B )。 A)源程序B)目标程序C)汇编程序D)可执行程序 13)以下叙述中正确的是( D ) A)程序设计的任务就是编写程序代码并上机调试 B)程序设计的任务就是确定所用数据结构 C)程序设计的任务就是确定所用算法 D)以上三种说法都不完整 例年真题: #include main() { Int a; A=5; /*给A变量赋值5 A+=3; 再赋值后再加3*/ Printf(“%d”,a); } (11)以下叙述中正确的是( C )。 A)C 程序的基本组成单位是语句B)C 程序中的每一行只能写一条语句 C)简单C 语句必须以分号结束D)C 语句必须在一行内写完 (11)以下叙述中正确的是( C ) A)C程序中的注释只能出现在程序的开始位置和语句的后面 B)C程序书写格式严格,要求一行内只能写一个语句 C)C程序书写格式自由,一个语句可以写在多行上 D)用C语言编写的程序只能放在一个程序文件中 (12)以下选项中,能用作用户标识符的是( C ) A)void B)8_8 C)_0_ D)unsigned 【解析】A:关键字不可以B:不以数字开头C:正确D:关键字 (13)以下选项中合法的标识符是( C ) A)1-1 B)1—1C)-11D)1— 【解析】A:不以数字开头,出现非法字符-而不是_ B:不以数字开头,非法字符C:正确D: 不以数字开头,出现非法字符 (14)以下选项中不合法的标识符是( C ) A)print B)FOR C)&a D)_00 【解析】C:出现非法字符& (15)以下选项中,能用作数据常量的是( D ) A)o115 B)0118 C)1.5e1.5D)115L

C语言详解(第五版)第二章程序设计项目答案

C语言详解(第五版)程序设计项目答案第二章 1.编写一个程序,以每英里0.35的费率计算一个售货员的里程偿还金。程序中要求与用户进行如下方式的交互。 #include #include int main(void) {float mile_1,mile_2,miles,consume,payment; printf("MILEAGE REIMBURSEMENT CALCULATOR\n"); printf("Enter begainning odometer reading>\n"); scanf("%f",&mile_1); printf("Enter endding odometer reading>\n"); scanf("%f",&mile_2); printf("Enter consume per mile>\n"); scanf("%f",&consume); miles=mile_2-mile_1; payment=miles*consume; printf("You traveled%f miles.At%f per mile,your reimbursement is%f",miles,consume,payment); system("pause"); return(0); } 2.编写一个程序,用于辅助设计水力发电大坝。提示用户输入大坝高度,以及水流量。如果水由重力所做的功有90%转化为电能,测算会有多少M瓦的功率。 #include #include int main(void) {double density,weight,gravitational_acceleration, efficiency,height,water_flow_rate,work,electricity_power; printf("Please type in the density of water>"); scanf("%lf",&density); printf("Please type in the gravitational_acceleration>"); scanf("%lf",&gravitational_acceleration); printf("Please type in the height of the water>"); scanf("%lf",&height); printf("Please type in the efficiency of the transformation\nfrom water to electricity>"); scanf("%lf",&efficiency); printf("Please type in the water_flow_rate>"); scanf("%lf",&water_flow_rate); weight=density*water_flow_rate; work=weight*height*gravitational_acceleration; electricity_power=work*efficiency/1000000; printf("The electric energy production is%fW",electricity_power); system("pause"); return0; }

C语言程序设计教程第三版(李凤霞)习题答案

教材习题答案 第一章 习题 一、单项选择题 1. C 2. B 3. B 4. C 5. D 6. A 7. C 8. A 二、填空题 1. 判断条件 2. 面向过程编程 3. 结构化 4. 程序 5. 面向对象的程序设计语言 6. 基本功能操作、控制结构 7. 有穷性 8. 直到型循环结构 9. 算法 10.可读性 11.模块化 12.对问题的分解和模块的划分

习题 一、单项选择题 1. B 2. D 3. C 4. B 5. A 6. A 7. B 8.C 二、填空题 1. 主 2. C编译系统 3. 函数、函数 4. 输入输出 5. 头 6. .OBJ 7. 库函数 8. 文本 第三章 习题 一、单项选择题 1. D 2. B 3. A

5. C 6. D 7. D 8. B 9. B 10.C 11.A 12.D 13.C 14.C 15.C 16.A 17.C 18.C 19.C 20.D 21.A 22.D 23.D 24.D,A 25.D 26.A 27.B 二、填空题 1. 补码 2. 308 10 - ±

~)308 10 ,15 —6 2. 308 10 - ± (~)308 10 ,15

6 3. 逻辑 4. 单目,自右向左 5. 函数调用 6. a 或 b ( 题目有错 , 小括号后面的 c<=98 改成( c>=97&&c<=98 )就可以得到所给的答案了) 7.

8. 65 , 89 第四章 习题 一、单项选择题 1. D 2. C 3. D 4. A 5. D 6. B 7. A 8. C 9. B 10.B 二、填空题 1. 一

第10章C语言程序设计习题答案

《C语言程序设计(Visual C++6.0环境)》习题答案 习题十 一、思考题 1.简述公有类型成员与私有类型成员的区别。 公有(public)类型成员不但可以被类的成员函数访问,而且可以被外界访问,所以说公有类型定义了类的外部接口。 私有(private)类型成员只能被类的成员函数访问,外界不能直接访问它。类的数据成员一般都应该声明为私有成员。 2.简述构造函数与析构函数的作用。 构造函数的作用就是在对象在被创建时利用特定的值构造对象,将对象初始化。析构函数的作用与构造函数正好相反,它是用来在对象被删除前进行一些清理工作。析构函数调用之后,对象被撤消了,相应的内存空间也将被释放。 3.简述什么是友元函数。 友元函数是在类定义中由关键字friend修饰的非成员函数。友元函数可以是一个普通函数,也可以其它类中的一个成员函数,它不是本类的成员函数,但它可以访问本类的私有成员和保护成员。 4.简述公有继承、私有继承和保护继承三种继承方式的区别。 ⑴、当类的继承方式为公有(public继承)时,基类的公有(public)成员和保 护(protected)成员仍然成为派生类的公有成员和保护成员,而基类的私有成员不能被派生类访问。 ⑵、当类的继承方式为保护(protected)继承时,基类的公有(public)成员和 保护(protected)成员将成为派生类的保护成员,而基类的私有成员不能被派生类访问。 ⑶、当类的继承方式为私有(private)继承时,基类的公有(public)成员和保 护(protected)成员将成为派生类的私有成员,而基类的私有成员不能被派生类访问。 5.定义一个圆柱体类,其属性为圆柱体的底面半径和高,能计算出圆柱体的体积。 #include class cylinder { public: cylinder(float r,float h) { radius=r; height=h; } float Volume(); private: float radius; float height;

c语言程序设计第三章课后答案

/*习题3 2*/ #include main() { int rate; double salary,tax; printf("enter salary:\n"); scanf("%lf",&salary); if(salary<=850) rate=0; else if(salary>850&&salary<=1350) rate=5; else if(salary>1350&&salary<=2850) rate=10; else if(salary>2850&&salary<=5350) rate=15; else rate=20; tax=rate*(salary-850)/100; printf("tax=%.2lf\n",tax); } /*习题3 4*/ #include main() { int n,i,A=0,B=0,C=0,D=0,E=0; double grade,sum=0,ave; printf("enter n:\n"); scanf("%d",&n); printf("enter n ge grade\n"); for(i=1;i<=n;i++) { scanf("%lf",&grade); sum=sum+grade; if(grade>=90&&grade<=100) A=A+1; else if(grade>=80&&grade<=89) B=B+1; else if(grade>=70&&grade<=79) C=C+1; else if(grade>=60&&grade<=69) D=D+1; else E=E+1;

C语言程序设计学习指导(第2版) 1-6

第一章概述 一、选择 1.C 2.B 3.C 4.D 5.D 6.A 7.B 8.C 9.A 10.B 11.C 12.D 13.B 14.B 第二章数据类型 一、选择 1.D 2.A 3.C 4.D 5.A 6.B 7.A 8.B 9.A 10.D 11.B 12.C 13.C 14.D 15.C 16.B 17.D 18.A 19.C 20.B 21.B 22.D 23.A 24.B 25.B 26.B 27.C 第三章运算符和表达式 一、选择 1.A 2.D 3.D 4.D 5.D 6.A 7.C 8.C 9.B 10.B 11.C 12.C 13.A 14.A 15.A 16.A 17.B 18.C 19.C 20.D 21.A 22.A 23.C 24.C 25.A 26.B 27.D 28.A 29.B 30.C 31.D 32.D 33.D 34.B 35.A 36.A 37.B 38.C 39.D 40.B 41.B 42.C 43.B 第四章输入和输出 一、选择 1.C 2.D 3.C 4.C 5.C 6.B 7.B 8.C 9.D 10.D 11.D 12.D 13.B 14.A 15.B 16.B 二、编程 1.double fun(double m) { float n; n=(5.0/9.0)*(m-32); return n; } 2. char fun(char c) {c=c+32; return c;} 3.double fun(int m) { double y=0; y=sin(m)*10; return(y); } 4.float fun ( float h ) {return (long)( h * 100 + 0.5 )/ 100.0;}

C语言程序设计第三版谭浩强课后习题答案完整版

C语言程序设计第三版谭浩强 课后习题答案完整版 第一章 1.5请参照本章例题,编写一个C程序,输出以下信息:************************** V ery Good! ************************** 解: mian() {printf(“**************************”); printf(“\n”); printf(“V ery Good!\n”); printf(“\n”); printf(“**************************”); } 1.6 编写一个程序,输入a、b、c三个值,输出其中最大值。解: mian() {int a,b,c,max; printf(“请输入三个数a,b,c:\n”); scanf(“%d,%d,%d”,&a,&b,&c); max=a; if(max main() { char c1=?C?,c2=?h?,c3=?i?,c4=?n?,c5=?a?; c1+=4; c2+=4; c3+=4; c4+=4; c5+=4; printf("密码是%c%c%c%c%c\n",c1,c2,c3,c4,c5); } 运行结果: 密码是Glmre 3.9求下面算术表达式的值。 (1)x+a%3*(int)(x+y)%2/4 设x=2.5,a=7,y=4.7 (2)(float)(a+b)/2+(int)x%(int)y 设a=2,b=3,x=3.5,y=2.5 (1)2.5 (2)3.5 3.10写出程序运行的结果。 main() {int i,j,m,n; i=8; j=10; m=++i; n=j++; printf(“%d,%d,%d,%d”,i,j,m,n); } 解: 9,11,9,10 3.12 写出下面表达式运算后a的值,设原来a=12。设a和n都已定义为整型变量。 (1)a+=a (2)a-=2 (3)a*=2+3 (4)a/=a+a (5)a%=(n%=2),n的值等于5 (6)a+=a-=a*=a 解: (1) 24 (2) 10 (3) 60 (4) 0 (5) 0 (6) 0 第四章 4.4若a=3,b=4,c=5,x=1.2,y=2.4,z=-3.6,u=51274,n=128765,c1=’a’,c2=’b’。想得到以下输出格式和结果,请写出程序(包括定义变量类型和设计输出)。 a=_3_ _b=_4_ _c=_5 x=1.200000,y=2.400000,z=-3.600000 x+y=_3.600_ _y+z=-1.20_ _z+x=-2.40 c1=ˊaˊ_or_97(ASCII)

c语言详解(第五版)第三章程序设计项目答案

c语言详解(第五版)第三章程序设计项目答案 1.假设买一辆车首付为500dollar。请计算月供。 #include #include #include int main(void) {double capital_sum,monthly_interest_rate,initial_payment,temp,payment,terms; printf("Please enter the price of the car>>"); scanf("%lf",&capital_sum); printf("Please enter the monthly interest rate>>"); scanf("%lf",&monthly_interest_rate); printf("Please enter the terms duration of loan>>"); scanf("%lf",&terms); printf("Please enter the initial_payment>>"); scanf("%lf",&initial_payment); temp=1+monthly_interest_rate; payment=(capital_sum-500)*monthly_interest_rate/(1-pow(temp,-terms)); printf("The monthly contribution is %.2f dollars.",payment); printf("The capital sum is %.2f dollars.",capital_sum); system("pause"); return 0; } 2.编写两个函数,一个显示三角形,另一个显示矩形。 #include #include #include void draw_triangle(void); void draw_rectangle(void); int main(void) {draw_triangle(); draw_rectangle(); system("pause"); return 0; } /*Draw an triangle.*/ void draw_triangle(void) { printf(" /\\ \n"); printf(" / \\ \n"); printf(" / \\ \n"); printf(" / \\ \n"); printf(" -------- \n"); } void draw_rectangle(void)

C语言程序设计(第3版)第3章习题参考答案

习题三参考答案 (1)从键盘输入一个年份值,判断是否闰年。设iYear为某一年份,iYear为闰年的条件为:iYear可以被4整除且不可以被100整除,或者iYear可以被400整除。 #include "Stdio.h" #include "Conio.h" int main(void) { int iYear; printf("please input the year:"); scanf("%d",&iYear); if(iYear%400==0||(iYear%4==0&&iYear%100!=0)) printf("%d is leap",iYear); else printf("%d is not leap",iYear); getch(); return 0; } (2)从键盘输入三个整数,按由小到大的顺序输出。 #include "stdio.h" main() {int i,j,k,max; scanf("%d%d%d",&i,&j,&k); max=i>j?i:j; max=max>k?max:k; printf("max=%d",max); getch(); } (3)假设星期一至星期五每工作一小时的工资是20元,星期六和星期日每工作一小时的工资是平时的3倍,其中工资的4.5%是税金。试编一程序从键盘输入星期序号(1,2,3,4,5,6,7,分别表示星期一至星期天)和工作小时数,计算该日的工资及应交税金。 #include "Stdio.h" #include "Conio.h" int main(void) { int iWeek,iHours ; float fSalary,fTaxes;

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语言是结构化、________的程序设计语言。 18. 由于计算机硬件不能直接识别高级语言中的语句,因此,必须经过“_______程序”,将用高级语言编写的程序翻译成计算机硬件所能识别的机器语言程序方可执行。 19. 用高级语言编写的程序需翻译成计算机硬件所能识别的机器语言程序方可执行。所以 说,用高级语言进行程序设计,其编程效率高,方便易用,但_______没有低级语言高。 20.

《C语言程序设计》第10章

《C语言程序设计》第10章在线测试 A B D C 函数体 A B C D int a[][3] A B C D int a[3][4]; A B C D int a[][3]的第1维的长度为 A B C D

D、printf("%s",c[3].name[2]); 2、下列描述中,合法的数组定义是: A、char a[5]={’A’,’B’,’C’,’D’,’E’}; B、char a[]={’A’,’B’,’C’,’D’,’E’}; C、char a[]="ABCDE"; D、char a[]={65,66,67,68,69,70}; 3、若形参是简单变量形式,则对应的实参可以是: A、常量 B、数组名 C、简单变量 D、数组元素 4、下列关于对二维数组a进行初始化的操作中,正确的写法是( )。 A、int a[][3]={3,2,1,1,2,3}; B、int a[][]={{3,2,1},{1,2,3}}; C、int a[][3]={{3,2,1},{1,2,3}}; D、int a[2][3]={{3,2,1},{1,2,3}}; 5、在定义int a[2][3];之后,对数组a的引用错误的是( )。 A、a(1,2) B、a[1,3] C、a[2][0] D、a[1>2][!1] 第三题、判断题(每题1分,5道题共5分) 1、在说明一个结构体变量时系统分配给它的存储空间是该结构体中所有成员所需存储空间的总和。 正确错误 2、数组必须先定义后使用。

正确错误、可以在定义数组时对数组元素赋予初值。 正确错误、可以在定义数组时只给一部分数组元素赋值。 正确错误、对数组元素赋予的初值可以依次放在一对圆括号内。 正确错误

《C语言程序设计》基本知识点

《C语言程序设计》教学基本知识点 第一章C语言基本知识 1.C源程序的框架 尽管各个C源程序的功能千变万化,但框架是不变的,主要有:编译预处理、主函数()、函数n()等,主函数的位置不一定在最前面,可以在程序的中部或后面,主函数的名字固定为main。 2.C语言源程序的书写规则: (1)C源程序是由一个主函数和若干个其它函数组成的。 (2)函数名后必须有小括号,函数体放在大括号内。 (3)C程序必须用小写字母书写。 (4)每句的末尾加分号。 (5)可以一行多句。 (6)可以一句多行。 (7)可以在程序的任何位置加注释。 3.语句种类 语句是程序的基本成分,程序的执行就是通过一条条语句的执行而得以实现的,根据表现形式及功能的不同,C语言的基本语句可以分为五大类。 (1)流程控制语句 流程控制语句的功能是控制程序的走向,程序的流程有三种基本结构:顺序结构、分支结构和循环结构,任何复杂的程序都可以由这三种基本结构复合而成。其中后两种结构要用特定的流程控制语句实现。 (2)表达式语句 表达式语句的形式是:表达式;,即表达式后跟一分号“;”,分号是语句结束符,是一个语句必不可少的成分。表达式和表达式语句的区别在于表达式代表的是一个数值,而表达式语句则代表一种动作。最常见的表达式语句是赋值语句。 (3)函数调用语句 函数调用语句实际上也是一种表达式语句,形式为:在一次函数调用的小括号后面加上一个分号。 (4)空语句 空语句的形式就是一个分号,它不代表任何动作,常常作为一个意义转折点使用。 (5)复合语句 复合语句从形式上看是多个语句的组合,但在语法意义上它只相当于一个语句,在任何单一语句存在的地方都可以是复合语句。注意复合语句中最后一个语句末尾的分号不能少。复合语句右大括号后面没有分号。 4.运算符 用来表示数据各种操作的符号称为运算符。运算符实际上代表了一种类型数据的运算规则。不同的运算符具有不同的运算规则,其操作的数据类型必须符合该运算符的要求,运算结果的数据类型也是固定的。 根据参加操作的数据个数多少,可以将C语言的运算符分为单目运算符,双目运算符和三目运算符(三目运算符只有条件运算符一个)。 根据运算对象和运算结果的数据类型可分为算术运算符、关系运算符、逻辑运算符等。 5.表达式 表达式是由常量、变量、函数,通过运算符连接起来而形成的一个算式。一个常量,一个变量或一个函数都可以看成是一个表达式。 表达式的种类有: 算术表达式、关系表达式、逻辑表达式、赋值表达式、字位表达式、强制类型转换表达式、逗号

相关文档
最新文档