谭浩强 C语言 第12章 实验步骤_94
《C 程序设计》谭浩强版实验指导书

《C++程序设计》实验教学指导书课程编号:?????撰写人:朱世华审核人:前言程序设计是一门实践性很强的课程,通过实验可以巩固和加强课堂教学内容,提高学生实际工作能力和动手能力,并为后续课程和从事实践技术工作奠定重要的基础。
因此,学生在进行理论知识学习的同时,必须十分重视实践环节----上机。
上机实验时应该一人一组,独立上机。
在上机过程中出现的问题,一般应自己独立处理,学生应在实验前将教师指定的题目编好程序,然后上机输入和调试。
上机前应事先作好准备工作,以提高上机实验的效率,准备工作至少应包括:(1)复习和掌握与本实验有关的教学内容。
(2)准备好上机所需的程序。
(3)对运行中可能出现的问题应事先做出估计;对程序中有疑问的地方,应做上记号,以便上机时给予注意。
(4)准备好调试和运行时所需的数据。
实验设备与环境:1、硬件配置PentiumⅡ以上PC兼容机或品牌机,配有彩色显示器、鼠标、键盘,内存不小于32MB,硬盘自由空间不少于60MB。
推荐配置为内存256MB(或以上),硬盘自由空间1GB以上。
2、软件配置操作系统:Windows XP,Windows 2000以上版本开发环境:Microsoft Visual C++ 2010以上版本。
目录实验一 Visual C++ 2010的基本用法 (1)实验二数据类型、运算符和表达式 (4)实验三三种基本结构的实现1 (7)实验四三种基本结构的实现2 (9)实验六指针 (13)实验七函数 (14)实验八结构和联合 (17)实验九类与对象 (20)实验十综合实验 (23)实验一 Visual C++ 2010的基本用法一、实验目的1.熟悉Visual C++2010集成开发环境的基本命令和功能键。
2.学习完整的C++ 程序开发过程。
3.理解简单的C++ 程序结构。
二、实验内容与步骤本次实验将学习有关Visual C++ 开发环境的一些知识,并尝试实现一个简单的DOS程序和Windows程序。
谭浩强C语言word版第十二章

12 位运算 (1)12.1 位运算符C语言提供了六种位运算符: (1)12.1.1 按位与运算 (1)12.1.2 按位或运算 (2)12.1.3 按位异或运算 (2)12.1.4 求反运算 (2)12.1.5 左移运算 (3)12.1.6 右移运算 (3)12.2 位域(位段) (4)12.3 本章小结 (6)12 位运算前面介绍的各种运算都是以字节作为最基本位进行的。
但在很多系统程序中常要求在位(bit)一级进行运算或处理。
C语言提供了位运算的功能,这使得C语言也能像汇编语言一样用来编写系统程序。
12.1 位运算符C语言提供了六种位运算符:& 按位与| 按位或^ 按位异或~ 取反<< 左移>> 右移12.1.1 按位与运算按位与运算符"&"是双目运算符。
其功能是参与运算的两数各对应的二进位相与。
只有对应的两个二进位均为1时,结果位才为1,否则为0。
参与运算的数以补码方式出现。
例如:9&5可写算式如下:00001001 (9的二进制补码)&00000101 (5的二进制补码)00000001 (1的二进制补码)可见9&5=1。
按位与运算通常用来对某些位清0或保留某些位。
例如把a 的高八位清 0 ,保留低八位,可作a&255运算( 255 的二进制数为0000000011111111)。
【例12.1】main(){int a=9,b=5,c;c=a&b;printf("a=%d\nb=%d\nc=%d\n",a,b,c);}12.1.2 按位或运算按位或运算符“|”是双目运算符。
其功能是参与运算的两数各对应的二进位相或。
只要对应的二个二进位有一个为1时,结果位就为1。
参与运算的两个数均以补码出现。
例如:9|5可写算式如下:00001001|0000010100001101 (十进制为13)可见9|5=13【例12.2】main(){int a=9,b=5,c;c=a|b;printf("a=%d\nb=%d\nc=%d\n",a,b,c);}12.1.3 按位异或运算按位异或运算符“^”是双目运算符。
【实验报告】C程序设计(第三版)谭浩强

南昌大学实验报告学生姓名:学号:专业班级:实验类型:□验证□综合□设计□创新一、实验项目名称C语言概述二、实验目的(1)接触C语言(2)熟悉Turbo C2.0三、实验内容1.6 编写一个C程序,输入a,b,c 3个值,输出其中最大者四、实验步骤(1)输入语言#include<stdio.h>void main(){int max(int x,int y,int z);int a,b,c,d;scanf("%d,%d,%d",&a,&b,&c);d=max(a,b,c);printf("max=%d\n",d);}int max(int x,int y,int z){int g,d;if(x>y)g=x;else g=y;if(g>z)d=g;else d=z;return(d);}(2)检查语法正确性(3)运行程序五、实验数据及处理结果输入 1,2,3输出max=3 输入 1,3,2输出max=3 输入 3,2,1输出max=3南昌大学实验报告学生姓名:学号:专业班级:实验类型:□验证□综合□设计□创新一、实验项目名称算法二、实验目的熟悉一些程序的算法技巧三、实验内容(1)输出1900-2000年中是闰年的年份(2)求ax2+bx+c=0的根(3)输入10个数输出其中最大的一个数四、实验步骤(1)输入语言①#include<stdio.h>#include<iostream.h>void main(){int i=1900;while(i<=2000){if(i%4==0&&i%100!=0){cout<<"1900-2000闰年的年份有"<<i<<endl; i++;}Elsei++;if(i%100==0||i%400==0){cout<<"1900-2000闰年的年份有"<<i<<endl; i++;}Elsei++;}}②#include <stdio.h>#include <stdlib.h>#include <math.h>int main(){float a,b,c,delta;printf("please input a b c :");scanf("%f",&a);scanf("%f",&b);scanf("%f",&c);if(a==0 && b==0 && c==0)printf("000\n");else{delta = (float)b*b-4*a*c;if(delta<0)printf("111\n");elseprintf("The two roots are %f %f\n",(sqrt((float)delta)-b)/(2*a),(-sqrt((float)del ta)-b)/(2*a));}}③#include<stdio.h>void main(){int a[10],i,max;printf("Please input 10 number:\n");for(i=0;i<=10;i++)scanf("%d",&a);max=a[0];for(i=0;i<10;i++)if(max<a) max=a;printf("%d\n",max);}(2)检查语法的正确性(3)运行程序五、实验数据及处理结果①2000不是闰年1996是闰年②x=[-b±√(4ac-b^2)i]/2a③输入1 2 3 4 5 6 7 8 9输出9南昌大学实验报告学生姓名:学号:专业班级:实验类型:□验证□综合□设计□创新一、实验项目名称数据类型运算符与表达式二、实验目的了解运算符与表达式以及数据类型三、实验内容3.6写出程序运算结果3.7将China译成密码3.10写出运算结果四、实验步骤(1)输入程序①#include<stdio.h>void main(){char c1='a',c2='b',c3='c',c4='\101',c5='\116'; printf("a%c b%c\tc%c\tabc\n",c1,c2,c3);printf("\t\b%c %c\n",c4,c5);}②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); }③#include<stdio.h>void main(){int i,j,m,n;i=8;j=10;m=++i;n=j++;printf("%d,%d,%d,%d\n",i,j,m,n);}(2)运行程序五、实验数据及处理结果程序的运行结果①aabb cc abc②printf("密码是%c%c%c%c%c\n",c1,c2,c3,c4,c5);③9,11,9,10南昌大学实验报告学生姓名:学号:专业班级:实验类型:□验证□综合□设计□创新一、实验项目名称顺序程序设计二、实验目的编写简单的程序三、实验内容4.8设圆半径r=1.5,圆柱高h=3,求圆周长,圆面积,圆球表面积,圆球体积,圆柱体积。
C程序设计(第四版)谭浩强-课后习题答案-共11章(同名1796)

