C语言上机考试注意事项

C语言等级考试上机考试注意事项

§1 上机考试介绍

全国计算机等级考试二级C语言的上机考试时间为90分钟,考试时间从考生点击“开始考试并倒计时”按钮开始,由考试系统自动倒计时。倒计时结束前5分钟,考试系统会自动报警提醒考生考试即将结束并注意存盘。当倒计时结束,考试系统将自动锁定计算机,考生将不能再进行任何操作。当考生点击“交卷”按钮后,考试系统也会自动锁定计算机。

注意:无论由于什么原因,考试系统在锁定计算机后,考生都要举手报告监考老师,由于监考老师输入密码后,方可离开考场。 上机考试满分为100分,由一道填空题(30分)、一道修改题(30分)、编程题(40分)组成。

注意:考生只能抽取一次试题,不要试图通过重新登录考试系统、重启计算机等非常手段来重新抽取试题。

§2 填空题

1、填空题的源程序文件名为“blank1.c”,要求根据题意在程序中挖出的空中填上正确的答案,要求编译运行,还要求保存,否则不得分。

2、在每一个注释行“/********found*******/”的下方,都有一个形如“____x_____”(x代表数字1、2或3)的空。考生要做的就是将“____x_____”删去,然后填上正确的答案。

3、注意:程序填空题一定要保存、编译、运行,出于保险考虑,要求考生运行程序查看结果是否填正确。

4、有不少考生做到了上一步,但结果却一分都没有得到。原因在于此时尽管程序已经开始运行,但并没有结束。直到有“Press any key to continue”这行信息,一个程序才算是运行结束。否则可能是由于程序等待数据输入或陷入了死循环。

?填空题一般填写形式总结如下:

1、填写i++;

2、变量赋值0或1;

3、填写相应变量;

4、填写返回值(变量);

5、填写数据交换变量t=a;a=b;b=t;

6、填写比较符<、>、<=、>=、=等;

7、填写条件表达式;

8、填写数据类型;

9、填写相应的指针变量;

10、取余符%和整除符/的使用;

11、实形参数传递类型应保持一致;

12、填写偶或奇数(变量);

?填空题实例1

题目:给定程序中,函数fun的功能是:将形参s所指字符串中所有的ASCII码值小于97的字符存入形参t所指字符数组中,形成一个新串,并统计出符合条件的字符个数作为函数值返回。

例如,形参s所指的字符串为:Abc@1×56*,程序执行后t 所指字符数组中的字符串应为:A@156*。

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

注意:源程序存放在考生文件夹的BLANK1.C中。不得增行或删行,也不得更改程序的结构!

#include

int fun(char *s, char *t) { int n=0;

while(*s)

{ if(*s < 97) {

/**********found**********/ *(t+n)= __1__ ; n++; } /**********found**********/ __2__ ;

}

*(t+n)=0;

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

}

main()

{ char s[81],t[81];int n;

printf("\nEnter a string:\n"); gets(s);

n=fun(s,t);

printf("\nThere are %d letter which ASCII code is less than 97: %s\n",n,t);

}

§3 修改题

1、修改题的源程序文件名为“modi1.c”,要求根据题意在指定的若干行程序中找出错误并改正,要求编译、运行,还要注意保存,否则不得分。

2、在每一个注释行“/********found*******/”的下方,都有一行或几行程序,其中有一个(类)错误,考生须找出这个错误并更正。

3、注意:程序修改题要求编译、运行、要保存。出于保险考虑,要求考生运行程序查看结果是否修改正确。

4、有不少考生做到了上一步,但结果却一分都没有得到。原因在于此时尽管程序已经开始运行,但并没有结束。直到有“Press any key to continue”这行信息,一个程序才算是运行结束。否则可能是由于程序等待数据输入或陷入了死循环。

?修改题一般修改形式总结如下:

1、缺return语句及返回值类型(变量)错误(void);

2、循环变量混淆(i,j);

3、缺语句分号;

4、区分大于或等于号>=和=>;

5、变量的初始化值错误或没有初始化;

6、标识符或关键字书写错误;

7、变量(指针变量)缺++,或前或后错误;

8、赋值符=与等于==错误;

9、缺匹配符花括号“{”或“}”;

10、数组下标须确定错误;

11、输入输出格式控制符错误;

12、单引号与双引号错误;

13、变量替换错误; 14、整除得整符*/*错误;

?填空题实例

题目:给定程序MODI1.C中的函数fun的功能是:由形参给定的n个实数,输出平均值,并统计在平均值以上(含平均值)的实数个数。

例如,n=8时,输入:193.199,195.673,195.757,196.051,196.092,196.596,196.579,196.763

所得平均值为:195.838750,在平均值以上的实数个数应为:5

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

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

#include

int fun(double x[], int n)

{

/************found************/ int j, c=0, double xa=0.0;

