VC++教材练习题参考答案 江苏科技大学
VC试卷(含参考答案)

使用前注意保密江苏科技大学非计算机专业学生Visual C++ 程序设计语言期末考试试卷代号:VC09说明:1、本试卷为笔试题,含选择、填空、及编程三部分。
2、本试卷满分为100分,考试时间为120分钟。
3、所有答案必须写在答题纸上,否则不计成绩。
3、填写答案时,注意题号;特别是填空题,做到答案、填空号与试题对应。
4、答题纸上必须写明学号(含班级号)、姓名。
1、设a,b为整型变量,且均不为0,以下关系表达式中恒成立的是。
:A、 a*b/a*b==1B、 a/b*b/a==1C、 a/b*b==aD、 a/b*b+a%b==a2、在C++中,判断char型变量ch是否为大写字母的正确表达式是。
:A、’A’<=ch<=’Z’B、 (ch>=’A’)&(ch<=’Z’)C、 (ch>=’A’)&&(ch<=’Z’)D、 (‘A’<=ch)AND(‘z’>=ch)3、设有说明语句:char str[]="abcde"; int a[5];下列选项中,存在语法错误的是:A.cout<<str; B.cin>>str; C.cin>>a; D.cin>>a[0];4、下列二维数组的定义中,不正确的是:A、 int i[][4]={{1,2,3},4,5};B、 int i[4][]={1,2,3,4,5,6};C、 int i[][4]={1,2};D、int i[4][4]={{1},{2},{3},{4}};5、设有宏定义如下,则变量x的值为:# define A 4# define B A+6# define C(x) x*B/2int x=C(2+8);A、 50B、43C、42D、376、设有说明语句:void fun(int *t1,int &t2); int a=5,b=10;以下对函数fun的调用语句中,正确的是:A. f(a,b); B.f(&x,&y); C.f(a,&b); D.f(&a,b);7、设有说明: int a=5,b=5,c;执行语句:c= a>b && (c=b)&& (b*=a++); 则a、b、c的值分别为:A.6,25, 0 B.5,5,0 C.5, 5,5 D.6,25,58、关于类的访问特性的说明,下列说法正确的是()A 在同一个类中,说明访问特性的关键字可以多次使用B 成员数据必须说明为私有的C 必须在每一个成员前单独标明访问特性D 必须首先说明私有特性的成员9、用友元函数进行单目运算符重载时,该友元函数的参数表中参数的个数为:A.0 B.1 C.2 D.1或 210、以下有关this指针的叙述中,不正确的是:A.类的非静态成员函数中存在一个this指针B.this指针缺省的初值为0C.类的非静态成员函数中可直接使用this指针D.this指针指向当前对象1、设有int a,b;执行语句:b=(a=2+3,a*4),a+5;后,a+b的值为 (1) 。
计算思维_江苏科技大学中国大学mooc课后章节答案期末考试题库2023年

计算思维_江苏科技大学中国大学mooc课后章节答案期末考试题库2023年1.计算机病毒是编制或在计算机程序中插入的破坏计算机功能或者破坏数据,影响计算机使用并且能自我复制的一组计算机指令或程序代码。
答案:正确2.20世纪70年代末至90年代的第三代计算机网络是具有统一的___________开放式和标准化的网络。
答案:网络体系结构并遵守国际标准的3.二进制加法中1+1+1等于()(二进制)。
答案:114.物联网概念最早出现于比尔盖茨1995年__________一书,在该书中,比尔盖茨已经提及物联网概念。
答案:《未来之路》5.二进制数11011+1101等于()。
答案:1010006.符号主义学派也可称为()学派。
答案:功能模拟7.要实现信息隐藏,隐藏__________信息、区分规范与实现、抽象并__________是关键。
(答案用空格分开)答案:内部重用模块8.在对计算过程进行抽象化时,每个计算步骤都是对__________抽象的操作,并受到__________抽象的约束。
(答案用空格分开)答案:数据控制9.在对计算系统进行抽象时,抽象化操作主要包括__________抽象和__________抽象。
(答案用空格分开)答案:数据控制10.按照抽象时的精确性原则,抽象后的计算需要在__________上精确,没有二义性,__________上规范,消除随意性。
(答案用空格分开)答案:语义格式11.网络思维和系统思维重点关注计算过程的组合性。
答案:正确12.数据和信息的关系可以理解为,数据是没有经过__________的信息,信息则是数据的内容或者诠释。
答案:加工13.现代信息技术是以计算机技术、微电子技术和__________技术为特征的新兴技术。
答案:通信14.理论思维以推理和演绎为特征,以物理学科为代表。
答案:错误15.理论思维以观察和总结自然规律为特征,以物理学科为代表。
答案:错误16.逻辑思维重点关注计算过程的有效性。
A卷参考答案及评分标准

