77范文网 - 专业文章范例文档资料分享平台

二级C语言上机考试复习资料,共有50套题目(2)

来源:网络收集 时间:2019-04-05 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

学海教育 内部资料 版权所有 翻印必究

}

long fun( char *a, char *b ) {

/**********found**********/ return __3__; }

main()

{ char s1[N],s2[N]; do

{ printf(\ string s1 : \ while( strlen(s1)>N ); do

{ printf(\ string s2 : \ while( strlen(s2)>N );

printf(\ %ld\\n\}

24、给定程序中,函数fun的功能是:把形参s所指字符串中下标为奇数的字符右移到下一个奇数位置,最右边被移出字符串的字符绕回放到第一个奇数位置,下标为偶数的字符不动(注:字符串的长度大于等于2)。例如,形参s所指的字符串为:abcdefgh,执行结果为:ahcbedgf。

请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。

#include void fun(char *s)

{ int i, n, k; char c; n=0;

for(i=0; s[i]!='\\0'; i++) n++; /**********found**********/ if(n%2==0) k=n-___1___ ; else k=n-2;

/**********found**********/ c=___2___ ;

for(i=k-2; i>=1; i=i-2) s[i+2]=s[i]; /**********found**********/ s[1]=___3___ ; }

main()

{ char s[80]=\

printf(\ %s\\n\ fun(s);

printf(\ %s\\n\}

25、给定程序中,函数fun的功能是:求出形参ss所指字符串数组中最长字符串的长度,将其余字符串右边用字符*补齐,使其与最长的字符串等长。ss所指字符串数组中共有M个字符串,且串长

请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。

#include #include #define M 5 #define N 20 void fun(char (*ss)[N]) { int i, j, n, len=0; for(i=0; in)n=len; }

for(i=0; i

/**********found**********/ n=strlen(___1___); for(j=0; j

main()

{ char ss[M][N]={\ int i;

printf(\ for(i=0; i

printf(\

for(i=0; i

}

26、给定程序中,函数fun的功能是:将N×N矩阵中元素的值按列右移1个位置,右边被移出矩阵的元素绕回左边。例如,N=3,有下列矩阵 1 2 3 4 5 6

7 8 9计算结果为 3 1 2 6 4 5 9 7 8

请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。

#include #define N 4 void fun(int (*t)[N]) { int i, j, x;

/**********found**********/ for(i=0; i<___1___; i++) {

/**********found**********/ x=t[i][___2___] ; for(j=N-1; j>=1; j--) t[i][j]=t[i][j-1]; /**********found**********/ t[i][___3___]=x; } }

main()

{ int t[][N]={21,12,13,24,25,16,47,38,29,11,32,54,42,21,33,10}, i, j; printf(\ for(i=0; i

{ for(j=0; j

fun(t);

printf(\ for(i=0; i

{ for(j=0; j

27、给定程序中,函数fun的功能是根据形参i的值返回某个函数的值。当调用正确时, 程序输出:

x1=5.000000, x2=3.000000, x1*x1+x1*x2=40.000000

请在程序的下划线处填入正确的内容并把下划线删除, 使程序得出正确的结果。

#include double f1(double x) { return x*x; }

double f2(double x, double y) { return x*y; }

/**********found**********/

__1__ fun(int i, double x, double y) { if (i==1)

/**********found**********/ return __2__(x); else

/**********found**********/ return __3__(x, y); }

main()

{ double x1=5, x2=3, r; r = fun(1, x1, x2); r += fun(2, x1, x2);

printf(\}

28、给定程序的主函数中,已给出由结构体构成的链表结点a、b、c,各结点的数据域中均存入字符,函数fun()的作用是:将a、b、c三个结点链接成一个单向链表,并输出链表结点中的数据。

请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。

#include typedef struct list { char data;

struct list *next; } Q;

void fun( Q *pa, Q *pb, Q *pc) { Q *p;

6

学海教育 内部资料 版权所有 翻印必究

/**********found**********/ pa->next=___1___; pb->next=pc; p=pa; while( p ) {

/**********found**********/ printf(\ %c\/**********found**********/ p=____3____; }

printf(\}

main()

{ Q a, b, c;

a.data='E'; b.data='F'; c.data='G'; c.next=NULL; fun( &a, &b, &c ); }

29、给定程序中,函数fun的功能是:对形参ss所指字符串数组中的M个字符串按长度由短到长进行排序。ss所指字符串数组中共有M个字符串,且串长

请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。

#include #include #define M 5 #define N 20 void fun(char (*ss)[N])

{ int i, j, k, n[M]; char t[N]; for(i=0; i

/**********found**********/ for(j=___1___; jn[j]) ___2___; if(k!=i)

{ strcpy(t,ss[i]); strcpy(ss[i],ss[k]); /**********found**********/ strcpy(ss[k],___3___); n[k]=n[i]; } } }

main()

{ char ss[M][N]={\ int i;

printf(\ for(i=0; i

printf(\

for(i=0; i

30、给定程序中,函数fun的作用是:统计整型变量m中各数字出现的次数,并存放到数组a中,其中:a[0]存放0出现的次数,a[1]存放1出现的次数,?? a[9]存放9出现的次数。

例如,若m为14579233,则输出结果应为:0,1,1,2,1,1,0,1,0,1,

请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。

#include

void fun( int m, int a[10]) { int i;

for (i=0; i<10; i++)

/**********found**********/ __1__ = 0; while (m > 0) {

/**********found**********/ i = ___2___; a[i]++;

/**********found**********/ m = ___3___; } }

main()

{ int m, a[10],i;

printf(\请输入一个整数 : \ scanf(\ fun(m, a);

for (i=0; i<10; i++) printf(\ printf(\}

31、给定程序中,函数fun的功能是:在形参s所指字符串中的每个数字字符之后插入一个*号。例如,形参s所指的字符串为:def35adh3kjsdf7。执行结果为:def3*5*adh3*kjsdf7*。

请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。

#include void fun(char *s) { int i, j, n;

for(i=0; s[i]!='\\0'; i++)

/**********found**********/ if(s[i]>='0' ___1___ s[i]<='9') { n=0;

/**********found**********/

while(s[i+1+n]!= ___2___) n++; for(j=i+n+1; j>i; j--) /**********found**********/ s[j+1]= ___3___; s[j+1]='*'; i=i+1; } }

main()

{ char s[80]=\

printf(\ %s\\n\ fun(s);

printf(\ %s\\n\}

32、函数fun的功能是:输出a所指数组中的前n个数据,要求每行输出5个数。

请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。

#include #include void fun( int *a, int n ) { int i;

for(i=0; i

/**********found**********/ if( ___1___==0 )

/**********found**********/ printf(\/**********found**********/ printf(\ \ } }

main()

{ int a[100]={0}, i,n; n=22;

for(i=0; i

33、给定程序中,函数fun的功能是:调用随机函数产生20个互不相同的整数放在形参a所指数组中(此数组在主函数中已置0)。

请在程序的下划线处填入正确的内容并把下划线删除, 使程序得出正确的结果。

#include #include #define N 20 void fun( int *a) { int i, x, n=0; x=rand() ;

/**********found**********/ while (n<__1__)

{ for(i=0; i

/**********found**********/ if( x==a[i] ) __2__; /**********found**********/ if( i==__3__){ a[n]=x; n++; } x=rand() ; } }

7

学海教育 内部资料 版权所有 翻印必究

main()

{ int x[N]={0} ,i; fun( x );

printf(\ \\n\ for( i=0; i

if((i+1)%5==0)printf(\ }

printf(\}

34、函数fun的功能是进行数字字符转换。若形参ch中是数字字符'0'~'9', 则'0'转换成'9','1'转换成'8','2'转换成'7',??,'9'转换成'0';若是其它字符则保持不变;并将转换后的结果作为函数值返回。

请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。

#include

/**********found**********/ ___1___ fun(char ch) {

/**********found**********/ if (ch>='0' && ___2___) /**********found**********/ return '9'- (ch-___3___); return ch ; }

main()

{ char c1, c2;

printf(\ :\\n\ c1='2'; c2 = fun(c1);

printf(\ c2=%c\\n\ c1='8'; c2 = fun(c1);

printf(\ c2=%c\\n\ c1='a'; c2 = fun(c1);

printf(\ c2=%c\\n\}

35、给定程序中,函数fun的功能是:求ss所指字符串数组中长度最长的字符串所在的行下标,作为函数值返回,并把其串长放在形参n所指变量中。ss所指字符串数组中共有M个字符串,且串长

请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。

#include #include #define M 5 #define N 20

/**********found**********/

int fun(char (*ss) ___1___, int *n) { int i, k=0, len=0; for(i=0; i

/**********found**********/ if(i==0) *n=___2___; if(len>*n) {

/**********found**********/ ___3___; k=i; } }

return(k); }

main()

{ char ss[M][N]={\ int n,k,i;

printf(\ for(i=0;i

printf(\ %d\\n\ printf(\ %s\\n\}

36、给定程序中,函数fun的功能是:求出形参ss所指字符串数组中最长字符串的长度,其余字符串左边用字符*补齐,使其与最长的字符串等长。字符串数组中共有M个字符串,且串长

请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。

#include #include #define M 5 #define N 20

void fun(char (*ss)[N]) { int i, j, k=0, n, m, len; for(i=0; in) {

/**********found**********/ n=len; ___1___=i; } }

for(i=0; i

len=strlen(ss[i]);

/**********found**********/ for(j=___2___; j>=0; j--) ss[i][m--]=ss[i][j]; for(j=0; j

main()

{ char ss[M][N]={\ int i;

printf(\ for(i=0; i

printf(\

for(i=0; i

37、给定程序中,函数fun的功能是:将形参std所指结构体数组中年龄最大者的数据作为函数值返回,并在main函数中输出。

请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。

#include typedef struct

{ char name[10]; int age; }STD;

STD fun(STD std[], int n) { STD max; int i; /**********found**********/ max= ___1___; for(i=1; i

/**********found**********/

if(max.age<___2___) max=std[i]; return max; }

main( )

{ STD std[5]={\ }; STD max; max=fun(std,5);

printf(\/**********found**********/

printf(\ Age : %d\\n\}

38、人员的记录由编号和出生年、月、日组成,N名人员的数据已在主函数中存入结构体数组std中,且编号唯一。函数fun的功能是:找出指定编号人员的数据,作为函数值返回,由主函数输出,若指定编号不存在,返回数据中的编号为空串。

请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。

#include #include #define N 8 typedef struct { char num[10];

int year,month,day ; }STU;

/**********found**********/

___1___ fun(STU *std, char *num)

{ int i; STU a={\ for (i=0; i

/**********found**********/

if( strcmp(___2___,num)==0 )

8

学海教育 内部资料 版权所有 翻印必究

/**********found**********/ return (___3___); return a; }

main() { STU std[N]={ {\

{\ {\ STU p; char n[10]=\ p=fun(std,n); if(p.num[0]==0)

printf(\ else

{ printf(\ \

printf(\ %d-%d-%d\\n\ } }

39、给定程序中,函数fun的功能是:有N×N矩阵,将矩阵的外围元素顺时针旋转。操作顺序是:首先将第一行元素的值存入临时数组r,然后使第一列成为第一行,最后一行成为第一列,最后一列成为最后一行,临时数组中的元素成为最后一列。例如,若N=3,有下列矩阵: 1 2 3 4 5 6

7 8 9计算结果为 7 4 1 8 5 2 9 6 3

请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。

#include #define N 4 void fun(int (*t)[N]) { int j ,r[N];

for(j=0; j

/**********found**********/ t[0][N-j-1]=t[j][___1___ ]; for(j=0; j

/**********found**********/ for(j=N-1; j>=0;___2___ ) t[N-1][N-1-j]=t[j][N-1]; for(j=N-1; j>=0; j--)

/**********found**********/ t[j][N-1]=r[___3___]; }

main()

{ int t[][N]={21,12,13,24,25,16,47,38,29,11,32,54,42,21,33,10}, i, j; printf(\ for(i=0; i

{ for(j=0; j

fun(t);

printf(\ for(i=0; i

{ for(j=0; j

40、给定程序中,函数fun的功能是:将N×N矩阵主对角线元素中的值与反向对角线对应位置上元素中的值进行交换。例如,若N=3,有下列矩阵: 1 2 3 4 5 6

7 8 9交换后为: 3 2 1 4 5 6 9 8 7

请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。

#include #define N 4

/**********found**********/ void fun(int ___1___ , int n)

{ int i,s;

/**********found**********/ for(___2___; i++) { s=t[i][i];

t[i][i]=t[i][n-i-1];

/**********found**********/ t[i][n-1-i]=___3___; } }

main()

{ int t[][N]={21,12,13,24,25,16,47,38,29,11,32,54,42,21,33,10}, i, j; printf(\ for(i=0; i

{ for(j=0; j

fun(t,N);

printf(\ for(i=0; i

{ for(j=0; j

41、给定程序中,函数fun的功能是:在形参s所指字符串中寻找与参数c相同的字符,并在其后插入一个与之相同的字符,若找不到相同的字符则函数不做任何处理。

例如,s所指字符串为:baacda,c中的字符为:a, 执行后s所指字符串为:baaaacdaa。

请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。

#include

void fun(char *s, char c) { int i, j, n;

/**********found**********/ for(i=0; s[i]!=___1___ ; i++) if(s[i]==c) {

/**********found**********/ n=___2___ ;

while(s[i+1+n]!='\\0') n++;

for(j=i+n+1; j>i; j--) s[j+1]=s[j]; /**********found**********/ s[j+1]=___3___ ; i=i+1; } }

main()

{ char s[80]=\

printf(\ %s\\n\

printf(\ \ scanf(\ fun(s,c);

printf(\ %s\\n\}

42、程序通过定义学生结构体变量,存储了学生的学号、姓名和3门课的成绩。所有学生数据均以二进制方式输出到文件中。函数fun的功能是重写形参filename所指文件中最后一个学生的数据,即用新的学生数据覆盖该学生原来的数据,其它学生的数据不变。

请在程序的下划线处填入正确的内容并把下划线删除, 使程序得出正确的结果。

#include #define N 5 typedef struct student { long sno;

char name[10]; float score[3]; } STU;

void fun(char *filename, STU n) { FILE *fp;

/**********found**********/ fp = fopen(__1__, \/**********found**********/

fseek(__2__, -(long)sizeof(STU), SEEK_END); /**********found**********/

fwrite(&n, sizeof(STU), 1, __3__); fclose(fp); }

main()

9

学海教育 内部资料 版权所有 翻印必究

{ STU t[N]={ {10001,\ {10003,\ {10004,\ {10005,\ STU n={10006,\ int i,j; FILE *fp; fp = fopen(\ fwrite(t, sizeof(STU), N, fp); fclose(fp);

fp = fopen(\ fread(ss, sizeof(STU), N, fp); fclose(fp);

printf(\ for (j=0; j

{ printf(\ Name: %-8s Scores: \ for (i=0; i<3; i++) printf(\ printf(\ }

fun(\

printf(\ fp = fopen(\ fread(ss, sizeof(STU), N, fp); fclose(fp);

for (j=0; j

{ printf(\ Name: %-8s Scores: \ for (i=0; i<3; i++) printf(\ printf(\ } }

43、程序通过定义学生结构体变量,存储了学生的学号、姓名和3门课的成绩。所有学生数据均以二进制方式输出到文件中。函数fun的功能是从形参filename所指的文件中读入学生数据,并按照学号从小到大排序后,再用二进制方式把排序后的学生数据输出到filename所指的文件中,覆盖原来的文件内容。 请在程序的下划线处填入正确的内容并把下划线删除, 使程序得出正确的结果。

#include #define N 5 typedef struct student { long sno;

char name[10]; float score[3]; } STU;

void fun(char *filename) { FILE *fp; int i, j; STU s[N], t;

/**********found**********/ fp = fopen(filename, __1__); fread(s, sizeof(STU), N, fp); fclose(fp);

for (i=0; i

/**********found**********/ if (s[i].sno __2__ s[j].sno)

{ t = s[i]; s[i] = s[j]; s[j] = t; } fp = fopen(filename, \/**********found**********/

__3__(s, sizeof(STU), N, fp); /* 二进制输出 */ fclose(fp); }

main()

{ STU t[N]={ {10005,\ {10002,\ {10001,\ int i,j; FILE *fp; fp = fopen(\ fwrite(t, sizeof(STU), 5, fp); fclose(fp);

printf(\ for (j=0; j

{ printf(\ Name: %-8s Scores: \ for (i=0; i<3; i++) printf(\ printf(\ }

fun(\

printf(\ fp = fopen(\ fread(ss, sizeof(STU), 5, fp); fclose(fp);

for (j=0; j

{ printf(\ Name: %-8s Scores: \ for (i=0; i<3; i++) printf(\ printf(\ } }

44、给定程序中,函数fun的功能是:将形参指针所指结构体数组中的三个元素按num成员进行升序排列。

请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。

#include typedef struct { int num;

char name[10]; }PERSON;

/**********found**********/ void fun(PERSON ___1___) {

/**********found**********/ ___2___ temp;

if(std[0].num>std[1].num)

{ temp=std[0]; std[0]=std[1]; std[1]=temp; } if(std[0].num>std[2].num)

{ temp=std[0]; std[0]=std[2]; std[2]=temp; } if(std[1].num>std[2].num)

{ temp=std[1]; std[1]=std[2]; std[2]=temp; } }

main()

{ PERSON std[ ]={ 5,\ int i;

/**********found**********/ fun(___3___);

printf(\ for(i=0; i<3; i++)

printf(\}

45、给定程序中,函数fun的功能是:计算x所指数组中N个数的平均值(规定所有数均为正数),平均值通过形参返回主函数,将小于平均值且最接近平均值的数作为函数值返回,在主函数中输出。

例如,有10个正数:46 30 32 40 6 17 45 15 48 26,平均值为:30.500000

主函数中输出:m=30

请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。

#include #include #define N 10

double fun(double x[],double *av) { int i,j; double d,s; s=0;

for(i=0; i

for(i=0; i

if(x[i]<*av && *av - x[i]<=d){ /**********found**********/ d=*av-x[i]; j=__2__;} /**********found**********/ return __3__; }

main()

{ int i; double x[N]= {46,30,32,40,6,17,45,15,48,26}; double av,m;

for(i=0; i

printf(\ printf(\ printf(\}

46、给定程序通过定义并赋初值的方式,利用结构体变量存储了一名学生的学号、姓名和3门课的成绩。函数fun的功能是将该学生的各科成绩都乘以一个系数a。

请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。

#include

10

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库二级C语言上机考试复习资料,共有50套题目(2)在线全文阅读。

二级C语言上机考试复习资料,共有50套题目(2).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/573299.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: