重庆理工大学C语言期末考试题库

合集下载

c语言期末考试题及详细答案

c语言期末考试题及详细答案

c语言期末考试题及详细答案一、选择题(每题2分,共20分)1. 下列哪个关键字用于定义C语言中的函数?A. classB. functionC. voidD. int答案:D2. C语言中,用于定义一个整型变量的关键字是?A. intB. floatC. doubleD. char答案:A3. 以下哪个选项是C语言中的合法标识符?A. 2variableB. variable2C. variable-2D. variable$2答案:B4. C语言中,哪个运算符用于比较两个值是否不相等?A. ==B. !=C. =D. <=答案:B5. 在C语言中,哪个函数用于计算两个整数的乘积?A. powB. sqrtC. absD. multiply答案:D(注意:multiply不是C语言标准库函数,这里假设为题目中的自定义函数)6. 下列哪个选项是C语言中的逻辑运算符?A. &&B. ||C. +=D. +=答案:A7. C语言中,哪个关键字用于循环结构?A. ifB. forC. whileD. switch答案:B8. 在C语言中,哪个函数用于输出字符串?A. printfB. scanfC. getsD. puts答案:D9. 下列哪个选项是C语言中的位运算符?A. &B. |C. ^D. 以上都是答案:D10. C语言中,用于定义一个浮点型变量的关键字是?A. intB. floatC. doubleD. char答案:B二、填空题(每题2分,共20分)1. C语言中,用于定义一个字符型变量的关键字是________。

答案:char2. C语言中,用于定义一个双精度浮点型变量的关键字是________。

答案:double3. C语言中,用于定义一个布尔型变量的关键字是________。

答案:_Bool(或int,取决于编译器)4. C语言中,用于定义一个无返回值函数的关键字是________。

c语言期末考试题及详细答案

c语言期末考试题及详细答案

c语言期末考试题及详细答案一、选择题(每题2分,共20分)1. 下列哪个选项是C语言中合法的变量名?A. 2variableB. intC. _first_variableD. for答案:C2. C语言中,用于定义一个整型数组的关键字是?A. charB. intC. floatD. double答案:B3. 在C语言中,哪个运算符用于比较两个值是否不相等?A. ==B. !=C. =D. <答案:B4. 下列哪个函数用于计算数组中元素的个数?A. strlenB. sizeofC. strcpyD. strcmp答案:B5. C语言中,用于定义一个结构体的关键字是?A. structB. unionC. enumD. typedef答案:A6. 下列哪个选项是C语言中合法的常量?A. 0x1AB. 1.23e-5C. 2.3.4D. 0b101答案:A7. 在C语言中,哪个关键字用于定义一个函数?A. intB. voidC. structD. return答案:B8. C语言中,用于定义一个指针的关键字是?A. intB. charC. floatD. *答案:D9. 下列哪个选项是C语言中合法的字符串字面量?A. "Hello, World!"B. 'Hello, World!'C. "Hello\nWorld"D. "Hello\tWorld"答案:A10. 在C语言中,哪个运算符用于执行算术运算?A. %B. &C. +D. ||答案:C二、填空题(每题2分,共20分)1. 在C语言中,定义一个整型变量的正确语法是:______。

答案:int variable_name;2. 用于将一个字符串复制到另一个字符串的C语言函数是:______。

答案:strcpy3. C语言中,用于声明一个指向整型变量的指针的语法是:______。

C语言试题(第二学期)A及答案

C语言试题(第二学期)A及答案

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语言期末考试题库及详解答案