C程序设计(第四版)谭浩强-课后习题答案-共11章(同名1796)第1章程序设计和C语言11.1什么是计算机程序11.2什么是计算机语言11.3C语言的发展及其特点31.4最简单的C语言程序51.4.1最简单的C语言程序举例61.4.2C语言程序的结构101.5运行C程序的步骤与方法121.6程序设计的任务141-5 #include <stdio.h>int main ( ){ printf ("**************************\n\n");printf(" Very Good!\n\n");printf ("**************************\n");return 0;}1-6#include <stdio.h>int main(){int a,b,c,max;printf("please input a,b,c:\n");scanf("%d,%d,%d",&a,&b,&c);max=a;if (max<b)max=b;if (max<c)max=c;printf("The largest number is %d\n",max); return 0;}第2章算法——程序的灵魂162.1什么是算法162.2简单的算法举例172.3算法的特性212.4怎样表示一个算法222.4.1用自然语言表示算法222.4.2用流程图表示算法222.4.3三种基本结构和改进的流程图262.4.4用N S流程图表示算法282.4.5用伪代码表示算法312.4.6用计算机语言表示算法322.5结构化程序设计方法34习题36第章最简单的C程序设计——顺序程序设计373.1顺序程序设计举例373.2数据的表现形式及其运算39 3.2.1常量和变量393.2.2数据类型423.2.3整型数据443.2.4字符型数据473.2.5浮点型数据493.2.6怎样确定常量的类型513.2.7运算符和表达式523.3C语句573.3.1C语句的作用和分类573.3.2最基本的语句——赋值语句59 3.4数据的输入输出653.4.1输入输出举例653.4.2有关数据输入输出的概念67 3.4.3用printf函数输出数据68 3.4.4用scanf函数输入数据75 3.4.5字符数据的输入输出78习题823-1 #include <stdio.h>#include <math.h>int main(){float p,r,n;r=0.1;n=10;p=pow(1+r,n);printf("p=%f\n",p);return 0;}3-2-1#include <stdio.h>#include <math.h>int main(){float r5,r3,r2,r1,r0,p,p1,p2,p3,p4,p5; p=1000;r5=0.0585;r3=0.054;r2=0.0468;r1=0.0414;r0=0.0072;p1=p*((1+r5)*5); // 一次存5年期p2=p*(1+2*r2)*(1+3*r3); // 先存2年期,到期后将本息再存3年期p3=p*(1+3*r3)*(1+2*r2); // 先存3年期,到期后将本息再存2年期p4=p*pow(1+r1,5); // 存1年期,到期后将本息存再存1年期,连续存5次p5=p*pow(1+r0/4,4*5); // 存活期存款。
(完整版)《C语言程序设计》教案(清华谭浩强)

第一章C语言及程序设计概述本章要求:了解C语言的特点、C语言与其它高级语言相比有什么异同;了解C程序在PC机上的建立、编译和运行过程;了解C语言程序设计思想的基本篇;重点:①C语言的主要特点;②C语言在PC机上的运行过程及上机操作过程;③常用算法的应用难点:无一、C语言概述C语言是目前国际上在各种计算机运行较为广泛流行的一种高级语言.主要表现为:C语言:适合于作为系统描述语言—-可用来写系统软件。
具有高级语言的特点,又有低级语言(汇编语言)的特点。
C语言:是AT&T贝尔实验室的Dennis Ritchie在1972年发明的。
C语言:是在B语言的基础上发展起来的.(ALGOL 60)C语言:最早开始是用于UNIX操作系统。
(C语言和UNIX是相辅相成的)DBASE 、Microsoft Exel 、 Microsoft Word、PC—DOS等,则是用C语言加上若干汇编子程序编写的。
1983年:——制定的新标准,称为(美国国家标准化协会)ANSI C1987年:—-Turbo C1.0 (Borland) 1988年:TC 1.5(图形和文本窗口)1989年:——Turbo C2。
0 (DOS操作系统、查错、Tiny模式生成com文件)1991年:—-Turbo C++(3.0) 支持windows 3.X说明:Turbo C语言可以在程序的任何地方嵌入汇编代码,提高速度,可以直接使用存储器和寄存器。
二.C语言的特点1.语言简洁、紧凑、使用方便、灵活C语言:——共有32个关键字,9种控制语句;程序书写自由,主要用小写字母表示;2.运算符丰富C语言的运算符包含的范围很广泛,共有34种运算符;即:把括号、赋值、强制类型转换都作为运算符处理3.有丰富的数据类型整型、实型、字符型、数据类型、指针类型、结构体类型、共用体(联合)类型等。
实现复杂的数据结构(链表、树、栈、图)的运算。
4.具有结构化的功能,用函数作为程序模块,实现程序的模块化5.语法限制不太严格,程序设计自由度大.(放宽了语法检查)例:1)对数组下标越界不作检查,由程序编写者自己保证程序的正确;2)整型数据、字符型数据、逻辑型数据可以通用。
C语言程序实验报告--谭浩强

