C程序-计算机程序设计学习指导与练习答案(贾伯琪编 中国科学技术大学出版社)

合集下载

【免费下载】c语言程序设计学习指导答案

【免费下载】c语言程序设计学习指导答案

二、填空题
1. 3
3. m=1
三、完善程序题
m=3
1. b<=c b<=a&&b<=c printf("%d,%d,%d\n",c,a,b)
2. x>=1&&#43;3
5. scanf("%ld",&i)
一、选择题
k==2
y=3*x-11
ch=ch+3-26
k==3
b2+200000*0.05
2. ch>=’A’&&ch<=’Z’
3. z=-2*x/Pi
4. temp=a
5. x%3==0||x%7==0
6. (int)(score/10)
一、选择题
"no\n"
x==0
b=temp
f=1
ch+32
z=2*x/Pi
default:grade='E'
2. -4 4. 10 20 0
1.C 2.A 3.D 4.B 5.B 6.A 7.C 8.D 9.A 10.B
5.A 6.B 7.B 8.A 9.B 10.D 15.C 16.D 17.A 18.B 19.C 20.D 25.C 26.D 27.A 28.D
2. #define 符号常量名 常量 4. 字母 数字 下划线 字母 下划线 6. 4.0 8.(1)5 8.(3)3 10. 65535 0 1111111111111111 0000000000000000 12. ! && || 14. 1 0
1. ; 3. 1245 4.(2)i=-200, j=2500

C程序的设计课后复习题参考答案

C程序的设计课后复习题参考答案

高等院校计算机基础教育规划教材《C++程序设计》课后习题参考答案习题1 参考答案一、选择题1.C 2 .C二、填空题1.面向过程,面向对象2.编辑,编译,,运行3.机器语言,汇编语言,高级语言。

4.数据,操作处理方法5. '、0'三、简答题1.简述三代计算机语言各自的特点。

解答如下:机器语言是用二进制指令表示的、计算机能够直接识别和执行的语言。

由于计算机可以直接执行机器语言,执行速度快是机器语言的主要优点。

在计算机发展初期,软件工程师使用机器语言来编写程序。

在计算机指令集不断增大的情况下,机器语言不易记忆,不便于学习,软件开发难度大、周期长、易出错,软件维护工作量大等缺点更加突出,机器语言已不能胜任编程工作。

汇编语言是用一些易读的助记符表示机器指令操作码,如ADD CALL等。

使用汇编语言编写程序提高了编程速度,也比较容易编写出质量较高的程序,检查、维护也比较容易。

但汇编语言抽象层次低,程序员编写程序工作量大。

高级语言屏蔽了机器语言的细节,提高了语言抽象层次。

程序中采用了具有一定含义的数据命令和容易理解的执行语句。

高级语言不受计算机种类的限制,通用性强,易于理解、学习和掌握。

使用高级语言减少了大量的编程工作量。

目前使用比较广泛的高级语言有Basic、Fortran、Pascal和C 语言。

C++是一种功能强大、应用更广泛的高级语言。

2•简述C语言程序实现的过程。

解答如下:用C++语言编写好一个完整的程序后,第一步要上机运行编辑程序,输入源程序;第二步是对源程序进行编译生成目标代码文件,目标代码文件名与源程序文件名相同,而扩展名改为obj;第三步运行连接程序,将目标代码文件与C++的库文件相连接,生成可执行文件,可执行文件名与源程序文件名相同,而扩展名为exe ;第四步运行可执行文件,实现程序所具有的功能。

习题2 参考答案、选择题1. C 2 . B 3 . B 4 . D、填空题1.?:2.4 字节,1 字节,4 字节,8 字节3.154.6,605.26,256.256,227.3.96E2 ,3.96E5三、简答题1.C++基本数据类型有哪几种?程序设计如下:C++的基本数据类型有bool (布尔型,又称逻辑型)、char (字符型)、int (整型)、float (浮点型,表示实数)和double (双精度浮点型,简称双精度型)等5 种。

CC++程序设计课后答案(2021年整理精品文档)

CC++程序设计课后答案(2021年整理精品文档)

CC++程序设计课后答案编辑整理:尊敬的读者朋友们:这里是精品文档编辑中心,本文档内容是由我和我的同事精心编辑整理后发布的,发布之前我们对文中内容进行仔细校对,但是难免会有疏漏的地方,但是任然希望(CC++程序设计课后答案)的内容能够给您的工作和学习带来便利。

同时也真诚的希望收到您的建议和反馈,这将是我们进步的源泉,前进的动力。

本文可编辑可修改,如果觉得对您有帮助请收藏以便随时查阅,最后祝您生活愉快业绩进步,以下为CC++程序设计课后答案的全部内容。

第一章一、选择题1.C/C++规定,在一个源程序中,main()函数的位置( )。

CA。

必须在最开始 B。

必须在最后C.可以任意D.必须在系统调用的库函数的后面2。

以下()是C/C++合法的标识符。

AA.char2B.@xC.intD.7Bw3。

下面的程序,对于输入:2 9 15,输出的结果是( )。

B#include"iostream.h"void main(){int a;float b;cout<<”input a,b:”<<end l;cin>〉a>>b;cout<<”a+b="〈<a+b<<endl;}A。

2 B.11 C。

26 D。

244。

在Visual C++中,打开一个项目只需要打开对应的项目工作区文件即可,项目工作区文件的扩展名为()。

CA.objB.dspC.dsw D。

cpp5.下面关于C语言与C++关系的说法中,( )是正确的。

DA。

C语言是C++的子集 B.C++对C语言进行了改进C。

C++和C语言都是面向对象的 D.C++继承了C语言的众多优点6。

设置一个断点的方法是将光标移到需要设置断点的行上,然后按( )键。

AA.F9 B。

F10 C。

F11 D。

F127.下面关于编译预处理命令的说法中,正确的是( )。

CA。

一条文件包含命令能包含多个文件B.文件包含命令不可以嵌套使用C。

c语言程序设计学习指导第二版,C语言程序设计学习指导(第2版)

c语言程序设计学习指导第二版,C语言程序设计学习指导(第2版)

c语⾔程序设计学习指导第⼆版,C语⾔程序设计学习指导(第2版)本书是《C语⾔程序设计案例教程(第2版)》的配套教材,从实践的⾓度分析和验证各知识点,快速提⾼读者的程序设计能⼒。

全书共分为4部分,内容包括:C程序运⾏环境(Microsoft Visual C6.0和C-Free 5.0)、C程序设计上机实验项⽬(17个)、C程序典型题解(40个)及C语⾔程序设计选择题集(525个)等。

本书内容丰富,实⽤性强,具有启发性,是学习C语⾔的参考必备⽤书。

第1章 VisualC 6.0实验环境 (1)1.1VC 6.0概述 (1)1.2VC 6.0的启动 (1)1.3 建⽴新⼯程 (1)1.4 编译并连接程序 (7)1.5 程序的错误修改 (8)1.6 单步调试 (8)1.7 ⽣成可执⾏⽂件并发布 (10)第2章 C-Free5.0实验环境 (11)2.1 C-Free5.0概述 (11)2.2 C-Free5.0的启动 (11)2.3 建⽴新⼯程 (11)2.4 编译并运⾏程序 (14)2.5 程序的错误修改 (15)2.6 程序调试 (15)2.7 ⽣成可执⾏⽂件并发布 (16)第3章 实验项⽬ (17)实验项⽬1 运⾏⼀个C程序 (17)实验项⽬2 数据类型与表达式 (19)实验项⽬3 顺序结构程序设计⽅法 (26)实验项⽬4 分⽀结构程序设计⽅法 (29)实验项⽬5 循环结构程序设计⽅法 (35)实验项⽬6 分⽀与循环结构综合程序设计 (42)实验项⽬7 ⼀维数组程序设计 (47)实验项⽬8 ⼆维数组程序设计 (50)实验项⽬9 字符数组程序设计 (55)实验项⽬10 数组与指针程序设计 (59)实验项⽬11 函数的定义和调⽤ (63)实验项⽬12 函数的嵌套调⽤与递归函数 (67)实验项⽬13 变量的作⽤域与存储属性 (73)实验项⽬14 指针与函数 (77)实验项⽬15 结构体应⽤ (82)实验项⽬16 ⽂件及应⽤ (87)实验项⽬17 C语⾔程序综合应⽤ (91)第4章C程序典型题解 (93)第5章 C语⾔程序设计选择题集 (157)习题1 数据类型及表达式、关系运算、逻辑运算与条件运算 (157)习题2 选择结构 (167)习题3 循环结构 (176)习题4 数组 (186)习题5 函数和编译预处理 (202)习题6 指针 (224)习题7 结构体 (236)习题8 共⽤体 (241)习题9 链表 (242)习题10 位运算 (244)习题11 ⽂件 (246)参考⽂献 (251)内容简介:本书是《C语⾔程序设计案例教程(第2版)》的配套教材,从实践的⾓度分析和验证各知识点,快速提⾼读者的程序设计能⼒。

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

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

