全国计算机等级二级C语言上机编程题题型

合集下载

计算机二级考试c语言考试真题及答案

计算机二级考试c语言考试真题及答案

计算机二级考试c语言考试真题及答案一、单项选择题(每题2分,共20分)1. 在C语言中,以下哪个关键字用于声明一个函数?A. intB. voidC. returnD. function答案:A2. 若有定义:int a=5, b=10; 则以下哪个表达式的值不为5?A. a+bB. a-bC. a*bD. a/b答案:C3. 在C语言中,以下哪个选项不是标准输入输出库函数?A. printf()B. scanf()C. puts()D. strcat()答案:D4. 下列哪个选项是C语言中的合法标识符?A. 2variableB. variable2C. _variableD. variable-2答案:B5. 若有定义:char c='A'; 则以下哪个表达式的值不为65?A. cB. 'A'C. "A"D. '\101'答案:C6. 在C语言中,以下哪个选项表示逻辑“与”操作?A. &&B. ||C. !D. =答案:A7. 在C语言中,以下哪个选项是正确的字符串声明?A. char str[5] = "ABCDE";B. char str[5] = {'A', 'B', 'C', 'D', 'E'};C. char str[5] = {'A', 'B', 'C', 'D'};D. char str[5] = "ABC" "DE";答案:D8. 若有定义:int x=10; 则以下哪个表达式的值不为10?A. x++B. x--C. ++xD. --x答案:D9. 在C语言中,以下哪个选项是正确的二维数组声明?A. int array[3][2];B. int array[][] = {1, 2, 3};C. int array[3][];D. int array[2, 3];答案:A10. 在C语言中,以下哪个选项是正确的文件操作函数?A. fopen()B. fclose()C. fgetc()D. All of the above答案:D二、程序填空题(每空2分,共20分)给定以下程序片段,请在空白处填入正确的代码。

计算机二级C上机考试题库及答案

计算机二级C上机考试题库及答案

计算机二级C上机考试题库及答案一、单项选择题(每题1分,共10分)1. 在C语言中,以下哪个选项是正确的字符串定义方式?A. char str[] = "Hello, World!";B. char str[] = {'H', 'e', 'l', 'l', 'o', ',', ' ', 'W', 'o', 'r', 'l', 'd', '!', '\0'};C. char str[] = {"Hello, World!"};D. char str[] = "Hello, World!";答案:A2. 下列哪个函数用于将字符串s1复制到s2中?A. strcat(s1, s2);B. strcpy(s1, s2);C. strcmp(s1, s2);D. strncpy(s1, s2, n);答案:B3. 在C语言中,以下哪个关键字用于声明一个函数?A. intB. voidC. returnD. function答案:A4. 如果一个变量被声明为static int,那么这个变量的生命周期是?A. 只在函数调用期间B. 程序运行期间C. 只在程序启动时D. 只在程序结束时答案:B5. 在C语言中,以下哪个运算符用于计算两个整数的差?A. +B. -C. *D. /答案:B6. 以下哪个选项不是C语言中合法的标识符?A. _myVarB. my_varC. 2ndVarD. var$name答案:C7. 在C语言中,以下哪个选项是正确的数组定义方式?A. int arr[5] = {1, 2, 3, 4, 5};B. int arr[] = {1, 2, 3, 4, 5};C. int arr[5] = {1, 2, 3};D. int arr[] = {1, 2, 3, 4};答案:A8. 以下哪个选项是正确的C语言注释方式?A. /* This is a comment */B. // This is a commentC. //* This is a commentD. /* This is a comment */答案:A9. 在C语言中,以下哪个选项是正确的多行字符串定义方式?A. char str[] = "Line1\nLine2";B. char str[] = 'Line1\nLine2';C. char str[] = "Line1\nLine2";D. char str[] = "Line1\nLine2";答案:A10. 在C语言中,以下哪个选项是正确的结构体定义方式?A. struct Student {int id;char name[50];};B. struct Student {int id;char name[];};C. struct Student {int id;char name[50] = "John Doe";};D. struct Student {int id;char name[];};答案:A二、填空题(每题2分,共20分)1. 在C语言中,使用________运算符可以对变量进行自增操作。

计算机二级《C语言》上机操作试题及答案

计算机二级《C语言》上机操作试题及答案

计算机二级《C语言》上机操作试题及答案计算机二级考试是全国计算机等级考试,四个等级中的一个等级,由教育部考试中心主办,考核计算机基础知识和使用一种高级计算机语言编写程序以及上机调试的基本技能。

下面是店铺收集整理的计算机二级《C语言》上机操作试题及答案,仅供参考,希望能够帮助到大家。

(1)一个栈的初始状态为空。

现将元素1、2、3、4、5、A、B、c、D、E依次入栈,然后再依次出栈,则元素出棱的顺序是( )。

A.12345ABCDEB.EDCBA54321C.ABCDEl2345D.54321EDCBA(2)下列叙述中正确的是( )。

A.循环队列有队头和队尾两个指针,因此,循环队列是非线性结构B.在循环队列中,只需要队头指针就能反映队列中元素的动态变化情况C.在循环队列中,只需要队尾指针就能反映队列中元素的动态变化情况D.循环队列中元素的个数是由队头指针和队尾指针共同决定的'(3)在长度为n的有序线性表中进行二分查找,最坏情况下需要比较的次数是( )。

A.0(n)B.D(n2)C.O(1092n)D.0(nl092n)(4)下列叙述中正确的是( )。

A.顺序存储结构的存储一定是连续的,链式存储结构的存储空间不一定是连续的B.顺序存储结构只针对线性结构,链式存储结构只针对非线性结构C.顺序存储结构能存储有序表,链式存储结构不能存储有序表D.链式存储结构比顺序存储结构节省存储空间(5)数据流图中带有箭头的线段表示的是( )。