大二c语言期末考试题库及详解答案一、选择题(每题2分,共20分)1. 在C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A2. 若有定义 `int a = 5;`,则表达式 `a++` 执行后,变量 `a` 的值是多少?A. 4B. 5C. 6D. 7答案:C3. 下列哪个函数用于计算两个整数的绝对值之差?A. abs()B. fabs()C. pow()D. sqrt()答案:A4. 在C语言中,以下哪个运算符用于逻辑与操作?A. &&B. ||C. !D. %答案:A5. 以下哪个选项是正确的C语言变量声明?A. int 5x;B. int $x;C. int _5x;D. int x5;答案:D6. C语言中,哪个函数用于将字符串复制到另一个字符串?A. strcpy()B. strncpy()C. strcat()D. strcmp()答案:A7. 若有数组 `int arr[5] = {1, 2, 3, 4, 5};`,则 `arr[0]` 的值是多少?A. 0B. 1C. 2D. 3答案:B8. C语言中,哪个关键字用于声明一个无限循环?A. forB. whileC. do...whileD. switch答案:B9. 下列哪个选项是C语言中的合法浮点数?A. 3.14159B. .14159C. 3e14D. 所有选项答案:D10. 在C语言中,哪个函数用于计算一个数的平方根?A. sqrt()B. pow()C. log()D. exp()答案:A二、填空题(每题3分,共15分)1. C语言中,用于声明一个整型变量的关键字是________。

答案:int2. 若 `x` 和 `y` 是两个整型变量,`x` 的值为10,`y` 的值为20,则表达式 `x + y` 的结果是________。

答案:303. C语言中,用于声明一个字符型变量的关键字是________。

完整word版,C语言程序设计期末考试试题(含答案)

完整word版,C语言程序设计期末考试试题(含答案)

C语言程序设计期末考试试题及其答案一、单项选择题(本大题共20题,每题2 分,共40分)1、以下不是C语言的特点的是( )A、C语言简洁、紧凑B、能够编制出功能复杂的程序C、C语言可以直接对硬件进行操作D、C语言移植性好2、以下不正确的C语言标识符是( )A、ABCB、abcC、a_bcD、ab.c3、一个C语言程序是由( )A、一个主程序和若干子程序组成B、函数组成C、若干过程组成D、若干子程序组成4、一个算法应该具有“确定性”等5个特性,对另外4个特性的描述中错误的是( )A、有零个或多个输入B、有零个或多个输出C、有穷性D、可行性5、设变量a是整型,f是实型,i是双精度型,则表达式10+‘a’+i*f值的数据类型为( )A、intB、floatC、doubleD、不确定6、在C语言中,char型数据在内存中的存储形式是( )A、补码B、反码C、源码D、ASCII码7、有如下程序,输入数据:12345M678<cR>后(<CR>表示回车),x的值是( ) 。

#include<stdio.h>main(){int x;float y;scanf("%3d%f",&x,&y);}A、12345B、123C、45D、3458、若有以下定义int a,b; float x,则正确的赋值语句是( )A、a=1,b=2B、b++;C、a=b=5D、b=int(x);9、以下程序的执行结果是( )#include<stdio.h>{int i=10,j=10;printf("%d,%d\n",++i,j--);}A、11,10B、9,10C、11,9D、10,910、巳知字母A的ASCII码是65,以下程序的执行结果是( )#include<stdio.h>main(){char c1='A',c2='Y';printf("%d,%d\n",c1,c2);A、A,YB、65,65C、65,90D、65,8911、下列运算符中优先级最高的是( )A、<B、十C、%D、!=12、设x、y和z是int型变量,且x=3,y=4,z=5,则下面表达式中值为0是( ) 。

重庆理工大学C语言期末试题改错、编程题

重庆理工大学C语言期末试题改错、编程题

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); }。

2022年重庆理工职业学院公共课《C语言》科目期末试卷B(有答案)

2022年重庆理工职业学院公共课《C语言》科目期末试卷B(有答案)

2022年重庆理工职业学院公共课《C语言》科目期末试卷B(有答案)一、填空题1、设有如下结构体说明:struct ST{int a;float b;struct ST*c;doublex[3];}st1;请填空,完成以下对数组s的定义,使其每个元素均为上述结构体类型。

_______2、鸡兔共有30只,脚共有90只,下面程序段是计算鸡兔各有多少只。

