一道二级c语言上机题

初次参加考试的人大多会范错误的,就是把题做对了,但是没有保存上,我就是这样考了两次的人,只要运行对了,你的程序就没问题,但是可能没有保存上吧,到网上找找具体答题过程看看,问老师也行,不要为此丢分了……

二级c语言上机考试题库pdf(c语言二级考试上机流程)二级c语言上机考试题库pdf(c语言二级考试上机流程)


二级c语言上机考试题库pdf(c语言二级考试上机流程)


祝你好运

求2011年九月以及以前的计算机二级考试C语言试题及、以及考试内容分析和解题技巧。记住只要C的。

以下资料已发,请注意查收

2010.3上机题库.zip (125.53K)

2010二级C语言南开100题.doc (93.50K)

2010年全国计算机等级考试+++++二级C语言考试大纲.doc (24.50K)

经典C语言程序设计20例.doc (65.50K)

[新C语言编程一百道习题][chupeisi][PDF].pdf (551.98K)

09年南开100套题(C语言).doc (1.62M)

C语言超级经典400道题目.doc (187.50K)

计算机等级二级C语言程序设计100例.doc (168K)

01_2009年9月C语言及公共基础串讲资料.doc (243K)

02_2009年3月C语言笔试冲刺复习资料.doc (93K)

06 二级公共基础知识考点精讲.rar (101.98K)

08 二级公共基础知识习题(2009年3月).rar (31.84K)

01 二级公共基础120题详解版.doc (233.50K)

02 二级公共基础09年3月冲刺复习资料.doc (92K)

03 二级公共基础辅导讲义.doc (805.50K)

04 二级公共基础考点解析.doc (260.50K)

05 二级公共基础试题及详解.doc (79.50K)

09 二级公共基础总结.doc (61.50K)

10 二级公共基础知识教程.doc (427K)

13 数据结构与算法.doc (67.50K)

13 数据结构与算法习题.doc (54K)

11 公共基础知识要点及历年真题.pdf (469.89K)

2010年九月二级C语言上机100题word版.doc (1.34M)

2010年03月二级C语言笔试.doc (149K)

2010.9二级C语言考试专用上机模拟系统.zip (54MB)

如果对您有帮助,请记得采纳为满意,谢谢!祝您生活愉快!

已发送

【急求:2010 南开100题 上机题 2级C语言

南开二级C语言上机100题

1、 改错题1