for (j=0; j

xa += x[j]/n;

printf("ave =%f\n",xa);

for (j=0; j

/************found************/ if (x[j] => xa)

c++;

return c;

}

main()

{ double x[100] = {193.199, 195.673, 195.757, 196.051, 196.092, 196.596, 196.579, 196.763}; printf("%d\n", fun (x, 8));

}

§4 编程题

1、编程题的源程序文件名为“prog1.c”,要求将程序中fun()函数的函数体补充完整,实现题目中所要求的功能。需要注意的是,编程题一定要运行,必须要有运行结果。因为编程题的评分不是根据考生填写的程序,而是根据程序的运行结果给分。

2、但是,仅仅把fun()函数的函数体填充完整是不够的,即使你所填写的程序是正确的。因为编程题并不是根据考生所填写的程序来评分的,而是根据程序的运行结果是否正确来评分的。因此在编写好程序后,还必须运行程序。

3、有不少考生做到了上一步,但结果却一分都没有得到。原因在于此时尽管程序已经开始运行,但并没有结束。直到有“Press any key to continue”这行信息,一个程序才算是运行结束。否则可能是由于程序等待数据输入或陷入了死循环。

?编程题一般编程形式总结如下:

1、数据交换形式:t=a;a=b;b=t;

2、连加形式:for(i=1,sum=0;i<=n;i++)sum+=i;

3、连乘形式:for(i=1,temp=1;i<=n;i++)temp*=i;

4、分解和合并多位数正整数的方法:n%10=该数n的个位数;n/10=除去该数n个位的数;

?编程题实例

题目:编写函数fun,其功能是:根据以下公式求p的值,结果由函数值带回。M与n为两个正整数且要求m>n。

P=m!/n!(m-n)!

例如:m=12,n=8时,运行结果为495.000000

注意:部分源程序在文件PROJ1.C中。

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

include

float fun(int m, int n)

{

int i;float

temp1=1.0,temp2=1.0,temp3=1.0,result;

for(i=1;i<=m;i++)temp1*=i;

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

for(i=1;i<=m-n;i++)temp3*=i;

result=temp1/temp2/temp3;

return result;

}

main() /

main() /**主函数*/

{ void NONO ();

printf("P=%f\n", fun (12,8));

NONO();

}

void NONO ()

{/{/**本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。*/ fp, **wf ;

FILE **fp,

FILE

int i, m, n ;

float s;

fp = fopen("in.dat","r") ;

wf = fopen("out.dat","w") ;

for(i = 0 ; i < 10 ; i++) { fscanf(fp, "%d,%d", &m, &n) ; s = fun(m, n) ; fprintf(wf, "%f\n", s) ;}

fclose(fp) ;

fclose(wf) ;

}

注意:考试系统锁定计算机后,考生还不能离开考场,切记要请监考老师来输入结束密码,并得到监考老师的允许后方可离开考场。请务必遵守!

int fun( char *a, char *p )

{

return 函数返回值;

}

?程序编程题的解答技巧(一):

需要注意的是,一定要运行,必须要有运行结果。因为编程题的评分不是根据考生填写的程序,而是根据程序的运行结果给分。直到有“Press any key to continue”这行信息,一个程序才算是运行结束。

1、程序编程题的评分不是根据考生填写的程序,而是根据程序的运行结果给分。(存在漏洞)

2、考生文件夹中有很多文件,其中有一些是VC运行程序过程中产生的,可以不予理会。但其中有一个“out.dat”文件,与程序编程题运行前就存在的“in.dat”文件似

乎是对应的。

3、很显然,“in.dat”文件中存放的就是测试数据,考试系统会把“in.dat”文件中的数组输入到考生所编写

的程序中,然后将程序所输出的结果写到“out.dat”文件中。评分系统就是根据“out.dat”中的数据进行评分。

C语言上机试题

1:第1题m个人的成绩存放在score数组中,请编写函数fun,它的功能就是:将低于平均分的人作为函数值返回,将低于平均分的分数放在below所指定的函数中。 2:第2题请编写函数fun,它的功能就是:求出1到100之内能北7或者11整除,但不能同时北7与11整除的所有证书,并将她们放在a所指的数组中,通过n返回这些数的个数。 3:第3题请编写函数void fun(int x,int pp[],int *n),它的功能就是:求出能整除x且不就是偶 数的各整数,并按从小到大的顺序放在pp所指的数组中,这些除数的个数通过形参n返回。 4:第4题请编写一个函数void fun(char *tt,int pp[]),统计在tt字符中"a"至U "z"26各字母各自出现的次数,并依次放在pp所指的数组中。 5:第5题请编写一个函数void fun(int m,int k,int xx[]),该函数的功能就是:将大于整数m且 紧靠m的k各素数存入xx所指的数组中。 6:第6题请编写一个函数void fun(char a[],char[],int n),其功能就是:删除以各字符串中指定下标的字符。其中,a指向原字符串,删除后的字符串存放在b所指的数组中,n中存放指定的下标。 7:第7题请编写一个函数int fun(int *s,int t,int *k),用来求除数组的最大元素在数组中的下 标并存放在k所指的储存单元中。 8:第8题编写函数fun,功能就是:根据以下攻势计算s,计算结果作为函数值返回『通过形参 传入。S=1 + 1/(1+2)+1/(1+2+3)+ ??…、+1/(1+2+3+4+ ??…+n) 9:第9题编写一个函数fun,它的功能就是:根据以下公式求p的值,结果由函数值带回。M 与n为两个正整数,且要求m>n。p=m!/n!(m-n)! 10:第10题编写函数fun,它的功能就是:利用以下的简单迭代方法求方程cos(x)-x=0的一个 实根。 迭代步骤如下:(1)取x1初值为0、0;⑵x0=x1,把x1的值赋各x0; (3) x1=cos(x0),求出一个新的x1; (4) 若x0-x1的绝对值小于0、000001,则执行步骤(5),否则执行步骤(2); (5) 所求x1就就是方程cos(x)-x=0的一个实根,作为函数值返回。 程序将输出root=0、739085。 11:第11题下列程序定义了nx n的二维数组,并在主函数中自动赋值。请编写函数fun(int a[][n]),该函数的功能就是:使数组左下半三角元素中的值全部置成0。 12:第12题下列程序定义了n x n的二维数组,并在主函数中赋值。请编写函数fun,函数的 功能使求出数组周边元素的平均值并作为函数值返回给主函数中的s。 13:第13题请编写一个函数void fun(int tt[m][n],int pp[n]),tt 指向一个m行n列的二维函数组,求出二维函数组每列中最小元素,并依次放入pp所指定一维数组中。二维数组中的数已在主函数中赋予。 14:第14题请别写函数fun,函数的功能使求出二维数组周边元素之与,作为函数值返回。二 维数组中的值在主函数中赋予。 15:第15题请编写一个函数unsigned fun(unsigned w),w 使一个大于10的无符号整数,若w 使n(n>2)位的整数,则函数求出w后n-1位的数作为函数值返回。 16:第16题请编写一个函数float fun(double h),函数的功能使对变量h中的值保留2位小树, 并对第三位进行四舍五入(规定h中的值位正数)。 17:第17题请编写一个函数fun(char *s),该函数的功能使把字符串中的内容拟置。 18:第18题编写程序,实现矩阵(3行3列)的转置(即行列互换)。 19:第19题编写函数fun,该函数的功能就是:从字符中删除指定的字符,同一字母的大、小写按不同字符处理。20:第20题编写函数int fun(int lim,int aa[max]),该函数的功能就是求出小于或等于lim的所有素数并放在aa数组中,该函数返回所求的素数的个数。 21:第21题请编写函数fun,对长度位7个字符的字符串,除首尾字符外,将其余5个字符按ascii码降序排列。

C语言上机考试题

考试时间120分钟题目中所有要求统计或输出的地方都要用printf函数输出相关内容要求:新建一个以自己中文姓名命名的文件夹,将如下题目的答案保存在该文件夹中,各题命名要求Exam1.c,Exam2.c,Exam3.c,Exam4.c,Exam5.c 只需提交每个题目的源文件 1.定义一个字符数组s[50],从键盘输入如下字符串给s数组中,统计其中数字字符的个数和英文字母的个数以及特殊字符的个数。(要求:输入的字符为:“123ABCDhijkop#&%*&!”)(本题5分) 输入功能,3个统计 2.从键盘输入10个元素给数组a,然后将这些元素逆向复制到数组b中(要求:输入的这10个数为:1,2,3,4,5,6,7,8,9,10)。(本题5分) 输入,逆序2个功能,错一个扣2分 3.使用循环嵌套,打印输出如下图形结果(提示使用两次循环嵌套)。 (本题5分) 没有中文后面扣1分 实现一半扣2分 4.从键盘上输入一个字符,如果是’M’,输出Mondey,’T’输出Tuesday,’W’输出Wednesday,’R’输出Tursday,’F’输出Friday,’S’输出Saturday,’U’输出Sunday,否则输出Error(本题5分)输入字符,switch语句,细节有错扣0.5 5.从键盘上输入10个学生的数学成绩,使用冒泡排序实现对成绩的排序功能(排序后的成绩按从低到高排列,效果如下), 输出排序后的学生成绩,输出最高成绩,输出最低成绩,将55-60之间的成绩(含55,不含60)修改为60,并统计被修改的成绩个数,统计及格人数,统计95(含95,优秀)分以上的学生成绩人数,输出及格率和优秀率(>=60,及格,>=95优秀)。(要求:输入的10个

C语言上机试题

1: 第1题m个人的成绩存放在score数组中,请编写函数fun,它的功能是:将低于平均分的人作为函数值返回,将低于平均分的分数放在below所指定的函数中。 2: 第2题请编写函数fun,它的功能是:求出1到100之内能北7或者11整除,但不能同时北7和11整除的所有证书,并将他们放在a所指的数组中,通过n返回这些数的个数。 3: 第3题请编写函数void fun(int x,int pp[],int *n),它的功能是:求出能整除x且不是偶数的各整数,并按从小到大的顺序放在pp所指的数组中,这些除数的个数通过形参n返回。 4: 第4题请编写一个函数void fun(char *tt,int pp[]),统计在tt字符中"a"到"z"26各字母各自出现的次数,并依次放在pp所指的数组中。 5: 第5题请编写一个函数void fun(int m,int k,int xx[]),该函数的功能是:将大于整数m且紧靠m的k各素数存入xx所指的数组中。 6: 第6题请编写一个函数void fun(char a[],char[],int n),其功能是:删除以各字符串中指定下标的字符。其中,a指向原字符串,删除后的字符串存放在b所指的数组中,n 中存放指定的下标。 7: 第7题请编写一个函数int fun(int *s,int t,int *k),用来求除数组的最大元素在数组中的下标并存放在k所指的储存单元中。 8: 第8题编写函数fun,功能是:根据以下攻势计算s,计算结果作为函数值返回;n通过形参传入。S=1+1/(1+2)+1/(1+2+3)+…….+1/(1+2+3+4+……+n) 9: 第9题编写一个函数fun,它的功能是:根据以下公式求p的值,结果由函数值带回。M与n为两个正整数,且要求m>n。 p=m!/n!(m-n)! 10: 第10题编写函数fun,它的功能是:利用以下的简单迭代方法求方程cos(x)-x=0的一个实根。 迭代步骤如下:(1)取x1初值为0.0; (2)x0=x1,把x1的值赋各x0; (3)x1=cos(x0),求出一个新的x1; (4)若x0-x1的绝对值小于0.000001,则执行步骤(5),否则执行步骤(2); (5)所求x1就是方程cos(x)-x=0的一个实根,作为函数值返回。 程序将输出root=0.739085。 11: 第11题下列程序定义了n×n的二维数组,并在主函数中自动赋值。请编写函数fun(int a[][n]),该函数的功能是:使数组左下半三角元素中的值全部置成0。 12: 第12题下列程序定义了n×n的二维数组,并在主函数中赋值。请编写函数fun,函数的功能使求出数组周边元素的平均值并作为函数值返回给主函数中的s。 13: 第13题请编写一个函数void fun(int tt[m][n],int pp[n]),tt指向一个m行n列的二维函数组,求出二维函数组每列中最小元素,并依次放入pp所指定一维数组中。二维数

C语言期末上机考试题及答案

C语言上机考试题—01 1. //#include #include double fun( int n ) { double sum=0,a=1; for(;n>0;n--,a++) sum=sum+1/(a*(a+1)); return sum; } main() { // clrscr(); printf("%f\n", fun(10)); } 2. #include main() { int k,m,s=0,i,b=0; for(k=10000;k<=20000;k++ ) { if(k%10==7) { for(i=2,b=0;i main() { int a; printf("请输入一个需要判 断的年份:\n"); scanf("%d",&a); if(a%4==0&&a%100!=0) printf("是闰年\n"); else if(a%400==0) printf("是闰年 \n"); else printf("不是闰 年\n"); } C语言上机考试题—02 1. //#include #include double fun( int n ) { double sum=0,a=1; for(;n>0;n--,a++) sum=sum+1/(a*(a+1)); return sum; } main() { // clrscr(); printf("%f\n", fun(10)); } 2. #include fun(int n) { int i,j=0; for(i=2;i #include main() { char str[81]; int i,j=0,w=1,s=0; printf("请输入一串字符: \n"); gets(str); for(i=0;i

C语言程序设计课程C语言上机考试题—2014

1、从键盘输入10个整数,对这10个数排序(由小到大)后输出。 2、从键盘输入10个整数,对这10个数排序(由大到小)后输出。 3、对于一个自然数,如果该数的所有因子之和正好等于该数,则该数称为完数。统计1000以内的完数个数。 4、编写主函数和一个函数int diff(int year, int m1, int d1, int m2, int d2)。(1)函数diff计算year年的m1月d1日至m2月d2日之间相隔的天数(假设m1<=m2);(2)主函数中输入某年的两个日期,调用diff函数计算它们之间相隔的天数,并输出。 5、编写主函数和一个函数void merge(int a[], int b[], int c[])。要求是:(1)函数merge对两个已是升序的数组a、b进行归并,归并后的结果仍然是升序的,并通过形参c返回;(2)主函数:定义长度为5的数组a,并升序初始化;定义长度为8的数组b,并升序初始化;调用merge函数对数组a、b进行归并,输出归并结果。 6、从键盘输入一个0~99999之间的整数。 ①判断它是一个几位数; ②将该数的各位数字按逆序输出。 7、输入一行字符,统计其中有多少个单词并输出,单词之间用空格符分隔开。 8、输入10个整数,判断它们是否为素数。要求:编写一个函数int prime(int m)来判断形参变量m是否为素数,如果是素数则返回1,否则返回0。 9、输入10个学生的成绩,求平均成绩。要求控制成绩输入的正确性,即控制输入的成绩必须为0~100分。 10、编写主函数和一个函数int monthDay(int year, int month)。(1)函数monthDay 计算year年month月的天数,并返回;(2)在主函数中输入一个日期(年、月、日),计算该日是当年的第几天(说明:需要调用monthDay函数)。 11、写两个函数int gcd(int m, int n)和int lcm(int m, int n),分别求两个正整数m 和n的最大公约数和最小公倍数,用主函数调用这两个函数,并输出结果,两个正整数的值在主函数中从键盘输入。 12、有0、1、2、3、4五个数字,能组成多少个互不相同且无重复数字的三位数?并计算这些三位数之和。 13、输出2至1000之间的所有同构数,所谓同构数是指它出现在它的平方数的右端。例如,5、6、25的平方分别等于25、36、625,所以5、6和25都是同构数。 14、编写一个函数,将一个数插入到已是升序的数组中,且插入后该数组仍是升序数组。已是升序数组的内容由主函数给出,待插入的数在主函数中输入。 15、编写一个程序,查找某数是否在给定的升序数组中,如果在则输出“Find success!”并输出它是第几个数,否则输出“No find!”。 16、有4个学生,每个学生有5门课程的成绩,编写一个程序计算每一个学生5门课程的平均成绩。 17、有4个学生,每个学生有5门课程的成绩,编写一个程序统计每一个学生有几门不及格的课程。 18、有4个学生,每个学生有5门课程的成绩,编写一个程序计算每一门课程4个学生的平均成绩。 19、有4个学生,每个学生有5门课程的成绩,编写一个程序统计每一门课程有几个不及格的学生。

C语言上机考试经典试题(3套)

四川省普通高等学校计算机应用知识和能力 第二十八次等级考试 二级(C与C++语言) 笔试试卷 时间: 2008年4月19 日 上午9:00—11:00 第一部分 软件技术基础 (共15分) 一、是非判断题(每小题1分,共10分) ( 判断下列各题是否正确,如正确,在客观答题纸上对应编号选A,否则选B ) 1. 在程序设计中,常用一维数组来表示线性表的顺序存储空间。( 1 ) 2. 数据在计算机内存中的表示是指数据的存储结构。( 2 ) 3. Windows是多用户多任务操作系统。( 3 ) 4. 能影响中断响应次序的技术是中断优先级和中断屏蔽。( 4 ) 5. 链表可以随机访问任意一个结点,而顺序表则不能。( 5 ) 6. 作业与进程的主要区别是前者是由用户提交,后者是由系统自动生成。( 6 ) 7. 数据的逻辑结构是从逻辑关系上描述数据,它与数据的存储结构无关,是独立于计算机的。 ( 7 ) 8. 中断控制方式适用于外存同CPU之间进行大量数据交换。( 8 ) 9. 提供没有错误的程序是提高软件的可维护性的基本措施。( 9 ) 10.软件结构是以指令为基础而组成的一种控制层次结构。( 10 ) 二、选择题(每小题1分,共5分) 1. 数据流图是用于描述结构化方法中(11 )工作阶段的工具。 11 (A) 可行性分析(B) 程序编码 (C) 详细设计(D) 需要分析 2. 若进栈序列为1,2,3,4,且进栈过程中可以出栈,则不可能的出栈序列是(12 )。 12 (A) 1,4,3,2 (B) 3,1,4,2 (C) 2,3,4,1 (D) 3,4,2,1 3. 任何两个并发进程之间(13 )。 13 (A) 可能存在同步或互斥关系(B) 一定存在同步关系 (C) 一定彼此独立无关(D) 一定存在互斥关系 4. 以下的哪个特征不是分时操作系统的主要特征(14 )。 14 (A) 分时性(B) 独占性 (C) 交互性(D) 多路性 5. 需求分析中开发人员主要从用户那里了解(15 )。 15 (A) 软件的维护(B) 软件的结构 (C) 软件做什么(D) 软件的测试

计算机二级C语言上机考试操作步骤及流程

二级C语言上机考试操作步骤 一、进入考试系统 单击桌面上的“考试系统”图标,进入考试启动界面。“考试启动界面”如图1所示。 图1 二、输入考生信息 进入考试界面后,单击“开始登录”按钮即可进入考试环境进行“考生信息”的输入。“信息输入”如图2所示。 图2 考生输入准考证号如“2427180018001800”后,单击“考号验证”按钮进行信息核实,系统会弹出如图3所示的对话框。 图3

在确定考生信息完全正确时,单击“是”按钮,进入答题界面,如下图所示,上方含有“程序填空题”、“程序修改题”、“程序设计题”三个按钮, 三、开始答题 本次考试共有50套题,每一套题的填空、改错和编程题的答案均附在后面。学生进入上述考试界面后,首先点击程序设计题,根据程序设计题从而明白是哪一套题的组合,然后开始正式答题。过程如下: 1.程序填空题 单击考试界面中的“程序填空题”按钮后,题目显示区将显示出题目对应的文字叙述信息。通过文字叙述可以了解到该题目的考试内容。然后单击左上角“答题”菜单中的“启动Microsoft Visual C++”菜单项进入“Visual C++ 6.0”系统环境界面,如下图所示。 进入系统环境后,执行左上角的“文件|打开”命令,系统弱出“打开”对话框,选择“blank1.c”程序文件,

点击左下角的“打开”按钮,如图4所示。 图4 打开“blank1.c”程序文件后,开始填空。填空方法如下: (1)在程序中找到“******** found *******”标识位置。 (2)把“found ”标识位置下面的需要填空的“占位符”删除(需要连横线一起删除),将程序的答案写在对应位置。例如下图所示。 原“blank1.c ”程序图: 打开

c语言上机考试训练题库及答案

上机考试习题集 1.编写程序,一次输入5个学生的3门课成绩,每输入一个学生的3门成绩后,立即统计并输出该学生的总分和平均分。 #include "stdio.h" void main() { int score[5][3], i,j; float sum[5],average[5]; printf("请分别输入三个学生的成绩:\n"); for(i=0;i<5;i++) { sum[i]=0; for(j=0;j<3;j++) {scanf("%d",&score[i][j]); average[i]=0; sum[i]+=score[i][j]; average[i]=sum[i]/5; } } for(i=0;i<5;i++) printf("第%d个学生的总分为:%f,平均成绩为:%f\n",i+1,sum[i],average[i]); } 2 、编写程序,提示用户从键盘输入一个double类型的数,使该数保留小数点后两位,对第三位小数进行四舍五入处理,然后在显示器上输出此数,以便验证处理是否正确。 #include #include double rounding(double x,int n); void main() { double x,x1; int n; printf("请输入一个浮点数:\n"); scanf("%lf",&x); printf("请输入给定的小数位:\n"); scanf("%d",&n); x1=rounding(x,n); printf("圆整后的数为:\n%.*lf\n",n,x1); } double rounding(double x,int n)

大学本科C语言上机考试题

C语言程序设计上机考试题 班级:姓名:学号: 使用C语言编写下列程序(20分×5=100分) 1、输入3个整型数据,求出最大数和最小数。 #include int main() {inta,b,c,e,d,f,g; printf("请输入三个数\n"); scanf("%d,%d,%d",&a,&b,&c); d=(a>b?a:b); e=(d>c?d:c); printf("Max is %d\n",e); f=(a int main() {float score; char grade; printf("请输入学生成绩:"); scanf("%f",&score); while(score>100||score<0)); {printf("\n输入有误,请输入); scanf("%f",&score); } switch((int)(score/10)) {case 10: case 9:grade='A';break; case 8:grade='B';break; case 7:grade='C';break; case 6:grade='D';break;

case 5: case 4: case 3: case 2: case 1: case 0:grade='E'; } printf("成绩是%5.1f,相应的等级是%c\n",score.grade); return 0; } 3、编写一个四则运算程序,输出计算结果。 #include int main() {intc,d,e; floata,b,f; printf("请输入两个数"); scanf("%f,%f",&a,&b); c=a+b; d=a-b; e=a*b; f=a/b; printf("加法结果为%d\n",c); printf("减法结果为%d\n",d); printf("乘法结果为%d\n",e); printf("除法结果为%f\n",f); return 0; } 4.100以内的素数 从键盘输入一个正整数,判断该整数是否为素数。 #include int main() { intn,i; printf("\n"); scanf("%d",&n); for (i=2;i<=n-1;i++) if(n%i==0) break; if(i

C语言上机试题答案

//vc1 //prog1.cpp //设计一个程序,从键盘输入三个整数,按由小到大的顺序输出。#include"stdio.h" main() { int a[3],i,j,t; for(i=0;i<3;i++) { scanf("%d",&a[i]); } for(i=0;i<9;i++) /*此处的i可以小于任意一个大于6的整数*/ { for(j=0;j<2;j++) { if(a[j]>a[j+1]) t=a[j],a[j]=a[j+1],a[j+1]=t; } } printf("The three data from small to big is:"); for(i=0;i<3;i++) printf("%d ",a[i]); } //vc1 //prog2.cpp //求1+3+5+...+95+97+99的和。 #include"stdio.h" main() { int i,sum=0; for(i=1;i<100;i=i+2) sum+=i; printf("1+3+5+....+99=%d\n",sum); } //vc1 //prog3.cpp //写一个函数,从键盘输入一个整数,如果该整数为素数,则输出“此

整数为素数”,否则输出“整数非素数”。(注:要求从主函数输入整数)#include"stdio.h" main() { int i,j,k,l=2; printf("输入一个大于3的整数:"); scanf("%d",&i); for(j=2;j=0;i--) printf("%d ",a[i]); for(i=0;i<10;i++) sum+=a[i]; printf("The total is:%d\n",sum); } //vc2 //prog2.cpp //输入N个国家的英文名,要求按字母的先后顺序排列,并按照顺序输出。

历年全国计算机等级考试-二级C语言上机考试题库及答案

1.填空 给定程序的功能是调用fun函数建立班级通讯录。通讯录中记录每位学生的编号,姓名和电话号码。班级的人数和学生的信息从键盘读入,每个人的信息作为一个数据块写到名为myfile5.dat的二进制文件中。 请在程序的下划线处填入正确的内容并把下划线删除,是程序得出正确的结果。 注意:源程序存放在考生文件夹下的BLANK1.c中 不得增行或删行,也不得更改程序的结构! void check(); /**********found**********/ int fun(___1___ *std) { /**********found**********/ ___2___ *fp; int i; if((fp=fopen("myfile5.dat","wb"))==NULL) return(0); printf("\nOutput data to file !\n"); for(i=0; i

C语言上机测试题

01.编写程序,从键盘输入一个正数,判断它是否既是5又是7的倍数。若是,则输出yes,否则输出no。 02.编写程序,从键盘输入一个五分制成绩,将其转换成百分制成绩输出。 03.编程实现以下功能:读入两个运算数(data1和data2)及一个运算符(op),计算表达式data1 op data2的值,其中op可为'+','-','*','/'(用switch语句实现)。 04.从键盘输入一行字符,统计并输出其中的单词个数,单词间用空格间隔。如输入: I am a student 结果显示:word=4。 05.从键盘输入3个字符串,要求找出最大的字符串并输出。 06.某班有多个同学,请编程实现输出该班高数课程的最高分、高低分和全班平均分。 07.输入两个正整数,求其最大公约数和最小公倍数。 08.从键盘输入10个实型数据,用查找数组中是否存在某一数据,存在则输出"Find",否则输出"NO Find"。 09.从键盘输入若干个字符(以回车结束输入),若为大写字母则转换为小写,并将结果显示输出。 10.将一个数组中的值按逆序重新存放。例如:原来顺序为8,6,5,4,1。要求改为1,4,5,6,8。 11.编写函数prime,判断一个整数是否是素数。在主函数输入一个数,调用prime函数判断这个数是否是素数,然后在主函数中输出是否为素数的信息。 12.编写一个fun函数:long fun(char s[]),将一个数字字符串转换为一个整数(不得调用标准库函数)。例如,若输入字符串"9876",则函数把它转换为整数值9876。

13.编写一个fun函数:void fun(long num, char s[]),将一个长整型数据转换为数字串。 14.编写一个求字符串长度的函数,在主函数中输入字符串,并输出其长度(不得调用标准库函数)。 15.编写程序,输出100~200之间的全部素数。 16.编写程序,按每行5个,输出100以内的全部素数。 17.编写程序,在屏幕上显示九九乘法表。 18.编写一个fun函数:void fun(char s[]),将一个字符串中的小写字母转换为大写(不得调用标准库函)。 19.从键盘输入10个整数,按降序排列后输出(要求用自义函数排序)。 20.输入一个3行3列的9个数据,再输出最大元素及所在的行号、列号。 21.试编写一个C程序:输入10个同学的单科成绩,要求按由大到小的顺序输出。 22.从键盘输入一个字符串(<80个字符),删除其中的数字字符。 23.给出一个百分制成绩,要求输出成绩等级 A,B,C,D,E。90-100分为A,80-89分为B,70-79分为C,60-69分为D,60分以下为E。 24.从键盘输入一个不多于5位的正整数,要求:①分别打印出每一位数字;②按逆序打印出各位数字,例如原数是987,应输出789。 25.比较两个字符串S1和S2,如果S1>S2,输出1;如果S1=S2,输出0;如果S1

c语言上机考试题

上机考试:6月2日 13:30 不准携带:课本/参考书/参考资料/移动存储设备/草纸 一定要带:学生证/签字笔 1 用起泡法对N=10个整数由大到小排序。10个整数由键盘输入,排序后从屏幕输出结果 2 编写一函数,从实参传来一个字符串,分别统计其中数字、大写字母、小写字母和其它字符的个数,输入输出在main函数中完成 3 用一函数inv将一个字符串的字符逆序排列。输入输出在main函数中完成。要求在inv中用指针处理。4 求200之内的素数的和。从屏幕输出结果 5 从屏幕输入一行字符,将所有的大写字母转换为小写字母,所有的小写字母转换为大写字母,其它字符不变,从屏幕输出结果 6 一球从100米高度自由落下,每次落地后反跳回原高度的一半,再落下。求它在第10次落地时,共经过多少米?第10次落地后又反弹多高? 7 对N=20个字符由大到小排序。20个字符由键盘输入,排序后从屏幕输出结果 8 有一字符串,把其中的字母a和A去掉,成为一个新字符串。原字符串从键盘输入。从屏幕输出结果 9 求Fibonacci数列的前30项的和。从屏幕输出结果。Fibonacci数列为: F(1)=1,(n=1) F(2)=1,(n=2) F(n)=F(n-2)+F(n-1),(n>=3) 10 写一函数,使输入的一个字符串按反序存放,在主函数中输入和输出字符串 11 从键盘输入一个大于2的整数,判断是否是素数。从屏幕输出结果。要求用函数处理 12 从键盘输入月份,输出这个月有多少天。要求用函数处理 13 求两个数的最大公约数。要求用函数处理 14 求两个数的最小公倍数。要求用函数处理 15 从屏幕输入3个整数,按从小到大顺序输出,要求用指针进行处理 16

C语言上机试题及答案

实验一 Visual C++6.0的使用及顺序结构程序设计 一、实验目的 1、掌握启动和退出VC6的方法。 2、熟悉VC6开发环境。 3、初步掌握简单程序的上机操作基本步骤,熟悉C单文件程序的输入、编译、链接和运行过程。 4、初步掌握程序的编辑修改和调试。 5、熟练使用赋值运算、算术运算等表达式。 6、熟练使用标准输入、输出函数及各种数据类型的格式说明符。 二、实验内容 1、下面C语言程序,其功能是显示字符串“欢迎同学们来到华北水院计算中心!”。 请同学们按照下面的实验指导学习VisualC++6.0的使用。 1.启动VisualC++6.0开发环境 (1)单击“开始”按钮,选择“程序” ——〉“Microsoft Visual Studio 6.0菜单项,单击“MicrosoftVisualC++6.0”,屏幕出现标题为“当时的提示”的窗口。 (2)单击“结束”按钮,关闭窗口,进入VC6.0开发环境的主窗口。 2.使用Visual C++6.0对一个C程序进行编辑、编译、连接和运行。 ⑴分析 Visual C++6.0中程序的开发过程与其它高级语言的开发过程相仿,都要经过编辑、编译、连接和运行四个步骤。 ⑵步骤 ①编辑

图1-1 New对话框 编辑是将C源程序输入计算机的过程。在Visual C++6.0主界面下,点击File菜单,选择New菜单项,即可出现New对话框,如图1-1所示。在弹出窗口中的Files标签页下,选择C ++ Source File。在选项卡右面的File编辑框里输入文件名如“Exa.c”,在Location编辑框里输入文件路径,如“d:\test”。点击OK按钮。将出现编辑窗口,如图1-2所示。在图1-2所示的 右端编辑窗口里输入以下C源程序并保存文件。 图1-2 编辑窗口 ②编译 编译是使用系统提供的编译器将文本文件Exa.c生成机器语言的过程,结果为Exa.obj,由 于没有得到系统分配的绝对地址,还不能直接运行,如图1-3所示。选择Build菜单下的Co mpile Exa.c,计算机将完成对当前源程序的编译。按提示建立默认工程空间。编译无错时,将源程序Exa.c编译为目标文件Exa.obj。编译结果如图1-4所示。如果出现运行错误,应该分析错误的原因,例如,是输入数据错误,还是代码错误;如果需要修改源程序文件,还需重 新编译、链接和执行。改正编译窗口下方指出的两个错误,直至编译成功,如图1-5所示。

c语言上机考试

去年的c语言上机考试,是题库的题 四、编写程序题及参考答案 【4.41】从键盘输入十个整数,用插入法对输入的数据按照从小到大的顺序进行排序,将排序后的结果输出。 【4.42】输入一个正整数,要求以相反的顺序输出该数。例如输入12345,输出位54321。 【4.43】编写程序,读入一个整数N;若N为非负数,则计算N到2×N之间的整数和;若N为一个负数,则求2×N到N之间的整数和。分别利用for和while写出两个程序。 【4.44】求解爱因斯坦数学题。有一条长阶梯,若每步跨2阶,则最后剩余1阶,若每步跨3阶,则最后剩2阶,若每步跨5阶,则最后剩4阶,若每步跨6阶则最后剩5阶,若每步跨7阶,最后才正好一阶不剩。请问,这条阶梯共有多少阶? 【4.45】一个自然数被8除余1,所得的商被8除也余1,再将第二次的商被8除后余7,最后得到一个商为a。又知这个自然数被17除余4,所得的商被17除余15,最后得到一个商是a的2倍。编写程序求这个自然数。 【4.46】编写程序,用二分法求一元二次方程2x3-4x2+3x-6=0在(10,10)区间的根。 【4.47】中国古代科学家祖冲之采用正多边形逼近的割圆法求出了π的值。请编写一程序, 采用割圆法求出π的值,要求精确到小数点之后的第十位。 【4.48】A、B、C、D、E五人在某天夜里合伙去捕鱼,到第二天凌晨时都疲惫不堪,于是各 自找地方睡觉。日上三竿,A第一个醒来,他将鱼分为五份,把多余的一条鱼扔掉,拿走自 己的一份。B第二个醒来,也将鱼分为五份,把多余的一条鱼扔掉,拿走自己的一份。C、D、 E依次醒来,也按同样的方法拿鱼。编写程序求出他们合伙至少捕了多少条鱼。 【4.49】一辆卡车违犯交通规则,撞人逃跑。现场三人目击事件,但都没记住车号,只记下 车号的一些特征。甲说:牌照的前两位数字是相同的;乙说:牌照的后两位数字是相同的; 丙是位数学家,他说:四位的车号刚好是一个整数的平方。请根据以上线索求出车号。 【4.50】若一个口袋中放有12个球,其中有3个红的,3个白的和6个黑的,每次从中任取 8个球,编写程序求出共有多少种不同的颜色搭配。 【4.51】100匹马驮100担货,大马一匹驮3担,中马一匹驮2担,小马两匹驮1担。试编 写程序计算大、中、小马的数目。 【4.52】编写程序,输出用一元人民币兑换成1分、2分和5分硬币的不同兑换方法。

大学本科C语言上机考试题

C语言程序设计上机考试题 班级::学号: 使用C语言编写下列程序(20分×5=100分) 1、输入3个整型数据,求出最大数和最小数。 #include int main() {int a,b,c,e,d,f,g; printf("请输入三个数\n"); scanf("%d,%d,%d",&a,&b,&c); d=(a>b?a:b); e=(d>c?d:c); printf("Max is %d\n",e); f=(a int main() {float score; char grade; printf("请输入学生成绩:"); scanf("%f",&score); while(score>100||score<0)); {printf("\n输入有误,请输入); scanf("%f",&score); } switch((int)(score/10)) {case 10: case 9:grade='A';break; case 8:grade='B';break; case 7:grade='C';break; case 6:grade='D';break;

case 5: case 4: case 3: case 2: case 1: case 0:grade='E'; } printf("成绩是%5.1f,相应的等级是%c\n",score.grade); return 0; } 3、编写一个四则运算程序,输出计算结果。 #include int main() {int c,d,e; float a,b,f; printf("请输入两个数"); scanf("%f,%f",&a,&b); c=a+b; d=a-b; e=a*b; f=a/b; printf("加法结果为%d\n",c); printf("减法结果为%d\n",d); printf("乘法结果为%d\n",e); printf("除法结果为%f\n",f); return 0; } 4.100以的素数 从键盘输入一个正整数,判断该整数是否为素数。 #include int main() { int n,i; printf("\n"); scanf("%d",&n); for (i=2;i<=n-1;i++) if(n%i==0) break; if(i

C语言上机考试

一、单项选择 1.题号:4889 以下函数调用语句中,实参的个数是(). exce((v1,v2),(v3,v4,v5),v6); A、3 B、4 C、5 D、6 A、可以在同一个函数中,出现多次 B、在主函数和其他函数中,均可出现 C、必须在每个函数中,出现 D、只能在除主函数之外的函数中,出现一次 A、该数组的首地址 B、该数组的元素个数 C、该数组中各元素的值 D、该数组的长度 答案:A 2.题号:4525 在C语言的函数中,下列正确的说法是(). A、数组名不能作形参 B、可以有也可以没有形参 C、形参必须是变量名 D、必须有形参 答案:B 3.题号:4083 以下正确的函数定义形式是(). A、double fun(int x,int y)

B、#include"" C、scanf D、printf 答案:A 4.题号:4048 下面对函数的叙述,正确的是(). A、函数中无论是否有return语句,都能返回正确值 B、函数中没有return语句,说明不带回值 C、函数不能嵌套定义 D、函数的返回值是通过return语句获得的 答案:C 5.题号:4073 在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是(). A、传递方式由用户指定 B、由实参传给形参,再由形参传回实参 C、地址传递 D、单向值传递 答案:D 6.题号:5119 下列关于函数的叙述中正确的是(). A、每个函数都可以单独运行 A、5 B、3 C、2 D、4 答案:C 7.题号:4901

A、static B、register C、auto D、extern 答案:C 8.题号:4507 C语言规定,在一个源程序中,main()函数的位置. A、必须在最开始 B、必须在系统调用的库函数的后面 C、可以任意 D、必须在最后 答案:C 9.题号:4847 以下叙述中,正确的是(). A、main()可作为用户标识符,用以命名任意一个函数作为主函数 B、C语言程序将从源程序中,第一个函数开始执行 C、可以在程序中,由用户指定任意一个函数作为主函数,程序将从此开始执行 D、C语言规定必须用main()作为主函数名,程序将从此开始执行,在此结束 答案:D 10.题号:5137 以下函数的类型是 fff(float x) { printf("%d\n",x); }

相关文档
最新文档