C语言程序设计学习指导(第2版)第一章概述本章主要介绍了选择题的答题技巧,包括注意题干中的关键词、排除干扰选项等。

同时给出了一些例题进行讲解,帮助读者更好地掌握答题技巧。

第二章数据类型本章介绍了C语言中的数据类型,包括基本数据类型和派生数据类型。

其中基本数据类型包括整型、字符型、浮点型等,派生数据类型包括数组、结构体、共用体等。

同时还介绍了数据类型转换的方法和注意事项。

第三章运算符和表达式本章介绍了C语言中的运算符和表达式,包括算术运算符、关系运算符、逻辑运算符等。

同时还介绍了表达式的求值规则和优先级,以及一些常见的表达式问题的解决方法。

第四章输入和输出本章介绍了C语言中的输入输出函数,包括printf、scanf、puts、gets等。

同时还介绍了格式化输出和输入的方法,以及一些常见的输入输出问题的解决方法。

第五章选择结构本章介绍了C语言中的选择结构,包括if语句、switch语句等。

同时还介绍了选择结构的嵌套和注意事项,以及一些常见的选择结构问题的解决方法。

请注意,此篇文章中并没有错误或明显有问题的段落。

文章改写如下:1.计算1到n的倒数之和。

原文中的代码:float sum = 0.0;for (int i = 1.i <= n。

i++) {sum += 1.0 / i;printf("sum=%f\n"。

sum);改写后的代码:double sum = 0.0;for (int i = 1.i <= n。

i++) {sum += 1.0 / i;printf("The sum of the reciprocals from 1 to %d is %.2f.\n"。

n。

sum);2.计算1到n的平方和。

原文中的代码:float s2 = 0.0;for (int i = 1.i <= n。

i++) {s2 += i * i;printf("s2=%f\n"。

【精品】C语言程序设计实验与习题指导课后程序设计答案

【精品】C语言程序设计实验与习题指导课后程序设计答案

P18(1)#include<stdio.h>int main(void){int celsius,fahr;fahr=150;celsius=5*fahr/9-5*32/9;printf("fahr=%d,celsius=%d\n",fahr,celsius);return 0;}(2)#include<stdio.h>int main(void){int celsius,fahr;celsius=26;fahr=9*celsius/5+32;printf("celsius=%d,fahr=%d\n",celsius,fahr);return 0;}(3)#include<stdio.h>int main(void){int average,math,eng,comp;math=87;eng=72;comp=93;average=(math+eng+comp)/3;printf("math=%d,eng=%d,comp=%d,average=%d\n",math,eng,comp, average);return 0;}(4)#include<stdio.h>int main(void){int n,a,b,c;n=152;c=n%10;b=(n/10)%10;a=n/100;printf("整数%d的个位数字是%d,十位数字是%d,百位数字是%d\n",n,c,b,a);return 0;}P27(1)#include<stdio.h>#include<math.h>int main(void){int celsius,fahr;printf("Enter celsius:");scanf("%d",&celsius);fahr=9*celsius/5+32;printf("fahr%d\n",fahr);return 0;}(2)#include<stdio.h>#include<math.h>int main(void){int money,year;double rate,interest;printf("Enter money,year,rate:");scanf("%d%d%lf",&money,&year,&rate);interest=money*pow(1+rate,year)-money;printf("interest=%.2f\n",interest);return 0;}(3)#include<stdio.h>#include<math.h>int main(void){double x,y;printf("Enter x:");scanf("%lf",&x);if(x<0){y=pow(x+1,2)+2*x+1/x;}else{y=sqrt(x);}printf("y=f(%f)=%.2f\n",x,y);return 0;}(4)#include<stdio.h>int main(void){int x,y;printf("Enter num1:");scanf("%d",&x);printf("Enter num2:");scanf("%d",&y);printf("%d+%d=%d\n",x,y,x+y);printf("%d-%d=%d\n",x,y,x-y);printf("%d*%d=%d\n",x,y,x*y);printf("%d/%d=%d\n",x,y,x/y);printf("%d%%%d=%d\n",x,y,x%y);return 0;}10的阶乘#include<stdio.h>int main(void){int i,n,product;printf("Enter n:");scanf("%d",&n);product=1;for(i=1;i<=n;i++){product=product*i;}printf("product=%d\n",product);return 0;}。

c 程序设计(第2版)课后习题答案

c 程序设计(第2版)课后习题答案

c 程序设计(第2版)课后习题答案C 程序设计(第2版)是一本经典的计算机编程教材,被广泛应用于计算机科学与技术专业的教学中。

该教材的每一章都附带了一系列的习题,这些习题在巩固学生对于 C 语言的理解和掌握方面起到了重要的作用。

然而,很多学生在自学或者课后复习的过程中常常会遇到习题解答的困扰。

因此,本文将为大家提供一些 C 程序设计(第2版)课后习题的答案,希望能够对大家的学习有所帮助。

第一章:C 程序设计概述1.1 习题解答:1) C 程序设计的特点包括高效性、可移植性、灵活性和可扩展性。

2) C 程序设计的基本结构包括预处理指令、函数定义和主函数。

3) C 程序设计的编译过程包括预处理、编译、汇编和链接四个阶段。

第二章:C 语言基础2.1 习题解答:1) C 语言中的标识符是指用于标识变量、函数、数组等各种程序实体的名称。

标识符的命名规则包括:只能由字母、数字和下划线组成,且不能以数字开头;不能使用 C 语言的关键字作为标识符;标识符区分大小写。

2) C 语言中的常量是指在程序中直接使用的固定值,包括整型常量、实型常量、字符常量和字符串常量。

3) C 语言中的变量是指用于存储数据的内存空间,包括整型变量、实型变量、字符变量和字符串变量。

第三章:运算符和表达式3.1 习题解答:1) C 语言中的算术运算符包括加法运算符(+)、减法运算符(-)、乘法运算符(*)、除法运算符(/)和取模运算符(%)等。

2) C 语言中的关系运算符包括大于运算符(>)、小于运算符(<)、等于运算符(==)、不等于运算符(!=)等。

3) C 语言中的逻辑运算符包括与运算符(&&)、或运算符(||)和非运算符(!)等。

第四章:选择结构4.1 习题解答:1) C 语言中的 if 语句用于实现单一条件的判断,格式为:if (条件表达式) {语句块}。

2) C 语言中的 if-else 语句用于实现两个条件的判断,格式为:if (条件表达式) {语句块1} else {语句块2}。

c程序设计第三版习题参考解答(全)

c程序设计第三版习题参考解答(全)
max=a;
if (max<b)
max=b;
if (max<c)
max=c;
printf(“最大数为:%d”,max);
}

2.1
解:由一些基本结构顺序组成的算法称为结构化的算法。由于在基本结构之间不存在非顺序的跳转,流程的转移只存在于一个基本结构范围之内,因而提高了算法的质量。
2.7
解:结构化程序就是用高级语言表示的结构化算法。它的主要内容包括“自顶向下,逐步细化”的分析方法和“模块化设计”的解决方法,以及“结构化编码”的实现方法。
设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
main ( )
{ inti, j, m, n;
i=8;
j=10;
m=++i;
n=j++;
printf (“%d, %d, %d, %d”, i, j, m, n);
此题可以这样考虑:带符号数在计算机中采用补码表示,正数的补码与原码相同,负数的补码=模+真值。若使用16位存储,模为216=65536。-617的补码为65536+(-167)=64919=(176627)8=(FD97)16
(5)(-111)10=(177621)8=(FF91)16
(6)(2483)10=(4663)8=(9B3)16
scanf(“%f %e”,&x , &y);
scanf(“%c %c”,&c1 , &c2);
}
解:

C程序设计第1-7章部分习题参考答案