请填空。

for(x=0;x<=30;x++){y=30一x;if(_______)printf("%d,%d\n",x,y);}3、下面程序段中循环体的执行次数是_______。

a=10;b=0;do{b+=2;a-=2+b;}while(a>=0);4、表达式8/4*(int)2.5/(int)(1.25*(3.7+2.3))值的数据类型为_______。

5、若a是int型变量,且a的初值为6,则执行表达式a+=a-=a*a后a的值为_______6、下面程序段的运行结果是_______。

int i=5;char c[6]="abcd";do{c[i]=c[i-1];}while(--i>0);puts(c);7、请读程序段:int a=1,b=2;if(a&b)printf("***\n");else printf("$$ $\n");以上程序段的输出结果是_______。

8、C语言的源程序必须通过【】和【】后,才能被计算机执行。

9、C语言源程序的基本单位是________10、若想输出b数组的10个元素,则下面存在错误的程序行是_______。

(每个程序行前面的数字代表行号。

)1 int main()2 {int b[10]={1,3,5,7,9,2,4,6,8,10},k;3 for(k=0;k<10;k++,b++)4 printf("%4d",*b);5 return0;6 }二、选择题11、若有代数式3ac,则不正确的C语言表达式是( )。

大学《C语言程序设计》期末考试试题题库(带详解答案)

大学《C语言程序设计》期末考试试题题库(带详解答案)

一、单项选择题1.若有以下说明语句:struct date{ int year;int month;int day;}brithday;则下面的叙述不正确的是__C___.A) struct是声明结构体类型时用的关键字B) struct date 是用户定义的结构体类型名C) brithday是用户定义的结构体类型名D) year,day 都是结构体成员名2. 以下对结构变量stul中成员age的非法引用是Bstruct student{ int age;int num;}stu1,*p;p=&stu1;A) stu1.age B) student.age C) p->age D) (*p).age3.设有如下定义:struck sk{ int a;float b;}data;int *p;若要使P指向data中的a域,正确的赋值语句是CA) p=&a; B) p=data.a; C) p=&data.a; D)*p=data.a;4.设有以下说明语句:typedef struct stu{ int a;float b;} stutype;则下面叙述中错误的是(D)。

A、struct是结构类型的关键字B、struct stu是用户定义的结构类型C、a和b都是结构成员名D、stutype是用户定义的结构体变量名5.语句int *p;说明了 C 。

A)p是指向一维数组的指针B)p是指向函数的指针,该函数返回一int型数据C)p是指向int型数据的指针// 指针的定义教材P223D)p是函数名,该函数返回一指向int型数据的指针6.下列不正确的定义是(A)。

A.int *p=&i,i;B.int *p,i;C.int i,*p=&i; D.int i,*p;选项A先定义一个整型指针变量p,然后将变量i的地址赋给p。

然而此时还未定义变量i因此编译器无法获得变量i的地址。

C语言程序设计期末考试复习题及答案

C语言程序设计期末考试复习题及答案

C语言考试期末考试复习题及答案一、选择题(1) 一个C语言程序总是从(C )开始执行A) 书写顺序的第一个函数B) 书写顺序的第一条执行语句C) 主函数main()D) 不确定(2) 设int x=3,y=4,z=5,则下列表达式中的值为0的是 ( D )A) ‘x’&&’y’B) x||y+z&&y-z C) x<=yD) !((x<y)&&!z||1)(3) 执行以下程序段后,i的值是 ( C )int i=10。

switch(i+1){ case 10: i++。

break。

case 11: ++i。

case 12: ++i。

break。

default : i=i+1。

}A) 11 B) 13 C) 12 D) 14(4) 语句while(!e)。

中的条件!e等价于 ( A )A) e==0 B)e!=1 C) e!=0D) 运行时出错(5) 用 int a[4]={1,2}。