A.控制流B.事件驱动C.模块调用D.数据流(6)在软件开发中,需求分析阶段可以使用的工具是( )。

A.N—s图B.DFD图C.PAD图D.程序流程图(7)在面向对象方法中,不属于“对象”基本特点的是( )。

A.一致性B.分类性C.多态性D.标识唯一性(8)一间宿舍可住多个学生,则实体宿舍和学生之间的联系是( )。

A.一对一B.一对多C.多对一D.多对多(9)在数据管理技术发展的三个阶段中,数据共享最好的是( )。

全国计算机等级考试二级C语言上机题库(全)

全国计算机等级考试二级C语言上机题库(全)

int i; for(i=1;i<strlen(ss);i+=2) {if(ss[i]>=’a’&&ss[i]<=’z’) ss[i]-=32; } } 第五套 1. 程序填空 给定程序中,函数 fun 的功能是:计算下式前 n 项的和作为函数值返 回。例如:当形参 n 的值为 10 的时,函数返回:9.6125588。 第一处 s=0; 第二处 for(i=1;i<=n;i++) 第三处 s=s+(2.0*i-1)*(2.0*i+1)/(t*t); 2. 程序修改 给定程序 MODI1.C 中函数 fun 的功能是:统计 substr 所指字符串在 str 所指字符串中出现次数。 /**found**/ for(i=0;str[i];i++) /**found**/ if(substr[k+1]==’\0’) 3. 程序设计 请编写一个函数 fun,它的功能是:根据以下公
for(i=1;i<N;i++) if(max<a[i].s)max=a[i].s; for(i=0;i<N;i++) if(max==a[i].s)b[n++]=a[i]; return n; } 第九套 1. 程序填空 给定程序中,函数 fun 的功能是:计算形参 x 所指数组中 N 个数的平 均值,(规定所有数均为正数),将所指数组中小于平均值的数据移至 数据的前部,大于等于平均数的移至 x 所指数组的后部,平均值作为 函数值返回,在主函数中输出平均值和移动后的数据。 第一处 for(i=0;i<N;i++) av+=x[i]/N 第二处 y[j]=x[i]; x[i]=-1;j++;} 第三处 i++; 2. 程序修改 给定程序 MODI1.C 中函数 fun 的功能是:统计字符串各元音字母 (即:A、E、I、O、U)的个数。注意字母不分大小写。 /**found**/ num[k]=0;

全国计算机等级考试2级C语言上机考试例题讲解PPT课件

全国计算机等级考试2级C语言上机考试例题讲解PPT课件
9
三、上机编程题考点总结
二级C语言上机编程题在二级上机考试中属于较难题型,因 此很多同学都害怕通过不了。综合往年的考试,结合考试大纲, 每年考试的编程题都有一定的规律和方法,只要同学们认真、 熟练掌握做题的方法和技巧,通过考试是没有问题的。
下面介绍常考题型
10
类型一:数学问题,公式类型
[例1]:求小于n能同时被3和7同时整除的所有自然 数之和的平方根。
2级C语言上机考试例题讲解
1
2级考试的上机题型有:
1。填空题(30分,2~3个) 2。改错题(30分,2~3个) 3。程序编写题(40分,一定记得调试运行,否则没分!)
1、2 题是按照每个考点的答案给分的,也就是说只有和标准 答案一致的才是正确的 。虽然和标准答案不同也有可能运行 正确 ,但是也不能得分 。不过不用担心这个 ,因为题目简单 相应的正确答案的种类也少, 所以运行正确就OK ;3题要求 最高、 也最灵活 ,只要能写出符合题目要求功能的代码就可 以得40分。
须把整数1改为1.0;若变量或表达式是整型时,则只能进 行强制类型转换。
5、 字符串类问题 若错误行中有字符串结束符,则特别要注意结束符
有没有写错。注意要区分字符‘o’和数字’0’。
6、 指针类问题 若错误行中有指针变量,并且该变量名之前没有指
针运算符,则一般都是加上指针运算符;
8
7、 函数首部类问题
float fun(int n) {
{ int i,sum=1; double s=1.0; for(i=2;i<=n;i++) {sum=sum+i; s=s+1.0/sum ;} return s;
} }
12
通过上面问题的探讨,大家自己来解决以下两个问题:

计算机2级c语言考试题型

计算机2级c语言考试题型

计算机2级c语言考试题型
1.编写一个程序,在控制台输出1到100之间所有能被3整除且能被
5整除的数字。

2.编写一个函数,输入一个整数n,返回n的阶乘。

3.编写一个程序,从键盘输入一个字符串,然后逆序输出该字符串。

4.编写一个函数,输入一个整数n,判断n是否为素数。

5.编写一个程序,从键盘输入一个字符串,统计该字符串中字母、数
字和其他字符的数量,并输出结果。

6.编写一个函数,输入两个整数a和b,求它们的最大公约数和最小
公倍数。

7.编写一个程序,从文件中读取一些整数,并将这些整数按照从小到
大的顺序输出到另一个文件中。

8.编写一个函数,输入一个字符串,判断该字符串是否为回文字符串。

9.编写一个程序,从键盘输入一个日期(年、月、日),计算该日期
是这一年的第几天。

10.编写一个程序,打印出所有的“水仙花数”。

所谓水仙花数是指
一个三位数,其各位数字的立方和等于该数本身。

例如,153是水仙花数,因为153=1^3+5^3+3^3。

计算机二级c语言考试真题及答案详解

计算机二级c语言考试真题及答案详解