江苏科技大学(张家港)2013 -2014 学年 2 学期计算机程序设计VC++ 课程试题 (A)卷标准答案和评分标准二、填空题(每空2分,共40分)●基本概念题(每空2分,共10分)1. (1)02. (2)个数3. (3)04. (4)撤销对象5. (5)共有访问或public●阅读程序,写出程序运行结果(每空2分,共20分)1. (6)a=2 (7)b=82. (8) 3 (9) 43. (10) 5 4 3 2 1 (11)0 2 4 6 8 104. (12)10 (13)75. (14)调用了A类中的构造函数(15)调用了A类中的构造函数●完善程序题(每空2分,共10分)1. (16)i<30 (17)i%2==1 或 i%2!=02. (18)*q=*p(19)*q='\0'(20)scopy(s1,s2)三、编程题(每题10分,共30分)四、编程题(第1题6分,第2题10分,共16分)1.参考程序:#include<iostream.h> //1' void main() {int count=0; //1'for(int m=100;m<300;m++) // 1'{for(int i=2;i<m;i++) //2{if(m%i==0)break; //2}if(i>=m) //2'{cout<<m<<'\t';count++;if(count%8==0) //1'cout<<endl;}}cout<<endl;}2.参考程序:#include<iostream.h>int GetMaxY(int m,int n) //1'{for(int i=m;i>=1;i--) //1'if(m%i==0&&n%i==0) //1'break;return i; //1'}int GetMinB(int m,int n) //1'{for(int i=m;;i++) //1'if(i%m==0&&i%n==0) //1'break;return i; //1'}void main(){int a,b;cin>>a>>b;cout<<"最大公约数为:"<<GetMaxY(a,b)<<endl; //1'cout<<"最小公倍数为:"<<GetMinB(a,b)<<endl; //1'}3.参考程序:#include<iostream.h>class shape{protected:double a,b; //0.5'public:shape(double x=0,double y=0){a=x;b=y;}//0.5'virtual double volume()=0; //0.5'};class cube:public shape //0.5'{public:cube(double x,double y=0):shape(x,y) { ;} //0.5'double volume() { return 3.14159*a*a*a*4/3; } //0.5'};class sphere:public shape //0.5'{public:sphere(double x,double y=0):shape(x,y) { } //0.5'double volume() { return a*a*a; } //0.5' };class cylinder:public shape //0.5'{public:cylinder(double x,double y):shape(x,y) { } //0.5'double volume(){ return 3.14159*a*a*b;} //0.5'};void main(){ shape *p; //0.5'cube C(0.8); sphere S(3.2); cylinder R(4.1,5); //1'p=&C; //0.5'cout<<"球体的体积是"<<p->volume()<<endl;//0.5'p=&S;//0.5'cout<<"正方体的体积是"<<p->volume()<<endl; //0.5'p=&R;//0.5'cout<<"圆柱体的体积是"<<p->volume()<<endl;}。
VC++程序设计习题参考答案

VC++程序设计习题参考答案
第一章
一、选择题
二、填空题
第二章
一、选择题
二、把数学表达式写成C/C++表达式
三、根据条件写一个C/C++表达式
第三章
一、选择题
注:第3题没有正确选项,结果应该是:75其他值。
第7题严格来说选项C也不是死循环,
因为当k增加到int类型的最大值后再加1会变成负数。
第四章
一、选择题
注:第2题选项A和D都不能对数组初始化。
第3题题目应改为:“要使字符数组具有字符串初值……”。
第6题题目有误,选项A、B、C是表达式不是语句,D中有印刷错误:“SCtring”应为“CString”。
第五章
一、选择题
第六章
一、选择题
个共有成员函数”,否则选项中就没有正确答案了。
第七章
一、选择题
第八章
第九章
一、选择题。
江苏科技大学计算机网络基础及答案