C语言程序设计实验报告学校:内蒙古科技大学经济与管理学院班级:信息管理与信息系统2011级姓名:王*学号:**********目录实验一C语言开发环境建立 (3)实验二C语言程序初步 (3)实验三变量与赋值 (4)实验四运算符与表达式 (5)实验五数据类型 (7)实验六控制台输入/输出 (9)实验七关系运算与逻辑运算 (11)实验八分支程序的测试与调试 (12)实验九条件型循环结构及其测试 (16)实验十计数型循环结构及其测试 (20)实验十一函数及其测试 (24)实验十二变量的储存性质 (26)实验十三数组 (30)实验十四指针 (32)实验十五结构体和共用体 (37)实验十六文件 (40)实验11、实验目的与要求(1)掌握C语言开发环境的软/硬件配置和安装方法。
(2)为了自己的方便进行工作环境配置。
(3)测试所建立的C语言程序开发环境。
2、实验测试一个简单的程序,对所建立的程序开发环境进行测试例如,可以准备一个简单的程序如下。
#include <stdio.h>int main(void){printf("I am studying programming with C.");}编译结果运行结果3.分析与预期结果相同实验21.实验目的与要求(1)进一步熟悉c语言程序设计环境。
(2)明确c语言程序的结构。
2. 程序检测与调试程序一错误程序:main()(printf("This is c program.");)调试结果:程序缺少“#include<stdio.h>”,main函数下面应该是“{}”而不是“()”。
改正后的程序:#include<stdio.h>main(){printf("This is c program.\n");}程序二错误程序:#include<stdio.h>;main(){a=3,b=5;c=a*b;printf("The product is:",c)}调试结果:“#include<stdio.h>”后面没有“;”,对变量a,b,c没有定义,“}”前缺少“;”。
(谭浩强第四版)C语言教案 第12 周

