Batdxaz计算机二级C语言上机模拟试题10套(含解析)
国家二级C语言(C语言基础知识)机试模拟试卷10(题后含答案及解析)
国家二级C语言(C语言基础知识)机试模拟试卷10(题后含答案及解析)题型有:1. 选择题选择题1.以下叙述中错误的是A.结构化程序由顺序、分支、循环三种基本结构组成B.C语言是一种结构化程序设计语言C.使用三种基本结构构成的程序只能解决简单问题D.结构化程序设计提倡模块化的设计方法正确答案:C解析:结构化程序由顺序结构、选择结掏和循环结构3种基本结构组成。
已经证明,由3种基本结构组成的算法可以解决任何复杂的问题。
由3种基本结构所构成的算法称为结构化算法:由3种基本结构所构成的程序称为结构化程序。
知识模块:C语言基础知识2.以下不能用于描述算法的是A.程序语句B.E-R图C.伪代码和流程图D.文字叙述正确答案:B解析:E-R图为实体,联系图,提供了表示实体型、属性和联系的方法,用来描述现实世界的概念模型。
描述算法的有流程图,盒图,伪代码,文字描述以及程序代码描述。
知识模块:C语言基础知识3.对于一个正常运行的C程序,以下叙述中正确的是A.程序的执行总是从程序的第一个函数开始,在main函数结束B.程序的执行总是从main函数开始,在程序的最后一个函数中结束C.程序的执行总是从程序的第一个函数开始,在程序的最后一个函数中结束D.程序的执行总是从main函数开始正确答案:D解析:一个C语言源程序无论包括了多少函数,在正常情况下总是从main 函数开始执行,从main函数结束。
知识模块:C语言基础知识4.以下叙述正确的是A.C语言程序是由过程和函数组成的B.C语言函数可以嵌套调用,例如:fun(fun(x))C.C语言函数不可以单独编译D.C语言中除了main函数,其他函数不可作为单独文件形式存在正确答案:B解析:在C语言中,允许函数的嵌套调用,即递归调用。
在C语言中不存在过程的概念,在C语言中函数允许单独编译,可以作为单独的文件形式存在。
知识模块:C语言基础知识5.以下四个程序中,完全正确的是A.#include<stdio.h>main( );{/*/Programming/*/print”programming!\n”):}B.#include<stdio.h>main( ){/*programming*/printf(“progranlming!\n”);}C.#include<stdio.h>main( ){/*/*programming*/*/printf(“programming!\n”);}D.include<stdio.h>main( ){/*programming*/printf(“programming!\n”);}正确答案:B解析:在选项A)中,main( )函数后面的分号是错误的,C语言在函数名后面不能有分号。
计算机二级C语言上机试题库和答案解析(100套)
完美WORD格式计算机二级 c 语言上机题库及答案内部资料,切勿外传!.第 1 套填空题请补充 FUN 函数,FUN 函数的功能是求 10 的阶乘。
注意:部分源程序给出如下。
请勿改动主函数 main 和其他函数中的任何内容,仅在 fun 函数的横线上填入所编写的若干表达式或语句。
试题程序:#include<stdio.h>longfun(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(intn);{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 between2and 10000:");scanf("%d", &k);printf("\n\nThe prime factor(s) of %dis(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语言》考试题库与答案在学习、工作中,我们都离不开试题,借助试题可以检验考试者是否已经具备获得某种资格的基本能力。
什么样的试题才能有效帮助到我们呢?以下是店铺为大家收集的全国计算机二级《C语言》考试题库与答案,欢迎大家分享。
全国计算机二级《C语言》考试题库与答案篇1(1)下列关于栈叙述正确的是( )。
A.栈顶元素最先能被删除B.栈顶元素最后才能被删除C.栈底元素永远不能被删除D.栈底元素最先被删除(2)下列叙述中正确的是( )。
A.在栈中,栈中元素随栈底指针与栈顶指针的变化而动态变化B.在栈中,栈顶指针不变,栈中元素随栈底指针的变化而动态变化C.在栈中,栈底指针不变,栈中元素随栈顶指针的变化而动态变化D.以上说法都不正确某二叉树共有7个结点,其中叶子结点只有l个,则该二叉树的深度为(假设根结点在第1层)( )。
A.3B.4C.6D.7软件按功能可以分为应用软件、系统软件和支撑软件(或工具软件)。
下面属于应用软件的是( ):A.学生成绩管理系统B.c语言编译程序C.UNIX操作系统D.数据库管理系统(5)结构化程序所要求的基本结构不包括( )。
A.顺序结构B.GOT0跳转C.选择(分支)结构D.重复(循环)结构(6)下面描述中错误的是( )。
A.系统总体结构图支持软件系统的详细设计B.软件设计是将软件需求转换为软件表示的过程C.数据结构与数据库设计是软件设计的任务之一D.PAD图是软件详细设计的表示工具(7)负责数据库中查询操作的数据库语言是( )。
A.数据定义语言B.数据管理语言C.数据操纵语言D.数据控制语言一个教师可讲授多门课程,一门课程可由多个教师讲授。
则实体教师和课程间的联系是( )。
A.1:1联系B.1:m联系C.m:1联系D.m:n联系(9)已知大写字母A的ASCIl码值是65,小写字母a的ASCIl码值是97。
以下不能将变量C中的大写字母转换为对应小写字母的语句是( )。
国家二级C语言机试(操作题)模拟试卷365(题后含答案及解析)
国家二级C语言机试(操作题)模拟试卷365(题后含答案及解析) 全部题型 2. 程序填空题 3. 程序修改题 4. 程序设计题程序填空题1.给定程序中,函数fun的功能是:有N×N矩阵,将矩阵的外围元素顺时针旋转。
操作顺序是:首先将第一行元素的值存入临时数组r,然后使第一列成为第一行,最后一行成为第一列,最后一列成为最后一行,临时数组中的元素成为最后一列。
例如,若N=3,有下列矩阵: 1 2 3 计算结果为7 4 1 4 5 6 8 5 2 7 8 9 9 6 3 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANK1.C中。
不得增行或删行,也不得更改程序的结构!1 #include<stdio.h>2 #define N 43 void fun(int(*t)[N])4 { int j,r[N];5 for(j=0;j<N;j++)r[j]=t[0][j];6 for(j=0;j<N;j++)7 /**********found**********/8 t[0][N-j-1]=t[j][__1__];9 for(j=0;j<N;j++)10 t[j][0]=t[N-1][j];11 /**********found**********/12 for(j=N-1;j>=0;__2__)13 t[N-1][N-1-j]=t[j][N-1];14 for(j=N-1;j>=0;j--)15 /**********found**********/16 t[j][N-1]=r[__3__];17 }18 main( )19 {int t[][N]={21,12,13,24,25,16,47,38,29,11,32,54,42,21,33,10},i,j;20 printf(‘‘\nThe original array:\n’’);21 for(2=0;i<N;i++)22 {for(j=0;j<N;j++)printf(‘‘%2d”,t[i][j]);23 printf(‘‘\n’’);24 }25 fun(t);26 printf(‘‘\nThe result is:\n’’);27 for(i=0;i<N;i++)28 { for(j=0;j<N;j++)printf(‘‘%2d’’,t[i][j]);29 printf(‘‘\n’’);30 }31 }正确答案:(1)0 (2)j-- (3)j解析:第一空:由审题分析可知,此处是使第一列成为第一行,即把第一列元素移动到第一行,第一列元素是“t[j][0]”,第一行元素是“t[0][N-j-1]”,故第一空处应为“0”。
计算机等级考试二级C语言模拟试题十套答案
10、3行11、max=(a>b)?a:b; 12、1.00000013、(k=p; 14、6015、int * 16、*z17、1000 10 18、1219、!= 20、return j 计算机等级考试二级C语言模拟试题(6)答案 选 择 题 1-10 D D D A C D D D A C 11-20 D D D C A B D A D D 21-30 B B D C D B A C B C 31-40 C A C D A B C D D A 填 空 题 1-5 时间复杂度和空间复杂度 sqrt(x^2+y^2)/(a+b) 软件工程学 数据模型 关 系 6-10 5 6 0 双精度||double w[i=1] 11-15 -1 852 求书数组元素平均值 9,9,11 max==a[i].s 15 计算机等级考试二级C语言模拟试题(7)答案 选 择 题 1-10 A C B A A D D C C C 11-20 C A B D C C A C A C 21-30 B D C C C B C D D A 31- 40 A D A D D D C A A B 填 空 题 1-5 0 O(nlog2n) 46 软件工具 谓词演算 6-10 8 10 12 31 f 585858 11-15 -850 2 0 row a[row][colum] *s-*t 计算机等级考试二级C语言模拟试题(8)答案 选 择 题 1-10 B B C C C A A A A C 11-20 D C B A B D C A A D 21-30 A D A B B B A A A A 31-35 A C D D D C A C B A 填 空 题 1、边值分析法 2、调试 3、完善性软件维护活动包括以下几类:改正性维护、适应性维护、完善性维护 和预防性维护。改正性维护是指在软件交付使用后,为了识别和纠正软件错误、改正 软件性能上的缺陷、排除实施中的误使用,应当进行的诊断和改正错误的过程;适应 性维护是指为了使软件适应变化,而去修改软件 4、消息 5、升序排列和降序排列 6-10 k=5 double abc 3 2 2 3 '\0' ++ 11-13 7 #include #include !feof(fp) 计算机等级考试二级C语言模拟试题(9)答案 一、选择题: 1-10:DABAACCCDD 11-20:BDCBCCADBC 21-30:BCADDDACCD 31-40:CBDCACABBB 40-50:BCCADCCBDD 二、填空题: 1、链式存储和顺序存储2、自顶而下 3、模块4、逻辑独立性
国家计算机二级C语言上机考试题库
国家计算机二级C语言上机考试题库全国计算机考试上机题库100套第01套:给定程序中,函数fun的功能是:将形参n所指变量中,各位上为偶数的数去除,剩余的数按原来从高位到低位的顺序组成一个新的数,并通过形参指针n传回所指变量。
例如,输入一个数:27638496,新的数:为739。
请在程序的下划线处填入正确的内容并把下划线删除, 使程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANK1.C中。
不得增行或删行,也不得更改程序的结构!给定源程序:#include void fun(unsigned long *n){ unsigned long x=0, i; int t; i=1; while(*n){ t=*n % __1__; if(t%2!= __2__){ x=x+t*i; i=i*10; } *n =*n /10; } *n=__3__; } main() { unsigned long n=-1; while(n>99999999||n double fun ( int n ){ double result =1.0 ; if n = = 0 return1.0 ; while( n >1 /* len为串长,t为正负标识 */ long x=0; len=strlen(p); if(p[0]==1; len--; p++; } else t=1;/* 以下完成数字字符串转换为一个数字 */ return x*t; } main()/* 主函数*/ { char s[6]; long n; printf(“Enter a string:\n“); gets(s); n = fun(s); printf(“%ld\n“,n); NONO ( ); } NONO ( ){/* 本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。
*/ FILE *fp, *wf ; int i ; char s[20] ; long n ; fp = fopen(“c:\\test\\in.dat“,“r“); wf = fopen(“c:\\test\\out.dat“,“w“); for(i = 0 ; i #include long fun ( char *p){ int i, len, t; /* len为串长,t为正负标识 */ long x=0; len=strlen(p); if(p[0]==1; len--; p++; } else t=1; /* 以下完成数字字符串转换为一个数字 */ while(*p) x = x*10-48+(*p++); return x*t; } main()/* 主函数*/ { char s[6]; long n; printf(“Enter a string:\n“); gets(s); n = fun(s); printf(“%ld\n“,n); NONO ( ); } NONO ( ){/* 本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。
计算机二级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语言机试真题十套
一、1、程序填空题函数fun的功能是:计算f(x)=1+x-x^2/.....若x=2.5,函数值为;1.917915 2、程序改错题给定程序MODT1.C中函数fun的功能是:求整数x的y次方的低三位值。
例如,整数5的6次方为15625,此值的低3位值为6253、程序设计题请编写函数fun,其功能是:计算并输出当x<0.97时下列多项式的值,直到|Sn-Sn-1|<0.000001为止。
Sx=1+0.5x+...............例如,在主函数中从键盘给x输入0.21后,输出为:s=1.100000答案第01套填空题:【1.1.1】x【1.1.2】n【1.1.3】fabs(t)改错题:【1.2.1】for(i=1;i<=y;i++)【1.2.2】t=t%1000;程序设计题:double fun(double x){int i=0;double s=1,a=1;while(fabs(a)>0.000001){a=a*(0.5-i)*x/(i+1);s+=a;i++;}return s;}二、1、程序填空题函数fun的功能是:统计长整数n的各个位上出现数字1、2、3的次数,并通过外部(全局)变量c1、c2、c3返回主函数。
例如,当n=123114350时,结果应为:c1=3、c2=1、c3=2。
2、程序改错题给定程序MODT1.C中函数fun的功能是:统计一个无符号整数中各位数字值为零的个数,通过形参传回主函数;并把该整数中各位上最大的数字作为函数值返回。
例如,若输入无符号整数30800,则数字值为零的个数为3,各位上数字值最大的是83、程序设计题请编写函数fun,其功能是:计算并输出下列多项式的值:S=1+1/(1*2)+1/(1*2*3)+....+1/(1*2*3 (50)例如,在主函数中从键盘给n输入50后,输出为:s=1.718282。
答案第02套填空题:【2.1.1】n%10【2.1.2】break【2.1.3】break改错题:【2.2.1】if(t==0)【2.2.2】*zero=count;程序设计题:double fun(int n){int i;double s=0,a=1;for(i=1;i<=n;i++){a=a/i;s+=a;}return s;}三、1、程序填空题给定程序中,函数fun的功能是:将形参n中,各位上位偶数的数取出,并按原来从高位到低位相反的顺序组成一个新的数,并作为函数值返回。
计算机二级《C语言》模拟试题及答案3篇
计算机二级《C语言》模拟试题及答案第一篇:C语言基础知识1. C语言的发明人是谁?简要介绍一下他的背景。
2. int型变量的取值范围是多少?unsigned int呢?3. 请问下面这段代码输出的结果是什么?char str1[] = "hello";char str2[] = "world";strcat(str1, str2);printf("%s", str1);4. 以下哪些数据类型可以用来存储浮点数?A. floatB. doubleC. long doubleD. char5. 下列代码的输出结果是什么?int a = 1;long b = 2;float c = 3.0;printf("%ld\n", a + b + c);答案:1. C语言的发明人是丹尼斯·里奇(Dennis Ritchie)。
他于1941年出生在美国,是贝尔实验室研究员和计算机科学家。
在20世纪70年代,他和肯·汤普逊(Ken Thompson)合作,发明了UNIX操作系统和C语言。
C语言是一种高级计算机程序语言,在操作系统、编译器、数据库、游戏等领域被广泛使用。
丹尼斯·里奇因发明了C语言,被誉为“计算机编程之父”。
2. int型变量的取值范围是-2147483648到2147483647,unsigned int的取值范围是0到4294967295。
3. 输出结果为“helloworld”。
strcat是C语言的字符串拼接函数,将两个字符串连接成一个字符串。
在拼接之前,需要保证第一个字符串的数组足够大,以容纳两个字符串的内容。
如果第一个字符串不够大,程序会出现内存溢出等问题。
4. A、B、C三个数据类型可以用来存储浮点数。
5. 输出结果为“6”。
在printf函数中,%ld表示输出长整型数据,而c是一个float型变量。
全国计算机二级机试题模拟题10套
全国计算机二级机试题模拟题10套模拟1一、Word部分:某高校为了使学生更好地进行职场定位和职业准备,提高就业能力,该校学工处将于2010年4月29日(星期五)19:30-21:30在校国际会议中心举办题为"领慧讲堂--大学生人生规划"就业讲座,特别邀请资深媒体人、著名艺术评论家赵蕈先生担任演讲嘉宾。
请根据上述活动的描述,利用Microsoft Word 制作一份宣传海报(宣传海报的参考样式请参考"Word-海报参考样式.docx"文件),要求如下:1. 调整文档版面,要求页面高度35厘米,页面宽度27厘米,页边距(上、下)为5厘米,页边距(左、右)为3厘米,并将考生文件夹下的图片"Word-海报背景图片.jpg"设置为海报背景。
2. 根据"Word-海报参考样式.docx"文件,调整海报内容文字的字号、字体和颜色。
3. 根据页面布局需要,调整海报内容中"报告题目"、"报告人"、"报告日期"、"报告时间"、"报告地点"信息的段落间距。
4. 在"报告人:"位置后面输入报告人姓名(赵蕈)。
5. 在"主办:校学工处"位置后另起一页,并设置第2页的页面纸张大小为A4篇幅,纸张方向设置为"横向",页边距为"普通"页边距定义。
6. 在新页面的"日程安排"段落下面,复制本次活动的日程安排表(请参考"Word-活动日程安排.xlsx"文件),要求表格内容引用Excel文件中的内容,如若Excel文件中的内容发生变化,Word文档中的日程安排信息随之发生变化。
7. 在新页面的"报名流程"段落下面,利用SmartArt,制作本次活动的报名流程(学工处报名、确认坐席、领取资料、领取门票)。
国家二级(C语言)机试模拟试卷20(题后含答案及解析)_0
国家二级(C语言)机试模拟试卷20(题后含答案及解析)题型有:1. 程序填空题 2. 程序修改题 3. 程序设计题程序填空题(30分)1.请补充函数fun( ),该函数的功能是求一维数组x[N]的平均值,并对所得结果进行四舍五入(保留两位小数)。
例如:当x[10]={15.6, 19.9, 16.7, 15.2,18.3,12.1,15.5,11.0,10.0, 16.0},结果为:avg=15.030000。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仪在函数fun的横线上填入所编写的若干表达式或语句。
试题程序:#include<stdio.h>#include<conio.h>double fun(double x[10]) { int i;long t;double avg=0.0;double sum=0.0;for(i=0;i<l0;i++) 【】;avg=sum/10;avg=【】;t=【】;avg=(double)t/100;return avg;} main( ) { double avg,x[10]={15.6,19.9,16.7,15.2,18.3,12.1,15.5,11.0,10.0,16.0};int i;clrscr( );printf(“\nThe original data is:\n”);for(i=0;i<l0;i++) printf(“%6.lf”,x[i]);printf(“\n\n”);avg=fun(x);printf(“average=%f\n\n”,avg);}正确答案:sum+=x[i]avg*1000(avg+5)/10解析:第一空:通过for循环求出10个数的累加和,存于变量sum中。
第二空:为了实现四舍五入保留两位小数的功能,应将平均值先扩大1000倍。
第三空:将平均值加上5,再除以10,实现四舍五入的功能。
程序修改题(30分)2.下列给定程序中函数fun( )的功能是;从低位开始取出长整型变量s 中奇数位上的数,依次构成一个新数放在t中。
全国计算机二级C语言上机考试全真题库
含金量保证高第一套1.程序填空给定程序中,函数fun的功能是:将形参n所指变量中,各位上为偶数的数去除,剩余的数按原来从高位到低位的顺序组成一个新的数,并通过形参指针n传回所指变量。
如输入一个数:27638496,新的数为729第一空:{ t=*n%10;第二空:if(t%2!=0)第三空:*n=x;2.程序修改给定程序modi1.c中函数fun的功能是:计算n!。
例如,给n输入5,则输出120.000000。
double fun(int n ){ double result=1.0;/*****found******/if(n==0)return 1.0;while(n>1&&n<170)/*****found******/result*=n--;return result;}3.程序设计请编写一个函数fun,它的功能是:将一个数字字符串转换为一个整数(不得调用C语言提供的将字符串转换为整数的函数)。
例如,若输入字符串“-1234”,则函数把它转换为整数值-1234。
long fun(char *p){int i,len,t;long x=0;len=strlen(p);if(p[0]==’-‘){ t=-1;len--;p++;}else t=1;while(*p)x=x*10-48+(*p++);return x*t;}第二套1. 给定程序中,函数fun的功能是将形参给定的字符串、整数、浮点数写到文本文件中,再用字符方式从此文本文件中逐个读入并显示在终端屏幕上。
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANK1.C中。
第1 处 FILE * fp;第2 处 while (!feof(fp)) {第3 处 putchar(ch); ch = fgetc(fp); }2.程序修改给定程序MODI1.C中函数fun的功能是:依次取出字符串中所有数字字符,形成新的字符串,并取代原字符串。
国家计算机2级等级考试C语言上机编程100题库必备
国家计算机2级等级考试-C语言上机编程100题库-必备-(1)1: 第1题 m个人的成绩存放在score数组中,请编写函数fun,它的功能是:将低于平均分的人作为函数值返回,将低于平均分的分数放在below所指定的函数中。
答案:int fun(int score[],int m,int below[]){int i,k=0,aver=0;for(i=0;i<m;i++)aver+=score[i];aver/=m;for(i=0;i<m;i++)if(score[i]<aver){below[k]=score[i];k++;}return k;}2: 第2题请编写函数fun,它的功能是:求出1到100之内能北7或者11整除,但不能同时北7和11整除的所有证书,并将他们放在a所指的数组中,通过n返回这些数的个数。
答案:void fun(int *a, int *n){int i,j=0;for(i=2;i<1000;i++)if ((i%7==0 || i%11==0) && i%77!=0)a[j++]=i;*n=j;}3: 第3题请编写函数void fun(int x,int pp[],int *n),它的功能是:求出能整除x且不是偶数的各整数,并按从小到大的顺序放在pp所指的数组中,这些除数的个数通过形参n返回。
答案:void fun(int x, int pp[ ], int *n){int i=1,j=0;k=0,*t=pp;for(i=0;i<=x;i++)if(i%2!=0){t[j]=I;j++;}for(i=0;i<j;i++)if(x%t[i]==0){ pp[k]=t[i];k++;}*n=k;}4: 第4题请编写一个函数void fun(char *tt,int pp[]),统计在tt字符中"a"到"z"26各字母各自出现的次数,并依次放在pp 所指的数组中。
国家二级C语言机试(操作题)模拟试卷10(题后含答案及解析)
国家二级C语言机试(操作题)模拟试卷10(题后含答案及解析) 全部题型 2. 程序填空题 3. 程序修改题 4. 程序设计题程序填空题1.给定程序中,函数fun的功能是:利用指针数组对形参SS所指字符串数组中的字符串按由长到短的顺序排序,并输出排序结果。
ss所指字符串数组中共有N个字符串,且串长小于M。
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANK1.C中。
不得增行或删行,也不得更改程序的结构!#include <stdio.h >#include <string.h>#define N 5#define M 8void fun(char (*ss)[M]){ char *ps[N],*tp;int i,j,k;for(i=0;i<N;i++)ps[i]=ss[i];for(i=0;i<N-1;i++) {/**********found**********/k=___1___;for(j=i+1;j<N;j++)/**********found**********/if(strlen(ps[k]) <strlen(___2___)) k=j;/**********found**********/tp=ps[i];ps[i]=ps[k];ps[k]=___3___;} printf(“\nThe string after sorting by length:\n\n”);for(i=0;i<N;i++)puts(ps[i]);}main( ){ char ch[N][M]={“red”,”green”,”blue”,”yellow”,”black”};int i;printf(“\nThe original string\n\n”);for(i=0;i<N;i++)puts(ch[i]);printf(“\n”);fun(ch);}正确答案:(1)i(2)ps[j](3)tp解析:第一空:分析可知,fun函数采用的选择排序,在第一空处是初始化k。
国家二级(C语言)机试模拟试卷10(题后含答案及解析)_1
国家二级(C语言)机试模拟试卷10(题后含答案及解析)题型有:1. 程序填空题 2. 程序修改题 3. 程序设计题程序填空题(30分)1.请补充main函数,该函数的功能是:从键盘输入一个字符串并保存在字符str1中,把字符串str1中下标为偶数的字符保存在字符串str2中并输出。
例如,当str1=“cdefghij”,则str2=“cegi”。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun( )的横线上填入所编写的若干表达式或语句。
试题程序:#include<stdio.h>#include<conio.h>#define LEN 80 main( ) { char str1[LEN],str2 [LEN];char *p1=str1,*p2=str2;int i=0,j=0;clrscr( );printf(“Enter the string:\n”);scanf(【】);printf(“***the origial string***\n”);while(*(p1+j)) {printf(“【】”,*(p1+j));j++;} for(i=0;i<j;i+=2)*p2++=*(str1+i);*p2=‘\0’;printf(“\nThe new string is:%s\n”,【】);}正确答案:”%s”,str1%cstr2解析:第一空:本题考查对标准输入函数scanf( )的调用格式,当输入字符串时,格式控制字符串为“%s”,题目要求输入的字符串保存在str1中,所以地址表列应为字符串的首地址,即为str1。
第二空:本题考查对标准输出函数printf( )的调用格式,当输出为字符型变量时,格式控制字符串为“%c”。
第三空:题目要求将str1中下标为偶数的字符保存在字符串str2中并输出,所以ptintf( )函数的输出表列是str2。
程序修改题(30分)2.下列给定程序中,函数fun( )的功能是:读入一个字符串(长度<20),将该字符串中的所有字符按ASCII码降序排序后输出。
计算机国家二级考试c语言试题及答案
计算机国家二级考试c语言试题及答案一、单项选择题(每题2分,共20分)1. 在C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A2. 若有定义:int a=5, b=2;,则表达式a%b的值是:A. 0B. 1C. 2D. 5答案:B3. 下列哪个选项不是C语言中合法的变量名?A. _sumB. sum$C. 2sumD. sum答案:C4. 在C语言中,以下哪个函数用于将字符串复制到另一个字符串?A. strcpyB. strncpyC. strcatD. strncat5. 若有定义:char c='A';,则变量c占用的内存空间是:A. 1字节B. 2字节C. 4字节D. 8字节答案:A6. 在C语言中,以下哪个选项是正确的文件打开模式?A. "r"B. "w"C. "a"D. "r+"答案:D7. 在C语言中,以下哪个关键字用于声明一个函数?A. voidB. intC. returnD. function答案:A8. 若有定义:int x=10;,则表达式x++的结果是:A. 9B. 10C. 11D. 无法确定答案:B9. 在C语言中,以下哪个选项是正确的字符串比较函数?B. strcpyC. strlenD. strcat答案:A10. 若有定义:int a=3, b=4;,则表达式a<b?a:b的值是:A. 3B. 4C. 7D. 无法确定答案:B二、填空题(每题2分,共20分)1. 在C语言中,使用________关键字可以定义一个指针变量。
答案:*2. 若有定义:int a=5;,则表达式sizeof(a)的值是________字节。
答案:43. 在C语言中,使用________函数可以计算一个字符串的长度。
国家二级(C语言)机试模拟试卷3(题后含答案及解析)_1
国家二级(C语言)机试模拟试卷3(题后含答案及解析)题型有:1. 程序填空题 2. 程序修改题 3. 程序设计题程序填空题(30分)1.数组xx[N]保存着一组3位数的无符号正整数,其元素的个数通过变量num传入函数fun( )。
请补充函数fun( ),该函数的功能是:从数组xx中找出个位和百位的数字相等的所有无符号整数,结果保存在数组yy中,其个数由函数fun( )返回。
例如:当xx[8]={135,78,72,32,222,424,333,141,541}时,bb[6]={787,232,222,424,333,141}。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun( )的横线上填入所编写的若干表达式或语句。
试题程序:#include <conio.h>#define N 1000 int fun(int xx[],int bb[],int num) { int i,n=0;int g,b;for(i:0;i<num;i++) { g=【】;b=xx[i]/100;if(g==b) 【】;} return【】;} main( ) { int xx[8]={135,787,232,222,424,333,141,541};int YY[N];int num=0,n=0,i=0;num=8;clrscr( );printf(“*** original data ***\n”);for(i=0;i<num;i++)printf(“%u”,xx[i]);printf(“\n\n\n”);n=fun(xx,yy,num);printf(“\nyy=“);for(i=0;i<n;i++)printf(“%u”,YY[i]);}正确答案:xx[i]%10bb[n++]=xx[i]n解析:第一空:变量b存放了三位数的百位数字,所以变量g应该存放三位数的个位数字,将这个三位数对10求余,则得到这个数的个位数字。
历年全国计算机等级考试二级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<N; i++)/**********found**********/fwrite(&std[i], sizeof(STYPE), 1, ___3___);fclose(fp);return (1);}修改给定程序MODI1.C中函数fun的功能是:先将在字符串s中的字符按正序存放到t串中,然后把s中的字符按逆序连接到t串后面。
例如:当s中的字符串为:“ABCDE”时,则他中的字符串应为:“ABCDEEDCBA”。
请改正程序中的错误,使他能得出正确的结果。
注意:不要改动main函数,不能增行或删行,也不得更改程序的结构!void fun (char *s, char *t){ int i, sl;sl = strlen(s);/************found************/for( i=0; i<=s1; i ++)t[i] = s[i];for (i=0; i<sl; i++)t[sl+i] = s[sl-i-1];/************found************/t[sl] = '\0';}程序函数fun的功能是:将两个两位数的正整数a,b合并成一个整数放在c中。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
生命中,不断地有人离开或进入。
于是,看见的,看不见的;记住的,遗忘了。
生命中,不断地有得到和失落。
于是,看不见的,看见了;遗忘的,记住了。
然而,看不见的,是不是就等于不存在?记住的,是不是永远不会消失?模拟试题(一)1.填空题请补充函数fun(),该函数的功能是:把从主函数中输入的字符串str2接在字符串str1的后面。
例如:str1=“How do”,str2=“ you do?”,结果输出:How do you do?注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的横线上填入所编写的若干表达式或语句。
试题程序:#include<stdio.h>#include<conio.h>#define N 40void fun(char *str1,char *str2){int i=0;char *p1=str1;char *p2=str2;while(【1】)i++;for( ;【2】;i++)*(p1+i)=【3】;*(p1+i)='\0';}main(){char str1[N],str2[N];clrscr();printf("*****Input the string str1 &str2*****\n");printf(" \nstr1:");gets(str1);printf(" \nstr2:");gets(str2);printf("**The string str1 & str2**\n");puts(str1);puts(str2);fun(str1,str2);printf("*****The new string *****\n");puts(str1);}答案及评析:【1】*(p1+i) 【2】*p2 【3】*p2++【解析】填空1:变量i用来记录字符串str1的长度,当指针指到字符串str1结束标志符…\0'时,while循环结束,变量i停止累加。
填空2:指针p2指向字符串str2,通过for循环将字符串str2接在str1后面,循环结束的条件是指针p2所指的字符是字符串结束标志符…\0'。
填空3:指针p2最初指向字符串str2的首字符,通过自加1,使指针p2依次向后移动,指向str2的各个字符,实现将字符串str2接在str1后面的功能。
2. 改错题下列给定程序中,函数fun()的作用是:将字符串tt中的小写字母都改为对应的大写字母,其他字符不变。
例如,若输入"edS,dAd",则输出"EDS,DAD"。
请改正程序中的错误,使它能得到正确结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。
试题程序:#include <stdio.h>#include <string.h>#include <conio.h>/**********************found***********************/char fun(char tt[]){int i;for(i=0;tt[i];i++){/**********************found***********************/if((tt[i]>='A')&&(tt[i]<= 'Z'))tt[i]-=32;}return(tt);}{int i;char tt[81];clrscr();printf("\nPlease enter a string: ");gets(tt);printf("\nThe result string is: \n%s",fun(tt));}答案及评析:(1)错误:char fun(char tt[])正确:char *fun(char tt[])(2)错误:if((tt[i]>='A')&&(tt[i]<= 'Z'))正确:if((tt[i]>='a')&&(tt[i]<= 'z'))【解析】错误1:函数的返回值是字符串的首地址,是指针类型,所以在函数名前要加'*'号。
错误2:题目要求将小写字母改为大写字母,所以if语句的判断条件是小写字母。
3. 编程题请编写函数fun(),该函数的功能是:移动一维数组中的内容,若数组中有n个整数,要求把下标从p到n-1(p≤n-1)的数组元素平移到数组的前面。
例如,一维数组中的原始内容为1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,p的值为6。
移动后,一维数组中的内容应为7,8,9,10,10,11,12,13,14,15,1,2,3,4,5,6。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
试题程序:#include <stdio.h>#define N 80void fun(int *w, int p, int n){}{int a[N]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15};int i, p, n=15;printf("The original data:\n");for(i=0;i<n;i++)printf("%3d",a[i]);printf("\n\nEnter p: ");scanf("%d",&p);fun(a,p,n);printf("\nThe data after moving:\n");for(i=0;i<n;i++)printf("%3d",a[i]);printf("\n\n");}答案及评析:void fun(int *w, int p, int n){int i,j,t;for(i=p;i<=n-1;i++) /*循环右移n-p次*/{t=w[n-1];for(j=n-2;j>=0;j--) /*实现循环右移*/w[j+1]=w[j];w[0]=t;}}【解析】本题采用"循环右移"的算法。
和我们在前面分析的稍有不同的是,一个是整型数组,一个是字符型数组。
模拟试题(二)1.填空题请补充函数fun(),该函数的功能是求一维数组x[N]的平均值,并对所得结果进行四舍五入(保留两位小数)。
例如:当x[10]={15.6,19.9,16.7,15.2,18.3,12.1,15.5,11.0,10.0,16.0},结果为:avg=15.030000。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的横线上填入所编写的若干表达式或语句。
试题程序:#include<stdio.h>#include<conio.h>double fun(double x[10]){int i;long t;double avg=0.0;double sum=0.0;for(i=0;i<10;i++)【1】;avg=sum/10;avg=【2】;t=【3】;avg=(double)t/100;return avg;}main(){double avg,x[10]={15.6,19.9,16.7,15.2,18.3,12.1,15.5,11.0,10.0,16.0};int i;clrscr();printf("\nThe original data is :\n");for(i=0;i<10;i++)printf("%6.1f",x[i]);printf("\n\n");avg=fun(x);printf("average=%f\n\n",avg);}答案及评析:【1】sum+=x[i] 【2】avg*1000 【3】(avg+5)/10【解析】填空1:通过for循环求出10个数的累加和,存于变量sum中。
填空2:为了实现四舍五入保留两位小数的功能,应将平均值先扩大1000倍。
填空3:将平均值加上5,再除以10,实现四舍五入的功能。
2. 改错题下列给定程序中,函数fun()的功能是:先从键盘上输入一个3行3列的矩阵的各个元素的值,然后输出主对角线元素之积。
请改正函数fun()中的错误,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。
试题程序:#include <stdio.h>int fun(){int a[3][3],mul;int i,j;mul=1;for (i=0;i<3;i++){/**********************found***********************/for (i=0;j<3;j++)scanf("%d",&a[i][j]);}for(i=0;i<3;i++)/**********************found***********************/mul=mul*a[i][j];printf("Mul=%d\n",mul);}main(){fun();}答案及评析:(1)错误:for (i=0;j<3;j++)正确:for (j=0;j<3;j++)(2)错误:mul=mul*a[i][j];正确:mul=mul*a[i][i];【解析】错误1:循环结构中,要给变量j赋初值0。
错误2:主对角元素的行号和列号相等,所以参加乘法的是a[i][i],而不是a[i][j]。
3. 编程题学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s 中,请编写函数fun(),它的功能是:把分数最低的学生数据放在h所指的数组中。
注意:分数低的学生可能不只一个,函数返回分数最低学生的人数。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。