C语言程序设计学习指导(第2版) 1-6
C语言程序设计案例式教程(第2版)教学大纲

《C语言程序设计案例式教程(第2版)》课程教学大纲(课程英文名称)
课程编号:
学分:5学分学时:94 (其中:讲课60上机34时)
先修课程:计算机操作系统适用专业课程:计算机
一、课程的性质与目标
本课程使用案例驱动教学,几乎每个案例通过案例描述、知识需求、知识讲解、案例实现四个部分,不仅详细讲解了C语言的相关知识,而且通过有趣实用的案例加强对知识的理解和应用。
通过本书的学习,读者既可以深刻理解C语言理论知识,又能牢固掌握编程实践能力。
二.教学要求
开发环境:
1.Windows 7操作系统及以上Visual Studio 2019
三、课程的主要内容及基本要求
第一章初识C语言
本课程为考试课程,期末考试采用百分制的闭卷考试模式。
学生的考试成绩由平时成绩(30%)和期末考试(70%)组成,其中,平时成绩包括出勤(5%)、作业(5%)、实验和上机成绩(20%)。
六、选用教材和主要参考书
本大纲是根据黑马程序员编著的教材《C语言程序设计案例式教程(第2版)》所设计。
七、大纲说明
本课程的授课模式为:课堂授课+上机,其中,课堂主要采用多媒体的方式进行授课,并且会通过测试题阶段测试学生的掌握程度;上机主要是编写程序,要求学生动手完成指定的程序设计或验证。
撰写人:
执行时间:审定人:
批准人:
端IT教育品牌
黑马程序员
传智教育旗下高
第二章C语言基础知识
第三章运算符与表达式
第五章数组
第六章函数
第七章指针
第九章结构体
第十一章文件。
《C 程序设计教程(第2版)》课后习题

第1章 C++语言简介1. 修改例1-1的Hello World!程序,使其能够在计算机屏幕上显示:I am a student, and I like programming!2. 修改例1-3的加法计算器程序,编写一个乘法计算器程序。
3. 修改例1-4的生日卡程序,使其能够输入和显示日期。
4. 参考例1-5,使用梯形法计算下式定积分的值。
⎰-+11)(sin dx e x x其中积分区域等分数可取为200,并将计算结果和手算结果相比较。
提示:e x 用标准数学函数库cmath 中的库函数exp(x)表示。
5. 仿照例1-6,编写一个计算矩形面积的程序。
第2章 基本数据类型1. 为例2-2添加数据检验部分。
给出三边长,检验其是否能构成一个三角形的方法是检查是否任意两边和均大于第三边。
如果检验不合格,输出信息“Error Data!”2. 输入两个角度值x 、y ,计算如下式子的值。
|)cos(||)||sin(|y x y x ++3. 编写一个程序,要求完成以下要求:1)提示用户输入任意的3个小数; 2)显示这三个小数; 3)将这三个小数相加,并显示其结果; 4) 将结果按四舍五入方法转换成整数并显示。
4. 从键盘输入任意三个整数,然后输出这三个数并计算其平均值。
5. 编写一个程序,将字符串“Love ”译成密码,译码方法采用替换加密法,其加密规则是:将原来的字母用字母表中其后面的第3个字母的来替换,如字母c 就用f 来替换,字母y 用b 来替换。
提示:分别用4个字符变量来存储'L'、'o'、'v'和'e',利用ASCII 表中字母的排列关系,按照译码方法对各个变量进行运算后输出即可。
第3章 控制结构1. 编写计算阶乘 n!的程序。
2. 计算1!+2!+3!+4!+......+10!,即∑=101!i i3. 编写程序求斐波那契数列的第n 项和前n 项之和。
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版)完整编程答案1-8章

9 c 32 ,程序中有多处错误, 5
请改正错误后运行正确的程序。 答:#include <stdio.h> #include <stdio.h> main() main() {float c=0,f=0; {float c=0,F=0; printf("input c:"); printf("input c:"); scanf("%f",&c); scanf("%f", c); f=((float)9/5)*c+32; f=(9/5)·c+32; printf("c=%f,f=%f\n",c,f); print("c=%f,f=%f\n",&c,&f); } } 扩展:把程序功能改为:输入华氏温度 f,计算摄氏温度 c。 #include <stdio.h> main()
0 x 2 2、编写程序,求下面分段函数的值,要求 x 的值从键盘输入。 y 2 x 3 10
(当x 0时) (当0 x 5时) (当5 x 10时) (当x 10时)
#include <stdio.h> main() { double x=0.0,y=0.0; int k=0; scanf("%lf",&x); k=1*(x<0)+2*(x>=0&&x<5)+3*(x>=5&&x<10)+4*(x>=10); switch(k) { case 1: y=0;break; case 2: y=x+2;break; case 3: y=x*x-3;break; case 4: y=10;break; } printf("x=%lf,y=%lf\n",x,y); } 训练 3.1:输入一个字符,如果是数字字符,则转换成对应的数字。 #include <stdio.h> main() { char ch='\0'; int a=-1; ch=getchar(); if(ch>='0'&&ch<='9') { a=ch-'0'; printf("charter %c ,digit:%d\n",ch,a); } else printf("%c is not digit\n",ch); } 扩展:将程序的功能改为:如果所输入的字符为大写字母,则将其转换为小写字母。请使用库函数判断和转 换。 #include <stdio.h> #include <ctype.h> main() { char ch='\0'; ch=getchar(); printf("the input charter is %c \n",ch); if(isupper(ch)) { ch=tolower(ch); printf("The corresponding lowercase letter is %c\n",ch); } else printf("It is not the capital letter!\n"); } 训练 3.2:求一元二次方程 ax2+bx+c=0 的实根(要求 a,b,c 的值从键盘输入,a≠0) #include <stdio.h> #include <math.h> main()
北理工《C语言程序设计教程(第二版)》李凤霞主编李书涛主审版习题答案

