2018年全国计算机等级考试二级C 语言真题及答案1
- 格式:doc
- 大小:129.50 KB
- 文档页数:14
2018年上半年全国高等学校(安徽考区)计算机水平考试试卷(二级 C语言程序设计)考生须知:1.请将准考证号末两位填在试卷第3页右上方方框内。
2.不得将试卷及草稿纸带离考场。
3.考试时间为60分钟。
一、程序设计题(每题12分,共36分,将答案填写在相应的下划线处)1、以下程序从键盘输入10个整数,计算并输出其中正数、负数的和。
请填空#include <stdio.h>void main(){int i,num,sum1,sum2;/*sum1存放正数和,sum2存放负数和*/sum1=0;sum2=0;for(i=1;i<=10;i++){scanf("%d",_________);if(__________)sum1=sum1+num;else_____________}printf("%d,%d\n",sum1,sum2);}2、以下程序是求一维数组各元素之和。
请填空。
#include <stdio.h>void main(){int s[10]={1,3,5,7,9,2,4,6,8,10};int i,sum;sum=_____________;for(i=0;i<10;i++)sum+=_________;printf("sum=%d\n",__________);}3、以下程序是把字符串s中所有数字字符按以下规律改写:(1)0、1、2、3、4、5、6、7、8分别对应改成1、2、3、4、5、6、7、8、9;(2)9改成0;(3)其他字符保持不变。
请填空。
#include <stdio.h>void main(){char s[81];int i;gets(________);for(i=0;s[i]!='\0';i++){if(s[i]=='9')s[i]=________;else if(s[i]>='0' &&s[i]<='8')s[i]=__________;}printf("%s\n",s);}二、阅读程序题(每题8分,共32分。
全国计算机二级c语言考试真题及答案一、单项选择题(每题2分,共40分)1. 在C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A2. 若有定义int a[5] = {1, 2, 3, 4, 5};,则a[0]的值是?A. 1B. 2C. 3D. 4答案:A3. 下列哪个选项不是C语言中的控制语句?A. ifB. switchC. whileD. do答案:B4. 在C语言中,以下哪个函数用于计算并返回字符串的长度?A. strlen()B. strcpy()C. strcat()D. strcmp()答案:A5. 若有定义int x = 10;,则表达式x++的值是多少?A. 9B. 10C. 11D. 无法确定答案:B6. 在C语言中,以下哪个关键字用于定义一个联合体?A. structB. unionC. enumD. typedef答案:B7. 下列哪个选项是C语言中的合法整型常量?A. 012B. 0x1AC. 1.2E3D. 0b1010答案:A8. 在C语言中,以下哪个函数用于将字符串复制到另一个字符串?A. strcpy()B. strncpy()C. strcat()D. strcmp()答案:A9. 若有定义int a = 5, b = 10;,则表达式a + b 的值是多少?A. 15B. 5C. 10D. 无法确定答案:A10. 在C语言中,以下哪个关键字用于定义一个枚举类型?A. structB. unionC. enumD. typedef答案:C二、程序填空题(每空2分,共20分)给定以下C语言程序片段,请在空白处填入正确的代码。
```c#include <stdio.h>int main() {int a, b, sum;scanf("%d %d", &a, &b);sum = a + b; // 计算两数之和printf("Sum is: %d\n", sum);return 0;}```若要计算两数之差,请在空白处填入正确的代码。
全国计算机等级考试二级笔试样卷C语言程序设计一、选择题(( 1)~( 10)、(21)~( 40)每题 2 分,(11)~( 20)每题 2 分,共 70 分)以下各题 A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应地点上,答在试卷上不得分。
( 1)以下选项中不切合优秀程序设计风格的是A)源程序要文档化B)数听说明的序次要规范化C)防止滥用 goto 语句D)模块设计要保证高耦合、高内聚( 2)从工程管理角度,软件设计一般分为两步达成,它们是A)纲要设计与详尽设计B)数据设计与接口设计C)软件构造设计与数据设计D)过程设计与数据设计( 3)以下选项中不属于软件生命周期开发阶段任务的是A)软件测试B)纲要设计C)软件保护D)详尽设计( 4)在数据库系统中,用户所见的数据模式为A)观点模式B)外模式C)内模式D)物理模式( 5)数据库设计的四个阶段是:需求剖析、观点设计、逻辑设计和A)编码设计B)测试阶段C)运转阶段 D)物理设计( 6)设有以下三个关系表以下操作中正确的选项是A) T=R∩ S B) T= R∪ SC) T= R× S D) T=R/S( 7)以下表达中正确的选项是A)一个算法的空间复杂度大,则其时间复杂度也必然大B)一个算法的空间复杂度大,则其时间复杂度必然小C)一个算法的时间复杂度大,则其空间复杂度必然小D)上述三种说法都不对( 8)在长度为64 的有序线性表中进行次序查找,最坏状况下需要比较的次数为A)63B)64C)6D)7( 9)数据库技术的根本目标是要解决数据的A)储存问题B)共享问题C)安全问题D)保护问题( 10)对以下二叉树进行中序遍历的结果是A) ACBDFEG B) ACBDFGE C) ABDCGEF D) FCADBEG( 11)以下表达中错误的选项是A)一个 C 语言程序只好实现一种算法B) C 程序能够由多个程序言件构成C) C 程序能够由一个或多个函数构成D)一个 C 函数能够独自作为一个 C 程序言件存在( 12)以下表达中正确的选项是A)每个 C 程序言件中都一定要有一个main()函数B)在 C 程序中 main()函数的地点是固定的C) C 程序中全部函数之间都能够互相调用,与函数所在地点没关D)在 C 程序的函数中不可以定义另一个函数( 13)以下定义变量的语句中错误的选项是A) int _int;B)double int_;C)char For;D) float US$;( 14)若变量A) ++x,y=x--x、y已正确立义并赋值,以下切合 C 语语言法的表达式是B)x+1=y C) x=x+10=x+y D) double(x)/10(15)以下对于逻辑运算符双侧运算对象的表达中正确的选项是A)只好是整数 0 或 1 B)只好是整数0 或非0 整数C)能够是构造体种类的数据D)能够是随意合法的表达式(16)如有定义 int x,y; 并已正确给变量赋值,则以下选项中与表达式 (x-y)?(x++) : (y++)中的条件表达式(x-y) 等价的是A) (x-y>0)B) (x-y<0)C) (x-y<0||x -y>0)D)(x-y==0)( 17)有以下程序main(){ int x, y, z;x=y=1;z=x++,y++,++y;printf("%d,%d,%d\n",x,y,z);}程序运转后的输出结果是A) 2,3,3B) 2,3,2C) 2,3,1D) 2,2,1(18)设有定义: int a;float b;履行scanf("%2d%f",&a,&b);语句时,若从键盘输入 876 543.0<回车 >,a 和 b 的值分别是A) 876 和 543.000000B) 87和 6.000000C) 87 和 543.000000D) 76和 543.000000( 19)有以下程序main(){ int a=0, b=0;a=10;b=20;printf("a+b=%d\n",a+b);/*/* 给 a 赋值给 b 赋值输出计算结果*/*/}程序运转后的输出结果是A) a+b=10B)a+b=30C) 30D)犯错( 20)在嵌套使用if 语句时, C语言规定else 老是A)和以前与其拥有同样缩进地点的if 配对B)和以前与其近来的if 配对C)和以前与其近来的且不带else 的if配对D)和以前的第一个if 配对( 21)以下表达中正确的选项是A) break 语句只好用于switch 语句B)在 switch 语句中一定使用defaultC) break 语句一定与switch 语句中的 case 配对使用D)在 switch 语句中,不必定使用break 语句( 22)有以下程序main(){ int k=5;while( --k) printf("%d",k -= 3);printf("\n");}履行后的输出结果是A) 1B) 2C) 4D)死循环( 23)有以下程序main(){ int i;for(i=1; i<=40; i++){ if(i++%5==0)if(++i%8==0)printf("%d ",i);}printf("\n");}履行后的输出结果是A) 5B) 24C)32D)40( 24)以下选项中,值为 1 的表达式是A) 1– '0'B)1 - '\0'C) '1' -0D) '\0' - '0'( 25)有以下程序fun(int x, int y){ return (x+y); }main(){ int a=1, b=2, c=3, sum;sum=fun((a++,b++,a+b),c++);printf("%d\n",sum);}履行后的输出结果是A) 6B) 7C)8D)9( 26)有以下程序main(){ char s[]="abcde";s+=2;printf("%d\n",s[0]);}履行后的结果是A)输出字符 a 的 ASCII码B)输出字符 c 的 ASCII码C)输出字符 c D)程序犯错( 27)有以下程序fun(int x, int y){ static int m=0, i=2;i+=m+1;m=i+x+y;return m;}main(){ int j=1, m=1, k;k=fun(j,m);printf("%d,",k);k=fun(j,m);printf("%d\n",k);}履行后的输出结果是A)5, 5B) 5, 11C) 11, 11D) 11, 5( 28)有以下程序fun(int x){ int p;if(x==0||x==1)return(3);p=x-fun(x -2);return p;}main(){ printf("%d\n",fun(7)); }履行后的输出结果是A) 7B) 3C) 2D)0( 29)在 16 位编译系统上,如有定义int a[]={10,20,30}, *p=&a; ,当履行 p++;后,下列说法错误的选项是A) p 向高地点移了一个字节B) p 向高地点移了一个储存单元C) p 向高地点移了两个字节D) p 与 a+1 等价( 30)有以下程序main(){ int a=1, b=3, c=5;int*p1=&a, *p2=&b, *p=&c;*p =*p1*(*p2);printf("%d\n",c);}履行后的输出结果是A) 1B) 2C) 3D)4( 31)如有定义: int w[3][5]; ,则以下不可以正确表示该数组元素的表达式是A) *(*w+3)B) *(w+1)[4]C) *(*(w+1))D) *(&w[0][0]+1)( 32)如有以下函数首部int fun(double x[10], int *n)则下边针对此函数的函数申明语句中正确的选项是A) int fun(double x, int *n);B) int fun(double, int );C) int fun(double *x, int n);D) int fun(double *,int *);( 33)有以下程序void change(int k[ ]){ k[0]=k[5]; }main(){ int x[10]={1,2,3,4,5,6,7,8,9,10},n=0;while( n<=4 ) { change( &x[n]) ; n++; }for(n=0; n<5; n++)printf("%d ",x[n]);printf("\n");}程序运转后输出的结果是A)678910B)13579C)12345D)62345( 34)有以下程序main(){ int x[3][2]={0}, i;for(i=0; i<3; i++)scanf("%d",x[i]);printf("%3d%3d%3d\n",x[0][0],x[0][1],x[1][0]);}若运转时输入: 2 4 6<回车 >,则输出结果为A)200B)204C)240D)246( 35)有以下程序int add( int a,int b){ return (a+b);}main(){ int k, (*f)(), a=5,b=10;f=add;}则以下函数调用语句错误的选项是A) k=(*f)(a,b);B)k=add(a,b);C) k= *f(a,b);D) k=f(a,b);( 36)有以下程序#includemain( int argc, char*argv[ ]){ int i=1,n=0;while (iprintf("%d\n",n);}该程序生成的可履行文件名为:proc.exe。
全国计算机等级考试二级C语言笔试试题及答案解析试题一:选择题1. 下列关于C语言的说法,错误的是()A. C语言是一种高级语言B. C语言具有跨平台性C. C语言编译器可以直接生成机器码D. C语言是一种解释型语言答案:D解析:C语言是一种高级语言,具有跨平台性。
编译器将C语言源程序编译成目标代码,然后通过链接器生成可执行文件,这个过程生成的机器码可以被计算机直接执行,因此C语言不是解释型语言。
2. 以下哪个选项不是C语言的基本数据类型?()A. intB. charC. floatD. string答案:D解析:C语言的基本数据类型包括整型(int)、字符型(char)、浮点型(float)和双精度浮点型(double)。
string不是C语言的基本数据类型,而是由字符数组构成的一种自定义类型。
试题二:填空题1. 在C语言中,每个语句的结尾必须使用()符号。
答案:分号(;)解析:在C语言中,每个语句的结尾必须使用分号(;)作为结束符,表示一个语句的结束。
2. 以下程序的输出结果是()。
```c#include <stdio.h>int main() {int a = 5;int b = 3;printf("%d\n", a % b);return 0;}```答案:2解析:在C语言中,取模运算符(%)用于计算两个整数相除的余数。
在本题中,5除以3的余数为2,因此输出结果为2。
试题三:编程题1. 编写一个C程序,实现以下功能:从键盘输入10个整数,计算并输出这些整数的平均值。
```c#include <stdio.h>int main() {int i, num;float sum = 0.0, average;for (i = 0; i < 10; i++) {printf("请输入第%d个整数:", i + 1);scanf("%d", &num);sum += num;}average = sum / 10;printf("这10个整数的平均值为:%.2f\n", average);return 0;}```解析:本题考查了循环语句、输入输出函数等基本知识。
全国计算机等级考试二级c语言题库及答案全国计算机等级考试二级C语言题库及答案1. 以下关于C语言的叙述中,错误的是:A. C语言是一种高级语言B. C语言可以直接被计算机执行C. C语言具有结构化的特点D. C语言支持模块化程序设计答案:B2. 在C语言中,以下哪个关键字用于定义一个函数?A. intB. forC. returnD. void答案:D3. 若有定义:int a=3, b=4; 则表达式 a+b 的值是:A. 7B. 6C. 3.4D. 43答案:A4. 在C语言中,以下哪个选项不是合法的变量名?A. _sumB. sum_C. 2valueD. sum$答案:C5. 在C语言中,以下哪个选项是正确的二维数组声明?A. int array[3][2];B. int array[][];C. int array[3][];D. int array[2,3];答案:A6. 若有定义:char c1='a', c2='b'; 则表达式 c1-c2 的值是:A. -1B. 1C. 97D. 98答案:A7. 在C语言中,以下哪个选项不是合法的字符串字面量?A. "Hello"B. 'Hello'C. "123"D. "C\"Language"答案:B8. 若有定义:int x=10; 则表达式 x++ 的结果是:A. 10B. 11C. 9D. 无法确定答案:A9. 在C语言中,以下哪个关键字用于声明一个指针?A. intB. charC. floatD. pointer答案:B10. 若有定义:int a[5] = {1, 2, 3, 4, 5}; 则表达式 a[2] 的值是:A. 3B. 4C. 5D. 无法确定答案:A11. 在C语言中,以下哪个选项不是合法的循环控制语句?A. forB. whileC. do-whileD. repeat答案:D12. 若有定义:float x=3.14; 则表达式 (int)x 的值是:A. 3B. 3.14C. 4D. 无法确定答案:A13. 在C语言中,以下哪个选项不是合法的函数参数类型?A. intB. floatC. doubleD. void答案:D14. 若有定义:int a=5, b=10; 则表达式 a%b 的值是:A. 5B. 0C. 1D. 无法确定答案:B15. 在C语言中,以下哪个选项不是合法的输入输出函数?A. printfB. scanfC. coutD. getchar答案:C16. 若有定义:int a=2, b=4; 则表达式 a&b 的值是:A. 0B. 2C. 4D. 6答案:B17. 在C语言中,以下哪个选项不是合法的逻辑运算符?A. &&B. ||C. !D. <答案:D18. 若有定义:int a=3; 则表达式 a<<2 的值是:A. 6B. 12C. 9D. 无法确定答案:B19. 在C语言中,以下哪个选项不是合法的文件操作函数?A. fopenB. fcloseC. removeD. delete答案:D20. 若有定义:int a=6; 则表达式 a==6 的值是:A. 1B. 0C. 6D. 无法确定答案:A。
NCRE二级C语言真题与答案一、真题回顾NCRE(National Computer Rank Examination)是全国计算机等级考试,其C语言级别分为一级和二级。
本文将回顾NCRE二级C语言的真题,并给出相应的答案。
1.1 第一题题目描述:请编写一个程序,实现将输入的字符串逆序输出。
示例输入:Hello World!示例输出:!dlroW olleH解答:```c#include <stdio.h>#include <string.h>void reverseString(char * str) {int i, j;char temp;for (i = 0, j = strlen(str) - 1; i < j; i++, j--) {temp = str[i];str[i] = str[j];str[j] = temp;}}int main() {char input[100];printf("请输入一个字符串:");scanf("%s", input);reverseString(input);printf("逆序输出:%s\n", input);return 0;}```1.2 第二题题目描述:请编写一个程序,实现将给定的整数数组按照从小到大的顺序排序。
示例输入:6 3 8 2 9示例输出:2 3 6 8 9解答:```c#include <stdio.h>void bubbleSort(int arr[], int num) { int i, j, temp;for (i = 0; i < num - 1; i++) {for (j = 0; j < num - i - 1; j++) { if (arr[j] > arr[j+1]) {temp = arr[j];arr[j] = arr[j+1];arr[j+1] = temp;}}}}int main() {int arr[100], num, i;printf("请输入数组的长度:"); scanf("%d", &num);printf("请输入数组元素:");for (i = 0; i < num; i++) {scanf("%d", &arr[i]);}bubbleSort(arr, num);printf("从小到大排序结果:");for (i = 0; i < num; i++) {printf("%d ", arr[i]);}printf("\n");return 0;}```二、答案解析2.1 第一题解析该题要求逆序输出输入的字符串。
2018年计算机等级考试二级C语言基础知识模拟题1 (总分27, 做题时间60分钟)选择题1.下列叙述中正确的是()。
SSS_SINGLE_SELA算法就是程序B设计算法时只需要考虑数据结构的设计C设计算法时只需要考虑结果的可靠性D以上3种说法都不对分值: 1答案:D2.算法的有穷性是指()。
SSS_SINGLE_SELA算法程序的运行时间是有限的B算法程序所处理的数据量是有限的C算法程序的长度是有限的D算法只能被有限的用户使用分值: 1答案:A3.算法的空间复杂度是指()。
SSS_SINGLE_SELA算法在执行过程中所需要的计算机存储空间B算法所处理的数据量C算法程序中的语句或指令条数D算法在执行过程中所需要的临时工作单元数分值: 1答案:A4.下列叙述中正确的是()。
SSS_SINGLE_SELA有一个以上根结点的数据结构不一定是非线性结构B只有一个根结点的数据结构不一定是线性结构C循环链表是非线性结构D双向链表是非线性结构分值: 1答案:B5.支持子程序调用的数据结构是()。
SSS_SINGLE_SELA栈B树C队列D二叉树分值: 1答案:A6.下列关于栈的叙述正确的是()。
SSS_SINGLE_SELA栈按“先进先出”组织数据B栈按“先进后出”组织数据只能在栈底插入数据D不能删除数据分值: 1答案:B7.—个栈的初始状态为空,现将元素1、2、3、4、5、A、B、C、D、E依次入栈,然后再依次出栈, 则元素出栈的顺序是()。
SSS_SINGLE_SELA12345ABCDEBEDCBA54321CABCDE12345D54321EDCBA分值: 1答案:B8.下列数据结构中,能够按照“先进后出”原则存取数据的是()。
SSS_SINGLE_SELA循环队列B栈C队列D二叉树分值: 1答案:B9.下列关于栈的叙述正确的是()。
SSS_SINGLE_SELA栈顶元素最先能被删除桟顶元素最后才能被删除C栈底元素永远不能被删除D桟底元素最先能被删除分值: 1答案:A10.下列叙述中正确的是()。
2018年计算机二级考试C语言试题及答案(1)2018年计算机等级考试即将开始,为考生们整理了2018年计算机二级考试C语言试题及答案,希望能帮到大家,想了解更多资讯,请关注小编的及时更新哦。
2018年计算机二级考试C语言试题及答案(1)选择题1). 在软件设计中,不属于过程设计工具的是( )A.PDL(过程设计语言)B.PAD图C.N-S图D.DFD图正确答案:D答案解析:DFD(数据流图Data-Flow-Diagram)是描述数据处理过程的工具,是需求理解的逻辑模型的图形表示。
它直接支持系统功能建模。
在软件详细设计的过程阶段,要对每个模块规定的功能以及算法的设计给出适当的算法描述。
常见的过程设计工具有:图形工具:程序流程图,N-S,PAD,HIPO;表格工具:判定表;语言工具:PDL(伪码)。
2). 数据结构中,与所使用的计算机无关的是数据的( )。
A.存储结构B.物理结构C.逻辑结构D.线性结构正确答案:C答案解析:数据的逻辑结构反映的是数据元素之间的逻辑关系,与使用的计算机无关。
3). 设有定义: int x=2; 以下表达式中,值不为6的是( )A.2*x, x+=2B.x++,2*xC.x*=(1+x)D.x*=x+1正确答案:A答案解析:本题考查逗号表达式。
逗号表达式的求解过程是:先求解表达式1,再求解表达式2,整个逗号表达式的值是表达式2的值,因此,选项A中值为4;选项B中,值为6。
选项C中x*=x+1 等价于x=x*(x+1),所以等于6;选项D与选项C等价,结果也为6。
4). 在长度为64的有序线性表中进行顺序查找,最坏情况下需要比较的次数为( )A.63B.64C.6D.7正确答案:B答案解析:顺序查找又称顺序搜索。
顺序查找一般是指在线性表中查找指定的元素,其基本方法是:从线性表的第一元素开始,依次将线性表中的元素与被查找的元素进行比较,若相等则表示找到(即查找成功),若线性表中所有元素都与被查元素进行了比较但都不相等,则表示线性表中没有要找的元素(即查找失败)。
2018年C语言二级考试及答案一、选择题1. 下列关于C语言中变量的描述,错误的是:A. 变量必须先声明后使用B. 变量的声明可以放在程序的任何位置C. 变量的类型决定了它所占用的内存大小D. 变量的声明必须在函数的开始处完成答案:B2. 在C语言中,以下哪个选项不是合法的标识符?A. _sumB. sum$C. 2valueD. sum答案:C3. C语言中,以下哪个选项是正确的字符串定义方式?A. char str[5] = "Hello";B. char str[] = "Hello";C. char str[6] = "Hello";D. char str = "Hello";答案:B4. 关于C语言中的数组,以下哪个说法是错误的?A. 数组名代表数组的首地址B. 数组的大小在定义后不能改变C. 数组的元素可以是不同类型的D. 数组的下标从0开始答案:C5. 在C语言中,以下哪个选项是正确的函数定义?A. int add(int a, int b);B. int add();C. int add(int a, int b) {}D. int add(int a, int b) { return a + b; }答案:D二、填空题1. 在C语言中,使用____关键字可以定义一个整型变量。
答案:int2. 字符串"Hello"在内存中所占的字节数是____。
答案:63. 若定义一个二维数组int arr[3][4],则该数组的元素总数为____。
答案:124. 在C语言中,使用____运算符可以实现逻辑与操作。
答案:&&5. 若变量a的值为5,b的值为10,则表达式a++ + b的值为____。
答案:15三、编程题1. 编写一个C语言程序,实现计算并输出两个整数的和。
```c#include <stdio.h>int main() {int a, b, sum;printf("请输入两个整数:");scanf("%d %d", &a, &b);sum = a + b;printf("两数之和为:%d\n", sum);return 0;}```2. 编写一个C语言程序,实现判断输入的年份是否为闰年,并输出结果。
模拟卷11[填空题]下列给定程序中,函数fun的功能是:在形参S所指字符串中寻找与参数C相同的字符,并在其后插入一个与之相同的字符,若找不到相同的字符则不做任何处理。
例如,若s所指字符串为“baacda”,c中的字符为a,执行后S所指字符串为“baaaacdaa"。
请在程序的下画线处填入正确的内容并将下画线删除,使程序得出止确的结果。
注意:部分源程序给出如下。
不得增行或删行,也不得更改程序的结构!试题程序:•Include<stdio.h>void fun(char•s・char c)(int n;/••••••••♦found•••••♦••♦/for11"0;s[i]!•(1J;£)if(S(1]••€)I/•••••••••found•••••••••/n-[21;whi!•(s[i1n]!n;for(j•1>n1;J>i;j—>j*1]•••found•••••••••/»[j*i]-Lil;main()<char s[80]-"baacda",c;print!("Vrthe string:ta'n",#);printf(Fnlnput a character:"I;scarf("lc",4C);fun( ,c);print f("'nThe r»sult is:参考解析:【参考答案】(I)'W(2)0【解题思路】填空L for语句循环条件是判断是否到达字符串结尾,即当前字符是否为填空2:while语句用以确定字符串的长度,所以变量n赋初值为0。
填空3:题目要求如果找到与参数c相同的字符,就在后面插入一个相同的字符,且找到后应该给数组元素赋值,本题目给出参数为c.二、程序修改题2[简答题]下列给定程序中函数fun的功能是:逐个比较p、q所指两个字符串对应位置上的字符,并把ASCII 值大或相等的字符依次存放到c所指的数组中,形成一个新的字符串.例如,若主函数中a字符串为“aBCDeFgH",b字符串为"Abed",则c中的字符串应为“aBcdeFgH”。
2018年浙江省计算机二级c语言考试真题及答案2018年浙江省计算机二级c语言考试真题及答案【计算机等级考试官网暂未公布2018年浙江省计算机二级c语言考试真题及答案,届时小编会为你第一时间收集整理】下面是店铺给大家整理的计算机二级c语言考试习题及答案,供大家参阅,对接下来的计算机二级C语言考试有一定的了解!计算机二级c语言考试真题及答案1.(A )是构成C语言程序的基本单位。
A、函数B、过程C、子程序D、子例程2.C语言程序从 C 开始执行。
A、程序中第一条可执行语句B、程序中第一个函数C、程序中的main函数D、包含文件中的第一个函数3、以下说法中正确的是( C )。
A、C语言程序总是从第一个定义的函数开始执行B、在C语言程序中,要调用的函数必须在main( )函数中定义C、C语言程序总是从main( )函数开始执行D、C语言程序中的main( )函数必须放在程序的开始部分4.下列关于C语言的说法错误的是( B ) 。
A、 C程序的工作过程是编辑、编译、连接、运行B、 C语言不区分大小写。
C、 C程序的三种基本结构是顺序、选择、循环D、C程序从main函数开始执行5.下列正确的标识符是(C )。
A、-a1B、a[i]C、a2_iD、int t5~8题为相同类型题考点:标识符的命名规则只能由字母、数字、下划线构成数字不能作为标识符的开头关键字不能作为标识符选项A中的“-” ,选项B中“[”与“]”不满足(1);选项D中的int为关键字,不满足(3)6.下列C语言用户标识符中合法的是(B )。
A、3axB、xC、caseD、-e2 E)union选项A中的标识符以数字开头不满足(2);选项C,E均为为关键字,不满足(3);选项D中的“-”不满足(1);7.下列四组选项中,正确的C语言标识符是( C )。
A、 %xB、a+bC、a123D、123选项A中的“%” ,选项B中“+”不满足(1);选项D中的标识符以数字开头不满足(2)8、下列四组字符串中都可以用作C语言程序中的标识符的是( A)。
2018年计算机二级考试C++过关练习试题及答案三类人员C类试题及答案A.面向对象方法比面向过程方法更加先进B.面向对象方法中使用了一些面向过程方法中没有的概念C.面向对象方法替代了结构化程序设计方法D.面向对象程序设计方法要使用面向对象的程序设计语言参考答案:C2[简答题]编写一程序,将两个文件合并成一个文件。
参考解析:#include#includeusing namespace std;int main(){int i=1;char c[1000];ifstream ifile1("D:\\10_4_3.cpp"); ifstream ifile2("D:\\10_4_4.cpp"); ofstream ofile("D:\\r10_4.cpp"); while(!ifile1.eof()){ifile1.getline(c,999);ofile<}while(!ifile2.eof()){ifile2.getline(c,999);ofile<}ifile1.close();ifile2.close();ofile.close();return 0;}3[单选题]已知一棵二叉树的先根序列为ABCDEFK,中根序列为DGBAFCK,则结点的后根序列为( )。
A.ACFKDBGB.GDBFKCAC.KCFAGDBD.ABCDFKG参考答案:B参考解析:通过两种树的遍历序列来推断第三种树的遍历时,反复利用前序和中序遍历的性质,就可以确定二叉树,具体:前序遍历的第一个结点A为树的根结点。
中序遍历中A左边的结点在A的左子树中,A的右边的结点在A的右子树中。
再分别对A的左右子树进行前丽步骤重复处理,直到每个结点都找到正确的位置。
具体:前序遍历的第一个结点A为树的根结点。
中序遍历中A 左边的结点在A的左子树中,A的右边的结点在A的右子树中。
计算机二级C语言2018年试题及答案一、选择题1. 在C语言中,下面哪个选项是正确的定义一个整型变量的语句?A. int a;B. int a[];C. int a[10];D. int a(10);答案:A2. 下列关于C语言函数的描述中,错误的是?A. 函数可以没有返回值B. 函数可以有多个返回值C. 函数可以有多个参数D. 函数可以嵌套定义答案:D二、填空题1. 在C语言中,表示逻辑“与”操作的运算符是______。
答案:&&2. 若有定义 int a[10], *p=a; 则*(p+5)表示数组的第______个元素。
答案:6三、编程题1. 编写一个C语言程序,实现输入一个整数,输出该整数的绝对值。
```c#include <stdio.h>#include <stdlib.h>int main() {int num;printf("请输入一个整数:");scanf("%d", &num);if (num < 0) {num = -num;}printf("该整数的绝对值是:%d\n", num);return 0;}```2. 编写一个C语言程序,实现输入一个字符串,然后输出该字符串的逆序。
```c#include <stdio.h>#include <string.h>int main() {char str[100];printf("请输入一个字符串:");gets(str);int len = strlen(str);for (int i = len - 1; i >= 0; i--) {printf("%c", str[i]);}printf("\n");return 0;}```四、简答题1. 请简述C语言中指针和数组的关系。
2018年9月国家二级C++机试(操作题)真题试卷汇编1(总分100, 做题时间120分钟)基本操作题1.请打开考生文件夹下的解决方案文件proj1,其中定义了一个CD类。
程序中位于每个//ERROR**********found**********下的语句行有错误,请加以更正,不得修改程序的其他部分。
更正后程序的输出应该是:歌唱祖国30义勇军进行曲95注意:只能修改每个//ERROR**********found**********下的那一行,不要改动程序中的其他内容。
#include<iostream>#include<cstring>using namespace std;class CD{char name[20];int number;public:void init(char*aa,intbb){//ERROR**********found**********name=aa;number=bb;}char * getName(){//ERROR *****found*****return*name;}int getNumber()(returnnumber;}void output(){//ERROR *****found*****cout<<name[20]<<''<<number<<endl;}};void main(){CD dx,dy;dx.init("歌唱祖国",30);dy.init("义勇军进行曲",3*dx.getNumber()+5);dx.output();dy.output();}SSS_TEXT_QUSTI该问题分值: 33.4答案:(1)strcpy(name,aa);(2)return name;(3)cout<<Raffle<<''<<number<<endl:程序定义CD类,它包含两个数据成员:字符数组name和整型变量number;还包含四个公有成员函数,init()函数接收两个参数,用参数对数据成员进行赋值;getName()函数返回数据成员name;getNumber()函数返回数据成员number;output()函数将数据成员name和number输出。