重庆理工大学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____。

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

C语言程序设计期末考试试题含答案

C语言程序设计期末考试试题含答案

C语言程序设计期末考试试题含答案一、选择题(每题 3 分,共 30 分)1、以下选项中,不是 C 语言关键字的是()A intB floatC charD string答案:D解释:string 不是 C 语言的关键字,C 语言中表示字符串通常使用字符数组。

2、以下能正确表示八进制整数的是()A 018B 0x18C 0o18D 18答案:C解释:在 C 语言中,八进制整数以 0 开头,数字取值范围 0 7,所以 0o18 能正确表示八进制整数。

3、若有定义:int a = 5, b = 2; 则表达式 a / b 的值是()A 25B 2C 20D 3答案:B解释:在 C 语言中,两个整数相除,结果为整数,舍去小数部分,所以 5 / 2 的结果是 2 。

4、以下程序段的输出结果是()int x = 10;printf("%d\n",++x);A 10B 11C 9D 12答案:B解释:++x 是先将 x 的值增加 1,然后再使用 x 的值,所以输出11 。

5、若有定义:int a5 ={1, 2, 3, 4, 5};则 a2的值是()A 2B 3C 4D 5答案:B解释:数组下标从 0 开始,所以 a2的值是 3 。

6、以下函数声明中,正确的是()A void fun(int a, b);B void fun(int a, int b);C void fun(int a; int b);D void fun(int, int);答案:B解释:函数参数列表中,每个参数都需要明确指定其类型,所以 B 选项正确。

7、若有定义:char str ="hello";则 sizeof(str)的值是()A 5B 6C 20D 不确定答案:B解释:str 数组不仅包含字符'h','e','l','l','o',还包含一个字符串结束符'\0',所以 sizeof(str)的值是 6 。

(完整版)大学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.int t5~8题为相同类型题考点:标识符的命名规则(1)只能由字母、数字、下划线构成(2)数字不能作为标识符的开头(3)关键字不能作为标识符选项A中的“-” ,选项B中“[”与“]”不满足(1);选项D中的int为关键字,不满足(3)6.下列C语言用户标识符中合法的是(B)。

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

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

A、print _3d db8 aBcB、I\am one_half start$it 3paiC、str_1 Cpp pow whileD、Pxq My->book line# His.age选项B中的“\”,”$” ,选项D中“>”,”#”,”.”,”-”不满足(1);选项C中的while为关键字,不满足(3)9.C语言中的简单数据类型包括(D)。

大学《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语言期末考试练习题1(含答案)

c语言期末考试练习题1(含答案)

一、单项选择题(6小题,每小题3分,共18分)1、在一个C源程序文件中,若要定义一个只允许本源文件中所有函数使用的全局变量,则该变量需要使用的存储类别是A、externB、registerC、autoD、static2、下面4个选项中,是合法转义字符的选项是( )。

A、'\"B、'\'C、'\018'D、'\\0''\\' '\017' '\f' '\101''\n' '\''' 'xab' 'x1f'3、下面4个选项中,是正确的八进制数或十六进制数的选项是( )。

A、–10B、0abcC、0010D、0a120x8f –017 –0x11 ––011 0xc 0xf1 –0xa4、以下在任何情况下计算平方数时都不会引起二义性的宏定义是( )A、# define POWER(x) □□x * xB、# define POWER(x) □□(x) * (x)C、# define POWER(x) □□(x * x)D、# define POWER(x) □□((x) * (x))5、以下程序段( )x= –1;do{ x=x*x;} while (!x);A、是死循环B、循环执行二次C、循环执行一次D、有语法错误6、下面程序的运行结果是( )# include <stdio.h>int main( ){ int i,j,x=0;for (i=0;i<2;i++){ x++;for(j=0;j<=3;j++){ if (j%2) continue;x++;}x++;}printf ("x= %d \n",x);return 0;}A、x=4B、x=8C、x=6D、x=12二、填空题(7小题,每小题3分,共22分)1、下面程序段的运行结果是( )。

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

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