下列给定程序的功能是:读入一个整数(2<=k《=10000》,打印它的所有质因子(即所有为素数的因子)。例如,若输入整数2310,则应输出2、3、5、7、11。

请改正程序中的错误,使程序能得出正确的结果。

注意,不要改多main函数,不得增行或删行,也不得更改程序的结构!

试题程序:

#include

#include

IsPrime(int n); ——————去掉分号

{int i,m;

m=1;

for ( i=2; i

if !(n%i) ——————if (!(n%i))

{ m=0; break; }

return (m);

}main()

{ int j,k;

clrscr();

printf("nPlease enter an integer number between 2 and 10000:");scanf("%d",&k);

printf("nnThe 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");

)2、 编程题1

m个人的成绩存放在score数组中,请编写函数fun,它的功能是:将低于平均分的人数作为函数值行会,将低于平均分的分数放在below所指的数组中。

例如,但score数组的数据为10、20、30、40、50、60、70、80、90时,函数返回的人数应该时4,below中的数据应为10、20、30、40。

注意:部分源程序给出如下。

请勿改动主函数main和其他函数中的任何内容仅在函数fun的花括号中填入所编写的若干语句。

试题程序:

#include

#include

#include

int fun (int score[],int m, int below[])

{——————int i,k=0;float er=0;

for(i=0;i

er+=(score[i]);

er/=m;

for (i=0;i

if (score[i]

{below[k]=score[i];

k++;

retern(k);}

}main()

{int i, n, below[9];

int score [9]={10,20,30,40,50,60,70,80,90};

clrscr();

n=fun(score,9,below);

printf("nBelow the erage score are:");

for (i=0;i

}3、 改错2

下列给定程序中,函数fun的功能是:逐个比较a、b两个字符串对应位置中的字符,把ASCII值大或等于的字符一次存放到c数组中,形成一个新的字符串。例如,若a中的字符串为aBCDeFgH,b中的字符串为:ABcd,则c中的字符串为:aBcdeFgh。

请改正程序中的错误,使程序能得出正确的结果。

注意,不要改多main函数,不得增行或删行,也不得更改程序的结构!

试题程序

#include

#include

void; fun(char p,char q,char c)——去分号

{int k=1; ——1改为0

while(p!=q) —— != 改为 ||

{if (p

else c[k]=p;

if (p) p++;

if (q) q++;

k++;

}}

main()

{char a[10]="aBCDeFgh",b[10]="ABcd",c[80]={''};

fun(a,b,c);

printf("The string a:"); puts(a);

printf("The string b:"); puts (b);

printf("The result:"); puts(c);

}4、 改错3

下列给定程序中,函数fun的功能是:依次取出字符串中所有数字字符,形成新的字符串,并取代原字符串。

请改正程序中的错误,使程序能得出正确的结果。

注意,不要改多main函数,不得增行或删行,也不得更改程序的结构!

试题程序

#include

#include

void fun (char s)

{ int i,j;

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

if (s[i]>='0' && s[i]<='9')

s[j]=s[i]; ——————j改为j++

s[j]="0"; ——————s[j]='0'

}main()

{char [80];

clrscr();

printf("nEnter a string:");gets();

printf("nnThe string is :%sn",);

fun ();

printf("nnThe string of changing is :%sn",);

}5、 改错4

下列给定程序中,函数fun的功能是:分别铜级字符串中大写字母和小写字母的个数。例如,给字符串s输入:AAaaBBb123CCccccd,则应该输出结果:upper=6,lower=8。

请改正程序中的错误,使程序能得出正确的结果。

注意,不要改多main函数,不得增行或删行,也不得更改程序的结构!

试题程序

#include

#include

void fun (char s,int a, int b) ————a应为a,b应为b

{ while(s)

{ if (s>='A' && s<='Z')

a++; ————(a)++;

if (s>='a' && s<='z')

b++; ————(b)++;

s++;

}}

main()

{ char s[100];int upper=0,lower=0;

clrscr();

printf("nPlease a string:");gets(s);

fun(s,&upper, &lower);

printf("n upper=%d lower=%dn",upper,lower);

}6、 改错5

定整数数列中的数不重复,并存放在数组中。下列给定程序中,函数fun的功能是:删除数列中值为x的元素。n中存放的是数列中元素的个数。

请改正程序中的错误,使程序能得出正确的结果。

注意,不要改多main函数,不得增行或删行,也不得更改程序的结构!

试题程序

#include

#define N 20

fun (int a,int n, int x)

{int p=0,i;

a[n]=x;

while (x!=a[p])

p=p+1;

if (p==n) return -1;

else

{for (i=p;i

a[i+1]=a[i]; ————a[i]=a[i+1];

return n-1;

}}

main()

{int w[N]={-3,0,1,5,7,99,10,15,30,90},x,n,i;

n=10;

printf("The original data:n");

for (i=0;i

printf("nInput x (to delete):");scanf("%d",&x);

printf("Delete:%dn",x);

n=fun(w,n,x);

if (n==-1) printf("Nor be found!nn");

else

{printf("The data after deleted:n");

for (i=0,i

}}

7、 改错6

下列给定程序中,函数fun的功能是:根据整型形参m的值,计算如下公式的值。t=1-1/2×2-1/3×3-…-1/m×m

例如,若m中的值为5,则应输出:0.536389。

请改正程序中的错误,使程序能得出正确的结果。

注意,不要改多main函数,不得增行或删行,也不得更改程序的结构!

试题程序:

#include

#include

double fun (int m)

{ double y=1.0;

int i;

for (i=2;i

y-=1/(ii); ————“1”改为“1.0”

return(y);

}main ()

{int n=5;

clrscr();

printf("nRhe result is %1fn",fun(n));

}8、 改错7

下列给定程序中,函数fun的功能是:用选择法对数组中的n个元素按从小到大的顺序进行排序。

请改正程序中的错误,使程序能得出正确的结果。

注意,不要改多main函数,不得增行或删行,也不得更改程序的结构!

试题程序:

#include

#define N 20

void fun(int a[],int n)

{ int i,j,t,p;

for (j=0;j

{p=j ——加上“;”

for (i=j;i,n;i++) ——j改为j+1

if (a[i]

p=j; ——j改为i

t=a[p];a[p]=a[j];a[j]=t;

}}

main()

{int a[N]={9,6,8,3,-1},i,m=5;

printf("排序前的数据:");

for (i=0;i

fun(a,m);

printf("排序后的数据:");

for (i=0;i

}9、 改错8(2004.7.27)

下列给定程序中,函数fun的功能是:在字符串str中找出ASCII码值的字符,将其放在个位置上;并将该字符前的原字符向后顺序移动。例如,调用fun函数之前给字符串输入:ABCDeFGH,调用后字符串中的内容为eABCDFGH。

请改正程序中的错误,使程序能得出正确的结果。

注意,不要改多main函数,不得增行或删行,也不得更改程序的结构!

试题程序:

#include

fun(char p)

{ char max,q;int i=0;

max=p[i];

while(p[i]!=0)

{ if(max

{max=p[i];

p=q+i; ——改为q=p+i;

}i++;

}

while(q

p

{q=(q-1);

q--;

}p[0]=max;

}main()

{char str[80];

printf("Enter a string:");gets(Str);

printf("nThe original string: ");puts(Str);

fun(str);

printf("nThe string agter moving:");puts (str);ptintf("nn");

}10、 改错9(2004.7.27)

下列给定程序中,函数fun的功能是:从n个学生的成绩中统计出低于平均分的学生人数,此人数由函数值返回,平均分存放在形参er所指的存储单元中。例如,若输入8名学生的成绩:

80.5 60 72 90.5 98 51.5 88 64

则低于平均分的学生人数为4(平均分为:75.5625)。

请改正程序中的错误,使程序能得出正确的结果。

注意,不要改多main函数,不得增行或删行,也不得更改程序的结构!

试题程序:

#include

#include

#define N 20

int fun (float s,int n,float er)

{float e,t=0.0;

int count=0,k,i;

for (k=0;k

t=s[k]; ——t+=s[k];

e=t/n;

for (i=0;i

if (s[i]

er=&e; ——去掉&

return count;

}main()

{float s[30],er;

int m,i;

clrscr();

printf("nPlease enter m:";scanf("%d",&m);

printf("nPlease enter %d mark:n",m);

for (i=0;i

printf("nThe number of students:%dn",fun(s,m,&er));

printf("Ave=%fn",er);

)11、 改错10(2004.8.1)

下列给定程序中,函数fun的功能是:将s所指字符串中出现的t1所指子串全部替换成t2所指子字符串,所形成的新串放在w所指的数组中。在此处,要求t1和t2所指字符串的长度相同。例如,当s所指字符产中的内容为abcdabfab,t1所指子串中的内容为ab,t2所指子串中的内容为99时,结果,在2

所指的数组中内容应为99cd99f99。

请改正程序中的错误,使程序能得出正确的结果。

注意,不要改多main函数,不得增行或删行,也不得更改程序的结构!

试题程序:

#include

#include

#include

int fun (char s, char t1,chart2,charw)

{int i; char p,r,a;

strcpy(w,s);

while(w)

{p=w;r=t1;

while(r) ——r改为r

if(r==p) {r++;p++}

else break;

if(r=='')

{a=w;r=t2;

while(r){a=r;a++;r++} ——改为while(r){a=r;a++;r++;}

w+=strlen(t2);

}else w++;

}}

main()

{char s[100],t1[100],t2[100],w[100];

clrscr();

printf("nPlease enter string S:");scanf("%s",s);

printf("nPlease enter string t1:");scanf("%s",t1);

printf("nPlease enter string t2:");scanf("%s",t2);

if (strlen(t1)==strlen(t2))

{printf("nThe result is :%sn",w);

}else printf("Error:strlen(t1)!=strlen(t2)n");

}12、 改错11(2004.8.1)

给定程序MODI1.C中,fun函数的功能是:先从键盘上输入一个3行3列矩阵的各个元素的值,然后输出主对角线元素之积。

请改正程序中的错误,或在横线处填上适当的内容并把横线删除,使它能得出正确的结果。

注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!

试题程序:

#include

int fun ()

{int a [3] [3], sum;

int i, j;

_____; ——sum = 1;

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

{ for (j=0;j<3;j++)

scanf (〃%d〃 a [i] [j]); ——scanf("%d", &a[i][j]);

}for (i=0; i<3; i++)

sum=suma[i] [i];

printf (〃Sum=%dn〃, sum);

}main ()

{ fun (); }

13、 改错12(8.1)

下列程序的功能是:读入一个整数 k(2≤k≤10000),打印它的所有质因子(即所有为素数的因子)。例如,若输入整数:2310,则应输出:2、3、5、7、11。

请改正程序中的语法错误,使程序能得出正确的结果。

注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!

试题程序:

#include 〃conio.h〃

#include 〃stdio.h〃

IsPrime ( int n ); ——IsPrime(int n)

{ int i, m;

m = 1;

for ( i = 2; i < n/ i++ )

if !( n%i ) ——if(!(n%i))

{ m=0; break ; }

return ( m );

}main ()

{ int j, k;

clrscr ();

printf (〃nPease enter an integer number between 2 and 10000:〃); scanf ( 〃%d〃,&k );

printf ( 〃nn The 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〃);

}14、 改错13(8.4)

下列程序中,fun函数的功能是:根据形参m,计算如下公式的值。

t=1+ 1/2 + 1/3 + 1/4 + … + 1/m

例如,若输入5,则应输出2.283333。

请改正程序中的语法错误,使程序能得出正确的结果。

注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!

试题程序:

#include

#include

double fun(int m)

{double t=1.0;

int i;

for(i=2;i<=m;i++)

t+=1.0/k; ——k改为i

____________; ——填return t;

}main()

{int m;

clrscr();

printf(“nPlease enter 1 integer number:”);

scanf(“%d”,&m);

printf(“nThe result is %1fn”,fun(m));

}15、 改错14(8.4)

下列程序中,fun和funx函数的功能是:

用二分法求方程2x×x×x-4x×x+3x-6=0的一个根,并要求误不超过0.001。例如,若给m输入-100,给n输入90,则函数求得的一个根为2.000。

请改正程序中的语法错误,使程序能得出正确的结果。

注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!

试题程序:

#include

#include

double funx(double x)

{return(2xxx-4xx+3x-6);

}double fun(double m, double n)

{

int r;——改为double r;

r=(m+n)/2;

while(fabs(n-m)<0.001) —— "<" 改为" >= "

{if(funx(r)funx(n)<0 m=r;

else n=r;

r=(m+n)/2;

)return r;

)main()

{double m,n,root;

printf("Enter m n:n");scanf("%1f%1f",&m,&n);

root=fun(m,n);

printf("root=%6.3fn",root);

}16、 改错15(8.5)

下列给定程序中,函数fun的功能是:判断字符ch是否与str所指串中的某个字符相同;若相同,则什么也不做,若不同,则将器插在串的后。

请改正程序中的错误,使程序能得出正确的结果。

注意,不要改多main函数,不得增行或删行,也不得更改程序的结构!

试题程序

#include

#include

#include

void fun(char str, char ch)------------------------1

{ while(str && str!=ch) str++;

if (str==ch)------------------------------------2

{ str[0]=ch;

str[1]='0';------------------------------------3

}}

main()

{char s[81],c;

clrscr();

printf("nPlease enter a string:n");gets(s)

printf("nPlease enter the character to search:");

c=getchar();

fun(s,c);

printf("nThe result is %sn",s);

}15 题Answer:

1. void fun(char str, char ch)

2. if (str=='

17、 改错16(8.5)

下列给定程序中,函数Creatlink的功能是:创建带头结点的单项链表,并为各结点数据域赋0到m-1的值。

请改正程序中的错误,使程序能得出正确的结果。

注意,不要改多main函数,不得增行或删行,也不得更改程序的结构!

试题程序

#include

#include

#include

typedef struct aa

{ int data;

struct aa next;

}NODE;

NODE Creatlink(int n, int m)

{NODE h=Null, p,s;

int i;

s=(NODE )malloc(sizeof(NODE));

h=p;-------------------------------------1

p->next=NULL;

for (i=1;i<=n;i++)

{s=(NODE )malloc(sizeof(NODE));

s->data=rand()%m;-----------------------2

s->next=p->next;

p->next=s;

p=p->next;

}

return p;--------------------------------3

}outlink(NODE h)

{NODE p;

p=h->next;

printf("nnTHE LIST:nn HEAD");

while(p)

{printf("->%d",p->data);

p=p->next;

}printf("n");

}main()

{ NODE head;

clrscr();

head=Creatlink(8,22);

outlink(head);

}16 题Answer:

1. h=p=s;

2. s->data=rand()%(m-1);

3. return h;

18、 改错17(8.5)

下列给定程序中,函数fun的功能是:计算并输出k以内的10个能被13或17整除的自然数之和。k的值由主函数传入,若k的值为500,则函数值为4622。

请改正程序中的错误,使程序能得出正确的结果。

注意,不要改多main函数,不得增行或删行,也不得更改程序的结构!

试题程序

#include

#include

int fun(int k)

{int m=0, mc=0,j;

while ((k>=2)&&(mc<10))

{if ((k%13=0)||(k%17=0))-------------------1

{m=m+k;mc++;}

k--;

}return m;

_____________-------------------------------2

main()

{clrscr();

printf("%dn",fun(500));

}17 题Answer:

1. if ((k%13==0)||(k%17==0))

2. }

19、 改错18(8.5)

下列给定程序中,函数fun的功能是:实现两个整数的交换。例如给a和b分别输入60和65,输出为:a=65 b=60

请改正程序中的错误,使程序能得出正确的结果。

注意,不要改多main函数,不得增行或删行,也不得更改程序的结构!

试题程序

#include

#include

void fun (int a,b)--------------------------1

{int t;

t=b;b=a;a=t;-------------------------------2

}main()

{int a,b;

clrscr();

printf("Enter a,b:");scanf("%d%d",&a,&b);

fun(&a,&b);

printf("a=%d b=%dn",a,b);

}18 题Answer:

1. void fun (int a,int b)

2. t=b;b=a;a=t;

20、 改错19(8.5)

下列给定程序中,函数fun的功能是:从低位开始取出长整型变量s中偶数位上的数,一次构成一个新数放在t中。例如,当s中的数为7654321时,t是的数为642。

请改正程序中的错误,使程序能得出正确的结果。

注意,不要改多main函数,不得增行或删行,也不得更改程序的结构!

试题程序

#include

#include

void fun (long s, long t)--------------------------1

{long sl=10;

s/=10;

t=s%10;

while (s<0)--------------------------------------2

{s=s/100;

t=s%10sl+t;

sl=sl10;

}}

main()

{long s,t;

clrscr();

printf("nPlease enter s:");scanf("%ld",&s);

fun(s,&t);

printf("The result is : %ldn",t);

}19 题Answer:

1. void fun (long s, long t)

2. while (s>0)

21、 改错20(8.5)

N个有序整数数列已放在一堆数组中,下列给定程序中,函数fun的功能是:利用折半查找算法找整数m再数组中的位置。若找到,则返回其下标值;反之,则返回-1。

折半查找的基本算法是:每次查找前先确定数组中待查的范围:low和high(lowhigh,查找结束。

请改正程序中的错误,使程序能得出正确的结果。

注意,不要改多main函数,不得增行或删行,也不得更改程序的结构!

试题程序

#include

#define N 10

void fun(int a[],int m)--------------------------1

{int low=0,high=N-1,mid;

while(low<=high)

{mid=(low+high)/2;

if (m

high=mid-1;

else if (m>=a[mid])----------------------------2

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

printf("Enter m:");scanf("%d",&m);

k=fun(a,m);

if(k>=0) printf("m=%d,index=%dn",m,k);

else printf("Not be found!n");

}20 题Answer:

1. int fun(int a[],int m)

2. else if (m>a[mid])

c语言计算机二级考试选择题如图?

去百度文库,查看完整内容>

内容来自用户:夜宿山寺2020年全国计算机等级考试二级c语言上机精选题库(共70套)

第1套

(填空题)给定程序中,函数fun的功能是:将行参指针所指结构体数组中的三个元素按num成员进行升序排列。请勿改动主函数main和其他函数中的任何内容,仅在横线上填入所编写的若干表达式或语句。#include typedef struct

{int num;

char name[10];

} PERSON;

void fun(PERSON ___1___)

{___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, "Zhanghu", 2, "WangLi", 6, "LinMin"};

int i;

fun(___3___);

printf("nThe result is :n");

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

printf("%d,%sn", std[i].num, std[i].name);

}(改错题)下列给定程序中,函数fun的功能是:求k!(k〈13〉,所求阶乘的值作为函数值返回。例如:若k=10,则应输出3628800。请改正程序中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!

#include

#include

long fun(int k)

{<

有40个单选题跟三道作题,其中1-10题为二级公共基础知识,11-40题是c语言的内容,作题包括程序填空,改错跟编程题各一题。

有40个单选题跟三道作题,其中1-10题为二级公共基础知识,11-40题是c语言的内容,作题包括程序填空,改错跟编程题各一题。

有40个单选题跟三道作题,其中1-10题为二级公共基础知识,11-40题是c语言的内容,作题包括程序填空,改错跟编程题各一题。

求2011年9月份计算机二级(c语言)上机考试题库,电子版,请发到我的邮箱里

能帮忙转发一个不?我发给你吧,你注意查收!

要是有满意得话,转发给我一份吧,谢了。发你一份,满意推,不满意删除。

求2010年全国计算机二级C语言考试南开100题,公共基础知识整理资料

以下资料已发请注意查收

2010.9二级C语言考试专用上机模拟系统.zip

2010.3上机题库.zip

2010二级C语言南开100题.doc

2010年全国计算机等级考试+++++二级C语言考试大纲.doc

经典C语言程序设计20例.doc

新C语言编程一百道习题

09年南开100套题(C语言).doc

C语言超级经典400道题目.doc

计算机等级二级C语言程序设计100例.doc

01_2009年9月C语言及公共基础串讲资料.doc

02_2009年3月C语言笔试冲刺复习资料.doc

06二级公共基础知识考点精讲.rar

08二级公共基础知识习题(2009年3月).rar

01二级公共基础120题详解版.doc(233.50K)

02二级公共基础09年3月冲刺复习资料.doc(92K)

03二级公共基础辅导讲义.doc(805.50K)

04二级公共基础考点解析.doc(260.50K)

05二级公共基础试题及详解.doc(79.50K)

09二级公共基础总结.doc(61.50K)

10二级公共基础知识教程.doc(427K)

13数据结构与算法.doc(67.50K)

13数据结构与算法习题.doc(54K)

11公共基础知识要点及历年真题.pdf(469.89K)