计算机程序设计实践答案(江苏科技大学)

合集下载

程序设计实践教程 习题及答案

程序设计实践教程 习题及答案

程序设计实践教程习题及答案程序设计实践是计算机科学与技术领域中一门重要的课程,通过实践项目来培养学生的程序设计能力。

本文将为大家提供一些程序设计实践的习题,并附上详细的答案,旨在帮助读者更好地理解和掌握程序设计的技巧与方法。

习题一:计算斐波那契数列要求:编写一个程序,计算斐波那契数列的前n项,并输出结果。

答案:```pythondef fibonacci(n):if n <= 0:return []elif n == 1:return [1]elif n == 2:return [1, 1]else:fib = [1, 1]for i in range(2, n):fib.append(fib[i-1] + fib[i-2])return fibn = int(input("请输入要计算的斐波那契数列的项数:"))result = fibonacci(n)print(result)```习题二:判断素数要求:编写一个程序,判断一个数是否为素数,并输出结果。

答案:```pythondef is_prime(num):if num < 2:return Falsefor i in range(2, int(num**0.5)+1):if num % i == 0:return Falsereturn Truenum = int(input("请输入一个数:"))if is_prime(num):print(num, "是素数")else:print(num, "不是素数")```习题三:求解最大公约数和最小公倍数要求:编写一个程序,输入两个整数,求解它们的最大公约数和最小公倍数,并输出结果。

答案:```pythondef gcd(a, b):while b:a, b = b, a % breturn adef lcm(a, b):return a * b // gcd(a, b)num1 = int(input("请输入第一个整数:"))num2 = int(input("请输入第二个整数:"))result_gcd = gcd(num1, num2)result_lcm = lcm(num1, num2)print("最大公约数是:", result_gcd)print("最小公倍数是:", result_lcm)```习题四:字符串逆序要求:编写一个程序,将输入的字符串逆序输出。

大学程序设计技术教材习题参考答案

大学程序设计技术教材习题参考答案

习题一一、简答题1.答:程序是计算任务的处理对象和处理规则的描述,即:程序=数据结构+算法,通俗地说就是用计算机语言描述的解决问题的步骤。

程序设计是给出解决特定问题程序的过程,包括问题分析、算法设计、程序源代码设计、测试、调试和维护。

2.答:利用计算机的解题过程大致分为4个阶段:①分析问题。

详细分析需要解决的问题,清楚地了解问题的需求;②设计算法。

将解决问题的方法或数学模型转换为解决问题的步骤,即设计算法;③编写程序。

就是将设计的算法等价映射(转换)为计算机语言的程序,所编写的程序从逻辑上看是算法的一种表现形式;④运行验证。

在计算机上运行并且排除潜在错误。

必要时,还要使用测试数据对程序进行测试,验证程序的正确性。

3.答:算法是精确定义的一系列规则的集合,这些规则规定了解决特定问题的一系列操作,以便在有限的步骤内产生出问题的答案。

通俗地说,算法就是解决问题的方法和步骤。

算法的特性有5个,即有穷性、确定性、可行性、输入和输出。

4.答:a图中r=0时,n的值也是0,n的前一个值赋值给了m,所以输出是m的值。

而b图中r=0时,n的值就是求余数为0时的分母,所以输出是n的值。

5.答:欧几里得算法使用了迭代算法策略。

6.答:构化程序设计以功能模块和过程设计为主,其要点是:①自顶向下,逐步求精;②模块化;③结构化。

7.答:①启动某个C/C++集成开发环境;②在编辑窗口输入源程序代码;③编译、连接程序,若有错误,重复2、3;④运行程序,若程序输出结果不正确,检查程序逻辑,重复2、3、4,直到输出结果正确。

二、设计题1.答:对应的伪代码算法表示如下:开始输入m,nr=mmod nwhile(r≠0){m=nn=rr=mmod n}输出r的值结束2.答:程序设计如下:#include<stdio.h>void main()·1·{int a,b,c,max;scanf("%d%d%d",&a,&b,&c);if(a>b) max=a; else max=b;if(max<c) max=c;printf("%d\n",max);}3.用传统流程图或N—S流程图表示下列各题的算法。

大学计算机实验报告答案

大学计算机实验报告答案

一、实验目的1. 理解操作系统基本概念和功能。

2. 掌握进程和线程的基本知识。

3. 学习进程调度和同步机制。

4. 熟悉操作系统实验环境。

二、实验环境1. 操作系统:Windows 102. 编程语言:C/C++3. 开发环境:Visual Studio 2019三、实验内容1. 进程和线程的创建与终止2. 进程调度算法(先来先服务、短作业优先、轮转)3. 线程同步机制(互斥锁、条件变量、信号量)四、实验步骤1. 进程和线程的创建与终止(1)创建进程使用函数`fork()`创建子进程,实现进程的创建。

```c#include <unistd.h>#include <stdio.h>int main() {pid_t pid = fork();if (pid < 0) {perror("fork error");return 1;} else if (pid == 0) {// 子进程printf("I am child process, PID: %d\n", getpid()); // 执行子进程任务} else {// 父进程printf("I am parent process, PID: %d\n", getpid()); // 等待子进程结束wait(NULL);}return 0;}```(2)创建线程使用函数`pthread_create()`创建线程,实现线程的创建。