C程序设计第1-7章部分习题参考答案

课后习题解答(第1-7章)第一章1_1.1_1_2判断正误:即使两个整型数据未超出该数据的取值范围,它们的和也可能会超出该数据取值范围。

正确。

1_1_4判断正误:一个C程序可以有多个函数,其中主函数必须在程序的最开头。

错误。

其它函数如果要在主函数中使用的话,必须先在主函数之前定义或者声明。

1_1_6判断正误:若有定义“float x=1.3;”,则表达式(int)x的值为1,因此可以说x中存放的值就是1。

错误。

(int)x表达式的值与x的值是不一样的,前者是对x取整后的数值,而取整运算对x 自身的值不会产生影响。

1_1_8判断正误:若有命令行“#define N 1000”,则N++是不合法的表达式。

正确。

N为符号常量,不能对符号常量进行修改。

1_1_10 C程序是由函数构成的,一个C程序必须有一个主函数。

1_1_12以下变量中不合法的是②、④、⑥,合法的是①、③、⑤、⑦、⑧。

①name ②double ③Int ④if ⑤for_1 ⑥2k ⑦a12345678 ⑧_a1_1_14下面程序段的输出结果是1,1.000000int a; double b;a=b=123/100%2;printf("%d,%f", a, b);1_1_16 a*a*a*b*b/(c-d)1_1_20假设圆柱体的底面半径为r(=2.5),高为h(=3.5),请按下面给定的步骤编写求体积(体积=底面积X高)的程序。

①定义变量r,h,v(存放体积值),注意变量的数据类型。

②给变量r,h赋值。

③计算体积,并将结果存放在v中。

④输出r,h,v的值。

程序如下:#include <stdio.h>#define PI 3.1415926main(){float r, h, v;r=2.5;h=3.5;v=PI*r*r*h;printf("r=%f, h=%f, v=%f\n", r, h, v);}1_1_22编写输出以下图形的程序。

c程序答案

c程序答案

