计算机二级c语言30套模拟试题 联系客服

发布时间 : 星期一 文章计算机二级c语言30套模拟试题更新完毕开始阅读f3abb13f4b35eefdc8d33391

fp=fopen(\

/***********SPACE***********/ for(i=0;i<5;【?】)

/***********SPACE***********/

提示:插入法排序的思路是:先对数组的头两个元素进行排序,

然后根据前两个元素的情况插入第三个元素,再插入第 四个元素?)。

------------------------------------------------------* if(fwrite(&stu[i],sizeof(【?】),1,fp)!=1) printf(\ fclose(fp); }

答案:

=======(答案1)======= j<3

=========或========= 3>j

=======(答案2)======= score[j]

=======(答案3)======= i++

=========或========= ++i

=========或========= i=i+1

=======(答案4)======= struct student

二、程序改错 共1题 (共计30分) 第1题 (30.0分) 题号:364

/*------------------------------------------------------

【程序改错】

--------------------------------------------------------

功能:用插入排序法将n个字符进行排序(降序)。

/

#define N 81

#include #include

void fun(char *aa, int n) {

/**********FOUND**********/ int a ,b;t;

for( a = 1; a

t = aa[a]; b = a-1;

/**********FOUND**********/ while((b>=0) and (t>aa[b])) {

aa[b+1]=aa[b]; b--; }

/**********FOUND**********/ aa[b+1] = t } }

main() {

char a[N];

printf(\ gets( a);

fun(a , strlen(a));

printf(\ puts(a); }

41

答案:

=======(答案1)======= int a ,b,t;

=======(答案2)======= while((b>=0)&&(t>aa[b])) =======(答案3)======= aa[b+1]=t;

三、程序设计 共1题 (共计40分) 第1题 (40.0分) 题号:359

/*------------------------------------------------ 【程序设计】

-------------------------------------------------- 功能:实现两个整数的交换。

例如:给a和b分别输入:60和65,输入为:a=65 b=60 ------------------------------------------------*/ #include #include void wwjt();

void fun(int *a,int *b) {

/**********Program**********/

/********** End **********/ } main() {

int a,b;

printf(\ scanf(\ fun(&a,&b);

printf(\ wwjt(); }

void wwjt() {

FILE *IN,*OUT; int a,b,n;

IN=fopen(\ if(IN==NULL) {

printf(\ }

OUT=fopen(\ if(OUT==NULL) {

printf(\ }

for(n=0;n<5;n++) {

fscanf(IN,\ fun(&a,&b);

fprintf(OUT,\ }

fclose(IN); fclose(OUT); }

答案:---------------------- int t;

42

t=*a;*a=*b;*b=t;

----------------------

试卷编号:8119 所属语言:C语言

试卷方案:C语言期末模拟练习 试卷总分:100分 共有题型:3种

一、程序填空 共1题 (共计30分) 第1题 (30.0分) 题号:7

/*-------------------------------------------------------

【程序填空】

--------------------------------------------------------- 功能:从键盘上输入一个字符串, 将该字符串升序排列后输出到 文件test.txt中,然后从该文件读出字符串并显示出来。-------------------------------------------------------*/

#include #include #include main() {

FILE *fp;

char t,str[100],str1[100]; int n,i,j; if((fp=fopen(\ {

printf(\ exit(0); }

printf(\ /***********SPACE***********/ 【?】;

/***********SPACE***********/ for(i=0; 【?】 ;i++) for(j=0;j

/***********SPACE***********/ if(【?】) {

t=str[j];

str[j]=str[j+1]; str[j+1]=t; }

/***********SPACE***********/ 【?】;

fclose(fp);

fp=fopen(\ fgets(str1,100,fp); printf(\ fclose(fp); }

答案:

=======(答案1)======= n=strlen(str)

=========或=========

for(n=0;str[n]!='\\0';n++) =========或========= for(n=0;str[n];n++) =========或========= for(n=0;str[n]!=0;n++) =======(答案2)======= i

43

=========或========= n>i

=========或========= i<-1+n

=========或========= i

=========或========= n-1>i

第1题 (30.0分) 题号:435

/*------------------------------------------------------

【程序改错】

-------------------------------------------------------- 功能:输入n,计算s=1+1+2+1+2+3+1+2+3+4+...+1+2+3+4+...+n ------------------------------------------------------*=========或========= -1+n>i

=========或========= i<=n-1

=========或========= n-1>=i

=========或========= -1+n>=i

=======(答案3)======= str[j]>str[ j + 1 ] =========或========= str[ j + 1 ]

=========或========= str[j+1]<=str[j]

=======(答案4)======= fputs(str,fp)

=========或========= fprintf(fp,\=========或========= fprintf(fp,\

二、程序改错 共1题 (共计30分)

/

#include void main() {

/**********FOUND**********/ int i,s;p,n;

printf(\

/**********FOUND**********/ scanf(\

/**********FOUND**********/ for(s=p=0,i=1;i

printf(\}

答案:

=======(答案1)======= int i,s,p,n;

=======(答案2)======= scanf(\

=======(答案3)======= for(s=p=0,i=1;i<=n;i++)

三、程序设计 共1题 (共计40分)第1题 (40.0分) 题号:351

44