计算机二级c语言考试真题及答案详解一、单项选择题(每题2分,共40分)1. 在C语言中,以下哪个选项是合法的整型常量?A. 0x12B. 0x12.3C. 0x12LD. 0x12.3L答案:A2. 若有定义int a=1, b=2;,则以下哪个表达式的值不为真?A. a<bB. a<=bC. a>bD. a!=b答案:C3. 在C语言中,以下哪个选项是合法的字符串字面量?A. "Hello, World"B. 'Hello, World'C. "Hello, World\n"D. "Hello, World\0"答案:A4. 下列哪个函数不能正确计算数组元素的总和?A. sum = 0; for(i=0; i<n; i++) sum += array[i];B. sum = 0; for(i=0; i<n; i++) sum = sum + array[i];C. sum = 0; for(i=0; i<n; i++) sum = array[i];D. sum = 0; for(i=0; i<n; i++) sum += array[i];答案:C5. 在C语言中,以下哪个选项是合法的函数声明?A. int add(int, int);B. int add();C. int add(int a, int b);D. int add(a, b);答案:C6. 若有定义int a[10];,则以下哪个表达式是合法的数组元素访问?A. a[10]B. a[-1]C. a[3.5]D. a[3]答案:D7. 在C语言中,以下哪个选项是合法的指针声明?A. int *ptr;B. int *ptr[];C. int ptr*;D. int ptr[];答案:A8. 若有定义int x=10;,则以下哪个表达式是合法的赋值语句?A. x = x + 1;B. x = 1 + x;C. x = x++;D. x = ++x;答案:A9. 在C语言中,以下哪个选项是合法的循环语句?A. for(;;)B. while(1)C. do {} while(0)D. for(;;) {}答案:D10. 若有定义int a[5] = {1, 2, 3, 4, 5};,则以下哪个表达式是合法的数组元素访问?A. a[5]B. a[-1]C. a[2.5]D. a[2]答案:D11. 在C语言中,以下哪个选项是合法的switch语句?A. switch(x) { case 1: break; }B. switch(x) { default: break; }C. switch(x) { case 1: case 2: break; }D. switch(x) { case 1: default: break; }答案:C12. 若有定义int x=5;,则以下哪个表达式是合法的自增运算?A. x++;B. ++x;C. x--;D. --x;答案:A13. 在C语言中,以下哪个选项是合法的函数原型声明?A. void func();B. int func(int);C. void func(int a);D. All of the above答案:D14. 若有定义int a=3;,则以下哪个表达式是合法的位运算?A. a & 2B. a | 2C. a ^ 2D. All of the above答案:D15. 在C语言中,以下哪个选项是合法的宏定义?A. #define PI 3.14159B. #define PI 3.14159fC. #define PI 3.14159LD. All of the above答案:A二、编程题(每题30分,共60分)1. 编写一个函数,计算并返回一个整数数组中所有元素的和。

计算机二级C语言上机题库及答案(100套)

计算机二级C语言上机题库及答案(100套)

~计算机二级c 语言上机题库及答案内部资料,切勿外传!.第1 套填空题请补充FUN 函数,FUN 函数的功能是求10 的阶乘。

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

请勿改动主函数main 和其他函数中的任何内容,仅在fun 函数的横线上填入所编写的若干表达式或语句。

试题程序:#include <stdio.h>long fun(int n){if ( 1 )return (n*fun( 2 ));return 3 ;}main(){printf("10!=%ld\n", fun(10));}第1 处填空:n>1 或1<n第2 处填空:n-1第3 处填空:1 或11 或1L改错题下列给定程序的功能是:读入一个整数K(2〈=K〈=10000),打印它的所有因子(即所有为素数的因子)。

例如,若输入整数2310,则应输出:2、3、5、7、11。

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

注意:不要改动main 函数,不得增行或删行,也不得更改程序的结构!试题程序:#include <conio.h>#include <stdio.h>/********found********/IsPrime(int n);{int i, m;m = 1;/********found********/for (i=2; i<n; i++)if !(n%i){m = 0;break;}return(m);}main(){int j, k;printf("\nplease enter an integer number between 2and 10000:");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(" %4d,", j);printf("\n");}第1 处:Isprime(int n);应改为Isprime(int n)第2 处:if !(n%i)应该为if(!(n%i))编程题M 个人的成绩存放在score 数组中,请编写函数fun,它的功能是:返回低于平均分的认输,并将低于平均分的分数放在below 所指的数组中。

全国计算机等级二级C语言上机编程题

全国计算机等级二级C语言上机编程题

全国计算机等级二级C语言上机编程题题型第1题函数fun的功能是:将n个人员的考试成绩进行分段统计,考试成绩放在a 数组中,各分数段的人数存到b数组中:成绩为60到69的人数存到b[0]中,成绩为70到79的人数存到b[1],成绩为80到89的人数存到b[2],成绩为90到99的人数存到b[3],成绩为100的人数存到b[4],成绩为60分以下的人数存到b[5]中。

例如,当a数组中的数据是:93、85、77、68、59、43、94、75、98。

调用该函数后,b数组中存放的数据应是:1、2、1、3、0、2。

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

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

Prog1.c#include#includevoid fun(int a[], int b[], int n){}main(){ int i, a[100]={ 93, 85, 77, 68, 59, 43, 94, 75, 98}, b[6];clrscr();fun(a, b, 9);printf("the result is: ");for (i=0; i<6; i++) printf("%d ", b[i]);printf("\n");NONO();}NONO( ){/* 本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。

