西南交通大学计算机程序设计基础(C++)
大学C++第5章指针的应用

00:22
前一页 休息
int *p, i=0; p=&67; p=&(i+5);
10
③指针变量是有类型的,所以给指针变 量赋的值不但要是一个地址,而且应该是 一个与该指针变量类型相符的变量的地址。 例如:float f=34.5, *fptr=&f;
C
二、指针变量的关系运算
表示所指变量在内存中的位置关系。 例如:两个指针变量p1、p2指向同一数
组中的元素时:
若p1==p2:表示p1和p2指向数组中 的同一个元素;
若p1<p2:表示p1所指的数组元素在p2所 指的数组元素之前; 若p1>p2:表示p1所指的数组元素在p2所 指的数组元素之后。
变量的数据类型。 例如:int *p;
00:22
前一页 休息 7
3. 在指针定义中,一个“*”只能表示 一个指针变量。
例如:int *p1,p2;
4. 允许声明void类型的指针变量,可以 存储任何类型变量的地址。 例如: void *general; int *point, i; general=&i; point=(int *)general;
x<=*(t+p)停止,此时p即为插入点位置。
重复比较是一个循环操作,循环条件为 x>*(t+p),为了保证位置操作只在数组中进 行,增加一个位置限制p<N。
确定插入位置的程序代码为:
p=0;
t=a;
while (x>*(t+p)&&p<N)
p++;
西南交通大学计算机程序设计基础(C++)

