西南交通大学计算机程序设计基础(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
数据类型的一般概念
确定了以值为元素的数据集 • 值的可能范围,即定义域 确定了操作(运算)集 • 不同数据类型具有不同的操作集,不同数据 类型间也可以进行混合运算 规定了值的存储格式 • 不同类型数据在计算机中存储格式不同,相 同类型数据在不同计算机与编译器下的存储 格式也可能不同 数据处理的基本对象 • 常量与变量,均属于某种数据类型
《程序设计基础(CC++)》课程教学大纲
《程序设计基础(C/C++)》课程教学大纲一、课程信息英文名称:Foundation of Programming (C/C++)授课方式:机房授课课程类别:学科基础课程性质:必修学分:3学时:54学时适用对象:计算机类专业等先修课程:计算机导论开课院系:软件工程系、计算机科学与技术系等二、课程简介《程序设计基础(C/C++)》是软件工程、计算机科学与技术等计算机类本科专业的学科基础课程。
本课程主要的教学内容是C++语言的基本数据类型与表达式,程序基本控制结构,函数、数组及指针的运用,以及输入/输出流类的应用等。
课程以程序设计方法贯穿始终,从语法规则到编程实践,力求在掌握基本程序设计方法的同时,培养学生良好的程序设计习惯,养成良好的专业素养。
本课程的教学方式采用机房上课演示讲授并辅以学生上机练习,充分利用课堂网络教学环境,与PPT、板书、课后思考题和练习题等相结合,并结合课程设计教学环节,使学生能够掌握C/C++程序设计的基本方法,学会对现实世界中的问题及其解决方法用C++语言进行描述。
三、课程任务、目标与要求1.课程任务《程序设计基础(C/C++)》是学习计算机编程的入门课程,学生不仅要学习C/C++语言的基本知识和程序设计方法,还要上机编程实践,掌握计算机调试程序的基本技能,为后续课程的学习打下良好的编程基础。
2.课程基本要求2.1课程目标《程序设计基础(C/C++)》课程着重对学生编程实践能力的培养。
要求学生重视上机编程实践,广学多练,不断地培养和提高编程兴趣;充分利用现代信息技术及互联网资源,运用发散性思维方式,对相关知识进行扩展,开阔视野,在循序渐进中提高编程能力。
2.2 课程目标与毕业要求之间的对应关系本课程要求学生掌握软件工程和计算机学科有关程序设计的基本理论和基本知识;掌握对现实世界中问题及其解决方法用C++语言进行描述的分析方法和技术;具有运用C/C++语言进行程序设计的基本能力;了解程序设计方法和C/C++语言的理论发展动态和行业需求。
(2021年整理)计算机程序设计基础(C语言)编程习题
计算机程序设计基础(C语言)编程习题编辑整理:尊敬的读者朋友们:这里是精品文档编辑中心,本文档内容是由我和我的同事精心编辑整理后发布的,发布之前我们对文中内容进行仔细校对,但是难免会有疏漏的地方,但是任然希望(计算机程序设计基础(C语言)编程习题)的内容能够给您的工作和学习带来便利。
同时也真诚的希望收到您的建议和反馈,这将是我们进步的源泉,前进的动力。
本文可编辑可修改,如果觉得对您有帮助请收藏以便随时查阅,最后祝您生活愉快业绩进步,以下为计算机程序设计基础(C语言)编程习题的全部内容。
计算机程序设计基础(C语言)编程练习题及参考答案1。
输入2个整数,求两数的平方和并输出。
#include 〈stdio.h>main(){ intt a ,b,s;pri ntf(”please input a,b:\n”);scanf("%d%d",&a,&b);s=a*a+b*b;printf(”the result is %d\n”,s);}2. 输入一个圆半径(r)当r>=0时,计算并输出圆的面积和周长,否则,输出提示信息。
#include 〈stdio。
h〉#define PI 3。
14 〈stdio。
h〉main(){ float r ,s , l;printf(”please input r:\n");scanf(”%f",&r);if (r〉=0){s=pi*r*r;l=2*i*r ;printf(”the area is %f\n”,s);printf("the circumference is %f\n",l);}else}3、函数y=f(x)可表示为:2x+1 (x〈0)y= 0 (x=0)2x—1 (x〉0)编程实现输入一个x值,输出y值。
main(){int x,y;scanf(“%d”,&x);If(x<0)y=2*x+1;If(x〉0)y=2*x-1;If(x==0) y=0;printf(“%d”,y);}4、编写一个程序,从4个整数中找出最小的数,并显示此数。
西南交通大学计算机程序设计基础C++实验报告10
实验 10 实验报告教学班级:___ ___ 学生学号:_____xxxxxx_____ 学生姓名:______x x x_____实验日期:___6.15___ 实验地点:____x7407________(机房)指导教师签名:_____________ 实验成绩:______________一、实验目的1.掌握二维数值型数组的使用方法;2.掌握求解一些经典问题的常用算法。
二、实验任务1.设有一个元素皆为整数的n*n阶矩阵,键盘输入矩阵的阶n及矩阵的元素,且找出其主对角线上元素的最大值及其所在的行号。
程序输出参考如下:2.已知有const int M=100; int x[M][M],m;要求:将按照如下规律自动生成的数据存放x数组中,并输出如下图所示三角。
3.编写程序,输入数字n(n<10),输出n层正方形图案。
正方形图案最外层是第一层,依次往内,每层用的数字和层数相同。
程序输出参考如下:4.编写程序,要求输入某班N名同学的序号及3门课成绩,计算每位同学的平均成绩以及每门课的平均成绩(学号为3位整数,成绩也为整数,课程名称为:科目1、科目2、科目3)。
程序输出参考如下:三、实验结果(源程序+ 注释+ 运行界面截图)(要求:(1)提供源程序;(2)源程序包含必要的注释,包括:在程序头部给出本程序功能的注释、所定义变量的用途注释、程序块的功能注释、子函数的功能注释等;(3)运行结果的窗口截图,程序运行结果中输出的第一行内容必须为:程序作者的学号和姓名。
)1.#include <iostream>using namespace std;int main(){cout<<"xxxxxxxxx"<<endl;int i,j,b=0,h=0,a[100][100],n;cout<<"请输入矩阵的阶:";cin>>n;cout<<"请输入一个"<<n<<"*"<<n<<"矩阵,每个数之间用空格间隔,每行输入完成后按回车"<<endl;for (i=1;i<=n;i++)//输入储存数据{for(j=1;j<=n;j++)cin>>a[i][j];}for(i=1;i<=n;i++)//对对角线上的数据进行大小判断{for(j=1;j<=n;j++){if(i==j){if(a[i][j]>b){b=a[i][j];//保存比较后较大的数h=i;//记录比较后较大数的行数}}}}cout<<"对角线上最大的数为:"<<b<<",行号为:"<<h<<endl;system ("pause");return 0;}2.#include <iostream>#include <iomanip>using namespace std;int main(){cout<<"xxxxxxxxx"<<endl;const int M=100; int x[M][M]={0},m;cout<<"请输入m值:";cin>>m;int t=m,i,j,p=m;int h=0;for(j=0;j<m;j++){for(i=0;i<=j;i++){cout<<setw(3)<<t<<setw(6)<<" ";x[i][j]=t;t=t+p;p--;if (j==i){cout<<endl;t=m-h-1;h++;}}p=m;}cout<<"========================================"<<endl;cout<<setw(12)<<" "<<setw(3)<<x[0][0]<<endl;cout<<setw(9)<<" "<<setw(3)<<x[0][1]<<setw(3)<<" "<<setw(3)<<x[1][1]<<endl;cout<<setw(6)<<" "<<setw(3)<<x[0][2]<<setw(3)<<" "<<setw(3)<<x[1][2]<<setw(3)<<" "<<setw(3)<<x[2][2]<<endl;cout<<setw(3)<<" "<<setw(3)<<x[0][3]<<setw(3)<<" "<<setw(3)<<x[1][3]<<setw(3)<<" "<<setw(3)<<x[2][3]<<setw(3)<<" "<<setw(3)<<x[3][3]<<endl;cout<<setw(3)<<x[0][4]<<setw(3)<<" "<<setw(3)<<x[1][4]<<setw(3)<<" "<<setw(3)<<x[2][4]<<setw(3)<<" "<<setw(3)<<x[3][4]<<setw(3)<<" "<<setw(3)<<x[4][4]<<endl;system ("pause");return 0;}3. #include <iostream>using namespace std;int main(){cout<<"xxxxxxxxx"<<endl;int a[100][100],b[100][100],i,j,k,h,n,m;cout<<"请输入正方形层数;";cin>>n;m=2*n-1;for(i=0,k=0;i<n,k<n;i++,k++) //输入保留左上四分之一正方形数据{for(j=0,h=0;j<n,h<n;j++,h++){if(i<j)a[i][j]=i+1;elsea[i][j]=j+1;b[k][h]=a[i][j];}}for(i=0,k=0;i<n,k<n;i++,k++) //将坐上四分之一正方形复制到右上角四分之一正方形{for(j=m-1,h=0;j>=n;j--,h++)a[i][j]=b[k][h];}for(i=m-1,k=0;i>=n,k<n;i--,k++)//复制到左下角四分之一正方形{for(j=0,h=0;j<n,h<n;j++,h++)a[i][j]=b[k][h];}for(i=m-1,k=0;i>=n,k<n;i--,k++)//复制到右下角四分之一正方形{for(j=m-1,h=0;j>=n,h<n;j--,h++)a[i][j]=b[k][h];}for(i=0;i<m;i++)//输出矩阵{for(j=0;j<m;j++){cout<<a[i][j]<<" ";}cout<<endl;}system("pause");return 0;}4.#include <iostream>using namespace std;int main(){cout<<"xxxxxxxxx"<<endl;int a[100][100],i,j,N,m,n;cout<<"请按下列顺序输入:"<<endl;cout<<"学号"<<" "<<"科目1"<<" "<<"科目2"<<" "<<"科目3"<<endl;N=3;m=0;n=0;for(i=0;i<N;i++)//输入同学的学号成绩{for(j=0;j<4;j++){cin>>a[i][j];}}for(i=0;i<N;i++)//计算某同学平均分{for(j=1;j<4;j++)m+=a[i][j];n=m/3;m=0;cout<<"学号为"<<a[i][0]<<"的同学的平均分为:"<<n<<endl;}for(j=1;j<4;j++)//计算某科目平均分{for(i=0;i<N;i++)m+=a[i][j];n=m/3;m=0;cout<<"科目"<<j<<"的平均分为:"<<n<<endl;}system("pause");return 0;}。
计算机程序设计基础(C++)(景红版)课后全部习题及参考答案
()7. short,int都是C++语言的关键字。
()8. C++编译系统对源程序编译时,可以检查出注释语句中的语法错误。
()9. 将一个字符常量放到一个字符变量中,并不是把该字符本身放到内存变量中去,而是将该字符相应的ASCII代码放到存储单元中。
()10. 语句int answer=3+2 9/(10-6);执行完毕后,变量answer的值是7.5。
三、单项选择题1. C++源程序文件的扩展名为()。
(A).CPP(B).OBJ(C).C(D).EXE2. 下列变量名中,()是合法的。
(A)double(B)A+a(C)CHINA(D)5s3. 下列符号能用作C++标识符的是()(A)xyz/2 (B)2xsale (C)x-sale (D)x_sale4. 下列各运算符中,()只能用于整型数据的运算。
(A)+(B)/(C) (D)%5.()不是C++的基本数据类型。
(A)字符类型(B)数组类型(C)整数类型(D)布尔类型6. 下列运算符中,优先级最高的是()。
(A)%(B)!(C)>=(D)/7. 字符串常量“ME”的字符个数是()。
(A)4(B)3(C)2(D)18. 在C++语言中,080是()。
(A)八进制数(B)十进制数(C)十六进制数(D)非法数9. 整型变量i定义后赋初值的结果是()。
int i=2.8 6;(A)12(B)16(C)17(D)1810.如有int m=31;则表达式(m++*1/2)的值是()。
(A)0 (B)15 (C)15.5 (D)1611.每个C++程序都必须有且仅有一个()。
(A)预处理命令(B)主函数(C)函数(D)语句12.在C++语言中,自定义的标志符()。
(A)能使用关键字并且不区分大小写(B)不能使用关键字并且不区分大小写(C)能使用关键字并且区分大小写(D)不能使用关键字并且区分大小写13.下列C++标点符号中表示一条语句结束的是()。
西南交通大学计算机程序设计基础C++实验九
实验 9 实验报告教学班级:_制药一班______ 学生学号:xxxxxx 学生姓名:刘祥龙实验日期:__6.1_______ 实验机房:____x7407____ 助教老师:__________一、实验目的掌握对一组数据进行插入、删除、修改、以及查找的常用算法。
二、实验任务1.建立一个一维数组a,完成以下任务,输入输出格式参见下图。
(1)利用rand()函数产生10个10~100之间的整数,存入数组a中并输出;(2)使用冒泡排序法,将数组a中的数据按降序排列,并输出;(3)使用折半查找法在数组a中查找是否有键盘输入的指定数据,并输出查找结论(没找到或在第X个位置找到)。
2.建立一个一维数组a,完成以下任务,输入输出格式参见下图。
(1)自动生成斐波那契数列前10项的值,存入数组a,并输出。
(斐波那契数列前两项的值为1,从第三项开始,每一项的值是前两项值的和);(2)将键盘输入的一个数据插入数组a,使得数组a中的元素仍然保持有序;(3)删除数组a中的重复数据,并输出删除后的结果;(4)求出数组a所有元素的平均值,并输出;(5)删除数组a中所有低于平均值的元素,并输出删除后的结果。
三、实验结果(源程序+ 注释+ 运行界面截图)(要求:(1)提供源程序;(2)源程序包含必要的注释,包括:在程序头部给出本程序功能的注释、所定义变量的用途注释、程序块的功能注释、子函数的功能注释等;(3)运行结果的窗口截图,程序运行结果中输出的第一行内容必须为:程序作者的学号和姓名。
)1.#include<iostream>;using namespace std;int main(){cout<<"xxxxxxxxx"<<endl;int a[10],i,j,t,top=0,mid,bot=9,x;cout<<"10个10到100间的随机整数为:"<<endl;for(i=0;i<10;i++){a[i]=10+rand()%(100-10+1);cout<<a[i]<<" ";}cout<<endl;//使用冒泡法,将数组a按降序排列,并输出for(i=0;i<9;i++){for(j=0;j<9;j++)if(a[j]<a[j+1]){t=a[j];a[j]=a[j+1];a[j+1]=t;}}cout<<"按从大到小排列的结果为:"<<endl;for(i=0;i<10;i++)cout<<a[i]<<" ";cout<<endl;//使用折半查找完成指定数据的查找,并输出是否查找到的信息cout<<"请输入要查找的数:";cin>>x;while(top<=bot){mid=(top+bot)/2;if(a[mid]==x){break;}elseif(a[mid]<x)bot=mid-1;elseif(a[mid]>x)top=mid+1;}if(top<=bot)cout<<x<<"在第"<<mid+1<<"个位置。
西南交通大学C实验报告
计算机程序设计基础(C++)实验报告软件学院二O一O年三月11实验__1__实验报告教学班级: 6 学生学号:学生姓名:指导教师签名:王健金焕实验成绩:___________一、实验目的1.熟悉Visual studio 6.0集成开发环境;2.学习新建和打开控制台应用程序的方法;3.通过运行示例程序了解程序开发过程;二、实验任务.输出下面图形:12.输入一摄氏温度,输出显示所转换的华氏温度。
(提示:摄氏温度=(华氏温度-32)×5/9)三、实验结果(源程序+ 注释)#include<iostream>using namespace std;void main(){cout<<" * "<<endl;cout<<" * * * * "<<endl;cout<<" * * * * "<<endl;cout<<" * "<<endl;}2233#include<iostream>using namespace std;void main(){double a,b;cout<<"请输入一摄氏温度:"<<endl;cin>>a;b=a*9/5+32;cout<<"对应的华氏温度是:"<<b<<endl;}4 455实验__2__实验报告一、实验目的1.掌握对一般数据的输入和输出格式控制方法;2.掌握对实型数据输出形式的设置和小数位数的控制方法;3.了解数据输入的相关注意事项。
二、实验任务1. 输入一台计算机的编号和该计算机的价格,并输出这些信息。
(如编号为10987654321,价格为5 998.00元,注意此处计算机的编号作为一个整数而言超出了int 所定义的变量的存储范围,因此只能用double 型变量来存储,但输出时要求看见的是整数形式的编号)2. 输入三个同学的学号,计算机和英语课程的考试成绩,并输出这些信息。
西交计算机应用基础试题及答案
西交计算机应用基础试题及答案西南交通大学计算机应用基础试题及答案序言:计算机应用基础是西南交通大学计算机相关专业的基础学科,对学生的计算机基础能力进行考察与培养。
本文将为大家提供一些西南交通大学计算机应用基础试题及答案,希望能够给同学们提供一些学习参考。
第一章:计算机的基本概念与知识1. 请简要解释计算机硬件和软件的概念,并举例说明。
答案:计算机硬件指的是计算机的物理组成部分,包括计算机主机、输入输出设备、存储设备等。
例如,计算机主机是指CPU、内存、主板等组成的计算机核心部件;输入输出设备是指鼠标、键盘、显示器等用于与计算机进行信息交互的设备;存储设备是指硬盘、固态硬盘等用于数据存储的设备。
计算机软件指的是计算机系统的运行程序和相关文档的集合,分为系统软件和应用软件。
例如,操作系统是计算机系统的基础软件,常见的操作系统包括Windows、Linux等;应用软件包括各种办公软件、游戏软件等,如Microsoft Office、Photoshop等。
2. 什么是计算机的存储器层次结构?简要介绍主要层次及其特点。
答案:计算机的存储器层次结构指的是计算机系统中各级存储器之间的关系和特点。
主要层次包括:高速缓存、内存、硬盘和磁带等。
- 高速缓存:位于CPU内部或靠近CPU的位置,速度最快,容量最小。
其特点是访问速度快,但容量有限。
- 内存:也称为随机存取存储器(RAM),位于CPU和硬盘之间,速度较快,容量较大。
特点是读写速度快,容量中等。
- 硬盘:位于计算机主机之外,速度较慢,容量较大。
特点是容量大,但读写速度较慢。
- 磁带:速度最慢,容量最大。
特点是容量非常大,但读写速度非常慢。
第二章:计算机网络基础知识1. 简要介绍计算机网络的分类,并分别举例说明。
答案:计算机网络按照规模可分为局域网(LAN)、城域网(MAN)和广域网(WAN)。
- 局域网:覆盖较小的地理范围,一般在一个建筑物或校园内部。
例如,学校内部的办公室、实验室之间的网络就可以构成局域网。
程序设计基础C语言
程序设计基础(C语言)郎大鹏第1章程序设计基础•1.1 程序设计概念•1.2 算法的概念及其表示•1.3 程序开发过程•1.4 C语言程序结构及实例31.1 程序设计概念•计算机是用来延伸人的能力的工具,需要人来驾驭•我们的职责是让非计算机专业的人更容易驾驭它•完成这一目标的主要手段之一就是“编程(Programming)”什么是计算机?41.1 程序设计概念什么是程序设计?解决特定问题是程序设计的目的,程序设计的最终目的就是用程序来控制计算机来为人们解决特定的问题。
程序设计一般包括以下几个步骤:(1)分析待解决的问题并建立相应的数学模型;(2)确定数据结构和算法。
根据建立的数学模型,确定存放数据的数据结构,针对所确定的数据结构选择合适的算法;(3)编程;(4)调试程序;(5)整理并写出文档资料。
51.1 程序设计概念•人们要利用计算机完成各种预定的工作,就必须把完成该项工作所需要的步骤编写成计算机可以执行的指令,程序即是为实现特定目标或解决特定问题而用计算机语言编写的指令序列的集合。
什么是计算机程序?61.1 程序设计概念•一个程序应该包括两方面的内容:对数据的描述,指定数据类型和组织形式,即是数据结构;对操作步骤的描述,对操作步骤的描述即是算法。
正如著名计算机科学家沃思(Nikiklaus Wirth)提出的一个公式:数据结构+ 算法= 程序什么是计算机程序?2013年2月1日71.1 程序设计概念计算机基本工作过程输入/输出设备存储器运算器控制器源程序和输入数据输出结果取出数据存入数据操作命令存取命令取出程序指令输入输出命令计算结果CPU“冯·诺依曼机”结构大脑记忆装置眼睛和耳朵2013年2月1日81.1 程序设计概念程序运行过程⏹软件的运行–计算机把机器代码读入到内存(Memory )–由CPU 运行这些代码–读取输入(Input )–产生输出(Output )–完成程序员预定的功能⏹计算机专业后续课程–计算机原理–编译原理–操作系统91.1 程序设计概念•程序设计语言的发展⏹机器语言编写的1+1程序⏹汇编语言(Assemble Language )编写的1+1程序101110000000000100000000000001010000000100000000MOV AX, 1ADD AX, 11.1 程序设计概念•程序设计语言的发展⏹BASIC语言编写的1+1程序PRINT 1+1⏹C语言编写的1+1程序#include <stdio.h>main(){printf("%d\n", 1+1);}1.1 程序设计概念•程序设计思想1.结构化程序设计思想—模块化结构化程序设计的概念是E.W.Dijkstra在20世纪60年代末提出的,其实质是控制编程中的复杂性。
西南交大c实验报告
西南交大c实验报告
《西南交大C实验报告》
在西南交通大学C实验室进行了一项关于C语言编程的实验,旨在帮助学生掌握C语言的基本语法和编程技巧,提高他们的编程能力。
实验内容包括基本的C语言程序设计、数据类型、运算符、控制结构、函数、数组、指针等内容。
在实验过程中,学生们通过实际操作,掌握了C语言的基本语法和编程技巧。
他们学会了如何编写简单的C语言程序,如何使用不同的数据类型和运算符进行计算,如何使用控制结构进行流程控制,如何定义和调用函数,如何使用数组和指针等。
通过实验,学生们不仅掌握了C语言的基本知识,还培养了他们的动手能力和解决问题的能力。
他们在实验中遇到了各种问题,通过自己的努力和老师的指导,逐渐解决了这些问题,取得了丰硕的成果。
通过这次实验,学生们对C语言有了更深入的了解,提高了他们的编程能力,为以后的学习和工作打下了坚实的基础。
同时,实验也让学生们感受到了编程的乐趣,激发了他们对计算机编程的兴趣,为他们的未来发展打开了一扇新的大门。
在未来的学习和工作中,学生们将继续努力,不断提高自己的编程能力,为科技创新和社会发展做出更大的贡献。
西南交通大学将继续为学生提供更多的实践机会和发展平台,帮助他们实现自己的梦想,成为优秀的计算机专业人才。
西南交大C++期中考试试卷
西南交通大学2012-2013学年第(2)学期期中考试试卷 课程代码1571002 课程名称 计算机程序设计基础 考试时间90分钟30分)二、程序阅读题(每题6分,共30分)1、2、3、45、教学班号 学 号姓 名密封装订线密封装订线密封装订线三、程序填空题(每空2分,共10分)1、以下程序的功能是:输出1至1000之间每位数的乘积大于每位数的和的数,请填空使程序完整。
(如123,其每位数的乘积为1*2*3=6,每位数的和为1+2+3=6)2、以下程序的功能是:判断m 是否是素数,请填空使程序完整。
四、程序改错题(每错2分,共10分)1、以下程序的功能是:说明:该程序中有2处错误。
第1行 #include <iostream>第2行 #include <cmath>第3行 using namespace std;第4行 void main( )第5行 {第6行 int s;第7行 int n,t,pi;第8行 t=1; pi=0; n=1; s=1;第9行 while((fabs(t))>=1e-6)第10行 { pi=pi+t;第11行 n=n+2;第12行 s= -s;第13行 t=s/n;第14行 }第15行 pi=pi*4;第16行 cout>>pi>>endl;第17行 }2、以下程序的功能是:输出100—999之间各位上的数字之和为15的所有整数。
说明:该程序中有3处错误。
第1行#include<iostream> Array第2行using namespace std;第3行int main( )第4行{ int n;第4行int a,b,c,s;第5行for(n=100;n<=999; n++)第6行{ a=n/100,b=n/10,c=n%10;第7行s=a+b+c;第8行if(s=15)第9行cout<<n<<' ';第10行}第11行cout<<endl;第12行}五、编程题(每小题10分,共20分)1、输出10~100之间的所有素数,每行输出5个。
西南交通大学峨眉校区课程教学大纲计算机程序设计课程教学
西南交通大学峨眉校区课程教学大纲《计算机程序设计》课程教学大纲(Computer Programming Languages)一、本课程的教学目标本课程的主要目的和要求是:掌握C语言程序设计的基本知识和程序设计方法,为后续课程的学习打下基础,也使同学掌握一个用计算机解决问题的工具;培养计算机程序设计的能力和素质,以及思维方法,为以后学习其它计算机程序语言打下基础。
本课程是一个实践性非常强的课程,要求学生要注重实践,在掌握C语言的基本语法后,重点应放在提高编程能力的训练上。
本课程要求学生掌握计算机软硬件的基本知识,并具备使用计算机的基本能力。
学生通过本课程的学习,就掌握了用C语言开发程序的工具,可以在后续课程中使用。
二、教学内容的基本要求和学时分配1.学时分配2.具体要求第1章C语言概述[目的要求] 向同学讲明,为什么要学习计算机语言,它有什么用处等,计算机语言在整个计算机科学与技术中的地位等,激发同学学习积极性。
[教学内容] C语言的版本、C语言的特点、C语言的结构及C语言的上机步骤及环境。
[重点难点] 本章的难点是让学生了解计算机语言特点,用途,从源码生成可执行程序的过程。
[教学方法] 以教、学相结合的方式,采用多媒体手段进行教学。
因为学生初次接触计算机语言,对讲述的内容感到难以理解,教师要尽可能用通俗易懂的语言把问题讲清楚,并发挥多媒体教学的特点,在课堂上结合几个简单程序的编写,编译,运行,加深学生对讲述内容的理解。
[课时] 2学时第2章常用算法简介[目的要求] 了解计算机语言常用算法。
[教学内容] 介绍有关算法的初步知识。
[重点难点] 算法的表示。
[教学方法] 以教、学相结合的方式,采用多媒体手段进行教学。
[作业] (谭浩强)习题。
[课时] 2学时第3章数据类型、运算符与表达式[目的要求] 让学生掌握数据类型、运算符与表达式等C程序的最基本要素. 结合上机训练,使学生能够编写调试最简单程序的C程序。
- 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.学习通过程序调试来跟踪程序运行过程,查看程序运行过程中各个变量的取值变化情况。