```c#include <pthread.h>#include <stdio.h>void thread_func(void arg) {printf("Thread ID: %ld\n", pthread_self());return NULL;}int main() {pthread_t tid;if (pthread_create(&tid, NULL, thread_func, NULL) != 0) { perror("pthread_create error");return 1;}// 等待线程结束pthread_join(tid, NULL);return 0;}```(3)终止进程和线程使用函数`exit()`和`pthread_exit()`终止进程和线程。

江苏科技大学计算机科学与工程学院计算机综合历考研真题汇编

江苏科技大学计算机科学与工程学院计算机综合历考研真题汇编

目 录第一部分 江苏科技大学计算机科学与工程学院845计算机基础综合历年考研真题汇编....................................................................................................................................................................2014年江苏科技大学计算机科学与工程学院845计算机基础综合考研真题 ............................... 2013年江苏科技大学计算机科学与工程学院845计算机基础综合考研真题 ............................... 第二部分 全国硕士研究生入学统一考试408计算机学科专业基础综合历年真题及详解....................................................................................................................................................................2012年全国硕士研究生入学统一考试408计算机学科专业基础综合真题 ................................... 2012年全国硕士研究生入学统一考试408计算机学科专业基础综合真题及详解 ............................................................................................................................................................... 2011年全国硕士研究生入学统一考试408计算机学科专业基础综合真题 ................................... 2011年全国硕士研究生入学统一考试408计算机学科专业基础综合真题及详解 ............................................................................................................................................................... 2010年全国硕士研究生入学统一考试408计算机学科专业基础综合真题 ................................... 2010年全国硕士研究生入学统一考试408计算机学科专业基础综合真题及详解 ............................................................................................................................................................... 2009年全国硕士研究生入学统一考试408计算机学科专业基础综合真题 ................................... 2009年全国硕士研究生入学统一考试408计算机学科专业基础综合真题及详解 ............................................................................................................................................................... 说明:江苏科技大学2012年之前参加全国统考408计算机学科专业基础综合,2013年开始自主命题,科目改为845计算机基础综合,2015年之后,科目名改为计算机综合。

2015年-2017年江苏科技大学818计算机程序设计语言考研真题试题试卷汇编

2015年-2017年江苏科技大学818计算机程序设计语言考研真题试题试卷汇编

第 13 页,共 14 页
芝士传媒 × 题源库

...让知识更美味...
第 14 页,共芝士传媒 × 题源库

...让知识更美味...
第 2 页,共 14 页
芝士传媒 × 题源库

...让知识更美味...
第 3 页,共 14 页
芝士传媒 × 题源库

...让知识更美味...
芝士传媒 × 题源库

...让知识更美味...
目 录
2015 年江苏科技大学 818 计算机程序设计语言考研真题试题试卷·······························2 2016 年江苏科技大学 818 计算机程序设计语言考研真题试题试卷·······························6 2017 年江苏科技大学 818 计算机程序设计语言考研真题试题试卷····························· 10
第 10 页,共 14 页
芝士传媒 × 题源库

...让知识更美味...
第 11 页,共 14 页
芝士传媒 × 题源库

...让知识更美味...
第 12 页,共 14 页
芝士传媒 × 题源库

...让知识更美味...
第 4 页,共 14 页
芝士传媒 × 题源库

...让知识更美味...
第 5 页,共 14 页
芝士传媒 × 题源库

...让知识更美味...
第 6 页,共 14 页
芝士传媒 × 题源库

...让知识更美味...
第 7 页,共 14 页
芝士传媒 × 题源库

...让知识更美味...

2022年江苏科技大学计算机科学与技术专业《操作系统》科目期末试卷B(有答案)

2022年江苏科技大学计算机科学与技术专业《操作系统》科目期末试卷B(有答案)

2022年江苏科技大学计算机科学与技术专业《操作系统》科目期末试卷B(有答案)一、选择题1、采用直接存取法来读写磁盘上的物理记求时,效率最高的是()A.连续结构的文件B.索引结构的文件C.链接结构文件D.其他结构文件2、如果文件采用直接存取方法,且文件大小不固定,则应采用()物理结构。

A.直接B.索引C.随机D.顺序3、关于临界问题的一个算法(假设只有进程P0和P1,能会进入临界区)如下(i为0或1代表进程P0或者P1):Repeatretry:if(turn!=-1)turn=i;if(turn!=i)go to retry;turn=-1;临界区:turn=0;其他区域;until false;该算法()。

A.不能保持进程互斥进入临界区,且会出现“饥饿”B.不能保持进程互斥进入临界区,但不会出现“饥饿”C.保证进程互斥进入临界区,但会出现“饥饿”D.保证进程互斥进入临界区,不会出现“饥饿”4、对进程的管理和控制使用()。

A.指令B.原语C.信号量D.信箱通信5、()有利于CPU繁忙型的作业,而不利于1/0繁忙型的作业(进程)。

A.时间片轮转调度算法B.先来先服务调度算法C.短作业(进程)优先调度算法D.优先权调度算法6、设系统缓冲区和用户工作区均采用单缓冲,从外设读入一个数据块到系统缓冲区的时间为100,从系统缓冲区读入1个数据块到用户工作区的时间为5,对用户上作区中的1个数据块进行分析的时问为90。

进程从外设读入并分析2个数据块的最短时间是()。

A.200B.295C.300D.3907、操作系统中为实现多道程序并发,对内存管理可以有多种方式,其中代价最小的是()A.分区管理B.分页管理C.分段管理D.段页式管理8、一个多道批处理系统中仅有P1,和P2两个作业,P2比P1晚5ms到达。