《程序设计技术》(第三版)习题参考答案习题1一、单项选择题DADDDB CCD(注:第7小题无正确选项,正确答案为-12)二、填空题①主②main③x=x*(x+b)④普通、格式、分隔和转义⑤指定输出数据格式⑥void main()⑦"how are you!"三、阅读程序题1.9,11,9,102.2,-1,-13.aa bb cc abc4.2,25.575767.5864000,-789.12402367.5864000, -7.89e+00267,86, -789.12,67.5864000, -789.124023, 67.5864000, -789.1240236.758640e+001, -7.89e+002A,65,101,411234567,4553207,12d68765535,177777,ffff,65535COMPUTER, COM.6. a + c = 102a + c = ff + m = 17.950000a + m = 17.650000c + f = 102.300000double = 1746.150019四、程序设计题//xt010401.cpp#include <stdio.h>#define PI 3.1415926void main(){double r,h;printf("请输入半径r和高h:");scanf("%lf,%lf",&r,&h);printf("圆半径: %lf\n",2*PI*r);printf("圆面积:%lf\n",PI*r*r);printf("圆球表面积:%lf\n",4*PI*r*r);printf("圆球体积:%lf\n",4.0/3*PI*r*r);printf("圆柱体积:%lf\n",PI*r*r*h);}//xt010402.cpp#include <stdio.h>void main(){int c;printf("Input a character:");c=getchar();printf("%c\t%d\n",c,c);}//xt010403.cpp#include <stdio.h>void main(){int x,y,h=30,f=90;x=(4*h-f)/2;y=(f-2*h)/2;printf("鸡:%d, 兔:%d\n",x,y);}//xt010404.cpp#include <stdio.h>#include <math.h>void main(){double a,b,c,s,area;printf("请输入三角形的三条边长(注意三条边长应能够构成三角形):");scanf("%lf,%lf,%lf",&a,&b,&c);s=(a+b+c)/2;area=sqrt(s*(s-a)*(s-b)*(s-c));printf("三角形的面积是: %lf\n",area);}//xt010405.cpp#include <stdio.h>void main(){double f,c;printf("请输入华氏温度:");scanf("%lf",&f);c=5.0/9.0*(f-32);printf("与华氏温度%.2lf对应的摄氏温度是:%.2lf\n",f,c); }//xt010406.cpp#include <stdio.h>void main(){char c1,c2,c3,c4,c5;printf("请输入需加密的字符串(5个字符):");}c1=getchar();c2=getchar();c3=getchar();c4=getchar();c5=getchar();printf("加密后的字符串是:");putchar(c1+5);putchar(c2+5);putchar(c3+5);putchar(c4+5);putchar(c5+5);printf("\n");习题2一、单项选择题CBADC CCAAC二、填空题①a+b==0&&a*b!=0②逻辑与③逻辑或④continue⑤(c=getchar())!='\n'⑥%c三、阅读程序题答案:答案:该程序所完成功能的函数关系为: )0( 1 ) 0( 0 ) 0( 1 xx x x sign 答案:答案:答案:答案:四、程序设计题/* xt020401.cpp */#include <stdio.h>void main(){int num;printf("**** Input num: ****\n");scanf("%d",&num);if(num%3==0&&num%5==0&&num%7==0)printf("** YES ! **\n");elseprintf("** NO ! **\n");}/* xt020402.cpp */#include <stdio.h>void main(){int h=0;float x,y,x0=2,y0=2,d1,d2,d3,d4;printf("*** input: x,y ***\n");scanf("%f,%f",&x,&y);d1=(x-x0)*(x-x0)+(y-y0)*(y-y0); /*点(x,y)到各中心点的距离*/d2=(x-x0)*(x-x0)+(y+y0)*(y+y0);d3=(x+x0)*(x+x0)+(y-y0)*(y-y0);d4=(x+x0)*(x+x0)+(y+y0)*(y+y0);if(d1<=1||d2<=1||d3<=1||d4<=1)h=15;printf("x=%f, y=%f\n",x,y);printf("h=%d\n",h);}/* xt020403.cpp */#include <stdio.h>void main(){int i,j,k,n;for(n=100;n<=999;n++){i=n/100;j=n/10-i*10;k=n%10;if(n==i*i*i+j*j*j+k*k*k)printf("%d\n",n);}}/* xt020404.cpp */#include <stdio.h>#include <math.h>#define EPS 1.0e-6void main(){float e=1,t;long int j=1,n=1;do{j=j*n;t=1.0/j;e=e+t;n++;}while ( fabs(t) >= EPS );printf("e=%f\n",e);}/* xt020405.cpp */#include <stdio.h>void main(){int num=1;do{if((num+3)%5==0&&(num-3)%6==0) break;num+=1;}while(1);printf("num=%d\n",num);}/* xt020406.cpp */#include <stdio.h>void main(){ int num;for(num=1;num<=99;num++)if(num*num%10==num||num*num%100==num) printf("%4d,%5d",num,num*num);printf("\n");}/* xt020407.cpp */#include <stdio.h>void main(){ int n,k=1;float s=0;for(n=1;n<=10000;n++){ s=s+1.0/(2.0*n-1)*k;k=-k;}printf("PI=%f\n",4*s);}/* xt020408.cpp */#include <stdio.h>void main(){ int n10,n5,n2,n1;for(n10=1;n10<=9;n10++)for(n5=1;n5<=17;n5++)for(n2=1;n2<=37;n2++){ n1=40-n10-n5-n2;if(n1>=1&&n10*10+n5*5+n2*2+n1==100)printf("n10=%d,n5=%d,n2=%d,n1=%d\n",n10,n5,n2,n1); }}/* xt020409.cpp */#include <stdio.h>void main(){float sn=100,hn=sn/2;int n=2;while(n<=10){ sn+=2*hn;hn=hn/2;n++;}printf("%f,%f\n",sn,hn);}/* xt020410.cpp */#include <stdio.h>void main(){ int day,x1,x2=1;for(day=9;day>0;day--){ x1=(x2+1)*2;x2=x1;}printf("Total=%d\n",x1);}习题3单项选择题BBCAC DDABB填空题①9②0③10④x⑤一致⑥n/2⑦sum+a⑧sum/n三、阅读程序题1. 2 4 62. s=303. 5 9 45 8 424. lanuge5.8 1 63 5 74 9 26. max=10,row=2,colum=1四、程序设计题//xt030401.cpp#include <stdio.h>#include <stdlib.h>#include <time.h>voidmain(void){int num[10],a;;srand((unsigned)time(NULL));printf("请输入一个2位数,试试您是否能中奖:"); scanf("%d",&a);for(int i=0;i<10;i++){ num[i] = (rand()+10)%100;if(a == num[i])printf("猜中一个数%d 下标是%d",a,i);}}printf("-------------------------\n");for( i=0; i<10; i++)printf("%d\t",num[i]);}//xt030402.cpp#include <stdio.h>#include <stdlib.h>#include <time.h>voidmain(void){ int a[5]={23,45,60,67,88},x,i,j,yes=0;for(i=0;i<5;i++)printf("%d,",a[i]);printf("\nwhich number do you want to delete?\n"); scanf("%d",&x);for(i=0;i<5;i++)if(a[i]==x){ yes=1;for(j=i;j<5;j++) a[j]=a[j+1];}if(yes==1) for(i=0;i<4;i++)printf("%d,",a[i]); elseprintf("The number you want doesn't exist"); }//xt030403.cpp#include <stdio.h>#include <stdlib.h>#include <time.h>#define SIZE 1000void main(){int x,a[SIZE],size,sum=0;srand((unsigned)time(NULL));while((size=rand()%1000)>200);printf("\nRandomiz list size(<1000):%d",size); printf("\nAuto make a %d size of list:\n",size); for(x=0;x<size;x++){ a[x]=rand()%1000 ;printf("%d\t",a[x]);sum+=arr[x];}printf("\nThe sum of array elements is %d", sum); }//xt030404.cpp#include <stdio.h>#include <stdlib.h>#include <time.h>#define SIZE 100void main(){int x,a[SIZE],max=0,min=1000,b1,b2;srand((unsigned)time(NULL));printf("\nAuto make a %d size of list:\n",size);for(x=0;x<SIZE;x++){ a[x]=rand()%1000 ;printf("%d\t",a[x]);}for(x=0;x<SIZE;x++){if(a[x]>max) max=a[x],b1=x;if(a[x]<min) min=a[x],b2=x;}printf("\nThe array elements max= %din %d\nmin=%din %d\n",max,b1,min,b2);}//xt030405.cpp#include <stdio.h>#define SIZE 100#define KIND 5void main(){int x,y,len,total[KIND+1];inta[]={1,1,1,1,2,2,2,3,5,5,5,5,1,1,3,3,3,3,3,2,2,2,5,5,5 };len=sizeof(a)/sizeof(a[0]);for(x=0;x<KIND+1;x++){ total[x]=0 ;}for(y=1;y<KIND+1;y++){for(x=0;x<len;x++){if (a[x]==y) total[y]++;}}printf("\nThe list kinded:\n");for(x=0;x<len;x++) printf(" %d ",a[x]);printf("\nThe total result: ");for(x=1;x<KIND+1;x++) printf(" %d-%d, ",x,total[x]); }//xt030406.cpp#define N 26#include <stdio.h>int main(void){ static int a[N+1],b[N+1];int i,j,s,m,p;scanf("%d%d",&s,&m);for (i=1;i<=N;i++) a[i]=i;i=s-1;j=0;p=0;while (p<N){ i++;bh:if (i>N) i-=N;if(a[i]==0) {i++;goto bh;}j++;if (j%m==0){ p++;b[p]=a[i];a[i]=0;j=0; }}for (i=1;i<=N;i++) printf("%3d",b[i]);printf("\n");}//xt030407.cpp#include <stdio.h>voidmain(){inti,j,s=0,ave,v[3];staticinta[5][3]={{80,7 5,92},{61,65,71},{59,63,70},{85,87,90},{76,77,85}};for (i=0;i<3;i++){for(j=0;j<5;j++){s=s+a[j][i];v[i]=s/5;s= 0;}ave=(v[0]+v[1]+v[2])/3;printf("math:%d\nclanguag:%d \ndbase:%d\n",v[0],v[1],v[2]);printf("totalave:%d\n",a vel);}//xt030408.cpp#include <stdio.h>void main(){int i,j,a[10][10], b[]={1,2,3,4,5,6,7,8,9,10};for(i=0;i<10;i++) a[0][i]=b[i];for(i=1;i<10;i++)for(j=0;j<10;j++)if(i>j) a[i][j]=a[j][i];else a[i][j]=a[i-1][j-1];for(i=0;i<10;i++){ for(j=0;j<10;j++)printf("%d\t",a[i][j]);printf("\n");}}//xt030409.cpp#include <stdio.h>#include <stdlib.h>#include <time.h>#define SIZE 5000#define N 7void main(){int x,y,a[N]={0,0,0,0,0,0,0},s;srand((unsigned)time(NULL));x=0;while(x<SIZE){ s=rand()%6+1;if(s>0&&s<7){ a[s]++;x++;}}printf("\nRandomiz 1-6 list \n");for(x=1;x<N;x++){s=a[x]*0.07;for(y=0;y<s;y++)printf("%d",x);printf("\t%d\t%2.1f%%\n",a[x],(float)a[x]*100/SIZE); }}//xt030410.cpp#include <stdio.h>#define N 20int main(){int x,s,tag;char a[N];printf("Please input numbers and it's length less then %d:",N-1);s=1;while(s<N){ scanf("%c",&a[s]);if(a[s]==10)break;s++;}} printf("\nThe numbers is :\n");for(x=1;x<s;x++){printf("%c",a[x]);}tag=0;for(x=1;x<s/2;x++){if(a[x]!=a[s-x]){ tag=1;break;}}if(tag==0)printf("\nThe number is palindrome!"); else printf("\nThe number isn't palindrome!");习题4一、单项选择题ABACA BCBDD二、填空题①主②main函数③main函数④个数⑤类型⑥顺序⑦函数类型⑧float(float x,int n)⑨f(x,n)⑩x*f(x,n-1)三、阅读程序题1.x=5,y=252. y=170.03. s1=3.14,s2=5.144. 50025. 5,36. 3.00,1.00,0.25四、程序设计题//xt040401.cpp#include <stdio.h>void main(){void dis(int n);int n;scanf("%d",&n);dis(n);}void dis(int n){int k0,k,sum,i;k0=1;do{k=k0;sum=0;for(i=1;i<=n;i++){sum=sum+k;k=k+2;}if(sum==n*n*n)break;elsek0=k0+2;}while(1);for(i=1;i<=n;i++){printf("%5d",k0);k0=k0+2;}}//xt040402.cpp#include <stdio.h>void main( ){float h(int n,float x);int n;float x;scanf("%d,%f",&n,&x);printf("h(%d,%f)=%f",n,x,h(n,x));}float h(int n,float x){if(n==0)return 1;else if(n==1)return(2*x);elsereturn(2*x*h(n-1,x)-2*(n-1)*h(n-2,x)); }//xt040403.cpp#include <stdio.h>void main(){int f(int n);int i;for(i=2;i<=1000;i++)if(f(i))printf("%6d",i);}int f(int n){if(n==n*n%10||n==n*n%100||n==n*n%1000)return 1;elsereturn 0;}//xt040404.cpp#include <stdio.h>void main( ){long fun(int a,int n);int k,n;scanf("%d,%d",&k,&n);printf("%ld\n",fun(k,n));}long fun(int a, int n){int j;long s=0,t=0;for(j=1;j<=n;j++){t=t*10+a;s=s+t;}return s;}//xt040405.cpp#include <math.h>#include <stdio.h>void main(){int num,middle1,middle2;int detect(int d);printf("Please input a positive even number(>=6):"); scanf("%d",&num);for(middle1=2;middle1<=num/2;middle1+=1)if(detect(middle1)){middle2=num-middle1;if(detect(middle2)){printf("%d=%d+%d\n",num,middle1,middle2);break;}}}int detect(int d){int i;for(i=2;i<=sqrt(d*1.0);i++) if(d%i==0)return(0);return 1;}//xt040406.cpp#include <stdio.h>void main(){float f(float x,int n); float x,an;int n;scanf("%f,%d",&x,&n);an=f(x,n);printf("an=%f\n",an);}float f(float x,int n){if(n==0)return 1;elsereturn x/n*f(x,n-1);}//xt040407.cpp#include <stdio.h>void main(){float f(float x,int n); float x,fn;int n;scanf("%f,%d",&x,&n);fn=f(x,n);printf("an=%f\n",fn);}float f(float x,int n){if(n==0)return 1;else if(n>0)return x*f(x,n-1);elsereturn f(x,n+1)/x;}//xt040408.cpp#include <stdio.h>void main( ){void f(int n);int n;scanf("%d",&n);while(n<=0)scanf("%d",&n);f(n);}void f(int n){if(n/10==0)putchar(n%10+'0');else{putchar(n%10+'0');f(n/10);}}//xt040409.cpp#include <stdio.h>void main( ){void f(int n);int n;scanf("%d",&n);while(n<=0)scanf("%d",&n);f(n);}void f(int n){if(n/10)f(n/10);putchar(n%10+'0');}//xt040410.cpp#include <stdio.h>void main(){int f(int n);int n;for(n=2;n<=1000;n++)if(f(n))printf("%d is a 完数\n",n); }int f(int n){int i,s=0;for(i=1;i<n;i++)}if(n%i==0)s=s+i;if(s==n)return 1;elsereturn 0;习题5一、单项选择题AACCADDACB二、填空题①“char *func1()”定义一个返回字符指针值的函数,“char(*func2)()”定义一个指向函数的指针②一个返回值为单精度类型指针的函数名;③(*p)(a,b,c)④findmin⑤(*f)(x,y,z);三、阅读程序题1.1202.5,4,33.44.155.1126.49111131315//xt050401.cpp#include "stdio.h"void main(){void f(int,int,int);int a,b,c;void (*p)(int,int,int);scanf("%d%d%d",&a,&b,&c);p=f;(*p)(a,b,c);}void f(int x,int y,int z){ int t;if(x<y)t=x,x=y,y=t;if(y<z)t=z,z=y,y=t;if(x<y)t=x,x=y,y=t;printf("%5d%5d%5d\n",x,y,z);}//xt050402.cpp#include <stdio.h>int max(int a,int b){if(a>b)return a;elsereturn b;}void main(){int max(int a,int b);int(*pmax)(int,int);int x,y,z;pmax=max;printf("input two numbers:\n"); scanf("%d%d",&x,&y);z=(*pmax)(x,y);printf("maxmum=%d",z);}//xt050403.cpp#include "stdio.h"void gcd(int x,int y){int temp;while(y!=0){temp=x%y;x=y;y=temp;}printf("The greatest common divisor is:%d\n",x);}void lcm(int x,int y){int temp,m,n;m=x;n=y;while(x!=0){temp=y%x;y=x;x=temp;}printf("The lowest common multipleis:%d\n",m*n/y);}void main(){int a,b;void (*p)(int,int);printf("Please input a and b:");scanf("%d%d",&a,&b);if(a>b)p=gcd;elsep=lcm;(*p)(a,b);}//xt050404.cpp#include "stdio.h"void main(){int x,y;intsum(int,int),diff(int,int),product(int,i nt);void mma(int x,int y,int s(int,int)); printf("Please input x,y:\n");scanf("%d%d",&x,&y);printf("The sum of x and y is:");mma(x,y,sum);printf("The difference of xa nd y is:"); mma(x,y,diff);printf("The product of x and y is:"); mma(x,y,product);}int sum(intx,int y){return x+y;}int diff(int x,int y){ return x-y;}int product(int x,int y){return x*y;}void mma(int a,int b,int s(int,int)) {int w;w=s(a,b);printf("%d\n",w);}//xt050405.cpp#include <stdio.h>double func1(int x),func2(int y);void main(){double (*fptr)(int); /*定义指向函数的指针变量fptr*/int n;printf("input a number:");scanf("%d",&n);if(n>1){if(n%2==0)fptr=func1;/*n为偶数,指针变量ptr指向函数func1()*/elsefptr=func2; /*n为奇数,指针变量ptr指向函数func2()*/printf("value=%9.4f\n",(*fptr)(n));}elseprintf("error!\n");}double func1(int x){int k;double value;value=1.0;for(k=2;k<=x;k=k+2)value=value+1/(double)k;return value;}double func2(int y){int k;double value;value=1.0;for(k=3;k<=y;k=k+2)value=value+1/(double)k;return value;}//xt050406.cpp#include "stdio.h"#include "math.h"void main(){int n,yinzi(int),(*f)(int);f=yinzi;printf("input a number n:");scanf("%d",&n);if((*f)(n)==2)printf("\n%d is a prime number.",n);elseprintf("\n%d is not a prime number.",n); }int yinzi(int x){int i,k=0,q=(int)sqrt(x);for(i=1;i<=q;i++)if(x%i==0){k+=2;printf("%5d%5d",i,x/i);}return k;}//xt050407.cpp#include <stdio.h>#include <math.h>double f1(double x){return x*x*log(x);}double f2(double x){return x*sin(x);}double f3(double x){return x/exp(x);}double collect(double (*p)(doublex),double a,double b,double n){int i;double h,area;h=(b-a)/n;area=((*p)(a)+(*p)(b))/2.0;for(i=1;i<n;i++)area+=(*p)(a+i*h);return(area*h);}void main(){double y1,y2,y3;y1=collect(f1,1.0,2.0,1000);y2=collect(f2,0.0,3.0,500);y3=collect(f3,0.0,1.0,10000);printf("y1=%6.2f y2=%6.2fy3=%6.2f\n",y1,y2,y3);}//xt050408.cpp#include "stdio.h"#include "math.h"int root(double *x,int m,double eps,double (*f)(double)){double x0;do{x0=*x;*x=(*f)(x0);m=m-1;}while((m!=0)&&(fabs(*x-x0)>=eps));if(m==0) return (0);return (1);}double f1(double x){return(1.0+atan(x));}double f2(double x){return(0.5*cos(x));}double f3(double x){return((6.0+3*x-x*x)/4);/*x=(6+3*x-x*x)/4*/}void main(){double x,(*p)(double);x=1.0;p=f1;if(root(&x,50,0.00001,p))printf("x1=%f\n",x);p=f2;if(root(&x,50,0.00001,p))printf("x1=%f\n",x);p=f3;if(root(&x,50,0.00001,p))printf("x1=%f\n",x);}//xt050409.cpp#include "stdio.h"int * f(int p[],int q[],int m){int i;for(i=0;i<m;i++)q[i]=p[i]*p[i];return q;}void main(){int a[6]={1,2,3,4,5,6},i,*k;int b[6];k=f(a,b,6);for(i=0;i<6;i++)printf("%5d",k[i]);}//xt050410.cpp#include <stdio.h>#include <stdlib.h>void main(){int wanshu(int x);int *ptr;ptr=(int *)malloc(sizeof(int));if(ptr==NULL){printf("Failed to create a new object."); exit(0);}scanf("%d",ptr);if(wanshu(*ptr))printf("%d is a 完数:",*ptr);elseprintf("%d is not a 完数:",*ptr);free(ptr);}int wanshu(int x){int i=1,sum=0;while(i<x){if(x%i==0)sum+=i;i++;}if(sum==x)return 1;elsereturn 0;}习题6一、单项选择题BDACD CACAD二、填空题①是其值可以是二级地址(指针)②是其值可以是多级地址址(指针)③沿着数组所占据的存储区域向前和向后移动多个或者是一个数组元素④可以在程序的运行过程中根据需要创建的数组⑤ int *v, int *key⑥ a, &key⑦ add-a⑧ &n三、阅读程序题1. 112. 26893. 3 5 7 9 114. 1 4 7 0 85. 13 12 0 0 03 3 3 3 36 8 11 3 38 9 3 3 33 3 3 3 36.1 1 1 1 114 13 1 1 11 1 1 1 14 6 9 1 16 7 1 1 1四、程序设计题//xt060401.cpp#include <stdio.h>void main(){ int yh[11],row,col,i;*(yh+1)=1;for(i=0;i<40-2;i++)printf(" ");printf("%4d\n",*(yh+1));for(row=2;row<=10;row++){*(yh+row)=1;/*每行的最后一个元素值为1*/ for(col=row-1;col>=2;col--)/*生成一行*/ *(yh+col)=*(yh+col)+*(yh+col-1);for(i=0;i<40-2*row;i++)/*输出合适的空格*/printf(" ");for(col=1;col<=row;col++)/*输出一行*/ printf("%4d",*(yh+col));printf("\n"); }}//xt060402.cpp#include <stdio.h>#include <stdlib.h>#include <time.h>void main(){int a[10][5],b[10],i,j;srand(time(NULL));for(i=0;i<10;i++)for(j=0;j<5;j++)*(a[i]+j)=rand()%100;for(i=0;i<10;i++){*(b+i)=a[i][0];for(j=0;j<5;j++)if(*(b+i)<*(*(a+i)+j))*(b+i)=*(*(a+i)+j);}for(i=0;i<10;i++){for(j=0;j<5;j++)printf("%4d",a[i][j]);printf("\t%4d\n",b[i]);}}//xt060403.cpp#include <stdio.h>#include <stdlib.h>#include <time.h>int delmem(int *v,int n,int del);void main(){int *a,i,n,del;srand(time(NULL));printf("请输入处理的数组长度: ");scanf("%d",&n);a=(int *)malloc(sizeof(int)*n);for(i=0;i<n;i++)*(a+i)=rand()%100;printf("删除操作前的数据如下所示: \n"); for(i=0;i<n;i++)printf("%4d",*(a+i));printf("\n请输入欲删除的元素值: "); scanf("%d",&del);n=delmem(a,n,del);printf("删除操作后的数据如下所示: \n"); for(i=0;i<n;i++)printf("%4d",*(a+i));printf("\n");}int delmem(int *v,int n,int del){int i,j;for(i=0;i<n;i++)if(*(v+i)==del){for(j=i;j<n-2;j++)*(v+j)=*(v+j+1);n--,i--;}return n;}//xt060404.cpp#include <stdio.h>#include <stdlib.h>#include <time.h>#define N 15void main(){int score[N][4]={0},i,j,x;srand(time(NULL));for(i=0;i<N;i++)for(j=0;j<3;j++){x=rand()%100;if(x<50)j--;elsescore[i][j]=x;}for(i=0;i<N;i++)for(j=0;j<3;j++)*(*(score+i)+3)+=*(*(score+i)+j);printf("score1\tsocre2\tsocre3\tsum\n"); for(i=0;i<N;i++){for(j=0;j<4;j++)printf("%d\t",*(*(score+i)+j));printf("\n");}}//xt060405.cpp#include <stdio.h>#include <stdlib.h>#include <time.h>#define N 15void main(){int score[N][4]={0},i,j,x;int t[4];srand(time(NULL));for(i=0;i<N;i++)//生成模拟成绩数据for(j=0;j<3;j++){x=rand()%100;if(x<50)j--;elsescore[i][j]=x;}for(i=0;i<N;i++)//统计每个学生的总分for(j=0;j<3;j++)*(*(score+i)+3)+=*(*(score+i)+j);for(i=0;i<N-1;i++){x=i;for(j=i+1;j<N;j++)if(score[j][3]>score[x][3])x=j;if(x!=i)for(j=0;j<4;j++){*(t+j)=*(*(score+x)+j);*(*(score+x)+j)=*(*(score+i)+j);*(*(score+i)+j)=*(t+j);}}printf("score1\tsocre2\tsocre3\tsum\n"); for(i=0;i<N;i++){for(j=0;j<4;j++)printf("%d\t",*(*(score+i)+j));printf("\n");}}//xt060406.cpp#include <stdio.h>#include <stdlib.h>void main(){int *ArrayCat(int *s,int slen,int *t,int tlen);inta[]={1,3,5,7,9},b[]={2,4,6,8,10},*p=NULL ,i;p=ArrayCat(a,sizeof(a)/sizeof(int),b,siz eof(b)/sizeof(int));for(i=0;i<(sizeof(a)+sizeof(b))/sizeof(i nt);i++)printf("%4d",p[i]);printf("\n");}int *ArrayCat(int *s,int slen,int *t,int tlen){int *st,i;st=(int*)malloc(sizeof(int)*(slen+tlen));for(i=0;i<slen;i++)st[i]=*(s+i);for(;i<slen+tlen;i++)st[i]=*(t+i-slen);return st;}//xt060407.cpp#include <stdio.h>#include <stdlib.h>#include <time.h>void main(){void reverse(int *v,int n);int *a,n,i;srand(time(NULL));printf("请输入数组的长度:");scanf("%d",&n);a=(int *)malloc(sizeof(int)*n);for(i=0;i<n;i++)a[i]=rand()%100;for(i=0;i<n;i++)printf("%4d",a[i]);printf("\n");reverse(a,n);for(i=0;i<n;i++)printf("%4d",a[i]);printf("\n");}void reverse(int *v,int n){int i,j,t;for(i=0,j=n-1;i<j;i++,j--)t=*(v+i),*(v+i)=*(v+j),*(v+j)=t;}//xt060408.cpp#include <stdio.h>#include <stdlib.h>#include <time.h>int *ArrayCopy(int *source,int n);void main(){int *a,*b=NULL,n,i;srand(time(NULL));printf("请输入被拷贝的数组长度:"); scanf("%d",&n);a=(int *)malloc(sizeof(int)*n);for(i=0;i<n;i++)*(a+i)=rand()%100;b=ArrayCopy(a,n);for(i=0;i<n;i++)printf("%4d",b[i]);printf("\n");}int *ArrayCopy(int *source,int n) {int i,*target;target=(int *)malloc(sizeof(int)*n); for(i=0;i<n;i++)target[i]=source[i];return target;}//xt060409.cpp#include <stdio.h>#include <stdlib.h>#include <time.h>void sort(int v[],int n);void reverse(int v[],int n);void main(){int *data,i,n;srand(time(NULL));printf("请输入需要处理的数据个数:"); scanf("%d",&n);data=(int *)malloc(sizeof(int)*n);for(i=0;i<n;i++)*(data+i)=rand()%100;printf("排序前的数据如下所示:\n"); for(i=0;i<n;i++)printf("%4d",data[i]);sort(data,n);reverse(data,n);printf("\n排序后的数据如下所示: \n"); for(i=0;i<n;i++)printf("%4d",data[i]);printf("\n");}void sort(int v[],int n){int i,j,k,temp;for (i=0; i<n; i++){k=i;for(j=i+1;j<n;j++)if(v[j]<v[k])k=j;if(k!=i)temp=v[i],v[i]=v[k],v[k]=temp;}}void reverse(int v[],int n){int i,j;for(i=0,j=n-1;i<j;i++,j--)v[i]=v[i]+v[j],v[j]=v[i]-v[j],v[i]=v[i]-v[j];}//xt060410.cpp#include <stdio.h>#include <stdlib.h>#include <time.h>void sort(int v[],int n);void reverse(int v[],int n);void main() {int m,n,i,j,**row;srand(time(NULL));printf("请输入二维数组的行数:");scanf("%d",&m);printf("请输入二维数组的列数:");scanf("%d",&n);row=(int **)malloc(sizeof(int*)*m);for(i=0;i<m;i++)row[i]=(int *)malloc(sizeof(int)*n);for(i=0;i<m;i++)for(j=0;j<n;j++)row[i][j]=rand()%100;for(i=0;i<m;i++)if(i%2==0)sort(row[i],n);else{sort(row[i],n);reverse(row[i],n);}for(i=0;i<m;i++){for(j=0;j<n;j++)printf("%4d",row[i][j]);printf("\n");}}void sort(int v[],int n){int i,j,k,temp;for (i=0; i<n; i++){k=i;for(j=i+1;j<n;j++)if(v[j]<v[k])k=j;if(k!=i)temp=v[i],v[i]=v[k],v[k]=temp;}}void reverse(int v[],int n){int i,j;for(i=0,j=n-1;i<j;i++,j--)v[i]=v[i]+v[j],v[j]=v[i]-v[j],v[i]=v[i]-v[j];}习题7一、单项选择题AABCB CBDD二、填空题①\0'②字符串③字符④11⑤12⑥字符型⑦连续⑧j=i⑨continue⑩i++三、阅读程序题1. Hello WexloWexloexloWorld2. 123 abcd xyabcdxyzyz3. egnnegnahc4. DBCDegc5. 1234566. SWI*CH#*Wa四、程序设计题//xt070401.cpp#include <stdio.h>int find_char( char *str,int ch) {int k,num=0;for(k=0;str[k]!='\0';k++)if(str[k]==ch)num++;return num;}void main( ){char s[100];int num,c;printf("\nInput a String:"); gets(s);printf("\nInput a character:"); c=getchar();num=find_char(s,c);printf("\nnum=%d",num);}//xt070402.cpp#include <stdio.h>#include <string.h>void main(){char s1[50],s2[50];int k,t;puts("\nInputs string s1:"); gets(s1);puts("\nInputs string s2:"); gets(s2);k=0;while(s1[k]==s2[k]&&s1[k]!=0)k++;t=s1[k]-s2[k];printf("\nt=%d",t);}//xt070403.cpp#include <stdio.h>char *Myitoa(int n,char *p) {int k,len=-1,t;t=n;do{n=n/10;len++;}while(n>0);。