西南交通大学C++实验报告计算机程序设计基础(C++)实验1一、实验目的1.熟悉C++程序的集成开发环境;2.学习新建和打开控制台应用程序的方法;3.掌握简单数据运算,以及输入与输出方法。
二、实验任务1.输入一摄氏温度,输出显示所转换的华氏温度。
(提示:摄氏温度=(华氏温度-32)×5/9)2.画出一头威武雄壮的雄狮。
,%%%%%%,%%/\%%%%/\%,%%%\c "" J/%%%%. %%%%/ o o \%%%`%%. %%%% _ |%%`%% `%%%%(__Y__)%// ;%%%%`\-/%%%'(( / `%%%%%%%'\\ .' |\\ / \ | |\\/ ) | |\ /_ | |__(___________)))))))三、实验结果(源程序+ 注释)1.源程序#include<iostream>using namespace std;void main(){double a,b;cout<<"请输入一摄氏温度:"<<endl;cin>>a;b=a*9/5+32;cout<<"转换的华氏温度为:"<<b<<endl;}2.源程序#include<iostream>using namespace std;void main(){cout<<" ,%%%%%% "<<endl;cout<<" ,%%/\%%%%/\% "<<endl;cout<<" ,%%%\c "" J/%%% "<<endl;cout<<"%. %%%%/ o o \%%% "<<endl;cout<<"`%%. %%%% _ |%% "<<endl;cout<<" `%% `%%%%(__Y__)% "<<endl;cout<<" // ;%%%%`\-/%%%' "<<endl;cout<<"(( / `%%%%%%%' "<<endl;cout<<" \\ .' | "<<endl;cout<<" \\ / \ | | "<<endl;cout<<" \\/ ) | | "<<endl;cout<<" \ /_ | |__ "<<endl;cout<<" (___________))))))) "<<endl;}实验2一、实验目的1.掌握对一般数据的输入和输出格式控制方法;2.掌握对实型数据输出形式的设置和小数位数的控制方法;3.了解数据输入的相关注意事项。
西南交大 第2章C++基础知识

若想使输出更明确,可按下面编写: cout<<"a="<<a<<endl; cout<<"b="<<b<<endl; cout<<"c="<<c; 或: cout<<"a="<<a<<endl<<"b="<<b<<endl<< "c="<<c; 数据流: C++中的标准输入输出(I/O)操作,都使用 数据流,即字符序列。
21
关键字是C++本身设定或预留的具有特
定含义的某些标识符,在命名变量、数组、函数 名称时,不能使用这些标识符。 float b; 该语句定义了一个浮点型的变量b float是一个关键字,表示的是数据类型。
22
输入操作格式为:
cin >>V1>>V2>>…>>Vn; 其中: V1,V2, … Vn为变量名 ">>"称为析出(提取)操作符 作用:等待从键盘输入数据,接收后依次存入各 变量V1,V2, … Vn。 假设变量my_name、myAge、birthday均已定义: 从键盘输入my_name的C++语句: cin>>my_name; 输入my_name、myAge、birthday的C++语句: cin>>my_name>>myAge>>birthday分大小写的,因此除"Hello,C++!"双引号里 的内容你可以随意改变外,其余如 #include 、 cout 、 main 等都必须严格使用英文小写, 因为它们都是系统 提供的关键字,不能随意改变。所有标点也必须使用西 文标点,只有双引号里、注释语句里可以使用中文。
大学计算机基础(程序设计基础)习题与答案

一、单选题1、计算机能够直接执行的程序是()。
A.汇编语言程序B.可执行文件C.源程序D.命令文件正确答案:B2、汇编语言也称为()。
A.面向应用的语言B.面向对象的语言C.面向机器的语言D.面向过程的语言正确答案:C3、C、C++、Java可归类为()语言。
A.符号B.机器C.高级D.自然正确答案:C4、根据计算机语言发展的过程,下列排列顺序正确的是()。
A.机器语言、高级语言、汇编语言B.机器语言、汇编语言、高级语言C.汇编语言、机器语言、高级语言D.高级语言、机器语言、汇编语言正确答案:B5、编译程序将高级语言程序翻译成与之等价的机器语言程序,编译前的程序可以称呼()。
A.目标程序B.源程序C.临时程序D.原程序正确答案:B6、()都属于计算机的低级语言。
A.机器语言和高级语言B.汇编语言和高级语言C.机器语言和汇编语言D.高级语言和数据库语言正确答案:C7、在程序设计中,把解题过程准确而完整地描述出来,就叫()。
A.算法B.方法C.事件D.过程正确答案:A8、()是一种使用几何图形描述程序逻辑关系的程序设计方法。
A.流程图B.饼图C.数据流图D.柱形图正确答案:A9、用C语言编写的程序需要用()程序翻译后计算机才能识别。
A.汇编B.解释C.连接D.编译正确答案:D10、可被计算机直接执行的程序由()语言编写的程序。
A.汇编B.机器C.高级D.网络正确答案:B11、由二进制编码构成的语言是()。
A.C语言B.BASIC语言C.汇编语言D.机器语言正确答案:D12、结构化程序设计中的三种基本程序结构是指()。
A.顺序结构、转移结构、分支结构B.顺序结构、转移结构、循环结构C.顺序结构、选择结构、循环结构D.转移结构、选择结构、分支结构正确答案:C13、算法的基本结构中不包括()。
A.选择结构B.循环结构C.顺序结构D.逻辑结构正确答案:D14、在计算机科学中,算法这个术语是指()。
A.求解问题并选择编程工具B.求解问题的数学方法C.求解计算机问题的一系列步骤D.选择求解问题的计算机系统正确答案:C15、高级语言翻译程序是将高级语言编写的源程序翻译成目标程序有两种工作方式。
西南交通大学C实验报告

计算机程序设计基础(C++)实验报告信息学院计算机教育中心二零一二年三月目录实验__1__实验报告 (3)实验__2__实验报告 (5)实验__3__实验报告 (6)实验__4__实验报告 (7)实验__5__实验报告 (11)实验__6__实验报告 (14)实验__7__实验报告 (17)实验__8__实验报告 (19)实验__9__实验报告 (20)实验__10__实验报告 (21)实验__11__实验报告 (22)实验__12__实验报告 (23)实验__13__实验报告 (24)实验__14__实验报告 (25)实验__15__实验报告 (26)实验日期:___________ 实验地点:_________(机房)指导教师签名:__________ 实验成绩:___________一、实验目的1.熟悉Visual studio 6.0集成开发环境;2.学习新建和打开控制台应用程序的方法;3.通过运行示例程序了解程序开发过程;二、实验任务1.新建源程序文件,编辑以下程序,编译,链接,得出运行结果,并保存程序:#include <iostream>using namespace std;void main( ){ cout<<'a'<<endl;cout<<'\141'<<endl;cout<<'\x61'<<endl;}2.新建源程序文件,编辑以下程序,编译,链接,运行,输入36和64,得出运行结果,并保存程序:#include <iostream>using namespace std;int main(){ float num1,num2,sum;cout << "Enter first number: ";cin >> num1;cout << "Enter second number: ";cin >> num2;sum=num1+num2;cout << "The sum is " << sum << endl;return 0;}三、实验结果教学班级:_______ 学生学号:__________ 学生姓名:___________ 实验日期:___________ 实验地点:_________(机房)指导教师签名:__________ 实验成绩:___________一、实验目的1.熟悉Visual studio 6.0集成开发环境;2.学习新建和打开控制台应用程序的方法;3.简单输入和输出语句的练习。
西南交大c++课件(张旭丽)-4

[例4-5 ]起泡法
前一页
休息
32
[例4-5]起泡法
#include <iostream> using namespace std; void main( ) { const int N=10; int a[N+1]; int j,k,t; cout<<“Input numbers:”<<endl; for(j=1;j<=N;j++) cin>>a[j];
前一页
休息
5
数组的概念
具有相同类型的数据的集合被称为数组 数组用数组名来标识 一个数组名用来表示一组同类型的数据 这批同类型的数据被称为数组元素或分量 数组和变量一样,必须先定义,后使用
前一页
休息
6
数组的定义
定义的格式:
类型说明符 数组名[常数表达式1][…][…] 说明: 类型说明符可以是任意类型(例如char、int) 常数表达式的值是数组元素的个数 数组可以是一维、二维或多维数组;是几维数 组,数组名右边就有几对方括号,分别确定各 维的长度(元素个数);
前一页 休息 29
[例4-4]选择法
for(i=1;i<=9;i++) for(j=i+1;j<=10;j++) if(a[i]>a[j]) { t=a[i];a[i]=a[j];a[j]=t;} cout<<“The sorted numbers is:”<<endl; for(j=1;j<=10;j++) cout<<a[j]; }
前一页 休息 39
[例4-7] 二维数组应用举例
西南交通大学 戴克俭 c++ 第一章

开始
1t
2i t×it i+1i
N
i>5
Y
打印t
结束
图1.3 例1.2.3的算法流程图
25
1.2.1 算法的表示
【例1.2.4】用传统流程图表示“判定一个大于 或等于3的正整数是否是素数?”的算法(参 见图1.4)。 说明:所谓素数(质数),是指除了1和 该数本身外不能被其他任何整数整除的数。因 此,判断一个数n(n3)是否是素数的方法为, 将n作为被除数,并用2到(n-1)之间的各个 整数轮流作为除数,若都不能被整除,则n为 素数。
C++程序设计基础
第一章 引论
西南交通大学软件学院 计算机基础教研室 戴克俭制作
1
自我介绍
姓名: 戴克俭
Email:kjdai1@
单位:西南交通大学软件学院
2
使用教材与参考教材
教材: 《大学计算机程序设计基础(C++)》 作者:西南交通大学软件学院计算机基础教 研室
1.1.1 软件开发过程
关键的任务是要 确切地定义用户 “要解决的问题 是 什 么 ?” , “ 有可行的解吗 ?”
图1.1 传统的软件开发过程 目的是要弄清楚系统应该/
必须“做什么”,需求分 析是软件开发项目得以成 功的基础 目标是确定应该怎 样具体地实现所要 求的系统
为成为持久满足 用户需要的软件 ,维护包含3方 面内容:校正性 维护→排除使用 中暴露出的错误 ,适应性维护→ 使软件适应运行 环境的变化,完 善性维护→对软 件的功能加以扩 8 充
b
31
1.2.1 算法的表示
计算机程序设计基础(C)

转换说明符
转换说明符 %d %u %x, %X %o %f %e, %E %g, %G %c %s 说明 以有符号十进制整数形式输出,正数不输出符号 以无符号十进制整数形式输出 以无符号十六进制整数形式输出 以无符号八进制整数形式输出 以浮点数(实数)形式输出,缺省精度为6位小数 以指数形式输出单、双精度实数 以%f或%e中较短的输出宽度输出单、双精度实数 以单一字符形式输出,以此为ASCII码输出一个字符 以字符串形式输出,直到遇到'\0'或达到指定宽度
18
格式化输出函数 printf()
功能 • 将各数据项以指定的格式,输出到标准输出 设备上 调用格式 • printf(“输出格式描述字符串”, 输出项列表); • 例:printf(“age = %d\n”, age); printf(“%d %d %d\n”, a, 15, a+5); printf(“%d\n”, xmin(a,b));
反斜杠字符常量 • 以‘\‟开头,后跟字符或数字,用于表示一 个特定含义的字符,例如‘\n‟表示换行字符, 称为转义字符序列 • 常与普通字符混杂于某个字符串中
16
转义序列及其意义
转义序列 \a \b 功能与意义 响铃 退格
\f
\n \r \t \v \0 \\ \‘
换页
换行 返回到当前行首 水平制表键 垂直制表键 ASCII码0 字符‘\’自身 字符‘’’(仅在字符常数中需要‘\’)
8
数据类型的一般概念
确定了以值为元素的数据集 • 值的可能范围,即定义域 确定了操作(运算)集 • 不同数据类型具有不同的操作集,不同数据 类型间也可以进行混合运算 规定了值的存储格式 • 不同类型数据在计算机中存储格式不同,相 同类型数据在不同计算机与编译器下的存储 格式也可能不同 数据处理的基本对象 • 常量与变量,均属于某种数据类型
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
西南交通大学C++实验报告计算机程序设计基础(C++)实验1一、实验目的1.熟悉C++程序的集成开发环境;2.学习新建和打开控制台应用程序的方法;3.掌握简单数据运算,以及输入与输出方法。
二、实验任务1.输入一摄氏温度,输出显示所转换的华氏温度。
(提示:摄氏温度=(华氏温度-32)×5/9)2.画出一头威武雄壮的雄狮。
,%%%%%%,%%/\%%%%/\%,%%%\c "" J/%%%%. %%%%/ o o \%%%`%%. %%%% _ |%%`%% `%%%%(__Y__)%// ;%%%%`\-/%%%'(( / `%%%%%%%'\\ .' |\\ / \ | |\\/ ) | |\ /_ | |__(___________)))))))三、实验结果(源程序+ 注释)1.源程序#include<iostream>using namespace std;void main(){double a,b;cout<<"请输入一摄氏温度:"<<endl;cin>>a;b=a*9/5+32;cout<<"转换的华氏温度为:"<<b<<endl;}2.源程序#include<iostream>using namespace std;void main(){cout<<" ,%%%%%% "<<endl;cout<<" ,%%/\%%%%/\% "<<endl;cout<<" ,%%%\c "" J/%%% "<<endl;cout<<"%. %%%%/ o o \%%% "<<endl;cout<<"`%%. %%%% _ |%% "<<endl;cout<<" `%% `%%%%(__Y__)% "<<endl;cout<<" // ;%%%%`\-/%%%' "<<endl;cout<<"(( / `%%%%%%%' "<<endl;cout<<" \\ .' | "<<endl;cout<<" \\ / \ | | "<<endl;cout<<" \\/ ) | | "<<endl;cout<<" \ /_ | |__ "<<endl;cout<<" (___________))))))) "<<endl;}实验2一、实验目的1.掌握对一般数据的输入和输出格式控制方法;2.掌握对实型数据输出形式的设置和小数位数的控制方法;3.了解数据输入的相关注意事项。
二、实验任务1. 键盘输入某台计算机的编号和该计算机的价格,并输出这些信息。
要求:编号为11位数字构成,如10987654321;价格含有小数部分,如998.0元;输出的编号只是由数字组成,不应该出现小数点等非数字符号。
2. 有一种加密方法是用原来字母的第n个字母代替原来的宁母。
例如把A用其后第4个字母E来替代。
现在有一密文内容为wigvix,编程求出它的原文是什么?(提示:可根据上述加密原理,使用若干字符型变量来实现)。
3.编程实现:在计算机的提示下输入某学生的学号、英语成绩、高等数学成绩、线性代数成绩,计算得出三门课程平均成绩,并按如下格式输出显示。
成绩单学号20100002****************************************科目成绩-----------------------------------------------------------------英语85高等数学90线性代数88.5****************************************平均成绩87.8三、实验结果(源程序+ 注释)1.源程序#include<iostream>using namespace std;void main(){ double a,b;cout<<"请输入某台计算机的编号和该计算机的价格:"<<endl;cin>>a>>b;cout.precision(11);cout<<"该计算机的编号和价格分别为:"<<endl;cout<<a<<" "<<b<<endl;}2.源程序#include<iostream>using namespace std;void main(){ char c1,c2,c3,c4,c5,c6;cout<<"请输入密码内容:"<<endl;cin>>c1>>c2>>c3>>c4>>c5>>c6;c1=c1-4;c2=c2-4;c3=c3-4;c4=c4-4;c5=c5-4;c6=c6-4;cout<<"原文是:"<<endl;cout<<c1<<c2<<c3<<c4<<c5<<c6<<endl;}3.源程序#include <iostream>#include <iomanip>using namespace std;void main(){ float score1,score2,score3,average;cout<<"请输入三门课程的成绩"<<endl;cin>>score1>>score2>>score3;average=(score1+score2+score3)/3;cout<<"成绩单"<<endl;cout<<"学号 20100002"<<endl;cout<<"****************************************"<<endl; cout<<"科目"<<setw(16)<<"成绩"<<endl;cout<<"----------------------------------------"<<endl; cout<<"英语"<<setw(15)<<score1<<endl;cout<<"高等数学"<<setw(11)<<score2<<endl;cout<<"线性代数"<<setw(12)<<score3<<endl;cout<<"****************************************"<<endl; cout<<fixed;cout.precision(1);cout<<"平均成绩"<<setw(12)<<average<<endl;}实验3一、实验目的1. 掌握“处理某一或某些操作只有在特定条件成立的情况下才会被执行”的编程思路和方法;2. 掌握简单分支程序设计,以及if 和if-else 语句的使用方法。
二、实验任务1. 已知一函数⎪⎩⎪⎨⎧>=-<<=-<=)10(113)101(12)1(x x x x x x y ,输入x 的值,求解并输出相应的y 值。
2. 求一元二次方程ax2+bx+c=0的根,其中a 、b 、c 为实数,由键盘输入。
三、实验结果(源程序 + 注释)1.源程序#include <iostream>using namespace std;void main(){ double x,y;cout<<"请输入x的值:"<<endl;cin>>x;if(x<1)y=x;if(x>=1&&x<10)y=2*x-1;if(x>=10)y=3*x-11;cout<<"输出相应的y值为:"<<y<<endl;}2.源程序#include<iostream>#include<cmath>using namespace std;void main(){ double a,b,c,delta,x,x1,x2;cout<<"求一元二次方程ax2+bx+c=0的根"<<endl;cout<<"请输入a,b,c的值:"<<endl;cin>>a>>b>>c;delta=b*b-4*a*c;if(delta<0)cout<<"一元二次方程无实根"<<endl;elseif(delta==0){ x=-b/(2*a);cout<<"一元二次方程ax2+bx+c=0的根为a:"<<"x1=x2="<<x<<endl;} if(delta>0){ x1=(-b-sqrt(delta))/(2*a);x2=(-b+sqrt(delta))/(2*a);cout<<"一元二次方程ax2+bx+c=0的根为:"<<"x1="<<x1<<""<<"x2="<<x2<<endl;}}实验4一、实验目的1.掌握多路分支结构的程序设计,以及switch语句的使用方法;2.学习通过程序调试来跟踪程序运行过程,查看程序运行过程中各个变量的取值变化情况。