它们的计算和I/O操作顺序如下:P1:计算60ms,I/O 80ms,计算20msP2:计算120ms,I/O 40ms,计算40ms。

计算机程序设计实践答案(江苏科技大学)

计算机程序设计实践答案(江苏科技大学)

计算机程序设计实践答案(江苏科技大学)1,#includeclass PP{int n;double x;double *p;public:PP(int num,double x1);~PP();double fun(int n1,double x);void process();void show();};PP::PP(int num,double x1){n=num;x=x1;p=new double[n+1];}PP::~PP(){if(p) delete[]p;}double PP::fun(int n,double x){if(n==0) return 1;else if(n==1) return x;else return ((2*n-1)*x*fun(n-1,x)-(n-1)*fun(n-2,x))/n; }void PP::process(){int i;for(i=0;i<=n;i++)p[i]=fun(i,x);}void PP::show(){int count=0;cout<<"n="<<n<<'\t'<<"x="<<x<<endl;< p=""> for(int i=0;i<n;i++)< p="">{cout<<p[i]<<'\t';< p="">count+=1;if(count%4==0) cout<<'\n';}}void main(){int num;double x1;cout<<"num=";cin>>num;cout<<"x1=";cin>>x1;PP items(num,x1);items.process();items.show();}2. #includeclass sp{private:int n,k;public:sp(int n1,int k1);int powers(int m,int n);int fun(int m,int n);void show();};sp::sp(int n1,int k1){k=k1;}int sp::powers(int m,int n){int i,p=1;for(i=1;i<=n;i++)p*=m;return p;}int sp::fun(int n,int k){int s=0;for(int i=1;i<=n;i++)s+=powers(i,k);return s;}void sp::show(){cout<<fun(n,k)<<endl;< p="">}void main(){cin>>x>>y;sp s(x,y);s.show();}3. #includeclass move{privatefloat array[20];int n;public:move(float b[],int m){for(int i=0;i<m;i++)< p="">array[i]=b[i];n=m;}void average(){float sum=0,ave;for(int i=0;i<n;i++)< p="">sum+=array[i];ave=sum/20;float Array[20],*p1=Array,*p2=Array; for(i=1;i<="">for(i=0;i<n;i++)< p="">{if(array[i]<=ave) *(p1++)=array[i];else *(p2--)=array[i];}for(i=0;i<n;i++)< p="">array[i]=Array[i];}void print(){cout<<"执行后的数据为:"<<endl;< p=""> for(int i=0;i<n;i++)< p="">cout<<'\t'<<array[i];< p="">cout<<endl;< p="">}};void main(){float b[9]={1.3,6.2,3,9.1,4.8,7.4,5.6,9.2,2.3}; cout<<"原数据为:"<<endl;< p="">for(int i=0;i<9;i++)cout<<'\t'<<b[i];< p="">cout<<endl;< p="">move s(b,9);s.average();s.print();}4. #includeclass MOVE{int *array;int n;public:MOVE(int b[],int m){n=m;array=new int[n];for (int i=0;i<n;i++)< p="">{array[i]=b[i];}}void exchange(){float x=0;int max=0,m=0,min=0;for(int i=0;i<n;i++)< p="">{x+=array[i];if(array[i]>array[max]){max=i;}if(array[i]<array[min])< p="">{min=i;}}x/=n;cout<<"平均数为:"<<x<<endl;< p=""> x=array[min];array[min]=array[max];array[max]=x;}void print(){for(int i=0;i<n;i++)< p="">{cout<<array[i]<<'\t';< p="">}}~MOVE(){delete array;}};void main(){int s[10]={21,65,43,87,12,84,44,97,32,55}; MOVE a(s,10);a.exchange();a.print();}5. #include#includeclass palindrome{int n;int y;public:palindrome (int x);void huiwen();void show();};palindrome:: palindrome(int x){n=x;y=0;}void palindrome::huiwen(){int a[20],b[50],k=n,s=n,i=0,count=0; while(k){a[i]=k%10;k=k/10;i++;count++;}for( i=0;i<count;i++,count--)< p=""> if(a[i]==a[count]) y=1;else {y=0;break;}if(y==1){int i=0,j=0;while(s){b[i]=s%2;s=s/2;i++;j++;for( i=0;i<j;i++)< p="">if(b[i]==b[j]) { y=1;j--;}else {y=0;break;}}if(y==1)cout<<"是绝对回文字符串"<<endl;< p=""> if(y==0)cout<<"不是绝对回文字符串"<<="">void palindrome::show(){cout<<n;< p="">}void main(void){int a;cout<<"请输入a=";cin>>a;palindrome p(a);p.show();p.huiwen();}6. #include#includeclass String{char *str;int y;public:String(char*s){if(s){str=(char*)new char[strlen(s)+1];strcpy(str,s);}else str=0;}void huiwen();void show();};void String::huiwen(){char *t1,*t2;t1=t2=str;while(*t2) t2++;t2--;while (t1<t2)< p="">{if(*t1++!=*t2--) y=1;}}void String::show(){cout<<str<<endl;< p="">if(y) cout<<"不是回文字符串"<<endl;< p=""> else cout<<"是回文字符串"<<="">void main(){char s[]="ababcedbaba";String text(s);text.huiwen();text.show();}7. #includeclass phalanx{int (*p)[20];int startnum;int n;public:phalanx(int s[20][20],int m){startnum=1;p=s;n=m;}void process(){p[0][0]=startnum;for(int i=0;i<n;i++)< p="">for(int j=0;j<n;j++)< p="">{if(i>j){p[i][j]=1+i*i+i+i-j;}else{p[i][j]=1+j*j+i;}}}void print(){for(int i=0;i<n;i++)< p="">{for(int j=0;j<<'\t'<<p[i][j];<="" p=""> cout<<'\n';}}~ phalanx() { }};void main(){int m;int s[20][20];cout<<"请输入折叠层数:";cin>>m;cout<<'\n';phalanx pp(s,m);pp.process();pp.print();}9. #include#includeclass CString{char *str;int size;int maxsize;public:CString(){str=NULL;size=0;maxsize=0;}void Count(CString & s);friend ostream& operator<<(ostream &ostr,const CString & s);friend istream& operator>>(istream &istr,CString & s);};void CString::Count(CString &s){int i,k;for(i=0;i<s.size;i++)< p="">{int m=1;for(k=i+1;k<s.size;k++)< p="">{if(s.str[i]==s.str[k]){for(int n=k;n<s.size;n++)< p="">{s.str[n]=s.str[n+1];}s.size--;s.maxsize--;m++;}}cout<<s.str[i]<<"的个数:"<<m<<endl;< p="">}}ostream & operator<<(ostream &ostr,const CString &s) { cout<<"s.size="<<s.size<<endl;< p="">cout<<"s.str="<<s.str<<endl;< p="">return ostr;}istream& operator>>(istream &istr,CString &s){delete []s.str;cout<<"输入字符串的元素个数:";cin>>s.size;s.maxsize=s.size+1;s.str=new char[s.maxsize]; cout<<"输入字符串:";for(int i=0;i<s.size;i++)< p=""> cin>>s.str[i];s.str[s.size]=NULL;return istr;}void main(){CString s;cin>>s;cout<<s;< p="">s.Count(s);}1113#includeclass MOVE{int array[20];int n;public:MOVE(int b[],int m){n=m;for(int i=0;i<n;i++)< p=""> {array[i]=b[i];}}void change(){for(int j=0;j<3;j++){int a=array[n-1];for(int i=n-1;i>0;i--){array[i]=array[i-1];}array[0]=a;}}void print(){for(int i=0;i<n;i++)< p="">cout<<array[i]<<'\t';< p="">}};void main(){int s[10]={21,65,43,87,12,84,44,97,32,55}; MOVE test(s,10);test.change();test.print();}14. #include#includeclass move{char *array;int n;public:move(char b[],int m){n=m;array=new char[strlen(b)+1]; strcpy(array,b);}void change();void print();~move(){delete[]array;}};void move::change(){char Aa[20];int j=0,k=n;for(int i=0;i<n;i++)< p="">if(array[i]>='A'&&array[i]<='Z') {Aa[j]=array[i];j++;}else{Aa[k-1]=array[i];k--;}for(i=0;i<n;i++)< p="">array[i]=Aa[i];array[n]=0;}void move::print(){for(int i=0;i<n;i++)< p=""> cout<<array[i];< p="">cout<<endl;< p="">}void main(){char b[]={"fdsUFfsTjfsKFEkWC"}; move test(b,17);test.change();test.print();}15. #include#includeclass Carray{int *a;int n;int b;public:Carray(int m[],int n1,int x){ a=m;for(int i=0;i< p="">n=n1;b=x;}void Transform(){int i;int x;int T[10];for(i=0;i<n;i++)< p=""> { x=*a++;T[i]=(b*x+i);}a=T;}void show(){for(int i=0;i<10;i++)cout<<*a<<'\t';cout<<endl;< p="">}~Carray(){delete a;}};void main(){int arr[]={1,2,3,4,5,6,7,8,9,10}; int b;int i=10;//i=strlen(arr);cout<<"请输入b="; cin>>b;Carray test(arr,i,b);test.Transform();test.show();}17. #include#includeclass SIN{private:int x;int n;public:SIN(int a,int b){x=a;n=b;}int power(int q){int c;if(q==1||q==0) c=1;else c=q*power(q-1); return c;}int mi(int m,int n){int p=1;for(int i=0;i<n;i++)< p=""> p=p*m;return p;}double fun(){double sum,s;s=1;sum=0;for (int j=1;j<=n;j++){s=s*mi(x,2*j-1)/power(2*j-1);sum+=s;s=-1;}cout<<sum<<endl;< p="">return sum;}void show(){cout<<"结果为"<<fun()<<endl;< p=""> }};void main(){SIN test(1,2);test.fun();test.show();}18. #includeclass VAR{private:double a[100];int n;public:V AR(double x[],int n1){n=n1;for(int i=0;i<n;i++)< p="">a[i]=x[i];}double average(double x[],int n) {double xp, s=0;for(int i=0;i<n;i++)< p="">{s=s+a[i];}xp=s/n;return xp;}double variance(double x[],int n){double b=0.00,d;for(int i=0;i<n;i++)< p="">{b=b+(x[i]-average(a,n))*(x[i]-average(a,n));}d=b/n;return d;}void show(double x[],int n){cout<<"标准差是:"<<variance(x,n)<<endl;}< p=""> };void main(){double e[100]={1,2,3,4,5};V AR c(e,5);c.show(e,5);}19. #includeclass Array{int a[4][4];public:Array(int a1[][4],int n){for(int i=0;i<n;i++)< p="">for(int j=0;j<4;j++)a[i][j]=a1[i][j];}void xuanzhuan();void show();};void Array::xuanzhuan(){int a2[4][4];for(int i=0;i<4;i++)for(int j=0;j<4;j++)a2[j][3-i]=a[i][j];for(int k=0;k<4;k++)for(int h=0;h<4;h++)a[k][h]=a2[k][h];}void Array::show(){for(int i=0;i<4;i++){for(int j=0;j<4;j++){if(a[i][j]<10)cout<<" "<<a[i][j]<<" ";<="" p=""> elsecout<<a[i][j]<<" ";<="" p="">}cout<<endl;< p="">}}void main(){int b[][4]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16}; Array test(b,4);cout<<"原二维数组为:"<<endl;< p=""> test.show();test.xuanzhuan();cout<<"旋转后的二维数组为:"<<endl;< p=""> test.show();}20. #includeclass Array{private:int a[4][4];public:Array(int a1[][4],int n){for(int i=0;i<n;i++)< p="">for(int j=0;j<4;j++)a[i][j]=a1[i][j];}void xuanzhuan(){int b[4][4];for(int i=0;i<4;i++)for(int j=0;j<4;j++)b[i][j]=a[i][j];for( i=0;i<4;i++)for(int j=0;j<4;j++)a[3-j][i]=b[i][j];}void show(){for(int i=0;i<4;i++){for(int j=0;j<4;j++)cout<<a[i][j]<<'\t';< p="">cout<<'\n';}}};void main(){int b[][4]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16}; Array test(b,4);test.xuanzhuan();test.show();}23. #includeclass Fract{private:int num,den;public:Fract(int a=0,int b=1){num=a;den=b;}int ged(int m,int n){int k,i,D;if(m<=n)k=m;else k=n;for( i=k;i>=1;i--)if(m%i==0&&n%i==0)break;D=m*n/i;return D;}Fract add(Fract f){Fract temp;int k,i;temp.den=ged(den,f.den);temp.num=temp.den/den*num+temp.den/f.den*f.num;if(temp.den<=temp.num)k=temp.den;else k=temp.num;for( i=k;i>=1;i--)if(temp.den%i==0&&temp.num%i==0){temp.den=temp.den/i;temp.num=temp.num/i;break;}return temp;}void show(){cout<<"两分数之和为"<<num<<" "<<den<<="">void main(){Fract f1(1,5),f2(7,20),f3;</num<<"></a[i][j]<<'\t';<></n;i++)<></endl;<></endl;<></a[i][j]<<"></a[i][j]<<"></n;i++)<></variance(x,n)<<endl;}<></n;i++)<></n;i++)<></n;i++)<></fun()<<endl;<></sum<<endl;<></n;i++)<></endl;<></n;i++)<><></endl;<></array[i];<></n;i++)<></n;i++)<></n;i++)<></array[i]<<'\t';<></n;i++)<></n;i++)<></s;<></s.size;i++)<></s.str<<endl;<></s.size<<endl;<></s.str[i]<<"的个数:"<<m<<endl;<> </s.size;n++)<></s.size;k++)<></s.size;i++)<></n;j++)<></n;i++)<></endl;<></str<<endl;<></t2)<></n;<></endl;<></j;i++)<></count;i++,count--)<> </array[i]<<'\t';<></n;i++)<></x<<endl;<></array[min])<></n;i++)<></n;i++)<></endl;<></b[i];<></endl;<></endl;<></array[i];<></n;i++)<></endl;<></n;i++)<></n;i++)<></n;i++)<></m;i++)<></fun(n,k)<<endl;<> </p[i]<<'\t';<></n;i++)<></n<<'\t'<<"x="<<x<<endl;<>。