计算机网络基础一、判断题(每小题2.5 分,共 100分)()1、计算机网络的体系结构由层次结构模型和各层协议的集合组成。
()2、IP是指网际协议,它对应于开放系统互联参考模型OSI七层中的传输层。
()3、TCP/IP协议是根据ISO/OSI协议标准制定的。
()4、收发电子邮件,属于ISO/OSI RM中传输层的功能。
()5、TCP/IP参考模型共分为四层,最底层为网络接口层,最高层是应用层。
()6、ISO/OSI是一个国际标准。
()7、OSI参考模型中的传输层,接收由会话层来的数据,并向高层提供可靠的透明的数据传输,具有差错控制、流量控制及故障恢复功能。
()8、计算机网络安全包括网络管理、数据安全及数据传输安全等很多方面。
()9、运输层位于OSI体系结构的第四层。
()10、TCP/IP体系有7个层次,ISO/OSI体系有4个层次()11、设置了表格背景色后,不能设置单元格背景色。
()12、现今世界上最大的国际性计算机互联网起源于英国。
()13、视频点播系统(VOD)从根本上改变了传统的电视节目单向传输、用户对视频内容无权选择的状况。
()14、在网络攻击中,拒绝服务攻击不属于主动攻击。
()15、由于DDN实现了端到端的数字连接,它能够支持包括话音、数据、文字、图像在内的各种综合业务。
()()16、虚拟现实(Virtual Reality,VR)是指利用计算机生成种模拟环境, 通过多种多媒体专业设备使用户融入到该环境中,并与之进行自然交互的技术。
()17、在局域网中,主要采用的是频带数据传输方式。
()18、局域网中默认网关地址指的是本地网络连接其他网络路由器地址。
()19、计算机网络体系结构的层次分得越多越细则网络系统越容易实现。
()20、文件系统是在操作系统命名.存储.组织文件的综合结构.()()21、数据传输同步技术是用来验证数据传输是否正确的方法。
()22、资源子网提供访问网络和处理数据的能力,是由主机系统、终端控制器和终端组成。
VC教科书课后习题答案

第一章练习题P.91_1答:(1)正确性(2)可读性和可理解性好(3)可维护性好(4)构思好、简短、执行速度快。
1_2答:(1)封装性(2)继承和派生性(3)重载性(4)多态性。
1_3答:(1)输入源程序,得到.cpp文件(2)编译,得到.obj文件(3)构件(连接),得到.exe 文件(4)执行,运行.exe文件1_4略1_5答:(1)/*注解信息*/,运用于程序的任何地方;(2)//注解信息,运用于行尾。
1_6答:(1)分析问题,描述算法(2)编写程序,得到源程序(3)编译源程序,产生目标文件(4)构件(连接),得到可执行文件(5)调试程序。
[返回]第二章练习题P.302_1不合法的有:1.25e3.4(指数必须为整数)、‟\96\45‟(‟ ‟内只能有一个字符)合法的有:32767(整型)、35u(无符号整型)、3L(长整型)、0.0086 e-32(实型)、 (87)(字符型)、”Computer System”(字符串)、”a” (字符串)、‟a‟ (字符型)、-0(整型)、+0(整型)、.5(实型)、-.567(实型)2_2定义:以英文字母、下划线开始的,由字母、下划线和数字组成的字符序列。
合法的有:abc、English、Else(C++区分大小写,else非法)、China_bb、b3y、AbsFloat 不合法的有:2xy(不能以数字开头)、x-y(含非法字符“-”)、if(关键字不能做标识符)、b(3) (含非法字符“(”和“)”)、‟def‟(含非法字符“‟”)、float(关键字不能做标识符)。
2_3(1)b=1 (2)1 (3)c=102 (4)b=8 (5)d=40 (6)c=62_4-12E-5=-0.00012 1.25E-5=0.0000125 .01E+3=1050E-6=0.00005 12.345E4=1234502_5字符:‟a‟、‟\0x33‟、‟\r‟、‟\\‟字符串:”a”、”中国”、”8.24”、”\n\t\0x34”、”\0x33”其它:‟0x66‟、China、56.34、‟8.34‟2_6(1)x不正确,在同一个作用域内(相同的范围内)变量不能重复定义;(2)c1不正确,在同一个作用域内(相同的范围内)变量不能重复定义。
江苏科技大学计算机二级VC++经典编程题整理