*/ FILE *rf, *wf ;int a[100], b[6], i, j ;rf = fopen("in1.dat", "r") ;wf = fopen("bc01.dat","w") ;for(i = 0 ; i < 10 ; i++) {for(j = 0 ; j < 10 ; j++) fscanf(rf, "%d,", &a[j]) ;fun(a, b, 9) ;for(j = 0 ; j < 6 ; j++) fprintf(wf, "%d ", b[j]) ;fprintf(wf, "\n") ;}fclose(rf) ;fclose(wf) ;}程序参考答案void fun(int a[], int b[], int n){int i;for (i=0; i<6; i++) b[i] = 0;for (i=0; iif (a[i] < 60) b[5]++;else b[(a[i]- 60)/10]++;}第2题函数fun的功能是:统计各年龄段的人数并存到b数组中,n个人员的年龄放在a数组中。

计算机二级C语言上机题型总结

计算机二级C语言上机题型总结

计算机二级C语言上机题型总结一)“******”问题1、将字符串中的前导*号全部删除,中间和后面的*号不删除。

void fun(char *a){char *p=a;while(*p= =’*’) p++;for( ; *p!=’\0’;p++,a++)*a=*p;*a=’\0’;}2、只删中间*int i;for(i=0;a[i]= =’*’;i++)for( ;h<p;h++)if(*h!=’*’)a[i++]=*h;for( ;*p;p++)a[i++]=*p;a[i]=’\0’;3、只删尾*while(*a!=’\0’)a++;a--;while(*a= =’*’)a--;*(a+1)=’\0’;4、只留前*int i , j=0;for(i=0;a=’*’;i++); j=i;for( ;a;i++)if(a!=’*’)a[j++]=a[i];a[j]=’\0’;5、只留中间*int i,j=0;for(i=h;i<n-e;i++) a[j++]=a[i];a[j]=’\0’;6、只留尾*char *t=a;for( ; t<=p;t++)if(*t!=’*’)*(a++)=*t;for( ;t!=’\0’;t++)*(a++)=*t;*a=’\0’;7、*个数>n个,删多余的*;*个数<=n个,不做任何处理。

int i=0, k=0;char *p,*t;p=t=a;while(*t= =’*’){k++;t++;}if(k>n){while(*p){a[i]=*(p+k-n);i++;p++}a[i]=’\0’;}(二)移动问题1、若一维数组中有n个整数,要求把下标从p到n-1(p<=n-1)的元素平移到数组前面。

int i,j,t;for(i=p;i<=n-1;i++){t=w[n-1];for(j=n-2;j>=0;j--)w[j+1]=w[j];w[0]=t;}2、把下标从0到p(p<=n-1)的元素平移到数组最后。

全国计算机等级二级c语言上机编程题题型(National computer grade two, C language programming questions)

全国计算机等级二级c语言上机编程题题型(National computer grade two, C language programming questions)