C语言程序设计实验指导书参考答案

C语言程序设计实验指导书参考答案

C语言程序设计上机实验指导与习题参考答案(仅供教师内部参考)华南农业大学目录上机实验.................................................................................................................................................................... 1 实验1 C 语言程序初步 (1)一、实验目的............................................................................................................................................ 1 二、实验内容 (1)实验 2 基本数据类型、运算和表达式...........................................................................................................3 一、实验目的............................................................................................................................................3 二、实验内容............................................................................................................................................3实验 3 基本输入与输出...................................................................................................................................5 一、实验目的............................................................................................................................................5 二、实验内容............................................................................................................................................5实验 4 选择结构程序设计...............................................................................................................................4 一、实验目的............................................................................................................................................4 二、实验内容............................................................................................................................................4实验 5 循环结构程序设计(一)...................................................................................................................9 一、实验目的............................................................................................................................................9 二、实验内容............................................................................................................................................9实验 6 循环结构程序设计(二).................................................................................................................15 一、实验目的..........................................................................................................................................15 二、实验内容..........................................................................................................................................15实验7 数组.....................................................................................................................................................17 一、实验目的..........................................................................................................................................17 二、实验内容..........................................................................................................................................17实验8 字符数组的应用.................................................................................................................................22 一、实验目的..........................................................................................................................................22 二、实验内容..........................................................................................................................................22实验9 函数的基本应用.................................................................................................................................24 一、实验目的..........................................................................................................................................24 二、实验内容..........................................................................................................................................24实验10 指针与结构体...................................................................................................................................26 一、实验目的..........................................................................................................................................26 二、实验内容..........................................................................................................................................26*实验11 链表................................................................................................................................................29 一、实验目的..........................................................................................................................................29 二、实验内容..........................................................................................................................................29*实验12 文件...............................................................................................................................................32 一、实验目的..........................................................................................................................................32 二、实验内容..........................................................................................................................................上机实验实验 1 C 语言程序初步一、实验目的(1)了解所用的计算机系统的基本操作方法,学会独立使用该系统。

