重庆理工大学程序设计c题库
重庆理工大学C语言程序实验报告
![重庆理工大学C语言程序实验报告](https://img.taocdn.com/s3/m/3d4f495af01dc281e53af0a7.png)
void main()
{int c;
while((c=getchar())!='\n')
{switch(c-'2')
{case 0:
case 1: putchar(c+4);
case 2: putchar(c+4);break;
case 3: putchar(c+3);
a[i][j]= a[i-1][j-1]+ a[i-1][j];
for (i=1;i<N;i++)
{
for (j=1;j<=i;j++)
printf("%6d", a[i][j]);
printf(”\n”);
}
printf("\n");
}
【题目9】从键盘上任意键入n阶方阵,求它的两条对角线元素之和。
void main()
{int i,j;
for(i=1;i<=4;i++)
{ for(j=1;j<=8-i;j++)//理解数字8的作用
printf(" ");
for(j=1;j<=2*i-1;j++)
printf("* ");
printf("\n");
} /*上面的程序输出上三角形*/
/*下面的程序输出下三角形*/
printf("\n");
printf("%11d",a[i]);
}
printf("\n");
重庆理工大学操作系统试题
![重庆理工大学操作系统试题](https://img.taocdn.com/s3/m/dc7231fb9e31433239689315.png)
重庆理工大学计算机操作系统考试1.产生死锁的四个必要条件是_互斥条件________,__请求和保持条件_______,____不剥夺条件_____和___环路等待条件______。
2.临界区是指_在每个进程中访问临界资源的那段代码______________。
3.按照设备的共享属性可将I/O设备分为_独占设备________,____共享设备_____和_____虚拟设备____。
4.并发性是指两个或多个事件在__同一时间间隔___发生。
5.对磁盘的访问时间可分为__寻道时间_______,__旋转延迟时间_______和__传输时间_______;其中,磁盘调度的目标主要是减少__访问磁盘_的平均时间。
6.连续分配方式会形成碎片____,这可通过紧凑方法来解决。
7.解决通道中“瓶颈”问题最有效的方法是_增加设备到主机间的通路而不增加通道_。
8.所有同步机制都应遵循的四条准则是:空闲让进、忙则等待、_有限等待________、___让权等待______。
9.程序顺序执行时的特征有:顺序性、__封闭性_______和__可再现性_______。
10.引起进程从执行态到就绪态的条件是_因分配给它的时间片已完而暂停执行____。
1、操作系统的发展过程是( )A 设备驱动程序组成的原始操作系统,管理程序,操作系统B 原始操作系统,操作系统,管理程序C 管理程序,原始操作系统,操作系统D 管理程序,操作系统,原始操作系统2、当前进程因时间片用完而让出处理机时,该进程应转变为( )状态。
A 就绪 B.等待 C.运行 D.完成3、虚存最重要的特征是(),因为任何其他的存储方式都不具有这一特征。
A对换性 B.多次性 C.虚拟性 D.驻留性4、以下哪项不是程序并发执行时具有的特征:A间断性B失去封闭性 C.可再现性 D. 不可再现性5、动态重定位的地址变换是在作业( )时进行的。
A.执行B..装入C.编译.D.修改6、一种既有利于短小作业又兼顾到长作业的作业调度算法是( )A..先来先服务B.轮转C.最高响应比优先D.均衡调度7、磁盘调度的SSTF(最短寻道时间优先)算法的缺点是:A.平均寻道距离较大.B.存在进程饥饿现象.C.实现复杂8、以下哪项不属于SPOOLing系统:A.输入/出井B..输入/出缓冲区C.输入/出进程D.输入/出设备9、以下哪项不是进程的特征:A. 动态性B.并发性C并行性D独立性10、外存分配方式不包括:A.连续分配B.链接分配C.动态分配D.索引分配产生死锁的原因:1.互斥条件2.请求和保持条件3.不可剥夺条件4.环路等待条件同步机制的四大准则:1.空闲让步2.忙则等待3.有限等待4.让权等待程序顺序执行的特征:顺序性、封闭性,可再现性虚拟存储器的三大主要特征:多次、对换、虚拟和离散设系统中有一类数量为M的独占型资源,系统中N个进程竞争该类资源,其中各进程对该类资源的最大需求量为W。
C语言试题(第二学期)A及答案
![C语言试题(第二学期)A及答案](https://img.taocdn.com/s3/m/7477bbda185f312b3169a45177232f60ddcce726.png)
C语言试题(第二学期)A及答案重庆理工大学考试试卷考试科目:C语言试题(第二学期)A卷共4页班次姓名学号成绩一.选择填空(选择一个正确答案,将其对应字母填在横线上)(20分)1.一个C程序的执行是从B;A:子程序开始B:main函数开始C:第一个函数D:第一条语句2.C语言中,正确的字符常量是B;A:“C”B:‘\n’C:‘ABC’D:‘1234’3.若a是float型变量,b是char型变量,以下输入语句合法的是B;A:canf(“%6.2f%f”,&a,&b)B:canf(“%6.2f%c”,&a,&b)C:canf(“%6.2d%”,&a,&b)D:canf(“%6.2f%c”,a,b)4.TurboC语言中,int类型和long类型数据在内存中分别占B个字节;A:4,4B:2,4C:2,2D:2,35.intr=0123,表示是D数;A:十进制;B:字符;C:十六进制;D:八进制6.在if(条件)语句执行时,当条件为D时C语言认为是“真”;A:TRUE;B:.T.C:0D:非零值7.如果a[1]=--3,执行b[2]=++a[1];c[3]=a[1]++;b[2]和c[3]的值是;A:2,2;B:4,4;C:3,3;D:3,48.设inta、b、c;且a=10;b=4;a/=b;则表达式(a/bb+a:b-a)之值是C;A:0.5B:6;C:2;D:-29.对于int某p,arry[10];正确的赋值语句是__A;A:p=arry;B:某p=&arry;C:p=&arry;D:某p=&arry[9];10.设int某,a,b,c;计算表达式某=(a=4,b=16,c=32)后,某的值是C;A:4B:16C:32D:5211.对于inta[][3]={1,2,3,4,5,6,7,8,9,10}说明语句,且有:数据元素a[1][2]+a[3][1]的值为____D_____;A:15B:16C:8D:612.intn=97;witch(n/10-4){cae2:n=n+1;cae3:n=n某2;cae5:n=n-2;cae7:n=n+3;default:n=n/2;}n的正确结果值是__49______A:95B:96C:97D:98?13.已知inti=j=2;char某a="abcdefg",c;执行c=某(a=a+3);c的值是______C____。
重庆理工大学C语言期末试题改错、编程题
![重庆理工大学C语言期末试题改错、编程题](https://img.taocdn.com/s3/m/1f1fba24bcd126fff7050b93.png)
void fun(char *a,char *b,char *c){ int i,j; char ch;i=0; j=strlen(b)-1;/************found************/while (i<j)这里大小写符号错了{ ch=b[i];b[i]=b[j];b[j]=ch;i++; j--;}while (*a||*b)/************found************/{ if (*a) {*c=*a;c++;a++;}这里他的错误时if大写了if (*b) {*c=*b;c++;b++;} }*c=0; }#include <stdio.h>/**********found**********/float fun ( float r)这里要有r不能用x否则是错的{/**********found**********/return 3.14159 *r*r/2.0; }main ( ){ float x;printf ( "Enter x: ");/**********found**********/&x); printf (" s = %f\n ", fun ( x ) ); }int fun(char *p){int n;/************found************/n=*p-'0';p++;while (*p!=0){ /************found************/ n=n*8+*p-'0';p++;} return n; }int fun(int k){int m=0,mc=0 ;while ((k>=2)&&(mc<10))/************found************/ { if ((k%13==0)||(k%17==0)){m=m+k;mc++;}k--;} return m;/************found************/ }void fun (char *s, char *t){ int i, j, sl;/************found************/sl =strlen(s);for (i=sl-1, j=0; i>=0; i-=2){ if (i-1 >= 0) t[j++] = s[i-1];if (i-1 >= 0) t[j++] = s[i-1];t[j++] = s[i]; t[j++] = s[i];}/************found************/ t[j]=0; }main(){ char s[100], t[100];printf("\nPlease enter string s:"); /************found************/scanf("%s", s);fun(s, t);printf("The result is: %s\n", t); }答案:a=26,b=14,c=19void fun (char *s, char *t){ int i, j, sl;sl = strlen(s);for(i=sl-1,j=0;i>=0;i-=2){ t[j++] = s[i];if (i-1 >= 0) t[j++] = s[i-1];t[j++] = s[i];if (i-1 >= 0)t[j++]=s[i-1];} t[j] = '\0'; }main(){ char s[100], t[100];printf("\nPlease enter string s:"); scanf("%s", s);fun(s,t);printf("The result is: %s\n", t); }long ACK( long m, long n ){ long k;if( m == 0 )k = n + 1;else if( n == 0 )k = ACK( m - 1, 1 );else/************found**********/k = ACK( m - 1, ACK(m, n - 1 ) );return( k );}main(){ long m, n;system("cls");printf( "\nPlease enter 2 numbers:\n" );scanf( "%ld %ld", &m, &n );/************found**********/printf( "\nThe value of Ackerman function is %d\n", ACK( m, n ) ); }double fun( double q ){ int n; double s;n = 2;s = 2.0;/************found************/ while (s<=q){ s=s+(double)(n+1)/n;/************found************/ n++ ; }printf("n=%d\n",n);/************found************/ return s ; }main ( ){ printf("%f\n", fun(50)); }X=10, n=6int fun(int m){ int k=2;while (k<=m&&(m%k))/************found************/k++;/************found************/if (m=k)return 1;else return 0;}main(){int n;system("cls");printf("\nPlease enter n:");scanf( "%d",&n); if (fun(n)) printf("YES\n");else printf("NO!\n");}int fun(int array[3][3]){ int i,j,arr[3][3] ;memcpy(arr, array, 9*sizeof(int)) ;for(i = 0 ; i < 3 ; i++)for(j = 0 ; j < 3 ; j++)/**************found**************/array[i][j] = array[i][j]; }main(){ int i,j;int array[3][3]={{100,200,300},{400,500,600},{700,800,900}};for (i=0;i<3;i++){ for (j=0;j<3;j++)printf("%7d",array[i][j]);printf("\n");}/**************found**************/ fun(array[3][3]);printf("Converted array:\n");for (i=0;i<3;i++){ for (j=0;j<3;j++)/**************found**************/ printf("%7d", array[i][j]);printf("\n"); } }double fun(int m){ double t=1.0;int i;for(i=2;i<=m;i++)/************found************/t=1.0-1/i;/************found************/________; }#include<stdio.h>void fun( int m, int k ){ int aa[20], i;for( i = 0; m; i++ ) {aa[i] = ___1___;m /= ___2___;} for( ; i; i-- )printf( "%d", ___3___[ i-1 ] );}答案:0#define N 10/************found************/void fun(int a[],int m){ int low=0,high=N-1,mid;while(low<=high){ mid=(low+high)/2;if(m<a[mid])high=mid-1;/************found************/else if(m>=a[mid])low=mid+1;else return(mid); }return(-1); }main(){ int i,a[N]={-3,4,7,9,13,45,67,89,100,180},k,m; printf("a数组中的数据如下:");for(i=0;i<N;i++) printf("%d ",a[i]);printf("Enter m:");scanf("%d",&m);k=fun(a,m);if(k>=0) printf("m=%d,index=%d\n",m,k);else printf("Not be found!\n"); }#include<stdio.h>void fun(int a[], int b[], int n){ int i;/**************found**************/for (i=0; i<6; i++) b[i] = ___1___;for (i=0; i<n; i++)if (a[i] >= 5000) b[5]++;/**************found**************/___2___ b[a[i]/1000]++; }main(){ int i, a[100]={ 900, 1800, 2700, 3800, 5900, 3300, 2400, 7500, 3800}, b[6]; fun(a, b, 9);printf("The result is: ");/**************found**************/for (i=0; i<6; i++) printf("%d ", ___3___);printf("\n"); }fun(char *p){ int i,t;char c[80];/************found************/For (i=0,t=0;p[i];i++)if(!isspace(*(p+i))) c[t++]=p[i];/************found************/c[t]="\0";strcpy(p,c); }main(){char c,s[80]; int i=0;printf("Input a string:");c=getchar();while(c!='#'){s[i]=c;i++;c=getchar();}s[i]='\0'; fun(s); puts(s); }#define MAXLINE 20fun ( char *pstr[6]){ int i, j ;char *p ;for (i = 0 ; i < 5 ; i++ ) {for (j = i + 1; j < 6; j++) {/**************found**************/if(strcmp(*(pstr+i),___1___)>0){p = *(pstr + i) ;/**************found**************/pstr[i] = ___2___ ;/**************found**************/*(pstr + j) = ___3___ ;long fun(int x,int y,long *p ){ int i; long t=1;/**************found**************/for(i=1; i<y; i++)t=t*x;*p=t;/**************found**************/t=t/1000;return t; }main(){ long t,r; int x,y;printf("\nInput x and y: "); scanf("%ld%ld",&x,&y);t=fun(x,y,&r);printf("\n\nx=%d, y=%d, r=%ld, last=%ld\n\n",x, y,r,t ); }void fun (char *s, char *t, char *u){ int i, j, sl, tl;sl = strlen(s); tl = strlen(t);for (i=0; i<sl; i++){ for (j=0; j<tl; j++)if (s[i] == t[j]) break;/************found************/if (j ___1___ tl)*u++ = s[i]; }for (i=0; i<tl; i++){ for (j=0; j<sl; j++)if (t[i] == s[j]) break;/************found************/if (j ___2___ sl)*u++ = t[i]; }/************found************/___3___ = '\0';}main(){ char s[100], t[100], u[100];printf("\nPlease enter string s:"); scanf("%s", s);printf("\nPlease enter string t:"); scanf("%s", t);fun(s, t, u);printf("The result is: %s\n", u);#include <stdio.h>/************found************/fun(char *a){ if(*a){ fun(a+1) ;/************found************/*a);}}main(){ char s[10]="abcd";printf("处理前字符串=%s\n处理后字符串=",s);fun(s);printf("\n"); }#include <stdio.h>void fun(int x, int pp[], int *n){ int i, j = 0 ;for(i = 1 ; i <= x ; i +=2 )/**************found**************/if((x % i) == 0)pp[j++] =i;/**************found**************/*n = j ; }main(){ int x, aa[1000], n, i ;printf( "\nPlease enter an integer number:\n" ) ; scanf("%d", &x) ; /**************found**************/fun(x, aa,&n ) ;for( i = 0 ; i < n ; i++ ) printf("%d ", aa[i]) ;printf(int fun(char *fname ){ FILE *fp; int i,n; float x;if((fp=fopen(fname, "w"))==NULL) return 0;for(i=1;i<=10;i++)/**********found**********/fprintf(___1___,"%d %f\n",i,sqrt((double)i));printf("\nSucceed!\n");/**********found**********/___2___;printf("\nThe data in file :\n");/**********found**********/if((fp=fopen(___3___,"r"))==NULL)return 0;fscanf(fp,"%d%f",&n,&x);while(!feof(fp)){ printf("%d %f\n",n,x); fscanf(fp,"%d%f",&n,&x); } fclose(fp);return 1;}main(){ char fname[]="myfile3.txt";fun(fname);}long fun (long num)/************found************/{ long k=1;do{ k*=num%10 ;/************found************/num/=10 ;} while(num) ;return (k) ; }main( ){ long n ;system("cls") ;printf("\Please enter a number:") ; scanf("%ld",&n) ;printf("\n%ld\n",fun(n)) ;}fun(char *s,int num[5]){ int k,i=5;for (k=0;k<i;k++)/************found************/num[k]=0;for (;*s;s++){i=-1;/************found************/switch(*s){case 'a':case 'A':i=0;break;case 'e':case 'E':i=1;break;case 'i':case 'I':i=2;break;case 'o':case 'O':i=3;break;case 'u':case 'U':i=4;break;}if (i>=0)num[i]++; } }main(){char s1[81]; int num1[5],i;system("cls");printf("\nPlease enter a string:");gets(s1);fun(s1,num1);for (i=0;i<5;i++) printf("%d ",num1[i]);printf("\n"); }void fun (char *s, char *t){ int i,j,sl;/************found************/sl = strlen(s);for (i=0, j=0; i<sl; i+=2){ if (i+1 < sl){ t[2*j] = s[i+1]; t[2*j +1] = s[i+1];j++; }t[2*j] = s[i]; t[2*j +1] = s[i];/************found************/j++;}t[2*sl] = '\0'; }main(){ char s[100], t[100];printf("\nPlease enter string s:"); scanf("%s", s);/************found************/fun(s,t);printf("The result is: %s\n", t); }#include <stdio.h>void fun(int a[], int b[], int n){ int i;for (i=0; i<6; i++) b[i] = 0;/**************found**************/for (i=0; i< ___1___; i++)if (a[i] < 60) b[5]++;/**************found**************/___2___ b[(a[i]- 60)/10]++; }main(){ int i, a[100]={ 93, 85, 77, 68, 59, 43, 94, 75, 98}, b[6];/**************found**************/fun(___3___, 9);printf("the result is: ");for (i=0; i<6; i++) printf("%d ", b[i]);printf("\n");}void fun (char *s, char *t){ int i, j, sl;sl = strlen(s);/************found************/if(sl%2) sl-=2; else sl--;/************found************/for (i=sl, j=0; i>=0; i-=2){ t[2*j] = s[i];/************found************/t[2*j +1] =s[i] ;j++; }t[2*j]='\0'; }main(){ char s[100], t[100];printf("\nPlease enter string s:"); scanf("%s", s);fun(s, t);printf("The result is: %s\n", t);}void fun(long s,long *t){ int d;long s1=1;/************found************/*t=0;while (s>0){ d=s%10;/************found************/if (d%2!=0){(*t)=d*s1+(*t);s1*=10; } s/=10; } } main(){ long s,t;system("cls");printf("\nPlease enter s:");scanf("%ld",&s);fun(s,&t);printf("The result is:%ld\n",t); }char fun(char ch){ /**********found**********/if ((ch>='a')&&(ch<='z'))return ch -'a' + 'A';if ( isupper(ch) )/**********found**********/return ch +'a'-'A' ;/**********found**********/return ch; }main(){ char c1, c2;printf("\nThe result :\n");c1='w'; c2 = fun(c1);printf("c1=%c c2=%c\n", c1, c2);c1='W'; c2 = fun(c1);printf("c1=%c c2=%c\n", c1, c2);c1='8'; c2 = fun(c1);printf("c1=%c c2=%c\n", c1, c2); }IsPrime ( int n ){ int i, m;m = 1;for ( i = 2; i < n; i++ )/************found************/if (!( n % i )) {/************found************/m = 0; break ;}return ( m ); }main( ){ int j, k;printf( "\nPlease enter an integer number between 2 and 10000: " ); /************found************/scanf( "%d", &k );printf( "\n\nThe prime factor(s) of %d is( are ):", k );for( j = 2; j <= k; j++ )if( ( !( k%j ) )&&( IsPrime( j ) ) ) printf( "\n %4d", j );printf("\n"); }#include <stdio.h>long fun(int x,int y,long *p ){ int i;long t=1;/**************found**************/for(i=1; i<=y; i++)t=t*x;*p=t;/**************found**************/t=t%1000;return t; }main(){ long t,r; int x,y;printf("\nInput x and y: "); scanf("%ld%ld",&x,&y);t=fun(x,y,&r);printf("\n\nx=%d, y=%d, r=%ld, last=%ld\n\n",x, y,r,t ); } (十)int fun(int a,int b){int r,t;if(a<b){t=a;b=a;a=t;}r=a%b;while(r!=0){a=b;b=r;r=a%b;}/************found************/return(b); }main(){int num1,num2,a;printf("Input num1 num2: ");scanf("%d%d",&num1,&num2); printf("num1=%d num2=%d\n\n",num1,num2);a=fun(num1,num2);printf("The maximun common divisor is %d\n\n",a);}void fun (char *s, char *t, char *u) { int i, j, sl, tl;sl = strlen(s); tl = strlen(t);for (i=0; i<sl; i++){ for (j=0; j<tl; j++)if (s[i] == t[j]) break; /************found************/if (j >= tl)*u++ = s[i]; }for (i=0; i<tl; i++){ for (j=0; j<sl; j++)if (t[i] == s[j]) break; /************found************/if (j>=sl)*u++ = t[i]; }/************found************/ *u= '\0'; }#define M 10int a[M][M]={0};/************found************/fun(int **a,int m){ int j,k;for (j=0;j<m;j++)for (k=0;k<m;k++)/************found************/a[j][k]=k*j; }main(){ int i,j,n;system("cls");printf("Enter n:");scanf("%d",&n);fun(a,n);for(i=0;i<n;i++){ for(j=0;j<n;j++)printf("%4d",a[i][j]);printf("\n"); } }void fun (char *s, char *t, char *u){ int i, j, sl, tl, k, ul=0;sl = strlen(s); tl = strlen(t);for (i=0; i<tl; i++){ for (j=0; j<sl; j++)if (t[i] == s[j]) break;if (j>=sl){ for (k=0; k<ul; k++)/************found************/if (t[i] == u[k]) ___1___ ; if (k>=ul) /************found************/u[ul++] = ___2___ ; } }/************found************/___3___='\0'; }main(){ char s[100], t[100], u[100];printf("\nPlease enter string s:"); scanf("%s", s);printf("\nPlease enter string t:"); scanf("%s", t);fun(s, t, u);printf("The result is: %s\n", u); }int fun(int m){ int k=2;while (k<=m&&(m%k))/************found************/k++/************found************/if (m=k)return 1;else return 0; }main(){int n;system("cls");printf("\nPlease enter n:");scanf( "%d",&n);if (fun(n)) printf("YES\n");else printf("NO!\n");}int fun(int array[3][3]){ int i,j,arr[3][3] ;memcpy(arr, array, 9*sizeof(int)) ;for(i = 0 ; i < 3 ; i++)for(j = 0 ; j < 3 ; j++)/**************found**************/ array[i][j] = ___1___ ; }main(){ int i,j;int array[3][3]={{100,200,300},{400,500,600},{700,800,900}};for (i=0;i<3;i++){ for (j=0;j<3;j++)printf("%7d",array[i][j]);printf("\n");}/**************found**************/ fun(___2___);printf("Converted array:\n");for (i=0;i<3;i++){ for (j=0;j<3;j++)/**************found**************/ printf("%7d", ___3___);printf("\n"); }}double fun ( int x[]){/************found************/int sum = 0.0;int c=0, i=0;while (x[i] != 0){ if (x[i] > 0) {sum += x[i]; c++; }i++; }/************found************/sum \= c;return sum; }main( ){ int x[1000]; int i=0;system("cls");printf( "\nPlease enter some data (end with 0): " );do{ scanf("%d", &x[i]); }while (x[i++] != 0);printf("%f\n", fun ( x )); }void fun(int a[], int b[], int c[], int n){ int i;for (i=0; i<n; i++)/**************found**************/___1___ = (a[i] * b[n-1-i]) *(a[i] * b[n-1-i]); }main(){ int i, a[100]={1,3,5,7,8}, b[100]={2,3,4,5,8}, c[100]; /**************found**************/fun(___2___, 5);printf("The result is: ");/**************found**************/for (i=0; i<5; i++) printf("%d ", ___3___);printf("\n");}fun ( char *p){ int i,t; char c[80];/************found************/for (i = 0,t = 0; p[i] ; i++)if(!isspace(*(p+i))) c[t++]=p[i];/************found************/c[t]=0;strcpy(p,c); }main( ){ char c,s[80];int i=0;printf("Input a string:");c=getchar();while(c!='#'){ s[i]=c;i++;c=getchar(); }s[i]='\0';fun(s); puts(s); }fun ( char *pstr[6]){ int i, j ;char *p ;for (i = 0 ; i < 5 ; i++ ) {for (j = i + 1; j < 6; j++) {/**************found**************/if(strcmp(*(pstr+i),*(pstr+j))>0){ p = *(pstr + i) ;/**************found**************/pstr[i] = *(pstr+j);/**************found**************/*(pstr + j) = p; } } }}double fun ( int n ){ double result = 1.0 ;/************found************/if n = = 0return 1.0 ;while( n >1 && n < 170 )/************found************/result *= n--return result ; }main ( ){ int n ;printf("Input N:") ;scanf("%d", &n) ;printf("\n\n%d! =%lf\n\n", n, fun(n)) ; }long fun(int g){ /************found************/switch(g);{ case 0:return 0;/************found************/case 1;case 2:return 1; }return(fun(g-1)+fun(g-2)); }main(){ long fib; int n;printf("Input n: ");scanf("%d",&n);printf("n=%d\n",n);fib=fun(n);printf("fib=%d\n\n",fib); }long jc(int m){ long s=1; int i ;/**************found**************/for(i=1;i<=m;i++) s=___1___ ;return s; }float fun(int m, int n){ float p;/**************found**************/p=1.0*jc(m)/jc(n)/jc(___2___) ;/**************found**************/___3___; }main(){ printf("P=%f\n", fun (11,4)); }int fun(char str[][10],int m,char *pt){/************found************/ Int k,q,i;for(k=0;k<m;k++){ q=strlen(str[k]);for(i=0;i<q;i++)/************found************/pt[i]=str[k,i];pt+=q;pt[0]=0; }}main(){ int m,h;char s[10][10],p[120];system("cls") ;printf("\nPlease enter m:");scanf("%d",&m);gets(s[0]);printf("\nPlease enter %d string:\n",m);for (h=0;h<m;h++) gets(s[h]);fun(s,m,p);printf("\nThe result is : %s\n",p); }float fun ( int n ){/************found************/float A=___1___ ; int i;/************found************/for (i=1; i<= ___2___; i++)A = 1.0/(1+A);/************found************/___3___ ; }main( ){ int n ;printf("\nPlease enter n: ") ;scanf("%d", &n ) ;printf("A%d=%f\n", n, fun(n) ) ; }int fun(int score[], int m, int below[]){ int i, j = 0 ;float aver = 0.0 ;for(i = 0 ; i < m ; i++) aver += score[i] ; aver /= (float) m ;for(i = 0 ; i < m ; i++)/**************found**************/ if(score[i] < aver) below[j++] = ___1___ ; return j ; }main(){ int i, n, below[9] ;int score[9] = {10, 20, 30, 40, 50, 60, 70, 80, 90} ;/**************found**************/n = fun(score, 9, ___2___) ;printf( "\nBelow the average score are: " ) ;/**************found**************/for (i = 0 ; i < n ; i++) printf("%d ", ___3___) ; }fun(int n,int *a){int i,j,p,t;for (j=0;j<n-1;j++){p=j;/************found************/for (i=j;i<n-1;i++)if (a[p]>a[i])/************found************/p=i;if (p!=j){t=a[j];a[j]=a[p];a[p]=t;} }}putarr(int n,int *z){int i;for (i=1;i<=n;i++,z++){printf("%4d",*z);if (!(i%10)) printf("\n");}printf("\n");}main(){ int aa[20]={9,3,0,4,1,2,5,6,8,10,7},n=11;system("cls");printf("\n\nBefore sorting %d numbers:\n",n);putarr(n,aa); fun(n,aa);printf("\nAfter sorting %d numbers:\n",n);putarr(n,aa);putarr(int n,int *z){int i;for (i=1;i<=n;i++,z++){printf("%4d",*z);if (!(i%10)) printf("\n");}printf("\n");}main(){ int aa[20]={9,3,0,4,1,2,5,6,8,10,7},n=11;system("cls");printf("\n\nBefore sorting %d numbers:\n",n);putarr(n,aa); fun(n,aa);printf("\nAfter sorting %d numbers:\n",n);putarr(n,aa); }char fun(char c){ if( c>='A' && c<='Z')c=c+32;if(c>='a' && c<='u')/**************found**************/c=c+___1___;else if(c>='v'&&c<='z')c=c-21;/**************found**************/return ___2___ ; }main(){ char c1,c2;printf("\nEnter a letter(A-Z): "); c1=getchar();if( isupper( c1 ) ) {/**************found**************/c2=fun(___3___);printf("\n\nThe letter \'%c\' change to \'%c\'\n", c1,c2);}else printf("\nEnter (A-Z)!int fun(int k){int m=0,mc=0,j;while ((k>=2)&&(mc<10))/************found************/{ if ((k%13=0)||(k%17=0)){m=m+k;mc++;}k--;}return m;/************found************/_____main(){system("cls");printf("%d\n",fun(500)); }void fun (char *s, char *t){ int i, j, sl;sl = strlen(s);for(i=sl-1,j=0;i>=0;i-=2){ t[j++] = s[i];if (i-1 >= 0) t[j++] = s[i-1];/************found************/t[j++] = ___1___;/************found************/if (i-1 ___2___ 0)t[j++]=s[i-1];}t[j] = '\0'; }main(){ char s[100], t[100];printf("\nPlease enter string s:"); scanf("%s", s); /************found************/fun(___3___);printf("The result is: %s\n", t); }。
重庆大学C语言程序设计复习题及参考答案
![重庆大学C语言程序设计复习题及参考答案](https://img.taocdn.com/s3/m/738e657158fb770bf68a5513.png)
}
A. a=30,b=30 B. a=60,b=60 C. a=60,b=30 D. a=30,b=60
16.下面所列变量类别中,能够作为返回指针值函数返回对象的是(B)。
A.寄存器变量
B.全局变量
C.局部变量
D.函数形式参数
17.下面关于联合体变量空间的描述中,正确的是(D)。
22.设有C语句序列:int arr[5],*p1; p1=&arr[3];,那么能够输入数组3号 元素值的是(C)。
A. scanf("%d",p1[3]);
B.scanf("%d",arr[3]);
C.scanf("%d",p1);
D.scanf("%d",p1+3); 23.
在C程序中,十进制整数100的十六进制书写形式是(D)。
B.*p=d.n
C.p=(struct T *)&d.n
D.p=(struct T *)d.n
38.下面程序的功能是(C)。
#include<stdio.h>
#include<stdlib.h>
#include <time.h> void main()
{ char s[20];int i;
srand((unsigned)time(NULL));
A. scanf("%d",p1+3);
B. scanf("%d",arr[3]); C.scanf("%d",p1*3); D. scanf("%d",&p1[3]);
重庆理工大学第二届大学生程序设计大赛 题目
![重庆理工大学第二届大学生程序设计大赛 题目](https://img.taocdn.com/s3/m/f6a9efc528ea81c758f57838.png)
重庆理工大学第二届大学生程序设计大赛题目试题1:【睿睿的随机数】睿睿想在学校中请一些同学一起做一项问卷调查,为了实验的客观性,他先用计算机生成了N个1到1000之间的随机整数(N≤100),对于其中重复的数字,只保留一个,把其余相同的数去掉,不同的数对应着不同的学生的学号。
然后再把这些数从小到大排序,按照排好的顺序去找同学做调查。
请你协助睿睿完成“去重”与“排序”的工作。
【输入】输入文件名“random.in”输入文件有2行,第1行为1个正整数,表示所生成的随机数的个数:N第2行有N个用空格隔开的正整数,为所产生的随机数。
【输出】输出文件名“estdout.pc2”输出文件也是2行,第1行为1个正整数M,表示不相同的随机数的个数。
第2行为M个用空格隔的正整数,为从小到大排好序的不相同的随机数。
程序运行后结果示例:【样例输入】1020 40 32 67 40 20 89 300 400 15【样例输出】815 20 32 40 67 89 300 400试题2:【问题描述】大家知道,给出正整数n,则1到n这n个数可以构成n!种排列,把这些排列按照从小到大的顺序(字典顺序)列出,如n=3时,列出1 2 3,1 3 2,2 1 3,2 3 1,3 1 2,3 2 1六个排列。
要求给出某个排列,求出这个排列的下k个排列,如果遇到最后一个排列,则下1排列为第1个排列,即排列1 2 3…n。
比如:n = 3,k=2 给出排列2 3 1,则它的下1个排列为3 1 2,下2个排列为3 2 1,因此答案为3 2 1【输入】输入文件名“permutation.in”第一行是一个正整数m,表示测试数据的个数,下面是m组测试数据,每组测试数据第一行是2个正整数n( 1 <= n < 1024 )和k(1<=k<=64),第二行有n个正整数,是1,2 …n的一个排列。
【输出】输出文件名“estdout.pc2”对于每组输入数据,输出一行,n个数,中间用空格隔开,表示输入排列的下k个排列。
重庆理工大学程序设计c期末考试资料2
![重庆理工大学程序设计c期末考试资料2](https://img.taocdn.com/s3/m/9617e11ceffdc8d376eeaeaad1f34693daef100a.png)
重庆理工大学程序设计c期末考试资料21.以下程序的输出结果是__1____。
main(){ int a=4,b=5,c=0,d;d=!a&&!b||!c;printf("%d\n",d);}2. 有以下程序main(){int a[][3]={{1,2,3},{4,5,0}},(*pa)[3],i;pa=a;for(i=0;i<3;i++)if(i<2) pa[1][i]=pa[1][i]-1;else pa[1][i]=1;printf("%d\n",a[0][1]+a[1][1]+a[1][2]);}执行后输出结果是__2+4+1=7____。
在所给的程序中,pa指向二维数组首地址a,接着执行下面的for 循环,当i=0或i=1时,数组元素 pa[1][i]的值减1,当 i=2时,数组元素pa[1][i]的值为1,此时得到新的二维数组a[][3]={{1,2,3},{3,4,1}},最终打印结果就是2+4+1=7。
3. 假定int类型变量占用两个字节,若有定义:int x[10]={0,2,4};,则数组x在内存中所占字节数是_20___当数组定义后,系统就为其分配内存空间,不论其中有没有内容。
本题虽然只给数组x 赋了3个初值,但系统仍为数组x分配了10个内存空间。
所以数组x在内存中所占字节数为2*10=20。
4. 已有定义:int i,a[10],*p;,则合法的赋值语句是p=a+2.(a+2是a[2]的地址。
)5.ox开头是十六进制。
O开头是八进制。
Int型的范围是-32768~32768.6. 设有如下枚举类型定义enum language {Basic=3,Assembly=6,Ada=100,COBOL,Fortran};枚举量Fortran的值为___102这个枚举中共有5个元素,前三个已有明确的赋值,而COBOL和Fortran没有明确的赋值,枚举的语法规定当枚举元素没有赋值时,其值为其前一个元素的值加一,所以COBOL的值为101,故Fortran的值应为102。
重庆科技学院C语言程序设计专升本题库及答案
![重庆科技学院C语言程序设计专升本题库及答案](https://img.taocdn.com/s3/m/f20ff0f529ea81c758f5f61fb7360b4c2e3f2afa.png)
C语言程序设计专升本题库(总分100分,考试时长90分钟)一、单项选择题(每小题2 分,共 40分)1、以下叙述中正确的是________。
A、局部变量说明为static存储类,其生存期将得到延长B、全局变量说明为static存储类,其作用域将被扩大C、任何存储类的变量在未赋初值时,其值都是不确定的D、形参可以使用的存储类说明符与局部变量完全相同2、下列四组常数中,均是合法整型常量的一组是________。
A、160 0xffff 011B、-0xcdf 01a 0xeC、-01 986,012 0668D、-0x48a 2e5 0x3、设变量a、b、e、d和y都已正确定义并赋值。
若有以下if语句: if(a<b) if(c==d) y=0; else y=1; 该语句所表示的含义是________。
A、y=0,aB、y=0,ay=1,a≥b y一1,a≥b且c≠dC、y=0,aD、y=0,ay=1,a<B且C≠D y="1,c≠d4、下面的代码int i=10; 之后的for循环语句,语法正确,不会编译出错的是________。
A、for(i=0,i<10,i++)B、for{i=0;i<10;i++}C、for( ;i>5;i--)D、for(i=0;i<10;i++;)5、下列关于函数参数的叙述中,正确的是________。
A、在函数原型中不必声明形参类型B、函数的实参和形参共享内存空间C、函数形参的生存期与整个程序的运行期相向D、函数的形参在函数被调用时获得初始值6、以下选项中,不能作为合法常量的是________。
A、1.234e04B、1.234e0.4C、1.234e+4D、1.234e07、若有说明:int a[][3]={{1,2,3},{4,5},{6,7}};则数组a的第一维的大小为: ( )A、2B、3C、4D、无确定值8、与二进制小数0.1等值的十六进制小数为________。
2022年重庆理工大学公共课《C语言》科目期末试卷A(有答案)
![2022年重庆理工大学公共课《C语言》科目期末试卷A(有答案)](https://img.taocdn.com/s3/m/92eff010ba68a98271fe910ef12d2af90242a87f.png)
2022年重庆理工大学公共课《C语言》科目期末试卷A(有答案)一、填空题1、请读程序段:int a=-1;a=a|0377;printf("%d,%o\n",a,a);以上程序段的输出结果是_______。
2、C语言的源程序必须通过【】和【】后,才能被计算机执行。
3、C语言源程序的基本单位是________4、若有定义语句:inte=1,f=4,g=2;float m=10.5,n=4.0,k;,则执行表达式k=(e+f)/g+sqrt((double)n)*1.2/g+m后k的值是_______。
5、在C语言的赋值表达式中,赋值号左边必须是_______6、以下程序段通过指针变量q,但不移动q,将如图所示连续动态存储单元的值,从第一个元素起依次输出到终端屏幕。
请填空。
(假设程序段中的所有变量均已正确说明。
)for(k=0;k<10;k++) printf("%d,",_______); printf("\n");7、下面add函数的功能是求两个参数的和,并将和值返回调用函数。
函数中错误的部分是_______,改正后为_______。
void add(float a,float b){float c;c=a+b;return c;}8、设有以下定义和语句,请在printf语句的_______中填上能够正确输出的变量及相应的格式说明。
union{int n;doublex;}num;num.n=10;num.x=10.5;printf("_______",_______);9、假设变量a和b均为整型,以下语句可以不借助任何变量把a、b中的值进行交换。
请填空。
a+=_______;b=a-_______;a-=_______;10、下面程序wdm的运行结果是_______。
int i,x[10]={2,3,0,3,0,2,3,2,1,3},y[4]={0};for(i=0;i<10;i++)y[x[i]]++;printf("%d\n",y[3]);二、选择题11、若x、i、j和k都是int型变量,则执行表达式x=(i=4,j=16,k=32)后x的值为( )。
重庆理工大学c语言上机考试复习题 (1)
![重庆理工大学c语言上机考试复习题 (1)](https://img.taocdn.com/s3/m/5869765fa0116c175e0e4883.png)
1、根据公式e=1+1/(1!)+1/(2!)+1/(3!)+……。
求e 的近似值,精度要求为10-6。
2、读入10个数,计算它们的和、积、平方和及和的平方。
3、计算并输出1!,2!,3!,4!,……,35!。
4、输入20个数,统计其中正、负和零的个数。
5、利用公式:)12)(12()2(......756653443*12222+-⨯⨯⨯⨯⨯⨯⨯⨯⨯=n n n π计算π的值(取前100项)。
6、利用公式:)12(1)1(......9171513114+⨯-++-+-=n n π计算π的值(省略的项都<10-5)。
7、编程计算0*1+2*3+4*5+……+100*101+101*102之和。
8、编程计算5/6+6/7+7/8+……+99/100+5!+6!+7!之和。
9、编程计算1!-2!+3!-4!+5!-6!之和。
10、编程计算1/(1+2)+2/(2+3)+3/(3+4)+……100/(100+101)之和。
11、编程计算(0+1)/1+(2+3)/3+(3+4)/4+……(99+100)/100之和。
12、求100 ~ 200中能被3或7整除的自然数。
13、统计77到210中偶数的个数。
14、统计7到91中能被3整除的奇数的个数。
15、7到91中有多少能既能被2又能被3整除的数。
16、显示7到100中所有不能被5整除的数,要求每行显示5个数。
17、找出1000之内的所有完数(完数是指:该数的各因子之和正好等于该数本身,例如:6的因子是1,2,3,而6 = 1+2+3,故6是完数)。
18、求2~1000中的所有亲密数对(亲密数对是指:如果a 的因子和等于b ,b 的因子和等于a ,则(a ,b )就是亲密数对)。
19、100元钱买100只鸡,已知公鸡3元1只,母鸡1元1只,小鸡1元3只,编程输出总的方案数以及每种方案中公鸡、母鸡、小鸡的数量。
20、100匹马驮100担货,大马驮3担,中马驮2担,小马驮0.5担,编程求大、中、小马的数量。
重庆大学2022年硕士研究生入学考试试题C语言程序设计和数据库原理及应用
![重庆大学2022年硕士研究生入学考试试题C语言程序设计和数据库原理及应用](https://img.taocdn.com/s3/m/c0bdae45571252d380eb6294dd88d0d233d43cd2.png)
一、C语言程序设计1. 请简述C语言程序的执行过程。
C语言程序的执行过程包括预处理、编译、汇编和链接四个阶段。
首先,预处理器处理源代码中的预处理指令,比如#include和#define等,生成一个没有预处理指令的中间代码文件。
然后,编译器将中间代码文件转换成汇编代码文件。
接着,汇编器将汇编代码文件翻译成机器码文件。
最后,链接器将编译器生成的可执行文件与系统库和用户库中的目标文件链接在一起,生成最终的可执行程序。
2. 请列举一些C语言中常用的数据类型及其所占的存储空间。
C语言中常用的基本数据类型包括char、int、float和double。
其中,char类型占用1个字节的空间,表示一个字符;int类型占用4个字节的空间,表示整数;float类型占用4个字节的空间,表示单精度浮点数;double 类型占用8个字节的空间,表示双精度浮点数。
除了基本数据类型,C语言还提供了其他一些数据类型,比如枚举类型、结构体类型和指针类型等。
3. 请解释C语言中的指针及其用途。
指针是C语言中一个非常重要的概念,它是一个存储变量地址的变量。
使用指针可以实现对变量的间接访问,从而对变量进行操作。
在C语言中,使用指针可以实现动态内存分配和释放。
比如,在需要动态申请内存的时候,可以使用malloc函数申请一块内存,然后使用指针指向这块内存;在使用完这块内存后,可以使用free函数释放它。
此外,在函数调用中也经常使用指针传递参数,这样可以避免复制大块的数据,提高程序的效率。
4. 请解释C语言中的结构体及其用途。
结构体是C语言中定义自己的数据类型的一种机制,它可以将不同类型的数据组合成一个单元。
使用结构体可以方便地组织复杂的数据结构。
例如,可以定义一个名为student的结构体,其中包括学生的姓名、学号、性别和年龄等信息。
然后,可以定义一个名为stu的student类型的变量,用来存储一个学生的信息。
使用.运算符可以访问结构体中的成员变量。
重庆理工大学2022年[计算机学科基础综合]考研真题
![重庆理工大学2022年[计算机学科基础综合]考研真题](https://img.taocdn.com/s3/m/43f4431c0166f5335a8102d276a20029bd64630e.png)
重庆理工大学2022年[计算机学科基础综合]考研真题一、选择题1.数据结构是一门研究非数值计算的程序设计问题中的操作对象以及它们之间的()和运算的学科。
A.结构B.关系C.数值D.算法2.线性表是一个可在()位置对数据元素进行插入、删除操作的序列容器。
A.仅表头B.仅表尾C.任意D.都是3.将长度为n的单链表连接在长度为m的仅带头指针的单链表后面,其算法的时间复杂度为()。
A.O(1)B.O(n)C.O(m)D.O(m + n)4.在循环顺序队列中,假设以少用一个存储单元的方法来区分队列判满和判空的条件,front和rear分别为队首和队尾指针,它们分别指向队首元素和队尾元素的下一个存储单元,队列的最大存储容量为maxSize,则队列的判空条件是()。
A.front== rearB.front!= rearC.front==rear+ 1D.front==(rear+1)% maxSize5.下面关于串的叙述中,不正确的是()。
A.串是字符的有限序列B.空串是空格构成的串C.模式匹配是串的一种重要运算D.串既可以采用顺序存储,也可以采用链式存储6.对特殊矩阵采用压缩存储的目的主要是为了()。
A.表达变得简单B.对矩阵元素的存取变得简单C.去掉矩阵中的多于元素D.减少不必要的存储空间7.对一棵满二叉树,有A个叶结点、B个结点、深度为C,则()。
A.B=C+1B.C+A=2BC.A=C-1D.B=-18.任意一棵二叉树,其叶结点在先根遍历、中根遍历和后根遍历序列中的相对次序()。
A.保持不变B.先根遍历和中根遍历有变化,后根遍历无变化C.先根遍历和后根遍历有编号,中根遍历无变化D.中根遍历和后根遍历有变化,先根遍历无变化9.一个有n个顶点的无向图最多有()条边。
A.nB.n(n-1)C.n(n-1)/2D.2n10.对某个无向图的邻接矩阵来说,下列叙述正确的是()。
A.第i行上的非零元素个数和第i列上的非零元素个数一定相等B.矩阵中的非零元素个数等于图中的边数C.第i行与第i列上的非零元素的总数等于顶点v i的度数D.矩阵中非零行的行数等于图中的顶点数11.对于含有n个顶点的带权连通图,它的最小生成树是指图中的任意一个由()子图。
重庆理工大学程序设计大赛选拔试题
![重庆理工大学程序设计大赛选拔试题](https://img.taocdn.com/s3/m/2004e2caa58da0116c17493e.png)
重庆理工大学程序设计大赛选拔试题试题1:【反转单词】给你一些英文句子,请将这些句子中的每个英语单词反转,然后再将其输出.这里的英语单词仅由大小写英文字母组成.【输入】输入文件名“sentence.in”多个英文句子,每句占一行,且每句不超过80个字符.【输出】输出文件名“estdout.pc2”按题目要求输出。
程序运行后结果示例:【样例输入】Helloworld!Happyprogramming,happylife!【样例输出】olleHdlrow!yppaHgnimmargorp,yppahefil!试题2:【全排列问题】大家知道,给出正整数n,则1到n这n个数可以构成n!种排列,把这些排列按照从小到大的顺序(字典顺序)列出,如n=3时,列出1 2 3,1 3 2,2 1 3,2 3 1,3 1 2,3 2 1六个排列。
要求给出某个排列,求出这个排列的下k个排列,如果遇到最后一个排列,则下1排列为第1个排列,即排列1 2 3…n。
比如:n = 3,k=2 给出排列2 3 1,则它的下1个排列为3 1 2,下2个排列为3 2 1,因此答案为3 2 1。
【输入】输入文件名“permutation.in”第一行是一个正整数m,表示测试数据的个数,下面是m组测试数据,每组测试数据第一行是2个正整数n( 1 <= n < 1024 )和k(1<=k<=64),第二行有n个正整数,是1,2 …n的一个排列。
【输出】输出文件名“estdout.pc2”对于每组输入数据,输出一行,n个数,中间用空格隔开,表示输入排列的下k个排列。
程序运行后结果示例:【样例输入】33 12 3 13 13 2 110 21 2 3 4 5 6 7 8 9 10【样例输出】3 1 21 2 31 2 3 4 5 6 7 9 8 10试题3:【猜数游戏】猜数游戏在XXX国非常流行,游戏过程大概是这样的……一个裁判,三个路人,路人足够聪明。
重庆理工大学-C语言程序设计基础教程_习题答案(纪纲_金艳)
![重庆理工大学-C语言程序设计基础教程_习题答案(纪纲_金艳)](https://img.taocdn.com/s3/m/e48aca6ccc175527072208db.png)
D) 分号是 C 语句之间的分隔符,不是语句的一部分
1.2.8 以下叙述中正确的是( B)。
A) C 语言的源程序不必通过编译就可以直接运行
B) C 语言中的每条可执行语句最终都将被转换成二进制的机器指令
C) C 源程序经编译形成的二进制代码可以直接运行
D) C 语言中的函数不可以单独进行编译
1.2.9 用 C 语言编写的代码程序(B)。
}
1.3.2 设计一程序,输入 3 个整数,计算并显示输出这 3 个整数之和。 #include <stdio.h> void main() {
int a,b,c;
printf(“input a,b,c:\n”); scanf(“%d%d%d”,%a,%b,%c); printf(“the sum of a,b,c is %5d\n”,a+b+c); }
A) 可立即执行
B) 是一个源程序
C) 经过编译即可执行
D) 经过编译解释才能执行
1.2.10 以下叙述中正确的是(C )。
A) 在 C 语言中,main 函数必须位于程序的最前面
B) C 语言的每行中只能写一条语句
C) C 语言本身没有输入输出语句
D) 在对一个 C 程序进行编译的过程中,可以发现注释中的拼写错误
******\n”);
printf(“
Welcome to Expo 2010!\n”);
printf(“
Shanghai 2010\n”);
printf(“*********************************************************************
******\n”);
重庆理工大学操作系统试题
![重庆理工大学操作系统试题](https://img.taocdn.com/s3/m/0f886d98ce2f0066f53322cf.png)
重庆理工大学计算机操作系统考试1.产生死锁的四个必要条件是_互斥条件________,__请求和保持条件_______,____不剥夺条件_____和___环路等待条件______。
2.临界区是指_在每个进程中访问临界资源的那段代码______________。
3.按照设备的共享属性可将I/O设备分为_独占设备________,____共享设备_____和_____虚拟设备____。
4.并发性是指两个或多个事件在__同一时间间隔___发生。
5.对磁盘的访问时间可分为__寻道时间_______,__旋转延迟时间_______和__传输时间_______;其中,磁盘调度的目标主要是减少__访问磁盘_的平均时间。
6.连续分配方式会形成碎片____,这可通过紧凑方法来解决。
7.解决通道中“瓶颈”问题最有效的方法是_增加设备到主机间的通路而不增加通道_。
8.所有同步机制都应遵循的四条准则是:空闲让进、忙则等待、_有限等待________、___让权等待______。
9.程序顺序执行时的特征有:顺序性、__封闭性_______和__可再现性_______。
10.引起进程从执行态到就绪态的条件是_因分配给它的时间片已完而暂停执行____。
1、操作系统的发展过程是( )A 设备驱动程序组成的原始操作系统,管理程序,操作系统B 原始操作系统,操作系统,管理程序C 管理程序,原始操作系统,操作系统D 管理程序,操作系统,原始操作系统2、当前进程因时间片用完而让出处理机时,该进程应转变为( )状态。
A 就绪 B.等待 C.运行 D.完成3、虚存最重要的特征是(),因为任何其他的存储方式都不具有这一特征。
A对换性 B.多次性 C.虚拟性 D.驻留性4、以下哪项不是程序并发执行时具有的特征:A间断性B失去封闭性 C.可再现性 D. 不可再现性5、动态重定位的地址变换是在作业( )时进行的。
A.执行B..装入C.编译 .D.修改6、一种既有利于短小作业又兼顾到长作业的作业调度算法是( )A..先来先服务B.轮转C.最高响应比优先D.均衡调度7、磁盘调度的SSTF(最短寻道时间优先)算法的缺点是:A.平均寻道距离较大 .B.存在进程饥饿现象 .C.实现复杂8、以下哪项不属于SPOOLing系统:A.输入/出井B..输入/出缓冲区C.输入/出进程D.输入/出设备9、以下哪项不是进程的特征:A. 动态性B.并发性C并行性D独立性10、外存分配方式不包括:A.连续分配B.链接分配C.动态分配D.索引分配产生死锁的原因:1.互斥条件2.请求和保持条件3.不可剥夺条件4.环路等待条件同步机制的四大准则:1.空闲让步2.忙则等待3.有限等待4.让权等待程序顺序执行的特征:顺序性、封闭性,可再现性虚拟存储器的三大主要特征:多次、对换、虚拟和离散设系统中有一类数量为M的独占型资源,系统中N个进程竞争该类资源,其中各进程对该类资源的最大需求量为W。
重庆理工大学C语言实验答案
![重庆理工大学C语言实验答案](https://img.taocdn.com/s3/m/f73d116e8e9951e79b892763.png)
程序设计基础 C 实验报告
int i; printf("\n input %d scores:\n",N); for (i=0;i<N;i++)
scanf("%f",&score[i]);
aver=average(score); /* error */
printf("\n average score is %5.2f\n",aver); } 【题目 6】改正标注“error”语句行的错误,理解本程序的功能。 #include<stdio.h> void main() {
convert(i);
putchar(n%10+'0'); /*___________________________________*/
}
void main()
{
int number;
printf("\n 输入整数:");
scanf("%d",&number);
printf("\n 输出字符是:");
#include<stdio.h> #define N 4 float average(float array[]) /* 注意数据类型的一致 */ {
int i; float aver,sum=0; for (i=0;i<N;i++)
sum+=array[i]; aver=sum/N; return (aver); } void main() { float score[N],aver;
实验 7 和实验 8 今天完成,主要是验证性 实验,下次实验开始做考试系统 实验 7 函数实验