全国计算机等级二级c语言上机编程题题型(National computer grade two, C language programming questions)First questionsImproving the function of the function of fun is: n personnel examination results of subsection statistics, scores on the a array, the number of the fraction of the deposit to the B array: the results for the number of 60 to 69 to b[0], 70 to 79 of the number of results for the deposit to the b[1], the number of results 80 to 89 of the deposit to the b[2], the number of results for the 90 to 99 deposit to the b[3], the number of results for the 100 deposit to the b[4], the number of scores below 60 points are stored in b[5].The brand for example, when the data in the array is a:Which was 93, 85, 77, 68, 59, 43, 94, 75, 98.Which was after this call, the data stored in the B array should be:Which was 1, 2, 1, 3, 0, 2.Note: there is a file which was part of the PROG1.C source program.Do not change any content of the brand main function and other function, only fill a number of statements you write the braces in the function fun.Which was Prog1.cWhich was #includeWhich was #includeAPThe brand of void fun (int a[], int b[], int n){APAPAP}APAP (main)AP {int i, a[100]={93, 85, 77, 68, 59, 43, 94, 75, 98}, b[6]; AP (clrscr);Which was fun (a, B, 9);The brand printf ("the result is:");AP for (i=0; i<6; i++) printf (%d, b[i]);The brand printf ("\n");AP (NONO);AP}APAP (NONO)Which was {/* the function used to open the file, call the function, input data, output data, close the file. * /The brand FILE *rf, *wf;The brand int a[100], b[6], I, j;Which was RF = fopen ("in1.dat", "R");Which was WF = fopen ("bc01.dat", "W");Which was for (I = 0; I < 10; i++) {Which was for (J = 0; J < 10; j++ fscanf (RF), "%d", &a[j]);Which was fun (a, B, 9);Which was for (J = 0; J < 6; j++) fprintf (WF,%d, b[j]);Which was fprintf (WF, \n);AP}Which was Fclose (RF);Which was Fclose (WF);AP}APAP program reference answerThe brand of void fun (int a[], int b[], int n){APThe brand int i;AP (for i=0; i<6 i++; b[i] = 0);AP for (i=0; I AP if (a[i] < 60) b[5]++;The brand of else b[(a[i]- 60) /10]++;AP}The second questionImproving the function of the fun function is: the number of statistics of all ages to coexist in the B array, n personnel's age on a array. The age of 1 to 9 of the number of deposited in the b[0] age, the number of 10 to 19 of the deposit to theb[1], the age of 20 the number to 29 to b[2], the age of 30 to 39 of the number of deposit to the b[3], the age of 40 to 49 the number of the deposit to the b[4], the number of age over the age of 50. To b[5].The brand for example, when the a array data:Which was 9, 18, 27, 38, 59, 33, 14, 75, 38.Which was after this call, the data stored in the B array should be:Which was 1, 2, 1, 3, 0, 2.Note: there is a file which was part of the PROG1.C source program.Do not change any content of the brand main function and other function, only fill a number of statements you write the braces in the function fun.Which was #includeWhich was #includeAPThe brand of void fun (int a[], int b[], int n){APAPAP}APAP (main)AP {int i, a[100]={9, 18, 27, 38, 59, 33, 14, 75, 38}, b[6]; AP (clrscr);Which was fun (a, B, 9);The brand printf ("The result is:");AP for (i=0; i<6; i++) printf (%d, b[i]);The brand printf ("\n");AP (NONO);AP}APAP (NONO)Which was {/* the function used to open the file, call the function, input data, output data, close the file. * /The brand FILE *rf, *wf;The brand int a[100], b[6], I, j;Which was RF = fopen ("in2.dat", "R");Which was WF = fopen ("bc02.dat", "W");Which was for (I = 0; I < 10; i++) {Which was for (J = 0; J < 10; j++ fscanf (RF), "%d", &a[j]); Which was fun (a, B, 9);Which was for (J = 0; J < 6; j++) fprintf (WF,%d, b[j]); Which was fprintf (WF, \n);AP}Which was Fclose (RF);Which was Fclose (WF);AP}AP program reference answerThe brand of void fun (int a[], int b[], int n){APThe brand int i;AP (for i=0; i<6 i++; b[i] = 0);AP for (i=0; I AP if (a[i] > = 50 b[5]++);The brand else b[a[i]/10]++;AP}The third questionImproving the function of the fun function is: Statistics in the string a, the number of characters specified below, the coexistence of the B array, including: the number of characters' + 'appears to b[0], the number of characters' -' the deposit to the b[1], the number of characters' * 'to the b[2] character' / 'the number of deposit to the b[3], the number of characters' &' the deposit to the b[4], the number of other characters appear are stored in b[5].The brand for example, when the string in the a string:"-+*1-a/&b",Which was after this call, the data stored in B should be: 1, 2, 1, 2, 1, 3.Note: there is a file which was part of the PROG1.C source program.Do not change any content of the brand main function and other function, only fill a number of statements you write the braces in the function fun.APWhich was #includeWhich was #includeWhich was #includeAPThe brand of void fun (char *a, int b[]){APAPAP}APAP (main)AP {int i, b[6]; char a[100] = "-+*1/-a/&b";AP (clrscr);Which was fun (a, B);The brand printf ("The result is:");AP for (i=0; i<6; i++) printf (%d, b[i]);The brand printf ("\n");AP (NONO);AP}APAP (NONO)Which was {/* the function used to open the file, call the function, input data, output data, close the file. * /The brand FILE *rf, *wf;The brand char a[100], *p;The brand int b[6], I, j;Which was RF = fopen ("in6.dat", "R");Which was WF = fopen ("bc06.dat", "W");Which was for (I = 0; I < 10; i++) {Which was fgets (a, 99, RF);Which was p = strchr (a, '\n');Which was if (P) *p = 0;Which was fun (a, B);Which was for (J = 0; J < 6; j++) fprintf (WF,%d, b[j]); Which was fprintf (WF, \n);AP}Which was Fclose (RF);Which was Fclose (WF);AP}APAP program reference answerThe brand of void fun (char *a, int b[]){APThe brand int i;AP (for i=0; i<6 i++; b[i] = 0);AP (for i=0; i< strlen; i++ (a))Which was switch (a[i])Which was the '+' {case: b[0]++; break;The brand 'case' -: b[1]++; break;The brand 'case *': b[2]++; break;The brand "case": break / b[3]++;The brand case '&': b[4]++; break;The brand default: b[5]++;AP}AP}Fourth questionsImproving the function of the function of fun is to reverse n in the a array and B array of n Shuyiyi corresponding results are added in the C array.For example: when the a of the brand value in the array is: 1, 3, 5, 7, 8Improving the b values in the array are: 2, 3, 4, 5, 8Which was after this call, 9, 8, 9, 10, 10 is the data stored in the C arrayNote: there is a file which was part of the PROG1.C source program.Do not change any content of the brand main function and other function, only fill a number of statements you write the braces in the function fun.APWhich was #includeWhich was #includeAPThe brand of void fun (int a[], int b[], int c[], int n){APAPAP}APAP (main)The brand a[100]={1,3,5,7,8}, I {int, b[100]={2,3,4,5,8},c[100];AP (clrscr);Which was fun (a, B, C, 5);The brand printf ("The result is:");AP for (i=0; i<5; i++) printf (%d, c[i]);The brand printf ("\n");AP (NONO);AP}APAP (NONO)Which was {/* the function used to open the file, call the function, input data, output data, close the file. * /The brand FILE *rf, *wf;The brand int a[100], b[100], c[100], I, j;Which was RF = fopen ("in.dat", "R");Which was WF = fopen ("bc01.dat", "W");Which was for (I = 0; I < 5; i++) {为(J = 0;J<5;j++)fscanf(RF,“%d”,和一个[ J ]);为(J = 0;J<5;j++)fscanf(RF,“%d”,与B [ J ]);(A,B,C的乐趣,5);为(J = 0;J<5;j++)fprintf(WF,“%d”,C [ J ]);(WF,“\n”);(RF);(WF);程序参考答案(int [],int b [ ] [ ] C,int,int n);为(i = 0;我5题第函数乐趣的功能是:把一数组中的N个数和B数组中逆序的N个数一一相减,结果存在C数组中。

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

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

第1套一、填空给定函数的功能是调用fun 函数建立班级通讯录。

通讯录记录每位学生的编号,姓名和电话号码。

班级的人数和学生的信息从键盘读入,每个人的信息作为一个数据块写到名为答案yfile5.dat的二进制文件中。

答案:1. STYPE 2. FILE3. fp二、修改先将在字符串s中的字符按正序存放到t串中,然后把s 中的字符按逆序连接到t串后面。

答案:1. for(i = 0 ; i < sl ;i++) 2. t[2*sl] =` 0`; 三、程序将两个两位数的正整数a,答案合并成一个整数放在c中。