C程序的设计课后复习题参考答案

C程序的设计课后复习题参考答案

高等院校计算机基础教育规划教材《C++程序设计》课后习题参考答案习题1参考答案一、选择题1.C 2.C二、填空题1.面向过程,面向对象2.编辑,编译,,运行3.机器语言,汇编语言,高级语言。

4.数据,操作处理方法5.'\0'三、简答题1.简述三代计算机语言各自的特点。

解答如下:机器语言是用二进制指令表示的、计算机能够直接识别和执行的语言。

由于计算机可以直接执行机器语言,执行速度快是机器语言的主要优点。

在计算机发展初期,软件工程师使用机器语言来编写程序。

在计算机指令集不断增大的情况下,机器语言不易记忆,不便于学习,软件开发难度大、周期长、易出错,软件维护工作量大等缺点更加突出,机器语言已不能胜任编程工作。

汇编语言是用一些易读的助记符表示机器指令操作码,如ADD、CALL等。

使用汇编语言编写程序提高了编程速度,也比较容易编写出质量较高的程序,检查、维护也比较容易。

但汇编语言抽象层次低,程序员编写程序工作量大。

高级语言屏蔽了机器语言的细节,提高了语言抽象层次。

程序中采用了具有一定含义的数据命令和容易理解的执行语句。