江苏科技大学计算机二级经典编程题整理1、设计一个程序,求出5~100之间的所有素数,要求每行输出5个数。
判断一个整数是否为素数时用一个函数来实现。
#include<iostream.h>int f(int n){for(int i=2;i<n;i++)if(n%i==0)break;if(!(i<n))return 1;else return 0;}void main(){int count=0;for(int n=5;n<=100;n++){if(f(n)){cout<<n<<'\t';if(++count%5==0)cout<<endl;}}}2、试编写一个函数求n!。
#include<iostream.h>int f(int n){if(n==1||n==0)return 1;else return n*f(n-1);}void main(){int n;cin>>n;cout<<f(n)<<endl;}3、编写一个程序求分数相加,要求其结果为最简形式,如3/10+1/6=7/15。
(此题包含:求最大公约数(经典算法))#include<iostream.h>int f(int m,int n) //求m,n的最大公约数{for(int i=m;;i--)if(m%i==0&&n%i==0)return i;}void main(){int fz1,fm1,fz2,fm2,fz,fm;cout<<"请输入第一个分数的分子和分母:";cin>>fz1>>fm1;cout<<"请输入第二个分数的分子和分母:";cin>>fz2>>fm2;fz=fz1*fm2+fz2*fm1;fm=fm1*fm2;int t=f(fz,fm);fz/=t;fm/=t;cout<<"两分数之和为:"<<fz<<'/'<<fm<<endl;}4、编程实现对序列{6,9,5,1,3,4,8,7}进行升序排列。
2010-11江科大vc阶段测试7_10章