对数组进行初始化后,数组元素a[3]的值是 ( B )A) 随机值B) 0 C) 1 D) F(6) 在执行char str[10]=“china\0”; strlen(str)的结果是 ( A )A)5 B) 6 D) 7 D 9(7) 若有定义,char *p=”computer”。

则语句printf(“%c”,*(p+2))运行结果是( B )A) 随机值B) m C)o D) omputer(8) 在以下函数调用语句中fun1(x,10,(x,10),fun2(y,10,(y,10)))。

函数fun1参数的个数为 ( B )A) 8 B) 4C) 5 D) 编译出错(9) 在说明一个结构体变量时系统分配给它的存储空间是( D )A)该结构体中第一个成员变量所需存储空间 B) 该结构体中最后一个成员变量所需存储空间C)该结构体中占用最大存储空间的成员变量所需存储空间D) 该结构体中所有成员变量所需存储空间的总和1. 用C语言编写的代码程序( B )A)可立即执行 B)是一个源程序 C)经过编译即可执行 D)经过编译解释才能执行2. C语言中用于结构化程序设计的三种基本结构是( A )A)顺序结构、选择结构、循环结构 B)if、switch、break C)for、while、do-while D)if、for、continue3. 以下定义语句中正确的是( C )A)char a='A'b='B'。

重庆理工大学程序设计c期末考试资料2

重庆理工大学程序设计c期末考试资料2

重庆理工大学程序设计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。

2022年重庆理工大学公共课《C语言》科目期末试卷A(有答案)

2022年重庆理工大学公共课《C语言》科目期末试卷A(有答案)

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语言期末考试题及答案

大一C语言期末考试题及答案

大一C语言期末考试题及答案一、选择题(每题2分,共20分)1.C语言中,以下哪个选项是合法的标识符?A.2variableB.variable2C.variable-2D.variable$2答案:B2.下列哪个选项不是C语言的基本数据类型?A.intB.floatC.stringD.double答案:C3.在C语言中,以下哪个选项不是运算符?A.+B.C.%D.:答案:D4.若有定义:int a=5,b=3;,则表达式a%b的值是多少?A.2B.1C.0D.3答案:A5.下列哪个选项不是C语言中的控制语句?A.ifB.switchC.forD.while答案:B6.在C语言中,以下哪个选项是正确的字符串声明?A.char str[5]="hello";B.char str[]={'h','e','l','l','o'};C.char str[6]="hello";D.char str[]="hello";答案:D7.在C语言中,以下哪个函数用于计算字符串的长度?A.strlen()B.strcpy()C.strcat()D.strcmp()答案:A8.下列哪个选项不是C语言中的数组?A.int a[5];B.int a[5]={1,2,3,4,5};C.int a[]={1,2,3};D.int a={1,2,3};答案:D9.在C语言中,以下哪个选项是正确的函数声明?A.int add(int a,int b);B.int add(int,int);C.int add();D.int add(int a);答案:A10.在C语言中,以下哪个选项是正确的文件操作函数?A.fopen()B.fclose()C.printf()D.scanf()答案:A二、填空题(每空2分,共20分)1.在C语言中,用于定义一个整型变量的关键字是________。

重庆大学c语言期末试题及答案

重庆大学c语言期末试题及答案

重庆大学c语言期末试题及答案一、选择题(每题2分,共20分)1. 下列选项中,哪个是C语言的关键字?A. intB. floatC. doubleD. all of the above答案:D2. 在C语言中,用于定义一个结构体的关键字是?A. structB. unionC. enumD. class答案:A3. 下列哪个运算符用于将一个浮点数转换为整数?A. %B. /C. +D. -答案:A4. 在C语言中,用于定义一个函数的关键字是?A. defineB. functionC. intD. void答案:C5. 下列哪个选项不是C语言中的控制语句?A. ifB. switchC. whileD. for答案:B二、填空题(每题2分,共20分)1. 在C语言中,定义一个整型变量的正确语法是____。

答案:int2. 用于在C语言中声明一个数组的关键字是____。