高级语言不受计算机种类的限制,通用性强,易于理解、学习和掌握。

使用高级语言减少了大量的编程工作量。

目前使用比较广泛的高级语言有Basic、Fortran、Pascal和C语言。

C++是一种功能强大、应用更广泛的高级语言。

2.简述C语言程序实现的过程。

解答如下:用C++语言编写好一个完整的程序后,第一步要上机运行编辑程序,输入源程序;第二步是对源程序进行编译生成目标代码文件,目标代码文件名与源程序文件名相同,而扩展名改为obj;第三步运行连接程序,将目标代码文件与C++的库文件相连接,生成可执行文件,可执行文件名与源程序文件名相同,而扩展名为exe;第四步运行可执行文件,实现程序所具有的功能。

习题2参考答案一、选择题1.C 2.B 3.B 4.D二、填空题1.?:2.4字节,1字节,4字节,8字节3. 154.6,605.26,256.256,227.3.96E2,3.96E5三、简答题1.C++基本数据类型有哪几种?程序设计如下:C++的基本数据类型有bool(布尔型,又称逻辑型)、char(字符型)、int(整型)、float (浮点型,表示实数)和double(双精度浮点型,简称双精度型)等5种。

c程序设计(第2版)课后习题答案

c程序设计(第2版)课后习题答案

c程序设计(第2版)课后习题答案C程序设计是一门基础的计算机编程课程,它教授学生如何使用C语言编写程序。

C语言是一种结构化编程语言,广泛用于系统软件、嵌入式系统和各种应用程序的开发。

以下是一些C程序设计课后习题的答案示例,这些答案仅供参考,具体习题的答案可能会有所不同。

第一章:C语言概述1. 简述C语言的特点。

- C语言是一种高级语言,同时具有汇编语言的效率。

- 它支持结构化编程,允许模块化设计。

- C语言具有丰富的运算符和数据类型。

- 它提供了指针功能,增强了编程的灵活性。

2. 描述C程序的基本结构。

- C程序由预处理指令、函数定义和主函数`main()`组成。

- 每个函数由函数声明、函数体和花括号包围的代码块组成。

第二章:数据类型、运算符和表达式1. 列出C语言的基本数据类型。

- 整型:`int`、`short int`、`long int`- 浮点型:`float`、`double`- 字符型:`char`- 枚举型:`enum`2. 解释赋值运算符的左结合性和右结合性。

- 赋值运算符是右结合性,意味着从右向左进行赋值。

第三章:控制语句1. 什么是条件语句?- 条件语句允许程序根据条件是否满足来执行不同的代码路径。

2. 描述循环语句的类型及其用法。

- `for`循环:用于已知迭代次数的循环。

- `while`循环:用于未知迭代次数,条件为真时循环。

- `do-while`循环:至少执行一次循环体,然后检查条件。

第四章:函数1. 函数的定义是什么?- 函数是一段具有特定功能的代码块,可以接收参数并返回值。

2. 解释函数原型和函数定义的区别。

- 函数原型声明了函数的名称、返回类型和参数列表,但不包含函数体。

- 函数定义包含了函数的完整实现,包括函数体。

第五章:数组1. 一维数组的声明和初始化方式。

- 声明:`type arrayName[arraySize];`- 初始化:`int arr[5] = {1, 2, 3, 4, 5};`2. 二维数组的访问方式。

C#程序的设计大学教材课后答案

C#程序的设计大学教材课后答案

引言复习题1.什么是程序设计?答:计算机程序设计又称为编程(programming),是一门设计和编写计算机程序的科学和艺术。

程序是程序设计中最基本的概念,也是软件中最基本的概念。

程序是计算任务的处理对象和处理规则的描述。

所谓计算任务是指所有通过计算来解决实际问题的任务。

处理对象是数据,如数字、文字和图像等。

处理规则一般指处理动作和步骤。

在低级语言中,程序是一组指令和相关的数据。

在高级语言中,程序一般是一组说明和语句,它包括了算法和数据结构。

程序设计就是为计算机设计和编写程序,使其按照人所规定的算法对数据进行处理。

通常程序设计包括了问题建模、算法设计、编写代码和编译调试等过程。

2.当今的计算机是基于什么模型?答:现代计算机都是基于·诺伊曼模型的。

此模型着眼于计算机的部结构,定义了处理机的运行过程。

该模型把计算机分为四个子系统:存储器、算术/逻辑单元、控制单元和输入/输出单元。

3.为什么不称计算机为数据处理器?答:数据处理器。

可以认为是一个接受输入数据,处理数据,产生输出数据的黑盒。

尽管这个模型能够体现现代计算机的功能,但是它的定义还是太狭窄。

