上海计算机等级考试二级CB卷
- 格式:docx
- 大小:19.28 KB
- 文档页数:8
计算机二级c语言最新考试真题2024答案一、选择题在C语言中,以下哪个关键字用于定义一个函数?A. classB. voidC. structD. enum答案:B以下哪个符号在C语言中用作字符串的结束标志?A. \0B. \nC. \tD. \r答案:A在C语言中,要读取一个整数并存储到变量中,应使用哪个函数?A. getchar()B. scanf()C. printf()D. fgets()答案:B以下哪项不是C语言的基本数据类型?A. intB. floatC. stringD. char答案:C在C语言中,数组名表示的是?A. 数组的首地址B. 数组的长度C. 数组的第一个元素D. 数组的所有元素答案:A以下哪个循环结构在C语言中用于至少执行一次循环体?A. for循环B. while循环C. do-while循环D. 以上都不是答案:C在C语言中,指针变量主要用来存储什么?A. 整数值B. 浮点数值C. 内存地址D. 字符串答案:C以下哪个头文件在C语言中用于标准输入输出函数?A. <stdlib.h>B. <string.h>C. <stdio.h>D. <math.h>答案:C(注意:由于选择题通常包含多个小题,以上仅列出了部分小题作为示例。
)二、编程题(编程题通常要求考生编写C语言程序来解决特定问题,以下提供几个编程题示例及解题思路。
)编写程序,其中自定义一函数,用来判断一个整数是否为素数,主函数输入一个数,输出是否为素数。
解题思路:定义一个函数isPrime,用于判断一个整数是否为素数。
在isPrime函数中,使用循环从2到该数的平方根(包含)进行遍历,检查是否存在能整除该数的因子。
如果存在因子,则返回0(表示不是素数);否则返回1(表示是素数)。
在主函数中,读取用户输入的整数,并调用isPrime函数进行判断,然后输出结果。
从键盘输入n个数存放在数组中,将最小值与第一个数交换,输出交换后的n个数。
全国计算机等级考试二级C笔试试卷(含参考答案)以下各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。
(1)以下表达中正确的选项是A)程序设计就是编制程序 B)程序的测试必须由程序员自己去完成C)程序经调试改错后还应进展再测试 D)程序经调试改错后不必进展再测试(2)以下数据构造中,能用二分法进展查找的是A)顺序存储的有序线性表 B)线性链表C)二叉链表 D)有序线性链表(3)以下关于栈的描述正确的选项是A)在栈中只能插入元素而不能删除元素B)在栈中只能删除元素而不能插入元素C)栈是特殊的线性表,只能在一端插入或删除元素D)栈是特殊的线性表,只能在一端插入元素,而在另一端删除元素(4)以下表达中正确的选项是A)一个逻辑数据构造只能有一种存储构造B)数据的逻辑构造属于线性构造,存储构造属于非线性构造C)一个逻辑数据构造可以有多种存储构造,且各种存储构造不影响数据处理的效率D)一个逻辑数据构造可以有多种存储构造,且各种存储构造影响数据处理的效率(5)以下描述中正确的选项是A)软件工程只是解决软件工程的管理问题B)软件工程主要解决软件产品的生产率问题C)软件工程的主要思想是强调在软件开发过程中需要应用工程化原那么D)软件工程只是解决软件开发中的技术问题(6)在软件设计中,不属于过程设计工具的是A)PDL(过程设计语言) B)PAD图 C)N-S图 D)DFD图(7)以下表达中正确的选项是A)软件交付使用后还需要进展维护B)软件一旦交付使用就不需要再进展维护C)软件交付使用后其生命周期就完毕D)软件维护是指修复程序中被破坏的指令(8)数据库设计的根本目标是要解决A)数据共享问题 B)数据平安问题C)大量数据存储问题 D)简化数据维护(9)设有如下关系表:R S TA B C A B C A B C1 123 1 3 1 1 22 23 2 2 33 1 3那么以下操作中正确的选项是A)T=R∩S B)T=R∪S C)T=R×S D)T=R/S(10)数据库系统的核心是A)数据模型 B)数据库管理系统 C)数据库 D)数据库管理员(11)以下表达中错误的选项是A)用户所定义的标识符允许使用关键字B)用户所定义的标识符应尽量做到“见名知意”C)用户所定义的标识符必须以字母或下划线开头D)用户定义的标识符中,大、小写字母代表不同标识(12)以下表达中错误的选项是A)C语句必须以分号完毕B)复合语句在语法上被看作一条语句C)空语句出现在任何位置都不会影响程序运行D)赋值表达式末尾加分号就构成赋值语句(13)以下表达中正确的选项是A)调用printf函数时,必须要有输出项B)使用putchar函数时,必须在之前包含头文件stdio.hC)在中,整数可以以十二进制、八进制或十六进制的形式输出D)调用getchar函数读入字符时,可以从键盘上输入字符所对应的ASCII码(14)以下关于函数的表达中正确的选项是A)每个函数都可以被其它函数调用(包括main函数)B)每个函数都可以被单独编译C)每个函数都可以单独运行D)在一个函数内部可以定义另一个函数(15)假设有语句:char *line[5];,以下表达中正确的选项是A)定义line是一个数组,每个数组元素是一个基类型为char 的指针变量B)定义line是一个指针变量,该变量可以指向一个长度为5的字符型数组C)定义line是一个指针数组,语句中的*号称为间址运算符D)定义line是一个指向字符型函数的指针(16)有以下程序段typedef struct NODE{ int num; struct NODE *next;} OLD;以下表达中正确的选项是A)以上的说明形式非法 B)NODE是一个构造体类型C)OLD是一个构造体类型 D)OLD是一个构造体变量(17)以下表达中错误的选项是A)C语言中对二进制文件的访问速度比文本文件快B)C语言中,随机文件以二进制代码形式存储数据C)语句 FILE fp; 定义了一个名为fp的文件指针D)C语言中的文本文件以ASCII码形式存储数据(18)当把以下四个表达式用作if语句的控制表达式时,有一个选项与其它三个选项含义不同,这个选项是A)k%2 B)k%2==1 C)(k%2)!=0 D)!k%2==1(19)以下不能正确计算代数式值的C语言表达式是A)1/3*sin(1/2)*sin(1/2) B)sin(0.5)*sin(0.5)/3C)pow(sin(0.5),2)/3 D)1/3.0*pow(sin(1.0/2),2)(20)以下能正确定义且赋初值的语句是A)int n1=n2=10; B)char c=32;C)float f=f+1.1; D)double x=12.3E2.5;(21)以下程序的功能是:给r输入数据后计算半径为r的圆面积s。
2019年上海市高等学校计算机等级考试试卷二级 C语言程序设计(本试卷考试时间 120 分钟)一、单选题 ( 本大题 15 道小题,每小题 1 分,共 15 分),从下面题目给出的A、B、C、D四个可供选择的答案中选择一个正确答案。
1. 以下C程序中预处理命令写法正确的是:答案: DA. #include (stdio.h)B. #include [stdio.h]C. #include {stdio.h}D. #include <stdio.h>2. 设有变量定义语句char a; 则下面的赋值语句中 ( ) 是正确的。
答案: AA. a='&';B. a="&";C. a=' ' ';D. a='16' ;3. 设有char ch; 与语句“ch=getchar();”等价的语句是:答案: DA. printf("%c",ch);B. printf("%c",&ch);C. scanf("%c",ch);D. scanf("%c",&ch);4. int a=2, b=5;则表达式21%9/(float)a+4/b*b的运算结果为( )。
答案: CA. 2B. 1C. 1.5D. 05. 能正确表示逻辑关系"a>=10 或 a<=0"的C语言表达式是( )。
答案: CA. a>=10 or a<=0B. a<=0|a>=10C. a<=0||a>=10D. a>=10 && a<=06. 设有int n=60;写出下列语句的运行结果switch (n/10)case 6: printf("@");break;case 5: printf("#");default: printf("$");答案: DA. @#$B. #$C. $D. @7. 设有int i; 以下语句中,循环次数为100次的语句是:答案: DA. for ( i=0; i<=100; i++ )B. for ( i=0; i<99; i++ )C. for ( i=1; i<99; i++ )D. for ( i=0; i<100; i++ )8. C程序中,用于提前结束本次循环、进行下一次循环的语句是( )。
2020年上海市高等学校信息技术水平考试试卷二三级 C程序设计及应用(A 场)(本试卷考试时间 120 分钟)一、单选题 ( 本大题 1 道小题,每小题 1 分,共 1 分),从下面题目给出的A、B、C、D四个可供选择的答案中选择一个正确答案。
1.试卷说明:(1)本试卷包括3个专题,考生选择任一专题完成答卷。
(2)每个专题包括6个问题,建议考生依次完成各个问题。
(3)本试卷考试成绩分为:二级合格、二级优秀、三级合格、三级优秀4个等级。
(4)考生完成专题中的前3问,达到二级合格标准;完成前4问,达到二级优秀标准;完成前5问,达到三级合格标准;完成到第6问,达到三级优秀标准。
1. 专题1编程要求:C:\素材\专题1-大整数运算.pdf提供原始文件:C:\KS\bigint_2.c2. 专题2编程要求:C:\素材\专题2-图书管理.pdf提供原始文件:C:\KS\book_2.c,C:\KS\, C:\KS\3. 专题3编程要求:C:\素材\专题3-计算24点.pdf提供原始文件:C:\KS\k24p*.*此外,提供公共素材,供必要时查询C:\素材\素材-常用库函数.pdfC:\素材\程序代码编写规范.pdfA.专题1-大整数运算B.专题2-图书管理C.专题3-计算24点D.二、操作题素材.zip试卷说明:(1)本试卷包括3个专题,考生选择任一专题完成答卷。
(2)每个专题包括6个问题,建议考生依次完成各个问题。
(3)本试卷考试成绩分为:二级合格、二级优秀、三级合格、三级优秀4个等级。
(4)考生完成专题中的前3问,达到二级合格标准;完成前4问,达到二级优秀标准;完成前5问,达到三级合格标准;完成到第6问,达到三级优秀标准。
以下三个专题中任选一个专题作答1. 专题1编程要求:C:\素材\专题1-大整数运算.pdf提供原始文件:C:\KS\bigint_2.c2. 专题2编程要求:C:\素材\专题2-图书管理.pdf提供原始文件:C:\KS\book_2.c,C:\KS\, C:\KS\3. 专题3编程要求:C:\素材\专题3-计算24点.pdf提供原始文件:C:\KS\k24p*.*此外,提供公共素材,供必要时查询C:\素材\素材-常用库函数.pdfC:\素材\程序代码编写规范.pdf。
2015二级C( B卷)一、单项选择题(答案在最后)二、填空题(答案在最后)程序功能:输入一个正整数,将其各位上为偶数的数字去除,剩余的数按原来从高位到低位的顺序组成一个新的数,并将其输出到文件out1.txt中。
例如,输入:9,输出到文件:135779。
代码:#include <stdio.h>int main(void){long n;int k,i=1;int _____(1)_____;FILE *fp;fp=fopen("out1.txt","w");scanf("%ld",&n);while ( _____(2)_____ ){k = _____(3)_____;n = n/10;if (k%2 == 1){z = z+k*i;i = 10*i;}}fprintf(fp,"%d\n",z);_____(4)_____; /* 关闭文件 */return 0;}程序功能:从键盘输入一个字符串和一个字符,统计字符串中该字符出现的次数,并输出结果。
例如,输入字符串:aBEddfghDdd,输入字符:d,输出结果:4。
代码:#include <stdio.h>int num(char str[]){char ch;int i=0,count=0;printf("输入字符:");scanf("%c",&ch);while( _____(1)_____ ){if( _____(2)_____ )count++;i++;}return count;}int main(void){char str[80];int n;printf("输入字符串:");gets( _____(3)_____ );n = _____(4)_____;printf("输出结果: %d\n",n);return 0;}三、操作题(一)程序调试题(3小题,第1、2小题各3处错,第3小题4处错,每错误点3分,共30分)1. 程序调试题1调试要求:下列程序(C:\KS\B_2_1.c)包含3个错误,请按题中的功能要求,调试并修改该程序(在所修改语句后加/*******/字样的注释),使其运行能得到正确的结果。
上海市⾼等学校计算机等级考试试卷⼆级C语⾔程序设计(B卷)上海市⾼等学校计算机等级考试试卷⼆级 C语⾔程序设计( B 卷)⼀、单选题1. 下列C语⾔的标识符中,不合法的标识符为____________A. starB. 1234C. _a100D. circuit92. 若已定义: int x=10;则表达式 x=(4*5,x*5,x+25) 的值是 ______ 。
A. 20B. 45C. 125D. 353. 若x是int类型变量,y是float类型变量,则为了将数据55和55.5分别赋给x和y,则执⾏语句: scanf(“%d, %f”,&x,&y,); 时,正确的键盘输⼊是 ______ 。
A. 55,55.5↙B. x=55, y=55.5↙C. 55↙55.5↙D. x=55↙y=55.5↙4. 若有说明语句:int x=25,y=20,z=30;则执⾏语句:if(x>y) {y=z; z=x;} x=y; printf(“%d,%d,%d”,x,y,z); 后,输出是____________A. 25,20,30B. 30,30,25C. 25,30,30D. 25,30,255. 程序段:int num=2;while(num)printf(“%d ,”,num--);的运⾏结果是_______________A. 2,1,B. 2,1C. 2,1,06. 若有说明:int a[3][4],s;则对数组a的元素引⽤正确的是____________A. s=0; for(i=0;i<=3;i++) for(j=0;j<4;j++) s+=a[i][j];B. s=0; for(j=0;j<=4;j++) for(i=0;i<3;i++) s+=a[i][j];C. s=0; for(i=0;i<4;i++) for(j=0;j<=3;j++) s+=a[j][i];D. s=0; for(i=0;i<3;i++) for(j=0;j<4;j++) s+=a[i][j];7. 如果形参获取实参的地址,则____________作为函数调⽤时的实参。
计算机等级考试二级C语言真题计算机等级考试二级C语言真题导语:C语言之所以命名为C,是因为 C语言自Ken Thompson创造的B语言,而 B语言那么自BCPL语言。
下面是计算机二级考试C语言的真题,欢送参考!(1)以下表达中正确的选项是A.栈是“先进先出”的线性表B.队列是“先进先出”的线性表C.循环队列是非线性构造D.有序性表既可以采用顺序存储构造,也可以采用链式存储构造(2)支持子程序调用的数据构造是A.栈B.树C.队列D.二叉树(3)某二叉树有5个度为2的结点,那么该二叉树中的.叶子结点数是A.10B.8C.6D.4(4)以下排序方法中,最坏情况下比拟次数最少的是A.冒泡排序B.简单项选择择排序C.直接插入排序D.堆排序(5)软件按功能可以分为:应用软件、系统软件和支撑软件(或工具软件)。
下面属于应用软件的是A.编译软件B.操作系统C.教务管理系统D.汇编程序(6)下面表达中错误的选项是A.软件测试的目的是发现错误并改正错误B.对被调试的程序进展“错误定位”是程序调试的必要步骤C.程序调试通常也称为DebugD.软件测试应严格执行测试方案,排除测试的随意性(7)耦合性和内聚性是对模块独立性度量的两个标准。
以下表达中正确的选项是A.进步耦合性降低内聚性有利于进步模块的独立性B.降低耦合性进步内聚性有利于进步模块的独立性C.耦合性是指一个模块内部各个元素间彼此结合的严密程度D.内聚性是指模块间互相连接的严密程度(8)数据库应用系统中的核心问题是A.数据库设计B.数据库系统设计C.数据库维护D.数据库管理员培训(9)有两个关系R,S如下:RABCa32b01c21SABa3b0c2由关系R通过运算得到关系S,那么所使用的运算为A.选择B.投影C.插入D.连接(10)将E-R图转换为关系形式时,实体和联络都可以表示为A.属性B.键C.关系D.域。
20XX年上海市高等学校计算机等级考试试卷二级 C语言程序设计(本试卷考试时间 120 分钟)一、单选题 ( 本大题 15 道小题,每小题 1 分,共 15 分),从下面题目给出的A、B、C、D四个可供选择的答案中选择一个正确答案。
1. 以下C程序中预处理命令写法正确的是:答案: DA. #include (stdio.h)B. #include [stdio.h]C. #include {stdio.h}D. #include <stdio.h>2. 设有变量定义语句char a; 则下面的赋值语句中 ( ) 是正确的。
答案: AA. a='&';B. a="&";C. a=' ' ';D. a='16' ;3. 设有char ch; 与语句“ch=getchar();”等价的语句是:答案: DA. printf("%c",ch);B. printf("%c",&ch);C. scanf("%c",ch);D. scanf("%c",&ch);4. int a=2, b=5;则表达式21%9/(float)a+4/b*b的运算结果为( )。
答案: CA. 2B. 1C. 1.5D. 05. 能正确表示逻辑关系"a>=10 或 a<=0"的C语言表达式是( )。
答案: CA. a>=10 or a<=0B. a<=0|a>=10C. a<=0||a>=10D. a>=10 && a<=06. 设有int n=60;写出下列语句的运行结果switch (n/10){case 6: printf("@");break;case 5: printf("#");default: printf("$");}答案: DA. @#$B. #$C. $D. @7. 设有int i; 以下语句中,循环次数为100次的语句是:答案: DA. for ( i=0; i<=100; i++ )B. for ( i=0; i<99; i++ )C. for ( i=1; i<99; i++ )D. for ( i=0; i<100; i++ )8. C程序中,用于提前结束本次循环、进行下一次循环的语句是( )。
计算机国家等级考试二级c试题及答案Ⅰ. 选择题1. 下列选项中,不属于计算机网络分类的是:A. 局域网B. 城域网C. 广域网D. 互联网2. 在Excel中,通过哪个函数可以找到一列或一行中的最大值?A. MAX()B. MIN()C. SUM()D. AVG()3. 下列哪个设备可以用于将数字信号转换为模拟信号?A. 集线器B. 路由器C. 数字调制解调器D. 交换机4. 在计算机网络中,HTTP协议是用于:A. 文件传输B. 邮件传输C. 网页传输D. 数据传输5. 下列选项中,不属于常见的数据库管理系统的是:A. MySQLB. OracleC. PhotoshopD. SQL ServerⅡ. 填空题1. 在计算机网络中,IP地址由__4__个字节组成。
2. 在Python中,使用__print()__函数输出结果。
3. 在Excel中,利用__VLOOKUP()__函数可以进行垂直查找。
4. Windows操作系统中,使用Ctrl+Alt+Delete组合键可以打开__任务管理器__。
5. HTML是用于构建__网页__的标记语言。
Ⅲ. 简答题1. 什么是操作系统?列举几个常见的操作系统。
操作系统是计算机系统中的核心软件,它负责管理计算机硬件和软件资源,提供给应用程序和用户友好的接口。
常见的操作系统有Windows、macOS、Linux等。
2. 什么是数据库?简述关系型数据库和非关系型数据库的区别。
数据库是用于存储和组织数据的系统。
关系型数据库基于关系模型,使用表格结构来存储数据,并通过SQL语言进行操作和查询。
非关系型数据库则不依赖于表格结构,可以采用键值对、文档、图形等方式存储数据。
3. 请简要介绍一下计算机网络的层次结构。
计算机网络的层次结构包括物理层、数据链路层、网络层、传输层和应用层。
物理层负责传输比特流;数据链路层处理帧的传输和错误检测;网络层建立不同网络之间的连接;传输层提供可靠的、面向连接的数据传输;应用层为用户提供服务。
2010年上海市高等学校计算机等级考试试卷二级 C语言程序设计( B 卷)(本试卷考试时间 120 分钟)一、单选题1. 关于C程序的主函数,以下描述中正确的是:_______ 。
A. C程序的第一个函数称为主函数,程序从该函数开始运行。
B. C程序可以有多个主函数,程序从第一个主函数开始运行。
C. C程序可以没有主函数,程序从第一个函数开始运行。
D. C程序的主函数即是main函数,程序从该函数开始运行。
2. 字符变量a与b分别初始为'S'与'B',正确的语句是:_______ 。
A. char a,b='S','B';B. char a='S', char b='B';C. char a="S", b="B";D. char a='S', b='B';3. 设有int n=2010; 要求屏幕上显示“n=2010”结果,正确的语句是:_______ 。
A. printf( n );B. printf( "n=", n );C. printf( "n=", "%d", n );D. printf( "n=%d", n );4. 设有变量定义:int a=5, b=8;当执行完语句:b= a<b ? a: b - 1; 之后,变量 a和 b 的值为 _______。
A. 5和5B. 5和7C. 5和8D. 5和95. 设int n; 判断“n不为0”的表达式是:_______。
A. n==0B. !(n=0)C. n=!0D. n!=06. 若有定义: float w; int num; char s; 则合法的switch语句是_______。
2020年上海市高等学校信息技术水平考试试卷二级 C程序设计(A 场)(本试卷考试时间 120 分钟)一、单选题 ( 本大题 10 道小题,每小题 1.5 分,共 15 分),从下面题目给出的A、B、C、D四个可供选择的答案中选择一个正确答案。
1.执行下列语句序列后,x,y,z结果正确的是:(_____)。
int x=7,y=9,z; z=1+x++; y=++z+3;A.7,10,8B.8,12,9C.7,10,9D.8,12,82.下列描述中,正确的是:(_____)。
A.函数可以直接调用其他函数内部定义的变量。
B.函数内部定义变量时必须进行初始化。
C.函数不可以直接调用其他函数内部定义的变量。
D.函数内部定义变量时若没有进行初始化,则其值是固定的。
3.以下各个选项中,与语句“if (a>b) k=0; else k=1;”功能等价的是:(_____)。
A.k=(a>b)?1:0;B.k=a>b;C.k=(a<=b)?0:1;D.k=(a<=b)?1:0;4.以下各个选项中,与for(表达式1; ;表达式3)等价的是:(_____)。
A.for(表达式1; 表达式1; 表达式3)B.for(表达式1; 表达式3; 表达式3)C.for(表达式1; 0; 表达式3)D.for(表达式1; 1; 表达式3)5.有关C语言数组的下列定义中,错误的是:(_____)。
A.int a[5]={2,3,4,1,4};B.int a[6]={0};C.int a[2][]={1,2,3,4};D.int a[][3]={1,2,3,2,3};6.在C语言中,关于函数定义和函数调用,以下各个选项中,正确的是:(_____)。
A.函数定义中不可以定义另一个函数,被调用函数可以调用另一个函数B.函数定义中可以定义另一个函数,被调用函数不可以调用另一个函数C.函数定义中可以定义另一个函数,被调用函数也可以调用另一个函数D.函数定义中不可以定义另一个函数,被调用函数也不可以调用另一个函数7.设有如下的结构体类型定义,则以下选项中,正确的是:(_____)。
上海市计算机c二级考试答案一、选择题(每题2分,共20分)1. 下列哪个选项是计算机病毒的特征?A. 可执行性B. 破坏性C. 传染性D. 以上都是答案:D2. 在计算机系统中,CPU指的是什么?A. 中央处理器B. 中央存储器C. 外部存储器D. 输入输出设备答案:A3. 下列哪个选项是计算机操作系统的主要功能?A. 管理计算机硬件资源B. 提供用户界面C. 执行应用程序D. 以上都是答案:D4. 在计算机网络中,TCP/IP协议的作用是什么?A. 定义网络通信规则B. 提供数据传输服务C. 管理网络设备D. 以上都是答案:A5. 下列哪个选项是数据库管理系统的主要功能?A. 数据存储B. 数据查询C. 数据维护D. 以上都是答案:D6. 在计算机编程中,什么是算法?A. 一种编程语言B. 一组解决问题的步骤C. 一种数据结构D. 一种操作系统答案:B7. 下列哪个选项是计算机硬件的基本组成部分?A. 中央处理器B. 操作系统C. 应用程序D. 数据库答案:A8. 在计算机系统中,什么是二进制?A. 一种计数系统,使用0和1B. 一种编程语言C. 一种数据存储格式D. 一种网络协议答案:A9. 下列哪个选项是计算机软件的基本组成部分?A. 操作系统B. 应用程序C. 数据库系统D. 以上都是答案:D10. 在计算机系统中,什么是内存?A. 计算机的存储设备B. 计算机的输入设备C. 计算机的输出设备D. 计算机的中央处理器答案:A二、填空题(每题2分,共20分)1. 计算机病毒的主要传播途径包括______、______和______。
答案:电子邮件、网络下载、移动存储设备2. 计算机操作系统的主要类型包括______、______和______。
答案:Windows、Linux、macOS3. TCP/IP协议的四个层次包括______、______、______和______。
答案:应用层、传输层、网络层、链路层4. 数据库管理系统的三个主要操作包括______、______和______。
全国计算机等级考试二级c语言笔试试题及答案1. 单项选择题:以下哪个选项是C语言中合法的标识符?A. 2variableB. variable2C. variable-2D. variable$2答案:B2. 单项选择题:在C语言中,以下哪个关键字用于声明函数?A. intB. voidC. returnD. function答案:B3. 单项选择题:C语言中,哪个运算符用于计算两个整数的乘积?A. +B. -C. *D. /答案:C4. 单项选择题:以下哪个选项是C语言中正确的字符串声明?A. char str[] = "Hello";B. char str[] = 'Hello';C. char str[] = "Hello''';D. char str[] = "Hello";答案:A5. 单项选择题:C语言中,哪个函数用于计算数组中元素的个数?A. sizeofB. lengthC. countD. size答案:A6. 单项选择题:在C语言中,以下哪个选项是正确的二维数组声明?A. int array[3][4];B. int array[3,4];C. int array[3][];D. int array[][];答案:A7. 单项选择题:C语言中,哪个关键字用于定义一个结构体?A. structB. classC. unionD. enum答案:A8. 单项选择题:在C语言中,以下哪个选项是正确的指针声明?A. int *ptr;B. int *ptr[];C. int ptr*;D. int ptr*[];答案:A9. 单项选择题:C语言中,哪个函数用于输入一个字符?A. scanfB. printfC. getcharD. putchar答案:C10. 单项选择题:在C语言中,以下哪个选项是正确的条件语句?A. if (condition)B. switch (condition)C. case (condition)D. default (condition)答案:A11. 单项选择题:C语言中,哪个关键字用于定义一个循环?A. forB. whileC. doD. All of the above答案:D12. 单项选择题:在C语言中,以下哪个选项是正确的函数声明?A. void myFunction();B. int myFunction();C. float myFunction();D. All of the above答案:D13. 单项选择题:C语言中,哪个运算符用于计算两个数的除法?A. /B. *C. %D. //答案:A14. 单项选择题:在C语言中,以下哪个选项是正确的宏定义?A. #define PI 3.14B. define PI 3.14C. #define "PI" 3.14D. #define PI = 3.14答案:A15. 单项选择题:C语言中,哪个关键字用于定义一个枚举类型?A. enumB. unionC. structD. typedef答案:A16. 单项选择题:在C语言中,以下哪个选项是正确的文件操作函数?A. fopenB. fcloseC. freadD. All of the above答案:D17. 单项选择题:C语言中,哪个关键字用于定义一个联合体?A. unionB. structC. enumD. typedef答案:A18. 单项选择题:在C语言中,以下哪个选项是正确的位运算符?A. &B. |C. ^D. All of the above答案:D19. 单项选择题:C语言中,哪个函数用于输出一个字符串?A. scanfB. printfC. getcharD. putchar答案:B20. 单项选择题:在C语言中,以下哪个选项是正确的递归函数声明?A. int factorial(int n);B. int factorial();C. int factorial(int);D. int factorial(int n) { if (n <= 1) return 1; else return n * factorial(n - 1); }答案:D。
上海计算机考试二级c试题及答案一、选择题(每题2分,共20分)1. 在C语言中,用于定义一个结构体的关键字是()。
A. structB. unionC. enumD. typedef答案:A2. 下列关于C语言函数的描述中,正确的是()。
A. 函数可以没有返回值B. 函数可以有多个返回值C. 函数可以没有参数D. 所有选项都正确答案:D3. 在C语言中,以下哪个选项是合法的变量名?()A. 2variableB. _variableC. variable2D. variable-2答案:C4. 下列关于C语言数组的描述,错误的是()。
A. 数组可以是多维的B. 数组的元素类型必须相同C. 数组的大小在定义时必须确定D. 数组的下标从0开始答案:D5. 在C语言中,以下哪个语句用于结束一个程序的执行?()A. breakB. continueC. exitD. return答案:C6. C语言中,用于声明一个整型变量的关键字是()。
A. intB. floatC. charD. double答案:A7. 在C语言中,以下哪个选项是正确的字符串声明方式?()A. char str[] = "Hello, World!";B. char str[12] = "Hello, World!";C. char str[] = {"Hello, World!"};D. char str[12] = {"Hello, World!"};答案:A8. 下列关于C语言指针的描述,正确的是()。
A. 指针可以存储任何类型的数据B. 指针变量的值是它所指向的变量的地址C. 指针不能被初始化为NULLD. 指针可以存储函数的地址答案:B9. 在C语言中,以下哪个选项是合法的宏定义?()A. #define PI 3.14159B. #define PI 3.14159,C. #define PI 3.14159D. #define PI(3.14159)答案:A10. C语言中,以下哪个选项是正确的文件包含指令?()A. <stdio.h>B. "stdio.h"C. #include <stdio.h>D. #include "stdio.h"答案:C二、填空题(每题2分,共10分)1. 在C语言中,一个整型变量占用的内存大小是______个字节。
上海计算机考试二级c试题及答案一、单项选择题(每题2分,共20分)1. 在C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A2. 若有以下定义:int a=2, b=3; 则执行语句 a+=b; 后,变量a的值是多少?A. 5B. 4C. 3D. 2答案:A3. 在C语言中,以下哪个函数用于计算字符串的长度?A. strlen()B. strcpy()C. strcat()D. strcmp()答案:A4. 若有以下定义:float x=1.23456; 则执行语句 printf("%f", x); 后,输出结果的整数部分是多少?A. 1B. 2D. 0答案:A5. 在C语言中,以下哪个运算符用于计算两个数的差?A. +=B. -C. *D. /答案:B6. 若有以下定义:int a[5] = {1, 2, 3, 4, 5}; 则执行语句a[2]=6; 后,数组a的第三个元素的值是多少?A. 6B. 3C. 4D. 5答案:A7. 在C语言中,以下哪个函数用于打开文件?A. fopen()B. fclose()C. remove()D. rename()答案:A8. 若有以下定义:char c='A'; 则执行语句 printf("%d", c); 后,输出结果是多少?A. 65B. 97C. 66答案:A9. 在C语言中,以下哪个关键字用于声明一个函数?A. intB. voidC. returnD. struct答案:B10. 若有以下定义:int x=10; 则执行语句 x=x+10; 后,变量x的值是多少?A. 20B. 11C. 21D. 10答案:A二、填空题(每题2分,共20分)1. 在C语言中,使用________关键字可以定义一个变量的存储类型为静态存储。
2015二级C( B卷)一、单项选择题(答案在最后)二、填空题(答案在最后)程序功能:输入一个正整数,将其各位上为偶数的数字去除,剩余的数按原来从高位到低位的顺序组成一个新的数,并将其输出到文件out1.txt中。
例如,输入:,输出到文件:135779。
代码:#include <stdio.h>int main(void){long n;int k,i=1;int _____(1)_____;FILE *fp;fp=fopen("out1.txt","w");scanf("%ld",&n);while ( _____(2)_____ ){k = _____(3)_____;n = n/10;if (k%2 == 1){z = z+k*i;i = 10*i;}}fprintf(fp,"%d\n",z);_____(4)_____; /* 关闭文件 */return 0;}程序功能:从键盘输入一个字符串和一个字符,统计字符串中该字符出现的次数,并输出结果。
例如,输入字符串:aBEddfghDdd,输入字符:d,输出结果:4。
代码:#include <stdio.h>int num(char str[]){char ch;int i=0,count=0;printf("输入字符:");scanf("%c",&ch);while( _____(1)_____ ){if( _____(2)_____ )count++;i++;}return count;}int main(void){char str[80];int n;printf("输入字符串:");gets( _____(3)_____ );n = _____(4)_____;printf("输出结果: %d\n",n);return 0;}三、操作题(一)程序调试题(3小题,第1、2小题各3处错,第3小题4处错,每错误点3分,共30分)1. 程序调试题1调试要求:下列程序(C:\KS\B_2_1.c)包含3个错误,请按题中的功能要求,调试并修改该程序(在所修改语句后加/*******/字样的注释),使其运行能得到正确的结果。
将程序结果(包括B_2_1.c文件和B_2_1.EXE文件)保存到目录C:\KS\中。
功能说明:输入某人某一个月的月收入(在2500元到8000元之间),计算并输出该月份他应缴的个人所得税。
个人所得税采用分段计算方法计算,具体为:月收入不超过3500元(含3500元,以下同)免税;月收入超过3500元但不超过5000元的,超过部分的税率为3%;月收入超过5000元但不超过8000元的,超过5000元部分的税率为10%。
运行示例:输入:请输入月收入: 7000输出:个人所得税为: 245.00说明:月收入7000元中3500元免税,1500元的税利为3%,2000元的税利为10%。
含错误源程序:#include <stdio.h>int main(void){float salary,tax;printf("请输入月收入: ");scanf("%d", &salary);if (salary<=3500) tax=0else if (salary<=5000) tax=(salary-3500)*0.03;else tax=1500*0.03+(salary-3500)*0.1;printf("个人所得税为: %.2f\n", tax);return 0;}参考答案:#include <stdio.h>int main(void){float salary,tax;printf("请输入月收入: ");scanf("%f", &salary); /*******/if (salary<=3500) tax=0; /*******/else if (salary<=5000) tax=(salary-3500)*0.03;else tax=1500*0.03+(salary-5000)*0.1; /*******/printf("个人所得税为: %.2f\n", tax);return 0;}2. 程序调试题2调试要求:下列程序(C:\KS\B_2_2.c)包含3个错误,请按题中的功能要求,调试并修改该程序(在所修改语句后加/*******/字样的注释),使其运行能得到正确的结果。
将程序结果(包括B_2_2.c文件和B_2_2.EXE文件)保存到目录C:\KS\中。
功能说明:自定义一个表示分数的结构体类型,在主函数中输入两个分数,通过调用函数计算两个分数的和,最后在主函数中输出计算的结果(不化简)。
运行示例:含错误源程序:#include<stdio.h>struct Frac{ int Mol;int Den;};struct add(struct Frac a,struct Frac b){ struct Frac c;c.Mol=a.Mol*b.Den+a.Den*b.Mol;c.Den=a.Den+b.Den;return c;}int main(void){ struct Frac n,m,t ;printf("请输入第一个分数:");scanf("%d/%d",&n.Mol,&n.Den);printf("请输入第二个分数:");scanf("%d/%d",&m.Mol,&m.Den);t= struct add(n,m);printf("%d/%d+%d/%d=%d/%d\n",n.Mol,n.Den,m.Mol,m.Den,t.Mol,t.Den); return 0;}参考答案:#include<stdio.h>struct Frac{ int Mol;int Den;};struct Frac add(struct Frac a,struct Frac b) /*******/{ struct Frac c;c.Mol=a.Mol*b.Den+a.Den*b.Mol;c.Den=a.Den*b.Den; /*******/return c;}int main(void){ struct Frac n,m,t ;printf("请输入第一个分数:");scanf("%d/%d",&n.Mol,&n.Den);printf("请输入第二个分数:");scanf("%d/%d",&m.Mol,&m.Den);t= add(n,m); /*******/printf("%d/%d+%d/%d=%d/%d\n",n.Mol,n.Den,m.Mol,m.Den,t.Mol,t.Den); return 0;}3. 程序调试题3调试要求:下列程序(C:\KS\B_2_3.c)包含4个错误,请按题中的功能要求,调试并修改该程序(在所修改语句后加/*******/字样的注释),使其运行能得到正确的结果。
将程序结果(包括B_2_3.c文件和B_2_3.EXE文件)保存到目录C:\KS\中。
功能说明:输入两个由整型数构成的集合(元素个数均为5)分别放到数组A和B中,求这两个集合的交集(交集的元素由两个集合中的相同元素构成),最后输出交集中的元素。
运行示例:含错误源程序:#include <stdio.h>void inter(int s1[],int s2[],int s3[]);int main(void ){int a[5],b[5],c[5];int i,n;printf ("请输入第一个集合内容,5个整型数\n"); for(i=0;i<5;i++)scanf("%d",&a[i]);printf ("请输入第二个集合内容,5个整型数\n"); for(i=0;i<5;i++)scanf("%d",&b[i]);n=inter(a,b,c);printf ("A,B交集元素为:\n");for(i=0;i<5;i++)printf("%4d", c[i]);printf("\n");return 0;}int inter(int s1[],int s2[],int s3[]){ int j,i=k=0;for(i=0;i<5;i++){for(j=0;j<5;j++)if (s1[i]==s2[j]) break;if(j<5) s3[k]=s1[i] ;}return k;}参考答案:#include <stdio.h>int inter(int s1[],int s2[],int s3[]); /*******/int main(void ){int a[5],b[5],c[5];int i,n;printf ("请输入第一个集合内容,5个整型数\n");for(i=0;i<5;i++)scanf("%d",&a[i]);printf ("请输入第二个集合内容,5个整型数\n");for(i=0;i<5;i++)scanf("%d",&b[i]);n=inter(a,b,c);printf ("A,B交集元素为:\n");for(i=0;i<n;i++) /*******/ printf("%4d", c[i]);printf("\n");return 0;}int inter(int s1[],int s2[],int s3[]){ int j,i,k=0; /*******/for(i=0;i<5;i++){for(j=0;j<5;j++)if (s1[i]==s2[j]) break;if(j<5) s3[k++]=s1[i] ; /*******/}return k;}(二)编程题(2小题,共35分,其中第1小题15分,第2小题20分)1.编程题1编程要求:请按题中的功能要求,编写程序并能得到正确的结果。