答案:array3. 在C语言中,____运算符用于比较两个值是否相等。

答案:==4. 在C语言中,____函数用于将字符串连接到另一个字符串的末尾。

答案:strcat5. 在C语言中,____函数用于将一个字符串复制到另一个字符串。

答案:strcpy三、编程题(每题10分,共60分)1. 编写一个C语言程序,计算并输出100以内所有偶数的和。

答案:```c#include <stdio.h>int main() {int sum = 0;for (int i = 1; i <= 100; i++) {if (i % 2 == 0) {sum += i;}}printf("Sum of even numbers from 1 to 100 is: %d\n", sum); return 0;}```2. 编写一个C语言程序,实现字符串反转。

答案:```c#include <stdio.h>#include <string.h>void reverseString(char* str) {int length = strlen(str);for (int i = 0; i < length / 2; i++) {char temp = str[i];str[i] = str[length - i - 1];str[length - i - 1] = temp;}}int main() {char str[] = "Hello, World!";reverseString(str);printf("Reversed string: %s\n", str);return 0;}```3. 编写一个C语言程序,计算并输出100以内所有奇数的乘积。

大学C语言期末考试练习题含答案

大学C语言期末考试练习题含答案

大学C语言期末考试练习题含答案大学C语言期末考试练习题(带详解答案)一、单项选择题1.(A)是构成C语言程序的基本单位。

A、函数B、过程C、子程序D、子例程2.C语言程序从C开始执行。

A)程序中第一条可执行语句B)程序中第一个函数C)程序中的main函数D)包含文件中的第一个函数3、以下说法中正确的是(C)。

A、C语言程序总是从第一个定义的函数开始执行B、在C语言程序中,要调用的函数必须在main()函数中定义C、C语言程序总是从main()函数开始执行D、C语言程序中的main()函数必须放在程序的开始部分4.下列关于C语言的说法错误的是(B)。

A)C程序的工作过程是编辑、编译、连接、运行B)C语言不区分大小写。

C)C程序的三种基本结构是顺序、选择、循环D)C程序从main函数开始执行5.下列正确的标识符是(C)。

A.-a1B.a[i]C.a2_iD.intt5~8题为相同类型题考点:标识符的命名规则(1)只能由字母、数字、下划线构成(2)数字不能作为标识符的开头(3)关键字不能作为标识符选项A中的“-”,选项B中“[”与“]”不满足(1);选项D中的int为关键字,不满足(3)6.下列C语言用户标识符中合法的是(B)。

A)3axB)xC)caseD)-e2E)union选项A中的标识符以数字开头不满足(2);选项C,E均为为关键字,不满足(3);选项D中的“-”不满足(1);7.下列四组选项中,正确的C语言标识符是(C)。

A)%xB)a+bC)a123D)123选项A中的“%”,选项B中“+”不满足(1);选项D中的标识符以数字开头不满足(2)8、下列四组字符串中都可以用作C语言程序中的标识符的是(A)。

A、print_3ddb8aBcB、I\amone_halfstart$it3paiC、str_1CpppowwhileD、PxqMy-bookline#His.age选项B中的“\”,”$”,选项D中“”,”#”,”.”,”-”不满足(1);选项C中的while为关键字,不满足(3)9.C语言中的简单数据类型包括(D)。

2022年重庆理工职业学院公共课《C语言》科目期末试卷B(有答案)

2022年重庆理工职业学院公共课《C语言》科目期末试卷B(有答案)

2022年重庆理工职业学院公共课《C语言》科目期末试卷B(有答案)一、填空题1、C语言源程序的基本单位是________2、函数swap(int x,inty)可完成对x和y值的交换。

在运行调用函数中的如下语句后,a[0]和a[1]的值分别为_______,原因是_______。

a[o]=1;a[1]=2;swap(a[o],a[1]);3、下面程序段是找出整数的所有因子。

请填空。