一、选择题(每题2分,计2 0分)C 1、设有变量定义int x=5,n,*p1=&x,*p2;下列表达式正确的是()。
A、p2=&p1B、*p1=*p2C、p2=p1D、n=*p2A 2、若有定义“int a[6],*p=a;”,则对a 数组元素地址的正确引用是()。
A、p+5B、*a+1C、&a+1D、*(p+2)C 3、下列引用的定义中,正确的是()。
A、int &j=new int;B、int &j=new int; j=10;C、int &j=*new int(10);D、int &*j=new int;A 4、设有变量说明int a[3][4],(*p)[4]=a;则与表达式*(a+1)+2不等价的是()A、p[1][2]B、*(p+1)+2C、p[1]+2D、a[1]+2D 5、关于类的访问特性的说明,下列说法正确的是()A必须首先说明私有特性B 成员数据必须说明为私有的C 必须在每一个成员前单独标明访问特性D 在同一个类中,说明访问特性的关键字可以多次使用B 6、在定义类A时,下列()不可以作为类的成员A指向类A的对象指针B 类A的对象C 指向另一个不同的类的对象指针D 另一个不同类的对象C 7、通常拷贝初始化构造函数的参数是()。
A某个对象 B 某个对象的成员名C 某个对象的引用名D 指向某个对象的指针名B 8、设有如下类的定义:class Ex{ int *p;public: ~Ex(){delete p;}Ex(int x=0){p=new int(x);}};则下列对象的定义中,不正确的是()。
A、Ex ex;B、Ex ex1(50),ex2=ex1;C、Ex ex=Ex(50); D.Ex ex=50;D 9、下列说法中,()是析构函数的特征A析构函数没有返回值,所以其类型定义为voidB 析构函数名与类名相同C 析构函数必须有缺省的参数D 析构函数不能重载B 10、某结构体变量定义如下,对此结构体变量的成员的引用形式正确的是()。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
s2=str;//A
while(*s2)s2++;
s2--;//B
while(s1<s2){
ch=*s1;
*s1=*s2;
*s2=ch;
s1++;
s2--;
}
cout<<"逆序后的字符串为:\n"<<str<<endl;
}
/*其中A到B行可改为:
cout<<"数组a中的奇数有:\n";
for(int i=0;i<10;i++)
if(p[i]%2)
{
k++;
cout<<*(p+i)<<'\t';
if(k%5==0)cout<<'\n';
}
cout<<"\n";
}
//3.产生一个随机的二维数组b[4][5],并按矩阵的方式输出
#include<iostream.h>
}
cout<<endl;
}
//5.小写字母改写为大写字母
#include<iostream.h>
void main()
{
char str[100];
cout<<"请输入一个含空格字符的字符串。\n";
cin.getline(str,100);
for(int i=0;str[i];i++)
if(str[i]>='a'&&str[i]<='z')
#include<iostream.h>
void main()
{
int a[10],k=1;
for(int i=0;i<10;i++)
{
cout<<"请输入第"<<k++<<"个元素a["<<i<<"]\t";
cin>>a[i];
}
cout<<"数组a为:\n";
for(i=0,k=0;i<10;i++)
void trans(int,int);
void main()
{
int n,sel;
cout<<"输入一个整数:";
cin>>n;
do
{
cout<<"\n输出进制:2,8,16,32(输入0时退出):";
cin>>sel;
switch (sel)
{
case 2:trans(n,2);break;
case 8:trans(n,8);break;
#include <math.h>
void main()
{ double a,b,n;
for(n=10000;n<=99999;n++)
{
a=n*10+6;
b=6*100000+n;
if(fabs(b-4*a)<1e-5) { cout<<a<<endl;break;}
}
}
第三章
//1.一维数组的输入和输出
str[i]-='a'-'A';
cout<<"转换后的字符串为:\n";
cout<<str<<"\n";
}
//6.通过指针将字符串逆序
#include<iostream.h>
#include<string.h>
void main()
{
char str[]="abc321",*s1=str,*s2,ch;
}
4、
#include <iostream.h>
void main()
{
int a,b,c,v,aver;
cout<< "输入三个数: "<<endl;
cin>>a>>b>>c;
v=a*a+b*b+c*c;
aver=(a+b+c)/3;
cout<<"三个数的平方和是: "<<v<<endl;
cout<<"三个数的平均值是: "<<aver<<endl;
l=lcm(den1,den2);
cout<<l<<'\n';
a[i]=k,k+=2;
fun(a,48);
for(i=0;i<49;i++)
{
if(a[i]!=0)
{
cout<<setw(6)<<a[i];
n++;
if(n%5==0)
cout<<endl;
}
}
cout<<endl;
}
4-4
#include <iostream.h>
int gcd(int,int);
}
第二章
1、
#include <iostream.h>
void main()
{
int a,b,c,t;
cout<< "输入三个数: "<<endl;
cin>>a>>b>>c;
if(a>b){t=a;a=b;b=t;}
if(a>c){t=a;a=c;c=t;}
if(b>c){t=b;b=c;c=t;}
{
for(int i=0;i<n-1;i++) //若不是素数,将其值置为0
for(int j=i+1;j<n;j++)
{
if(b[i]!=0&&b[j]!=0)
if(b[j]%b[i]==0)
b[j]=0;
}
}
void main()
{
int a[210]={0},n=0,k=5;
for(int i=0;i<48;i++) //给数组赋初值
#include <iostream.h>
void main()
{
int a=4,b=5,c=6,z;
z= c-=a+=b*=10-a ;
cout<<"表达式的值为: "<<z<<endl;
cout<<" a="<<a<<" b="<<b<<" c="<<c<<endl;
}
运行结果:
表达式的值为: -28
a= 34 b= 30 c=-28
(3)
#include <iostream.h>
void main()
{
int a=4,b=5,c=6,z;
z= a=b++ + --c + b >= c ;
cout<<"表达式的值为: "<<z<<endl;
cout<<" a="<<a<<" b="<<b<<" c="<<c<<endl;
}ห้องสมุดไป่ตู้
运行结果:
表达式的值为: 15
a= 5 b= 4 c=6
3、
#include <iostream.h>
void main()
{
int a;
cout<< "输入一个数: "<<endl;
cin>>a;
cout<<a<<"的十位数是: "<<a/10<<endl;
cout<<a<<"的个位数是: "<<a%10<<endl;
s2=str+strlen(str)-1;
*/
第四章习题答案
4-1
#include <iostream.h>
void swap(int *p1,int *p2)
{
int t;
t=*p1;*p1=*p2;*p2=t;
}
void main()
{
int a,b,c;
int *s1,*s2,*s3;
cout<<"输入三个数a,b,c:";
}
3、
#include <iostream.h>
void main()
{