2022年江苏科技大学公共课《大学计算机基础》期末试卷B(有答案)

2022年江苏科技大学公共课《大学计算机基础》期末试卷B(有答案)

2022年江苏科技大学公共课《大学计算机基础》期末试卷B(有答案)一、单项选择题1、二进制数01101010等于十进制数()A.106B.108C.110D.1122、十进制数83,用二进制表示是()A.00010011B.01010011C.00111110D.011011103、与二进制数01000011等值的十进制数是()A.19B.35C.67D.1314、十进制数111等于二进制数()A.10110111B.10110011C.01101111D.011001115、计算机病毒对于操作计算机的人,()A.只会感染,不会致病B.会感染致病C.不会感染D.会有厄运6、微型计算机中最普遍使用的字符编码是()A.国标码B.ASCII码C.BCD码D.EBCDIC码7、下列关于ROM的叙述中,不正确的是()A. ROM中的信息能被CPU读取B. ROM主要用来存放计算机的基本输入输出程序C.不能随时对ROM改写D.一旦断电ROM中的信息会丢失8、下列对“回收站”说法正确的是()A.“回收站”保存了所有系统文件B.“回收站”中的文件不能再次使用C.“回收站”中的文件只能保存30天D.“回收站”中的文件可以还原9、在Windows 7“回收站”中,可以恢复()A.从硬盘中删除的文件和文件夹B.从光盘中刷除的文件和文件夹C.从软盘中删除的文件和文件夹D.剪切掉的文挡10、在Windows 7中,目录结构采用()A.树形结构B.线形结构C.层次结构D.网状结构11、下列可以完成多个应用程序切换的是()A.资源管理器B.控制菜单C.“开始"菜单D.任务栏12、下列古那于“快捷方式”的系数中,错误的是()A.可以使用快捷反复市作为打开程序的捷径B.删除快捷方式后,它所指向的项目也不会被删除C.可在桌面上创建打印机的快捷方式D.快捷方式的图标可以更改13、可以方便地进行Windows 7组件安装工作的是“控制面板”中的()A.管理工具B.添加/删除程序C.添加/删除硬件D.辅助功能选项14、在Word文档中插入符号时,首先要做的操作是()A.选择“符号”菜单B.将光标定位到插入点C.选取要插入的符号D.选择“插入”菜单15、在Word窗口的“插入”菜单中不包括()A.“符号”命令B.“表格”命令C.“脚注和尾注”命令D.“日期和时间”命令16、在Word中,可以插入页眉和页脚的视图是()A.普通视图B.Web版是视图C.大纲视图D.页面视图17、在Word2010“字体”对话框中不能设置()A上标B删除线C字符间距D段落间距18、在Word 2010中,用于设置文本颜色的按钮,位于“开始”功能区中的()A.“段落”组B.“字体”组C.“样式”组D.“剪贴板”组19、在Word“文件”菜单底部所显示的文件名是()A.最近被存取过的文件名B.正在使用的文件名C.正在打印的文件名D.新建立的文件名20、在Excel 2010中,一个数据清单区域必须符合一定的规则,下列叙述正确的是()A.数据清单中同一列数据的数据类型可以不一样B.数据清单中可以有空行和空列C.数据清单中的字段名唯一D.数据清单中可以有重复的列21、在Excel 2010中,对A8单元格绝对引用正确的是()A.A8B.$A8C.A$8D.$A$822、在Excel 2010工作表中,最基本的编辑单位是()A.单元格B.一行C.一列D.工作表23、在Excel 2010中、要将有数据且设登了格式的单元格恢复为默认格式的空单元格,应先选定该单元格,然后使用()A.Del 键B.“格式”菜单的“单元格”命令C.“编辑”菜单的“清除”命令D.“常用”工具栏的“剪切”命令24、在Excel 2010中,要统计某单元格区域内数值的个数,应使用的函数是()A.COUNTB.MAXC.SUMD.AVERAGE25、Excel 2010一个单元格中存储的信息不包括()A.批注B.格式C.内容D.图片26、设置PowerPoint 2010动画时,若对动画出现的方向进行设置,单击()A.“效果”按钮B.“动画样式”按钮C.“预览”按钮D.“添加动画”按钮27、在PowerPoint 2010中对文本进行超链接设置时,可以在()A.“插入”菜单中选择“超级链接”命令B.“格式”菜单中选择“超级链接”命令C.“工具”菜单中选择“超极链接”命令D.“幻灯片放映”菜单中选择“超级链接”命令28、某用户上网时,在浏览器地址栏输入网址,其中http的含义()A超文本传输协议B网际协议C文件传输协议D传输控制协议29、下列有关计算机病毒的叙述中,正确的是()A.网络蠕虫病毒通常利用系统中的安全漏洞迸行自动传播B .计算机病毒不可以自我复制C.黑客是一种可传染的计算机病毒D.计算机病毒只能通过互联网传播30、下列属于局域网的是()A.国家网B.校园网C.城市网D.因特网二、填空题31、“我的电脑”和“资源管理器”初始界面的区别是:“我的电脑”没有___窗格。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1,#include <iostream.h>class PP{int n;double x;double *p;public:PP(int num,double x1);~PP();double fun(int n1,double x);void process();void show();};PP::PP(int num,double x1){n=num;x=x1;p=new double[n+1];}PP::~PP(){if(p) delete[]p;}double PP::fun(int n,double x){if(n==0) return 1;else if(n==1) return x;else return ((2*n-1)*x*fun(n-1,x)-(n-1)*fun(n-2,x))/n; }void PP::process(){int i;for(i=0;i<=n;i++)p[i]=fun(i,x);}void PP::show(){int count=0;cout<<"n="<<n<<'\t'<<"x="<<x<<endl;for(int i=0;i<n;i++){cout<<p[i]<<'\t';count+=1;if(count%4==0) cout<<'\n';}}void main(){int num;double x1;cout<<"num=";cin>>num;cout<<"x1=";cin>>x1;PP items(num,x1);items.process();items.show();}2. #include<iostream.h>class sp{private:int n,k;public:sp(int n1,int k1);int powers(int m,int n);int fun(int m,int n);void show();};sp::sp(int n1,int k1){k=k1;}int sp::powers(int m,int n){int i,p=1;for(i=1;i<=n;i++)p*=m;return p;}int sp::fun(int n,int k){int s=0;for(int i=1;i<=n;i++)s+=powers(i,k);return s;}void sp::show(){cout<<fun(n,k)<<endl;}void main(){cin>>x>>y;sp s(x,y);s.show();}3. #include<iostream.h>class move{privatefloat array[20];int n;public:move(float b[],int m){for(int i=0;i<m;i++)array[i]=b[i];n=m;}void average(){float sum=0,ave;for(int i=0;i<n;i++)sum+=array[i];ave=sum/20;float Array[20],*p1=Array,*p2=Array;for(i=1;i<n;i++) p2++;for(i=0;i<n;i++){if(array[i]<=ave) *(p1++)=array[i];else *(p2--)=array[i];}for(i=0;i<n;i++)array[i]=Array[i];}void print(){cout<<"执行后的数据为:"<<endl;for(int i=0;i<n;i++)cout<<'\t'<<array[i];cout<<endl;}};void main(){float b[9]={1.3,6.2,3,9.1,4.8,7.4,5.6,9.2,2.3};cout<<"原数据为:"<<endl;for(int i=0;i<9;i++)cout<<'\t'<<b[i];cout<<endl;move s(b,9);s.average();s.print();}4. #include<iostream.h>class MOVE{int *array;int n;public:MOVE(int b[],int m){n=m;array=new int[n];for (int i=0;i<n;i++){array[i]=b[i];}}void exchange(){float x=0;int max=0,m=0,min=0;for(int i=0;i<n;i++){x+=array[i];if(array[i]>array[max]){max=i;}if(array[i]<array[min]){min=i;}}x/=n;cout<<"平均数为:"<<x<<endl;x=array[min];array[min]=array[max];array[max]=x;}void print(){for(int i=0;i<n;i++){cout<<array[i]<<'\t';}}~MOVE(){delete array;}};void main(){int s[10]={21,65,43,87,12,84,44,97,32,55};MOVE a(s,10);a.exchange();a.print();}5. #include <iostream.h>#include <string.h>class palindrome{int n;int y;public:palindrome (int x);void huiwen();void show();};palindrome:: palindrome(int x){n=x;y=0;}void palindrome::huiwen(){int a[20],b[50],k=n,s=n,i=0,count=0;while(k){a[i]=k%10;k=k/10;i++;count++;}for( i=0;i<count;i++,count--)if(a[i]==a[count]) y=1;else {y=0;break;}if(y==1){int i=0,j=0;while(s){b[i]=s%2;s=s/2;i++;j++;for( i=0;i<j;i++)if(b[i]==b[j]) { y=1;j--;}else {y=0;break;}}if(y==1)cout<<"是绝对回文字符串"<<endl;if(y==0)cout<<"不是绝对回文字符串"<<endl; }void palindrome::show(){cout<<n;}void main(void){int a;cout<<"请输入a=";cin>>a;palindrome p(a);p.show();p.huiwen();}6. #include <iostream.h>#include <string.h>class String{char *str;int y;public:String(char*s){if(s){str=(char*)new char[strlen(s)+1];strcpy(str,s);}else str=0;}void huiwen();void show();};void String::huiwen(){char *t1,*t2;t1=t2=str;while(*t2) t2++;t2--;while (t1<t2){if(*t1++!=*t2--) y=1;}}void String::show(){cout<<str<<endl;if(y) cout<<"不是回文字符串"<<endl;else cout<<"是回文字符串"<<endl; }void main(){char s[]="ababcedbaba";String text(s);text.huiwen();text.show();}7. #include<iostream.h>class phalanx{int (*p)[20];int startnum;int n;public:phalanx(int s[20][20],int m){startnum=1;p=s;n=m;}void process(){p[0][0]=startnum;for(int i=0;i<n;i++)for(int j=0;j<n;j++){if(i>j){p[i][j]=1+i*i+i+i-j;}else{p[i][j]=1+j*j+i;}}}void print(){for(int i=0;i<n;i++){for(int j=0;j<n;j++) cout<<'\t'<<p[i][j];cout<<'\n';}}~ phalanx() { }};void main(){int m;int s[20][20];cout<<"请输入折叠层数:";cin>>m;cout<<'\n';phalanx pp(s,m);pp.process();pp.print();}9. #include<iostream.h>#include<string.h>class CString{char *str;int size;int maxsize;public:CString(){str=NULL;size=0;maxsize=0;}void Count(CString & s);friend ostream& operator<<(ostream &ostr,const CString & s);friend istream& operator>>(istream &istr,CString & s);};void CString::Count(CString &s){int i,k;for(i=0;i<s.size;i++){int m=1;for(k=i+1;k<s.size;k++){if(s.str[i]==s.str[k]){for(int n=k;n<s.size;n++){s.str[n]=s.str[n+1];}s.size--;s.maxsize--;m++;}}cout<<s.str[i]<<"的个数:"<<m<<endl;}}ostream & operator<<(ostream &ostr,const CString &s) {cout<<"s.size="<<s.size<<endl;cout<<"s.str="<<s.str<<endl;return ostr;}istream& operator>>(istream &istr,CString &s){delete []s.str;cout<<"输入字符串的元素个数:";cin>>s.size;s.maxsize=s.size+1;s.str=new char[s.maxsize];cout<<"输入字符串:";for(int i=0;i<s.size;i++)cin>>s.str[i];s.str[s.size]=NULL;return istr;}void main(){CString s;cin>>s;cout<<s;s.Count(s);}1113#include <iostream.h>class MOVE{int array[20];int n;public:MOVE(int b[],int m){n=m;for(int i=0;i<n;i++){array[i]=b[i];}}void change(){for(int j=0;j<3;j++){int a=array[n-1];for(int i=n-1;i>0;i--){array[i]=array[i-1];}array[0]=a;}}void print(){for(int i=0;i<n;i++)cout<<array[i]<<'\t';}};void main(){int s[10]={21,65,43,87,12,84,44,97,32,55};MOVE test(s,10);test.change();test.print();}14. #include<iostream.h>#include<string.h>class move{char *array;int n;public:move(char b[],int m){n=m;array=new char[strlen(b)+1];strcpy(array,b);}void change();void print();~move(){delete[]array;}};void move::change(){char Aa[20];int j=0,k=n;for(int i=0;i<n;i++)if(array[i]>='A'&&array[i]<='Z'){Aa[j]=array[i];j++;}else{Aa[k-1]=array[i];k--;}for(i=0;i<n;i++)array[i]=Aa[i];array[n]=0;}void move::print(){for(int i=0;i<n;i++)cout<<array[i];cout<<endl;}void main(){char b[]={"fdsUFfsTjfsKFEkWC"};move test(b,17);test.change();test.print();}15. #include<iostream.h>#include<string.h>class Carray{int *a;int n;int b;public:Carray(int m[],int n1,int x){ a=m;for(int i=0;i<n1;i++)a[i]=m[i];n=n1;b=x;}void Transform(){int i;int x;int T[10];for(i=0;i<n;i++){ x=*a++;T[i]=(b*x+i);}a=T;}void show(){for(int i=0;i<10;i++)cout<<*a<<'\t';cout<<endl;}~Carray(){delete a;}};void main(){int arr[]={1,2,3,4,5,6,7,8,9,10};int b;int i=10;//i=strlen(arr);cout<<"请输入b=";cin>>b;Carray test(arr,i,b);test.Transform();test.show();}17. #include<iostream.h>#include<math.h>class SIN{private:int x;int n;public:SIN(int a,int b){x=a;n=b;}int power(int q){int c;if(q==1||q==0) c=1;else c=q*power(q-1);return c;}int mi(int m,int n){int p=1;for(int i=0;i<n;i++)p=p*m;return p;}double fun(){double sum,s;s=1;sum=0;for (int j=1;j<=n;j++){s=s*mi(x,2*j-1)/power(2*j-1);sum+=s;s=-1;}cout<<sum<<endl;return sum;}void show(){cout<<"结果为"<<fun()<<endl;}};void main(){SIN test(1,2);test.fun();test.show();}18. #include <iostream.h>class VAR{private:double a[100];int n;public:V AR(double x[],int n1){n=n1;for(int i=0;i<n;i++)a[i]=x[i];}double average(double x[],int n){double xp, s=0;for(int i=0;i<n;i++){s=s+a[i];}xp=s/n;return xp;}double variance(double x[],int n){double b=0.00,d;for(int i=0;i<n;i++){b=b+(x[i]-average(a,n))*(x[i]-average(a,n));}d=b/n;return d;}void show(double x[],int n){cout<<"标准差是:"<<variance(x,n)<<endl;}};void main(){double e[100]={1,2,3,4,5};V AR c(e,5);c.show(e,5);}19. #include<iostream.h>class Array{int a[4][4];public:Array(int a1[][4],int n){for(int i=0;i<n;i++)for(int j=0;j<4;j++)a[i][j]=a1[i][j];}void xuanzhuan();void show();};void Array::xuanzhuan(){int a2[4][4];for(int i=0;i<4;i++)for(int j=0;j<4;j++)a2[j][3-i]=a[i][j];for(int k=0;k<4;k++)for(int h=0;h<4;h++)a[k][h]=a2[k][h];}void Array::show(){for(int i=0;i<4;i++){for(int j=0;j<4;j++){if(a[i][j]<10)cout<<" "<<a[i][j]<<" ";elsecout<<a[i][j]<<" ";}cout<<endl;}}void main(){int b[][4]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16};Array test(b,4);cout<<"原二维数组为:"<<endl;test.show();test.xuanzhuan();cout<<"旋转后的二维数组为:"<<endl;test.show();}20. #include <iostream.h>class Array{private:int a[4][4];public:Array(int a1[][4],int n){for(int i=0;i<n;i++)for(int j=0;j<4;j++)a[i][j]=a1[i][j];}void xuanzhuan(){int b[4][4];for(int i=0;i<4;i++)for(int j=0;j<4;j++)b[i][j]=a[i][j];for( i=0;i<4;i++)for(int j=0;j<4;j++)a[3-j][i]=b[i][j];}void show(){for(int i=0;i<4;i++){for(int j=0;j<4;j++)cout<<a[i][j]<<'\t';cout<<'\n';}}};void main(){int b[][4]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16};Array test(b,4);test.xuanzhuan();test.show();}23. #include <iostream.h>class Fract{private:int num,den;public:Fract(int a=0,int b=1){num=a;den=b;}int ged(int m,int n){int k,i,D;if(m<=n)k=m;else k=n;for( i=k;i>=1;i--)if(m%i==0&&n%i==0)break;D=m*n/i;return D;}Fract add(Fract f){Fract temp;int k,i;temp.den=ged(den,f.den);temp.num=temp.den/den*num+temp.den/f.den*f.num;if(temp.den<=temp.num)k=temp.den;else k=temp.num;for( i=k;i>=1;i--)if(temp.den%i==0&&temp.num%i==0){temp.den=temp.den/i;temp.num=temp.num/i;break;}return temp;}void show(){cout<<"两分数之和为"<<num<<"/"<<den<<endl;} };void main(){Fract f1(1,5),f2(7,20),f3;f3=f1.add(f2);f3.show();}27. #include<iostream.h>#include<math.h>class NUM{private:int data[10];int prime[10];int num;public:NUM(int n[]){num=0;for(int i=0;i<=10;i++){data[i]=n[i];prime[i]=0;}}int isprime(int m){for(int i=2;i<=sqrt(m)+1;i++){if(m%i==0){return 0;}}return 1;}void process(){int n=0;for(int i=0;i<=9;i++){if(isprime(data[i])){ prime[n]=data[i];++n;num=n;}}}void print(){cout<<num<<endl;for(int i=0;i<=9;i++){if (prime[i])cout<<prime[i]<<'\t';}cout<<endl;}};void main(){int x[10]={4,5,9,11,36,29,31,101,56,199}; NUM test(x);test.process();test.print();}。

相关文档
最新文档