scanf("%d",&x);i=1;for(;_______;){if(x%i==0)printf("%3d",i);i++;}4、设x是一个整数(16bit),若要通过xly使x低8位置1,高8位不变,则y的八进制数是_______。

5、设x为无符号整数。

表达式x^(~(~0<<n)<<(p+1-n)))的作用是将x中从第p位开始的n位求反(1变0,0变1),其他位不变。

请按表达式的求值顺序写出分解步骤,并解释含义。

__________________________________6、若有定义语句: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的值是_______。

7、假设变量a、b和c均为整型,以下语句借助中间变量t把a、b和c中的值进行交换,即把b中的值给a,把c中的值给b,把a中的值给c。

例如:交换前,a=10、b=20、c=30;交换后,a=20、b=30、c=10。

请填空。

_______;a=b;b=c;_______;8、若有定义:inta[3][4]={{1,2},{0},{4,6,8,10}};,则初始化后,a[1][2]得到的初值是_______,a[2][1]得到的初值是_______。

9、设有宏定义如下:#define MIN(x,y)(x)>(y)?(x):(y)#define T(x,y,r)x*r*y/4则执行以下语句后,s1的值为_______,s2的值为_______。

C期末考试复习题理工

C期末考试复习题理工

一、单项选择题(本大题共10小题,每小题2分,共20分)1.在C++中,函数原型不能标识(D)A.函数的返回类型B.函数参数的个数C.函数参数类型D.函数的功能2.在C++程序中,对象之间的相互通信通过(B)A.继承实现B.调用成员函数实现C.封装实现D.函数重载实现3.对于任意一个类,析构函数的个数最多为(B)A.0B.1C.2D.35.友元关系不能(A)A.继承B.是类与类的关系C.是一个类的成员函数与另一个类的关系D.提高程序的运行效率6.语句ofstreamf(″SALARY.DAT″,ios::app|ios::binary)?的功能是建立流对象f,试图打开文件SALARY.DAT并与之连接,并且(A)A.若文件存在,将文件写指针定位于文件尾;若文件不存在,建立一个新文件B.若文件存在,将其置为空文件;若文件不存在,打开失败C.若文件存在,将文件写指针定位于文件首;若文件不存在,建立一个新文件D.若文件存在,打开失败;若文件不存在,建立一个新文件7.下面说法正确的是(B)A.内联函数在运行时是将该函数的目标代码插入每个调用该函数的地方B.内联函数在编译时是将该函数的目标代码插入每个调用该函数的地方C.类的内联函数必须在类体内定义D.类的内联函数必须在类体外通过加关键字inline定义//当程序使用内敛函数时,编译器将每个函数调用都用函数内的语句代替,这样就省去了函数调用地开销8.可以用p.a的形式访问派生类对象p的基类成员a,其中a是(D)A.私有继承的公有成员B.公有继承的私有成员C.公有继承的保护成员D.公有继承的公有成员//函数可以调用成员,对象不可以调用9.在公有派生情况下,有关派生类对象和基类对象的关系,不正确的叙述是(C)A.派生类的对象可以赋给基类的对象B.派生类的对象可以初始化基类的引用C.派生类的对象可以直接访问基类中的成员D.派生类的对象的地址可以赋给指向基类的指针//派生类的对象是不能访问基类的任何成员10.对于类定义classA{public:virtualvoidfunc1(){}voidfunc2(){}}?classB:publicA{public:voidfunc1(){cout<<″classBfunc1″<<end1?}virtualvoidfunc2(){cout<<″classBfunc2″<<end1?}}?下面正确的叙述是(C)A.A::func2()和B::func1()都是虚函数B.A::func2()和B::func1()都不是虚函数C.B::func1()是虚函数,而A::func2()不是虚函数D.B::func1()不是虚函数,而A::func2()是虚函数第二部分非选择题(共80分)二、填空题(本大题共10小题,每小题2分,共20分)11.定义类的动态对象数组时,系统只能够自动调用该类的_无参_______构造函数对其进行初始化。

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