做实验指导书上的题目,在上机时输入、编辑、编译、连接、运行
教学后记
(1)一个C程序由一个或多个程序模块组成,每一个程序模块作为一个源程序文件。对较大的程序,一般不希望把所有内容全放在一个文件中,而是将他们分别放在若干个源文件中,再由若干源程序文件组成一个C程序。这样便于分别编写、分别编译,提高调试效率。一个源程序文件可以为多个C程序公用。
(2)一个源程序文件由一个或多个函数以及其他有关内容(如命令行、数据定义等)组成。一个源程序文件是一个编译单位,在程序编译时是以源程序文件为单位进行编译的,而不是以函数为单位进行编译的。
教学过程与教学内容:
三、讲授新课:
3.1函数的说明
先举一个函数调用的简单例子
# include <stdio.h>
void main()
{
void printstar(); /*对printstar函数声明*/
void print_message(); /*对print_message函数声明*/
printstar(); /*调用printstar函数*/
3.2.2有参函数定义的一般形式
教学过程与教学内容:
定义有参函数的一般形式为:
类型标识符 函数名(形式参数表列)
{
声明部分
语句部分
}
例如:
intmax(intx,inty)
{intz;/ *函数体中的声明部分*/
z=x>y?x∶y;
return(z);
}
3.2.3空函数
定义空函数的一般形式为:
类型标识符 函数名()
void print_message()/*定义print_message函数*/
{ printf("How do you do!\n"); }
(完整版)《C语言程序设计》教案(清华谭浩强)

第一章C语言及程序设计概述本章要求:了解C语言的特点、C语言与其它高级语言相比有什么异同;了解C程序在PC机上的建立、编译和运行过程;了解C语言程序设计思想的基本篇;重点:①C语言的主要特点;②C语言在PC机上的运行过程及上机操作过程;③常用算法的应用难点:无一、C语言概述C语言是目前国际上在各种计算机运行较为广泛流行的一种高级语言。
主要表现为:C语言:适合于作为系统描述语言——可用来写系统软件。
具有高级语言的特点,又有低级语言(汇编语言)的特点。
C语言:是AT&T贝尔实验室的Dennis Ritchie在1972年发明的。
C语言:是在B语言的基础上发展起来的。
(ALGOL 60)C语言:最早开始是用于UNIX操作系统。
(C语言和UNIX是相辅相成的)DBASE 、Microsoft Exel 、Microsoft Word、PC-DOS等,则是用C语言加上若干汇编子程序编写的。
1983年:——制定的新标准,称为(美国国家标准化协会)ANSI C 1987年:——Turbo C1.0 (Borland) 1988年:TC 1.5(图形和文本窗口)1989年:——Turbo C2.0 (DOS操作系统、查错、Tiny模式生成com文件)1991年:——Turbo C++(3.0) 支持windows 3.X说明:Turbo C语言可以在程序的任何地方嵌入汇编代码,提高速度,可以直接使用存储器和寄存器。
二.C语言的特点1.语言简洁、紧凑、使用方便、灵活C语言:——共有32个关键字,9种控制语句;程序书写自由,主要用小写字母表示;2.运算符丰富C语言的运算符包含的范围很广泛,共有34种运算符;即:把括号、赋值、强制类型转换都作为运算符处理3.有丰富的数据类型整型、实型、字符型、数据类型、指针类型、结构体类型、共用体(联合)类型等。
实现复杂的数据结构(链表、树、栈、图)的运算。
4.具有结构化的功能,用函数作为程序模块,实现程序的模块化5.语法限制不太严格,程序设计自由度大。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
6
8
2
1.启动Visual C++ 6.0环境
方法:单击 “开始”-“程序”-“Microsoft Visual studio 6.0”“Microsoft Visual C++ 6.0”命令,启动Visual C++,Vቤተ መጻሕፍቲ ባይዱ6主窗口 如下:
标题栏 菜单栏 工具栏
文件编辑区
项目工作区
输出区 状态栏
3
2. 编辑源程序文件
课程要求
– 课前请做好预习 – 保持课堂安静,头脑清醒,思维活跃 – 认真、独立、按时完成并提交作业 – 重视上机实践,有效利用宝贵的上机时间
1
Visual C++ 6.0集成环境
利用Visual C++ 6.0集成环境开发C程序 的过程如下:
1.启动Visual C++ 6.0环境 2. 编辑源程序文件 3. 编译和连接 4. 执行
单击“工程”
选择新项目位置 单击“单确击定“”完成”
单击“确定”
单击“Win32 Console Application”
③单击“An empty project”按钮和 “完
成”按钮。系统显示“新建工程信息” 对
话框。单击“确定”按钮。
4
2. 编辑源程序文件
(2)建立新项目中的文件 ①单击“文件”-“新建”,
单击该选项 输入项目名
(1)建立新工程项目 ①单击“文件”-“新建”,
弹出 “新建”对话框。 ②单击“工程”选项卡;单击
“Win32 Console Application”
选项;“工程”文件框中输入 项
目名,如“gc1”和“位置” 框输入
或选择新项目所在位置,单击
“确定”按钮。 弹出“Win32
Console Application Step 1of 1”对话框。
弹 出“新建”对话框。 ② 选择“文件”选项卡。单
击 “C++ Source File”选项,
在 “文件”文件框中输入文件
名, 单 ③ 区击 显 窗动示“ 口文确 输件定入编”源辑按程区钮序窗。文口系件,统 。在自文件编辑 返回VC6主窗口。
输入文件名
单击“文件”
选择“添加工程”
单击“C++ Source file”
输入源程序
单击“确定”
5
3. 编译和连接
方法一:选择主窗口菜单栏中 “编译”菜单项;系统弹出下 拉菜单,选择“构件”菜单命 方令法。二:单击主窗口编译工具栏 上的 “Build”按钮进行编译 和连接。
单击“Build”
单击“编译”
(1)系统对程序文件进行编译和连接,生成以项目名称命名的可执行目 标代码文件.exe。