main()
{int x,y;
scanf("%d",&x);
if(x<10) if(x>=5)y=x+1;
else if(x>=0)y=x-1;
else if(x>-5)y=x;
main()
{int i,j,k; /* i:公鸡数,j:母鸡数,k:小鸡数的1/3 */
printf("cock hen chick\n");
for(i=1;i<=20;i++)
for(j=1;j<=33;j++)
for(k=1;k<=33;k++)
{int a[]={-10,0,15,34},i;
for(i=0;i<=3;i++)
printf("%d\370C=%g\370F\t",a[i],a[i]*1.8+32);}
执行结果:
-10℃=14°F 0℃=32°F 15℃=59°F 34℃=93.2°F
4.源程序:
=-200
j=2500 4.a=98,b=765.000000,c=4321.000000 5.略 6.0,0,3 7.3 8.scanf("%lf%lf%lf",&a,&b,&c); 9. 13 13.000000,13.000000 10.a=a^c;c=c^a;a=a^c;(这种算法不破坏b的值,也不用定义中间变量。)
C程序设计教程(第2版)第1章

1.4.3 实型常量与变量
P12
1.实型常量 【例1.9】写出下面程序的运行结果。
#include <stdio.h>
main( )
按指数形式输出
{
}
printf("%f\n", 123451234512345.1 );
printf("%e\n",12345.6788885);
123451234512345.094000 1.234568e+004
data: AB A A_ _ B
1.5 运算符和表达式 1.5.1 算术运算符和表达式 1.5.2 赋值运算符和表达式 1.5.3 逗号运算符和表达式
1.5.4 自加、自减运算符
返回
1.5.1 算术运算符和表达式
+(加) -(减) *(乘) /(除) %(求余) -(求负)
表达式2+3.5的值? 5.5 表达式1/2的值?0 表达式1/2.0的值? 0.5 注意: 表达式5%2的值?1 2.0%5() 表达式2%5的值?2
main( ) { int a,b,x; double c,y,z; c=4.0; y=sqrt(c); a=10; b=20; x=mysum(a,b); z=x+y; printf("z=%lf\n",z); }
int mysum( int m, int n ) { int k; k=m+n; return k; } 程序的运行结果是: z=32.000000
说明:
“%”:两侧运算量必须是整型
其它: 若运算量都是整型,则按整型计算 结果为整型 若至少有一个为实型,则先转化为双精度 型后计算 结果为双精度型 数据类型的转换规则如下:
第1篇C语言程序设计学习指导

第1篇C语言程序设计学习指导第1篇C语言程序设计学习指导第1章C语言概述1.1本章要点1.1.1C语言的特点(1)语言简洁、紧凑,使用方便、灵活,具有丰富的运算符和数据结构。
(2)C语言允许直接访问物理地址,能够进行位操作,可实现汇编语言的大部分功能,可以直接对硬件进行操作。
(3)C语言具有结构化的控制语句,是结构化的理想语言。
(4)语法限制不太严格,程序设计自由度大。
(5)用C语言编写的程序可移植性好。
(6)生成目标代码质量高,程序执行效率高。
1.1.2C语言程序的结构(1)一个C语言源程序由若干个函数组成,其中有且仅有一个主函数(main函数)。
(2)一个函数由函数首部(即函数第一行)和函数体(即函数首部后面的大括号内的部分)组成。
函数首部包括函数类型、函数名和放在括号中的若干个参数;函数体由声明部分和执行部分组成。
(3)C程序书写格式自由,一行内可写多条语句,一个语句也可以分写在多行上,且语句中的空格和回车符均可忽略不计。
(4)程序的注释内容放在/和/之间,/和之间不允许有空格;注释部分允许出现在程序中的任何位置。
1.1.3C程序的编辑、编译、连接和运行使用TurboC或Win-TC编写好C源程序,经过编译、连接生成可执行文件,即可运行。
1.2习题1.简述C程序的结构特点。
2.写出一个C程序的构成。
3.编写完成如下任务的程序,然后上机编译、连接并运行。
输出两行字符,第1行是“Thecomputerisourgoodfriends!”,第2行是“WelearnClanguage.”。
4.编写完成如下任务的程序,然后上机编译、连接并运行。
已知a=10、b=5,计算a+b、a-b的值,输出计算结果。
1.3习题参考答案1.(略)2.(略)3.main(){printf("Thecomputerisourgoodfriends!\n"); printf("WelearnClanguage.\n");return0;} 4.main(){inta=10,b=5,c,d;c=a+b;d=a-b;printf("a+b=%d,a-b=%d\n",c,d);return0;}2?C语言程序设计学习指导与实验教程3?第1章C语言概述。
C语言程序设计教程第2版 课后答案_人民邮电出版社_宗大华_陈吉人_百度

本文由airalex1982贡献 pdf文档可能在WAP端浏览体验不佳。
建议您优先选择TXT,或下载源文件到本机查看。
《C 语言程序设计教程(第 2 版) 》习题解答 第 1 章习题解答 一、填空 1.机器语言即是指计算机本身自带的 指令系统 。
完成这个翻译工作 2. 将汇编语言编写的程序翻译成机器语言程序的过程称为 汇编 , 的程序称为 汇编程序 。
3.在C语言程序中,写“\110”和写“\x68” ,分别代表字母 H 和字母 h 。
4.在用New命令创建新的C源程序时,文件名默认为是 NOMANE.C 。
5.C语言程序都是从名为 main 的函数它开始执行的。
二、选择 1.下面给出的命令中, (C)不能保存源程序对应的“.OBJ”文件。
A.Make EXE File B.Run C.Save D.Compile to OBJ 分析:Compile to OBJ 是文件的编译命令;Make EXE File 是一次完成编译和连接的命 令;在没有编译、连接的前提下,直接使用 Run 命令,就会先完成编译,再进行连接,最 后运行。
所以,这三个命令都会保存由源程序产生出的“.OBJ”文件。
而 Save 命令用于编 辑完源程序后,对源程序的保存,即保存“.C”文件。
因此,本题的答案应该是选择 C。
2.下面给出的编辑命令中, (B)是用来定义块首标记的。
A.Ctrl-KK B.Ctrl-KB C.Ctrl-KV D.Ctrl-KH 3.下面给出的编辑命令中, (A)是用来定义块尾标记的。
A.Ctrl-KK B.Ctrl-KB C.Ctrl-KV D.Ctrl-KH 4.以下的(C)是不正确的转义字符。
A.’\\’ B.’\’’ C.’\81’ D.’\0’ 5.转义字符\x65 对应的字母是(C) 。
A.A B.a C.e D.E 三、是非判断(√,×) 1.Turbo C 中,只有命令 New 才能创建新的源程序文件。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第一章概述一、选择1.C2.B3.C4.D5.D6.A7.B8.C9.A 10.B 11.C 12.D 13.B 14.B第二章数据类型一、选择1.D2.A3.C4.D5.A6.B7.A8.B9.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.B27.C第三章运算符和表达式一、选择1.A2.D3.D4.D5.D6.A7.C8.C9.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.A29.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.C2.D3.C4.C5.C6.B7.B8.C9.D 10.D 11.D 12.D 13.B 14.A 15.B16.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;}第五章选择结构一、选择1.D2. B3.A4.C5.C6.B7.B8.A9.C 10.C 11.D 12.A 13.D 14.A 15.A16.B 17.D 18.C 19.A 20.A 21.A 22.B 23.A 24. D二、编程1.int fun(int n){int bw,sw,gw;bw=n/100;sw=(n-bw*100)/10;gw=n%10;if(n==bw*bw*bw+sw*sw*sw+gw*gw*gw) return 1;else return 0;}2.double y(float x){double z;if(x>10) z=exp(x);else if(x>-3) z=log(x+3);else z=sin(x)/(cos(x)+4);return(z);}3.int fun(int x){ int k;k=x*x;if((k%10==x)||(k%100==x))return 1;elsereturn 0;}第六章循环结构一、选择1.C2.A3.A4.B5.C6.B7.C8.A9.D 10.B 11.A 12.C 13.C 14.A 15.D16.D 17.D 18.A 19.C 20.A 21.C 22.B 23.B 24.C 25.A 26.D二、填空1.位置1:r!=0 【或】0!=r 【或】r位置2:r=m%n 【或】r=m-m/n*n位置3:n位置4:gcd,lcm 【或】n,lcm2.位置1:k=0位置2:n%10 【或】n-n/10*10 【或】n-10*(n/10)位置3:while(n>0) 【或】while(0<n) 【或】while(n!=0) 【或】while(0!=n)位置4:printf("\n")3.位置1:x!=0 【或】x位置2:else 【或】else if(x%2==1) 【或】else if(x%2!=0) 【或】if(x%2)位置3:scanf("%d",&x)位置4:av2=s2/j4.位置1:n=0位置2:i<=300 【或】i<300 【或】300>=i 【或】300>i位置3:i%7==0||i%17==0 【或】!(i%7)||!(i%17) 【或】!(i%17)||!(i%7) 【或】!(i%7&&i%17) 【或】i%17==0||i%7==0位置4:n%5==0 【或】!(n%5) 【或】n/5*5==n5.位置1:s=0位置2:i+=2 【或】i=i+2 【或】i=2+i 【或】i++,i++位置3:j<=i 【或】i>=j 【或】j<i+1 【或】i+1>j 【或】j<1+i 【或】1+i>j位置4:f=f*j 【或】f=j*f三、改错1.位置1:#include "math.h" 【或】#include <math.h>位置2:float s=0,t=1,p=1; 【或】float s=0,p=1,t=1; 【或】float p=1,s=0,t=1; 【或】float p=1,t=1,s=0; 【或】float t=1,p=1,s=0; 【或】float t=1,s=0,p=1;位置3:while(fabs(t)>1e-4) 【或】while(0.0001<fabs(t)) 【或】while(1e-4<fabs(t)) 【或】while(fabs(t)>0.0001)位置4:printf("pi=%f\n",s*4); 【或】printf("pi=%f\n",4*s);2.位置1:printf("%8.0f",f1); 【或】printf("%f",f1); 【或】printf("%8f",f1);位置2:for(i=1;i<20;i++) 【或】for(i=1;20>i;i++) 【或】for(i=2;i<=20;i++) 【或】for(i=2;20>=i;i++) 【或】for(i=1;i<=19;i++) 【或】for(i=1;19>=i;i++)位置3:f1=f2;位置4:f2=f3;3.位置1:long k=1;位置2: scanf("%ld",&n);位置3: n/=10; 【或】n=n/10;4.位置1:scanf("%d",&n);位置2:for(i=1;i<=n;i++) 【或】for(i=1;n>=i;i++) 【或】for(i=1;i<n+1;i++) 【或】for(i=1;n+1>i;i++)位置3:s+=1.0/t; 【或】s=s+1.0/(float)t; 【或】s=1.0/(float)t+s; 【或】s=s+1.0/t; 【或】s=1.0/t+s; 【或】s+=1.0/(float)t; 【或】s+=1.0/(double)t; 【或】s=s+1.0/(double)t; 【或】s=1.0/(double)t+s;5.位置1:sum=1.0; 【或】sum=1;位置2:s2=1.0; 【或】s2=1;位置3:for(k=4;k<=n;k++) 【或】for(k=4;n>=k;k++) 【或】for(k=4;k<n+1;k++) 【或】for(k=4;k<1+n;k++) 【或】for(k=4;n+1>k;k++) 【或】for(k=4;1+n>k;k++)6.位置1:t=1; 【或】t=1.0;位置2:t=t*j; 【或】t=j*t; 【或】t*=j;位置3:s=s+t; 【或】s=t+s; 【或】s+=t;位置4:printf("jiecheng=%f\n",s);四、编程.1.int fun(int n){ int d,s=0;while (n>0){d=n%10;s+=d*d*d;n/=10;}return s;}2.int fun(int n){int i,s=0;for (i=2;i<n;i++)if (n%i==0) s=s+i;return (s);}3.double fun(int n){int i,s=0;for (i=1;i<n;i++)if (i%3==0 && i%7==0) s=s+i;return (sqrt(s));}4.gcd(int n,int m){int r,t;if(n<m) { t=n;n=m;m=t;}r=n%m;while(r!=0){ n=m;m=r;r=n%m;}return(m);}5.double fun(int n){int i,j=0;double s=0;for (i=3;i<=n;i++){ for (j=2;j<i;j++)if (i%j==0) break;if (j==i) s=s+sqrt(i);}return s;}6.long fun (long s,long t){long sl=10;.t = s % 10;while(s > 0){ s = s/100;t = s%10*sl + t;sl = sl * 10;}}7.double fun(int n){double m=1.0;int i;double p=1.0;for(i=1;i<=n;i++){p=p*i;m=m+1.0/p;}return (m);}9.int fun(int n){int i,k;for(i=n+1;;i++){for(k=2;k<i;k++)if(i%k==0)break;if(k==i)return(i);}10.int fun(int s)int x1=0,x2=1,m=0;while (s>m){m=x1+x2;x1=x2;x2=m;}return m;}如有侵权请联系告知删除,感谢你们的配合!。