这个模型并没有说明它处理的类型以及是否可以处理一种以上的类型。

换句话说,它并没有清楚的说明一个基于这个模型的机器能够完成操作的类型和数量。

它是专用机器还是通用机器呢?这种模型可以表示为一种设计用来完成特定任务的专用计算机(或者处理器),比如用来控制建筑物温度或汽车油料使用。

但计算机作为一个当今使用的术语,是一种通用的机器。

它可以完成各种不同的工作。

4.你所知道的程序设计语言有哪些?你知道它们有什么不同特点吗?(答案略)5.位模式是如何表示一个构成文本的语言符号的?答所谓位(bit,binary digit 的缩写)是存储在计算机中的最小单位;它是0 或1。

位代表设备的某一状态,这些设备只能处于两种状态中的某一种状态。

计算机存储器并不知道所存储的位模式是表示哪种类型的数据。

C程序设计学习指导与实践(上册)06年9月21日

C程序设计学习指导与实践(上册)06年9月21日

页眉内容目录第1章 C语言概述1.1 学习重点与难点 (1)1.2 典型题 (1)1.3 典型题答案与解析 (3)第2章算法2.1 学习重点与难点 (5)2.2 典型题 (5)2.3 典型题答案与解析 (7)第3章数据类型、运算符与表达式3.1 学习重点与难点 (8)3.2 典型题 (8)3.3 典型题答案与解析 (12)第4章顺序程序设计4.1 学习重点与难点 (16)4.2 典型题 (16)4.3 典型题答案与解析 (22)第5章选择结构程序设计5.1 学习重点与难点 (26)5.2 典型题 (26)5.3 典型题答案与解析 (33)第6章循环控制6.1 学习重点与难点 (36)6.2 典型题 (38)6.3 典型题答案与解析 (45)第7章数组7.1 学习重点与难点 (51)7.2 典型题 (53)7.3 典型题答案与解析 (59)第8章函数8.1 学习重点与难点 (68)8.2 典型题 (72)8.3 典型题答案与解析 (77)第9章预处理命令9.1 学习重点与难点 (89)9.2 典型题 (91)9.3 典型题答案与解析 (95)第1章 C语言概述1.1 学习重点与难点一、了解语言的一些基本特点。

(1)语言表达能力强;(2)语言简洁、紧凑、使用灵活易于学习和使用;(3)数据类型丰富,有很强的结构化控制;(4)语言生成的代码质量高;(5)语法限制不严格,程序设计自由度大;(6)可移植性好;(7)能进行位操作,能实现汇编语言的大部分功能可以直接对硬件进行操作;二、了解C语言程序的基本结构。

任何程序都是由函数组成,函数是程序的基本单位;一个程序总是从main函数开始执行的;每个语句后面都要有分号。

三、会简单应用scanf函数和printf函数。

四、会编一些简单的程序。

五、熟悉C语言的编辑环境以及调试C语言程序的方法。

1.2 典型题一、选择题1. 一个C程序的执行是( ) 。

A.本程序的main函数开始,到main函数结束B.本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C.本程序的main函数开始,到本程序文件的最后一个函数结束D.本程序的第一个函数开始,到本程序main函数结束2.以下叙述正确的是( )。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
int main()
{
int i=0;
char a;
printf("请输入正文:\n");
while((a=getchar())!=10)
{
if(a!=32)
i=0;
else
i++;
if(i==0||i==1)
putchar(a);
}
}
return 0;
}
P126 1:
#include<stdio.h>
int main()
{
int m,n,r,k,zdgys;
printf("请输入两个正整数:\n");
scanf("%d%d",&m,&n);
k=m*n;
if(m<n)
{
r=m;
m=n;
case 10:printf("百分制成绩%d对应的等级为A\n",score);break;
}
return 0;
}
P105 6:
#include<stdio.h>
int main()
{
int year;
printf("请输入年份:\n");
scanf("%d",&year);
do
{
printf("请输入区间左右端点的值:\n");
scanf("%f%f",&x1,&x2);
fx1=2*x1*x1*x1-4*x1*x1+3*x1-6;
fx2=2*x2*x2*x2-4*x2*x2+3*x2-6;
}
while(fx1*fx2>0);
t1=x1;
ywzmdgs++;
else
if(a==32)
kgdgs++;
else
if(a>=48&&a<=57)
szdgs++;
else
qtzfdgs++;
}
printf("输入的字符中英文字母的个数为%d,空格的个数为%d,数字的个数为%d,其他字符的个数为%d\n",ywzmdgs,kgdgs,szdgs,qtzfdgs);
{
t=-t*x*x/(2*i)/(2*i+1);
sum+=t;
}
printf("sinx的近似值为:%lf\n",sum);
return 0;
}
P126 4:
#include<stdio.h>
int main()
{
int i;
float jc=1,sum=0;
if(year%4==0&&year%100!=0||year%400==0)
printf("%d年是闰年\n",year);
else
printf("%d年不是闰年\n",year);
return 0;
}
P105 8:
#include<stdio.h>
int main()
n=r;
}
while(r=m%n)
{
m=n;
n=r;
r=m/n;
}
zdgys=n;
printf("它们的最大公约数为%d,最小公倍数为%d\n",zdgys,k/zdgys);
return 0;
}
P126 2:
#include<stdio.h>
if(a==32)
kgs++;
if(a==9)
zbfs++;
if(a==10)
hhfs++;
}
printf("输入的正文中空格数为%d,制表符数为%d,换行符数为%d\n",kgs,zbfs,hhfs);
}
P104 4:
#include<stdio.h>
int main()
printf("500以内的素数个数不够10个\n");
else
{
printf("500以内最大的10个素数和为:\n");
m=0;
for(n=499;n>=2;n-=2)
{
k=(int)(sqrt(n));
for(i=2;i<=k;i++)
if(n%i==0)
p=(a+b+c)/2.0;
if(a>0&&b>0&&c>0&&a+b>c&&a+c>b&&b+c>a)
{
area=sqrt(p*(p-a)*(p-b)*(p-c));
printf("三角形的面积为:\n%lf\n",area);
}
else
printf("数据输入错误!\n");
printf("函数值f(x)为:\n%lf\n",fx);
return 0;
}
P105 5:
#include<stdio.h>
int main()
{
int score,k;
printf("请输入一个整型百分制成绩:\n");
scanf("%d",&score);
if(score<0||score>100)
t2=x2;
do
{
x0=(x1+x2)/2;
fx0=2*x0*x0*x0-4*x0*x0+3*x0-6;
if(fx0*fx1<0)
{
x2=x0;
fx2=fx0;
}
else
{
x1=x0;
fx1=fx0;
}
}
return 0;
}
P104 3:
#include<stdio.h>
int main()
{
int kgs=0,zbfs=0,hhfs=0;
char a;
printf("请输入正文(以Ctrl+Z结束):\n");
while((a=getchar())!=EOF)
{
x=x1-f/f1;
}
printf("方程2x^3-4x^2+3x-6=0在%3.1f附近的根为%-9.7f:\n",t,x);
return 0;
}
P126 6:
#include<stdio.h>
#include<math.h>
int main()
{
float x0,x1,x2,fx0,fx1,fx2,t1,t2;
printf("圆柱体体积为:\n%lf\n",V);
return 0;
}
P10பைடு நூலகம் 2:
#include<stdio.h>
#include<math.h>
int main()
{
double a,b,c,p,area;
printf("请输入三角形的三条边长:\n");
scanf("%lf%lf%lf",&a,&b,&c);
float x,x1,f,f1,t;
printf("请输入x的值:\n");
scanf("%f",&x);
t=x;
for(i=1;fabs(x-x1)>=1e-6;i++)
{
x1=x;
f=2*x1*x1*x1-4*x1*x1+3*x1-6;
f1=6*x1*x1-8*x1+3;
printf("数据输入错误!\n");
else
k=score/10;
switch(k)
{
case 0:
case 1:
case 2:
case 3:
case 4:
case 5:printf("百分制成绩%d对应的等级为E\n",score);break;
int main()
{
int n,k,i,m=0,sum=0;
for(n=499;n>=2;n-=2)
{
k=(int)(sqrt(n));
for(i=2;i<=k;i++)
if(n%i==0)
break;
if(i>=k+1)
m++;
}
if(m<10)
{
char character;
printf("请输入一个字母字符:\n");
scanf("%c",&character);
相关文档
最新文档