合并的方式是:将a数的十位和个位数依次放在c数的千位和十位上,答案数的十位和个位数依次放在c数的百位和个位上。

*c=(a/10)*1000+(b/10)*100+(a%10)*10+(b%10);第2套一、填空从键盘输入若干行文本(每行不超过80个字符),写到文件答案yfile4.txt中,用-1作为字符串输入结束的标记。

然后将文件的内容读出显示在屏幕上。

文件的读写分别有自定义函数ReadText 和WriteText实现。

答案:*fw str str 二、修改从低位开始取出长整形变量s中的奇数位上的数,依次构成一个新数放在t中,高位仍放在高位,低位仍放在低位。

答案:long *t sl =sl*10;三、程序将两个两位数的正整数a,答案合并成一个整数放在c中。

合并的方式:将a数的十位和个位数依次放在c数的千位和十位上,答案数的十位和个位数依次放在c数的百位和个位上。

*c=(b/10)*1000+(a%10)*100+(b%10)*10 +(a/10);第3套一、填空将自然数1~10以及它们的平方根写到名为答案yfile3txt的文本文档中,然后再顺序读出显示在屏幕上。

答案:(1)fp (2)fclose(fp)(3)fname二、修改将n个无序整数从小到大排序。

答案:for(i=j+1;i<n;i++)p=i;三、程序将两个两位数的正整数a,答案合并成一个整数放在c中。

全国计算机等级考试2级C语言上机考试例题讲解

全国计算机等级考试2级C语言上机考试例题讲解
2级C语言上机考试例题讲解 级 语言上机考试例题讲解
2级考试的上机题型有: 级考试的上机题型有: 级考试的上机题型有
1。填空题(30分,2~3个) 。填空题( 分 个 2。改错题(30分,2~3个) 。改错题( 分 个 3。程序编写题(40分,一定记得调试运行,否则没分!) 一定记得调试运行, 。程序编写题( 分 一定记得调试运行 否则没分! 1、 题是按照每个考点的答案给分的, 1、2 题是按照每个考点的答案给分的,也就是说只有和标准 答案一致的才是正确的 。虽然和标准答案不同也有可能运行 正确 ,但是也不能得分 。不过不用担心这个 ,因为题目简单 相应的正确答案的种类也少, 所以运行正确就OK 相应的正确答案的种类也少, 所以运行正确就 ;3题要求 题要求 最高、 最高、 也最灵活 ,只要能写出符合题目要求功能的代码就可 以得40分 以得 分。 出现的问题是: 出现的问题是:有时最后那题就是编不出来 ,前面又错了 就得50分 一点 就得 分……
}
2。删除字符串 。
[例5]:规定输入的字符串中只包含字母和*号。请编写函数 fun,它的功能是:将字符串中的前导*号全部删除,中间和尾部 的*号不删除。例如,若字符串中的内容为 *******A*BC*DEF*G****,删除后,字符串中的内容则应当 是A*BC*DEF*G****。 void fun (char *a) { char *p=a ; while(*p==‘*’) p++; for(; *p!=‘\0’;p++,a++) *a=*p; *a=‘\0’ ; }
练习:fun函数的功能是:在一个字符串中,删除指定 下标的字符,余下的形成一个新串,比如,串a为 “world”,n=3,则输出的字符串为“word”. void fun(char a[], charb[], int n) { int i,k=0 ; for(i=0;a[i]!=‘\0’;i++) {if ( i!=n ) b[k]=a[i]; k++;} b[k]=‘\0 ’;

2级计算机等级考试c语言试题及答案

2级计算机等级考试c语言试题及答案

2级计算机等级考试c语言试题及答案一、选择题(每题2分,共20分)1. 下列哪个选项是C语言中的关键字?A. intB. floatC. stringD. array答案:A2. 在C语言中,用于定义一个字符型变量的关键字是?A. charB. stringC. intD. float答案:A3. 在C语言中,以下哪个运算符用于比较两个值是否相等?A. ==B. =C. !=D. <=答案:A4. C语言中,用于定义一个整型数组的语法是?A. int array[10];B. int [10] array;C. int array=10;D. int array(10);答案:A5. 下列哪个函数用于将字符串转换为浮点数?A. atoi()B. atof()C. itoa()D. sprintf()答案:B二、填空题(每题2分,共20分)1. 在C语言中,定义一个无符号整数变量的关键字是________。

答案:unsigned int2. C语言中,用于计算两个整数相加的运算符是________。

答案:+3. 在C语言中,用于声明一个指针变量的语法是________。

答案:type *var_name;4. C语言中,用于输出字符串的函数是________。

答案:printf("%s", str);5. C语言中,用于定义一个函数的关键字是________。

答案:void 或 int 或其他类型三、简答题(每题10分,共20分)1. 请简述C语言中结构体的定义和作用。

答案:结构体在C语言中用于创建复杂的数据类型,它允许将多个不同类型的数据项组合成一个单一的数据结构。

定义结构体使用关键字struct,后跟结构体的名称和一对花括号,花括号内定义了结构体的成员。

2. 解释C语言中的递归函数是什么,并给出一个简单的例子。

答案:递归函数是在其定义中调用自身的函数。

递归函数通常用于解决可以分解为更小、相似问题的任务。

2020年全国计算机等级考试二级c语言上机精选题库(共60套)

2020年全国计算机等级考试二级c语言上机精选题库(共60套)
r=(r*t+c)%m;
return((double)r/m);
}
main()
{
int age[N], i, d[M];
FILE *out ;
for(i=0; i<N; i++)
age[i]=(int)(115*rnd());
printf("The original data :\n");
for(i=0; i<N; i++)
}
二、改错题
下列给定程序中,函数fun的功能是:根据整型行参m,计算如下公式的值。
y=
例如,若m=2000,则应该输出:0.000160。
请改正程序中的错误,使它能得出正确的结果。
#include <conio.h>
#include <stdio.h>
/********found********/
fun(int m)
h= a[i];
*s =h;
}
main()
{
STU a[N] =
{
{"A01", 81}, {"A02", 89}, {"A03", 66}, {"A04", 87},
{"A05", 77}, {"A06", 90}, {"A07", 79}, {"A08", 61},
{"A09", 80}, {"A10", 71}
printf((i+1)%10==0?"%4d\n":"%4d",age[i]);

全国计算机等级考试二级c语言上机题库

全国计算机等级考试二级c语言上机题库

全国计算机等级考试二级c语言上机题库【例1】给定程序中,函数fun的功能是:将形参n所指变量中,各位上为偶数的数去除,剩余的数按原来从高位到低位的顺序组成一个新的数,并通过形参指针n传回所指变量。

例如,输入一个数:27638496,新的数:为739。

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

注意:源程序存放在考生文件夹下的BLANK1.C中。

不得增行或删行,也不得更改程序的结构!给定源程序:#includevoidfun(unsignedlong*n){unsignedlongx=0,i;intt;i=1;while(*n){t=*n%__1__;if(t%2!=__2__){x=x+t*i;i=i*10;}*n=*n/10;}*n=__3__;}main(){unsignedlongn=-1;while(n>99999999||n<0){printf("Pleaseinput(0fun(&n);printf("\Theresultis:%ld\",n);}解题思路:第一处:t是通过取模的方式来得到*n的个位数字,所以应填:10。

第二处:判断是否是奇数,所以应填:0。

第三处:最后通形参n来返回新数x,所以应填:x。

给定程序MODI1.C中函数fun的功能是:计算n!。

例如,给n输入5,则输出120.000000。

【例2】请改正程序中的错误,使程序能输出正确的结果。

注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!给定源程序:#includedoublefun(intn){doubleresult=1.0;ifn==0return1.0;while(n>1&&n<170)result*=n--returnresult;}main(){intn;printf("InputN:");scanf("%d",&n);printf("\\%d!=%lf\\",n,fun(n));}解题思路:第一处:条件语句书写格式错误,应改为:if(n==0)。

全国计算机等级考试二级C语言程序设计真题精选6(含答案)

全国计算机等级考试二级C语言程序设计真题精选6(含答案)

全国计算机等级考试二级C语言程序设计真题精选6一、单项选择题1.有以下程序:#includ<stdio.h>#defin4voifun(ina[][N],inb[])ini; for(i=0;i<N;i++)b[i]=a[i][i];}main()inx[][N]={{1,2,3},{4},{5,6,7,8},{9,10}},y[N],i; fun(x,y); for(i=0;i<N;i++)printf("%d,",y[i]); printf("");}程序运行的结果是()。

A.1,2,3,4,B.1,0,7,0, √C.1,4,5,9D.3,4,8,0解析:数组x有4列。

fun函数中for循环的作用是将二维数组前4行的对角线元素赋给b[0],b[1],b[2],b[3]。

在主函数中,二维数组初始化为{1,2,3},{4},{5,6,7,8},{9,10},所以可以看出对角线元素为1,0,7,0,。

2.有以下程序:#includ<stdio.h>main()chaa=4; printf("%",a=a<<1);}程序运行的结果是()。

A.40B.16C.8 √D.4解析:左移一位相当于原数乘以2,右移一位相当于除以2。

a<<1结果为4*2=8,没有超过char类型的范围。

3.一个栈的初始状态为空。

现将元素1、2、3、4、5、A、B、C、D、E依次入栈,然后再依次出栈,则元素出栈的顺序是()。

A.12345ABCDEB.EDCBA54321 √C.ABCDE12345D.54321EDCBA解析:栈是按照“先进后出”的原则组织数据的,入栈的顺序为12345ABCDE,则出栈的顺序应为其逆序,即EDCBA54321。

4.有以下程序:#includ<stdio.h>strucstinx,y;data[2]={1,10,2,20};main ()strucs*p=data; printf("%d,",p->y);printf("%",(++p)->x);}程序运行的结果是()。

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

声明:本资料由考试吧()收集整理,转载请注明出自服务:面向校园,提供计算机等级考试,计算机软件水平考试,英语四六级,研究生考试等校园相关考试信息。

特色:提供历年试题,模拟试题,模拟盘,教程,专业课试题下载等。

资料丰富,更新快!考试交流论坛:/考试吧()-第一个极力推崇人性化服务的综合考试网站!服务:面向较高学历人群,提供计算机类,外语类,学历类,资格类,四大类考试的全套考试信息服务.特色:极力推崇人性化服务!让您最便捷的在最短时间内得到对您最有价值考试信息!坚持每日更新!!!全国计算机等级二级C语言上机编程题题型第1题函数fun的功能是:将n个人员的考试成绩进行分段统计,考试成绩放在a 数组中,各分数段的人数存到b数组中:成绩为60到69的人数存到b[0]中,成绩为70到79的人数存到b[1],成绩为80到89的人数存到b[2],成绩为90到99的人数存到b[3],成绩为100的人数存到b[4],成绩为60分以下的人数存到b[5]中。

例如,当a数组中的数据是:93、85、77、68、59、43、94、75、98。

调用该函数后,b数组中存放的数据应是:1、2、1、3、0、2。

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

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

Prog1.c#include#includevoid fun(int a[], int b[], int n){for(int i=0;i<n;i++)}main(){ int i, a[100]={ 93, 85, 77, 68, 59, 43, 94, 75, 98}, b[6];clrscr();fun(a, b, 9);printf("the result is: ");for (i=0; i<6; i++) printf("%d ", b[i]);printf("\n");NONO();}NONO( ){/* 本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。

*/ FILE *rf, *wf ;int a[100], b[6], i, j ;rf = fopen("in1.dat", "r") ;wf = fopen("bc01.dat","w") ;for(i = 0 ; i < 10 ; i++) {for(j = 0 ; j < 10 ; j++) fscanf(rf, "%d,", &a[j]) ;fun(a, b, 9) ;for(j = 0 ; j < 6 ; j++) fprintf(wf, "%d ", b[j]) ;fprintf(wf, "\n") ;}fclose(rf) ;fclose(wf) ;}程序参考答案void fun(int a[], int b[], int n){int i;for (i=0; i<6; i++) b[i] = 0;for (i=0; iif (a[i] < 60) b[5]++;else b[(a[i]- 60)/10]++;}第2题函数fun的功能是:统计各年龄段的人数并存到b数组中,n个人员的年龄放在a数组中。

年龄为1到9的人数存到b[0]中,年龄为10到19的人数存到b[1],年龄为20到29的人数存到b[2],年龄为30到39的人数存到b[3],年龄为40到49的人数存到b[4],年龄为50岁以上的人数存到b[5]中。

例如,当a数组中的数据为:9、18、27、38、59、33、14、75、38。

调用该函数后,b数组中存放的数据应是:1、2、1、3、0、2。

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

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

#include#includevoid fun(int a[], int b[], int n){}main(){ int i, a[100]={ 9, 18, 27, 38, 59, 33, 14, 75, 38}, b[6];clrscr();fun(a, b, 9);printf("The result is: ");for (i=0; i<6; i++) printf("%d ", b[i]);printf("\n");NONO();}NONO( ){/* 本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。

*/ FILE *rf, *wf ;int a[100], b[6], i, j ;rf = fopen("in2.dat", "r") ;wf = fopen("bc02.dat","w") ;for(i = 0 ; i < 10 ; i++) {for(j = 0 ; j < 10 ; j++) fscanf(rf, "%d,", &a[j]) ;fun(a, b, 9) ;for(j = 0 ; j < 6 ; j++) fprintf(wf, "%d ", b[j]) ;fprintf(wf, "\n") ;}fclose(rf) ;fclose(wf) ;}程序参考答案void fun(int a[], int b[], int n){int i;for (i=0; i<6; i++) b[i] = 0;for (i=0; iif (a[i] >= 50) b[5]++;else b[a[i]/10]++;}第3题函数fun的功能是:统计在字符串a中,以下指定字符出现的次数,并存到b数组中,其中:字符'+'出现的次数存到b[0]中,字符'-'出现的次数存到b[1],字符'*'出现的次数存到b[2],字符'/'出现的次数存到b[3],字符'&'出现的次数存到b[4],其它字符出现的次数存到b[5]中。

例如,当a字符串中的字符串为:"-+*1-a/&b"时,调用该函数后,b中存放的数据应是:1、2、1、2、1、3。

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

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

#include#include#includevoid fun(char *a, int b[]){}main(){ int i, b[6]; char a[100] = "-+*1/-a/&b";clrscr();fun(a, b);printf("The result is: ");for (i=0; i<6; i++) printf("%d ", b[i]);printf("\n");NONO();}NONO( ){/* 本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。

*/ FILE *rf, *wf ;char a[100], *p ;int b[6], i, j ;rf = fopen("in6.dat", "r") ;wf = fopen("bc06.dat","w") ;for(i = 0 ; i < 10 ; i++) {fgets(a, 99, rf) ;p = strchr(a, '\n') ;if(p) *p = 0 ;for(j = 0 ; j < 6 ; j++) fprintf(wf, "%d ", b[j]) ;fprintf(wf, "\n") ;}fclose(rf) ;fclose(wf) ;}程序参考答案void fun(char *a, int b[]){int i;for (i=0; i<6; i++) b[i] = 0;for (i=0; i< strlen(a); i++)switch(a[i]){ case '+': b[0]++; break;case '-': b[1]++; break;case '*': b[2]++; break;case '/': b[3]++; break;case '&': b[4]++; break;default: b[5]++;}}第4题函数fun的功能是:把a数组中的n个数和b数组中逆序的n个数一一对应相加,结果存在c数组中。

例如:当a数组中的值是:1、3、5、7、8b数组中的值是:2、3、4、5、8调用该函数后,c数组中存放的数据是9、8、9、10、10注意:部分源程序存在文件PROG1.C中。

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

#include#includevoid fun(int a[], int b[], int c[], int n){}main(){ int i, a[100]={1,3,5,7,8}, b[100]={2,3,4,5,8}, c[100];fun(a, b, c, 5);printf("The result is: ");for (i=0; i<5; i++) printf("%d ", c[i]);printf("\n");NONO();}NONO( ){/* 本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。

*/ FILE *rf, *wf ;int a[100], b[100], c[100], i, j ;rf = fopen("in.dat", "r") ;wf = fopen("bc01.dat","w") ;for(i = 0 ; i < 5 ; i++) {for(j = 0 ; j < 5 ; j++) fscanf(rf, "%d,", &a[j]) ;for(j = 0 ; j < 5 ; j++) fscanf(rf, "%d,", &b[j]) ;fun(a, b, c, 5) ;for(j = 0 ; j < 5 ; j++) fprintf(wf, "%d ", c[j]) ;fprintf(wf, "\n") ;}fclose(rf) ;fclose(wf) ;}程序参考答案void fun(int a[], int b[], int c[], int n){int i;for (i=0; i}第5题函数fun的功能是:把a数组中的n个数和b数组中逆序的n个数一一相减,结果存在c数组中。

相关文档
最新文档