上海计算机二级c试题含解析

合集下载

计算机二级c考试真题及答案解析

计算机二级c考试真题及答案解析

计算机二级c考试真题及答案解析一、选择题(每题2分,共20分)1. 在C语言中,以下哪个选项是合法的字符常量?A. 'a'B. "a"C. 3D. 'ab'答案:A解析:在C语言中,字符常量需要用单引号括起来,因此'a'是合法的字符常量。

选项B是字符串常量,选项C是整数常量,选项D是两个字符的序列,不是单个字符常量。

2. 若有以下定义:```cint a = 3, b = 4;```则表达式`a + b`的值是:A. 7B. 3C. 4D. 0答案:A解析:根据题目中给出的变量定义,a的值为3,b的值为4。

因此,表达式`a + b`的值是3 + 4,即7。

3. 在C语言中,以下哪个选项是正确的整型变量声明?A. int a;B. float b;C. double c;D. All of the above答案:D解析:在C语言中,int、float和double都是合法的整型和浮点型变量声明。

因此,选项A、B和C都是正确的整型变量声明。

4. 下列哪个选项是C语言中的逻辑运算符?A. &&B. ||C. !D. All of the above答案:D解析:在C语言中,&&代表逻辑与,||代表逻辑或,!代表逻辑非,它们都是C语言中的逻辑运算符。

5. 若有以下定义:```cint x = 10;```则表达式`x % 3`的值是:A. 1B. 2C. 3D. 0答案:A解析:表达式`x % 3`表示x除以3的余数。

10除以3的商是3,余数是1,因此`x % 3`的值是1。

6. 在C语言中,以下哪个选项是正确的字符串声明?A. char str[10] = "Hello";B. char str[] = "Hello";C. Both A and BD. None of the above答案:C解析:在C语言中,选项A和B都是正确的字符串声明方式。

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

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

计算机二级c语言试题及答案详解一、基础知识部分1. 下列关于C语言的描述中,错误的是:A) C语言是一种高级语言B) C语言是一种编译型语言C) C语言是一种面向对象语言D) C语言是一种结构化语言答案:C) C语言是一种面向对象语言解析:C语言是一种过程式语言,不是面向对象语言。

2. 下列关于C语言标识符的说法中,错误的是:A) 标识符由字母、数字和下划线组成B) 标识符可以以字母或下划线开头C) 标识符区分大小写D) 标识符不能与C语言的关键字相同答案:C) 标识符区分大小写解析:C语言标识符是不区分大小写的。

3. 以下哪项不是C语言关键字?A) ifB) whileC) varD) for答案:C) var解析:C语言中没有关键字var,正确的关键字是int。

4. 下列代码中,哪个选项是合法的C语言注释?A) /* This is a comment */B) // This is a commentC) # This is a commentD) <!-- This is a comment -->答案:A) /* This is a comment */解析:C语言的注释格式是/* ... */。

二、程序设计部分请写一段C语言程序,实现将两个数相加并输出结果的功能。

```c#include <stdio.h>int main() {int num1, num2, sum;printf("请输入两个整数:");scanf("%d %d", &num1, &num2);sum = num1 + num2;printf("两数之和为:%d\n", sum);return 0;}```解析:以上代码实现了从用户输入两个整数,然后将其相加并输出结果的功能。

三、综合应用部分下列代码中,输出的结果是多少?```c#include <stdio.h>int main() {int a = 5, b = 2;float result;result = a / b;printf("结果为:%f\n", result);return 0;}```答案:结果为2.000000解析:由于a和b都是整数类型,除法运算得到的结果也是整数类型。

计算机二级c语言试题及详细解答答案资料

计算机二级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可封装B自顶向下C模块化D逐步求精7软件详细设计产生的图如下:该图是..AN-S图BPAD图C程序流程图DE-R图8数据库管理系统是________..A操作系统的一部分B在操作系统支持下的系统软件C一种编译系统D一种操作系统9在E-R图中;用来表示实体联系的图形是________..A椭圆形B矩形C菱形D三角形10有三个关系R;S和T如下:其中关系T由关系R和S..A选择B投影C交D并11以下叙述中正确的是________..A程序设计的任务就是编写程序代码并上机调试B程序设计的任务就是确定所用数据结构C程序设计的任务就是确定所用算法D以上三种说法都不完整12以下选项中;能用作用户标识符的是________..Avoid B 8_8C_0_ Dunsigned13阅读以下程序:#include <stdio.h>main{int case;float printF;printf"请输入2个数:";scanf"%d%f";&case;&printF;printf"% d%f\n";case;printF;}该程序在编译时产生错误;其出错原因是________..A定义语句出错;case是关键字;不能用作用户自定义标识符B定义语句出错;printF不能用作用户自定义标识符C定义语句无错;scanf不能作为输入函数使用D定义语句无错;printf不能输出case的值14表达式:intdouble9/2-9%2的值是________..A0 B3C4 D515若有定义语句:int x=10;;则表达式x-=x+x的值为________..A-20 B-10C0 D1016有以下程序:#include <stdio.h>main{int a=1;b=0;printf"%d;";b=a+b;printf"%d\n";a=2程序运行后的输出结果是________..A0;0 B1;0C3;2 D1;217设有定义:int a=1;b=2;c=3;;以下语句中执行效果与其他三个不同的是________..Aifa>bc=a;a=b;b=c;Bifa>b{c=a;a=b;b=c;}Cifa>bc=a;a=b;b=c;Difa>b{c=a;a=b;b=c;}18有以下程序:#include<stdio.h>main{int c=0;k;for k=1;k<3;k++switchk{default: c+=k;case 2:c++;break;case 4:c+=2;break;}printf"%d\n";c;}程序运行后的输出结果是________..A3 B5C7 D919以下程序段中;与语句:k=a>b b>c1:0:0;功能相同的是________.. Aifa>b&&b>ck=1;else k=0;Bifa>b‖b>ck=1;else k=0;Cifa<=bk=0;else ifb<=ck=1;Difa>bk=1;else ifb>c k=1;else k=0;20有以下程序:#include <stdio.h>main{char s={"012xy"};int i;n=0;fori=0;si=0;i++if si>='a'&&si<='z'n++;printf"%d\n";n;}程序运行后的输出结果是________..A0 B2C3 D521有以下程序:#include <stdio.h>main{int n=2;k=0;whilek++&&n++>2;printf"%d%d\n";k;n;}程序运行后的输出结果是________..A0 2 B1 3C57 D1 222有以下定义语句;编译时会出现编译错误的是________..Achar a='a';Bchar a='\n';Cchar a='aa';Dchar a='\x2d';23有以下程序:#include <stdio.h>main{char cl;c2;cl='A'+'8'-'4';c2='A'+'8'-'5';printf"%c;%d\n";cl;c2;}已知字母A的ASCIl码为65;程序运行后的输出结果是________..AE;68 BD;69CE;D D输出无定值24有以下程序:#include <stdio.h>void funint p{int d=2;p=d++;printf"%d";p;}main{int a=1;funa;printf"%d\n";a;}程序运行后的输出结果是________..A32 B12C21 D2225以下函数findmax拟实现在数组中查找最大值并作为函数值返回;但程序中有错导致不能实现预定功能..#define MIN -int findmaxint x;int n{int i;max;fori=0;i<n;i++{max=MIN;ifmax<xi max=xi;}return max;}造成错误的原因是________..A定义语句int i;max;中max未赋初值B赋值语句max=MIN;中;不应给max赋MIN值C语句ifmax<ximax=xi;中判断条件设置错误D赋值语句max=MIN;放错了位置26有以下程序:#include <stdio.h>main{int m=1;n=2;*p=&m;*q=&n;*r;r=p;p=q;q=r;printf"%d;%d;%d;%d\n";m;n;*p;*q;}程序运行后的输出结果是________..A1;2;1;2 B1;2;2;1C2;1;2;1 D2;1;1;227若有定义语句:int a410;*p;*q4;且0≤i<4;则错误的赋值是________..Ap=a Bqi=aiCp=ai Dp=&a2128有以下程序:#include <stdio.h>#include <string.h>main{char str20={"Qne*World";"one*Dream"};*p=str1;printf"%d;";strlenp;printf"%s\n";p;}程序运行后的输出结果是________..A9;One*World B9;One*DreamC10;One*Dream D10;One*World29有以下程序:#include <stdio.h>main{int a={2;3;5;4};i;fori=0;i<4;i++switchi%2{case 0:switchai%2{case 0:ai++;break;case 1:ai--;}break;case 1:ai=0;}fori=0;i<4;i++printf"%d";ai;printf"\n";}程序运行后的输出结果是________..A3 3 4 4 B2 0 5 0C3 0 4 0 D0 3 0 430有以下程序:#include <stdio.h>#include <string.h>main{char a10="abcd";printf"%d;%d\n";strlena;sizeofa;}程序运行后的输出结果是________..A7;4 B4;10C8;8 D10;1031下面是有关C语言字符数组的描述;其中错误的是________.. A不可以用赋值语句给字符数组名赋字符串B可以用输入语句把字符串整体输入给字符数组C字符数组中的内容不一定是字符串D字符数组只能存放字符串32下列函数的功能是________..funchar*a;char*b{while*b=*a='\0'{a++;b++;}}A将a所指字符串赋给b所指空间B使指针b指向a所指字符串C将a所指字符串和b所指字符串进行比较D检查a和b所指字符串中是否有'\0'33设有以下函数:void funint n;char*s{ …… }则下面对函数指针的定义和赋值均正确的是________..Avoid*pf;pf=fun;Bvoid*pf;pf=fun;Cvoid*pf;*pf=fun;Dvoid*pfint;char;pf=&fun;34有以下程序:#include <stdio.h>int fint n;main{int a=3;s;s=fa;s=s+fa;printf"%d\n";s;}int fint n{static int a=1;n+=a++;return n;}程序运行后的输出结果是________..A7 B8C9 D1035有以下程序:#include <stdio.h>#define fx x*x*xmain{int a=3;s;t;s=fa+1;t=fa+1;printf"%d;%d\n";s;t;}程序运行后的输出结果是________..A10;64 B10;10C64;10 D64;6436下面结构体的定义语句中;错误的是________..Astruct ord{int x;int y;int z;};struct ord a;Bstruct ord{int x;int y;int z;}struct ord a;Cstruct ord{int x;int y;int z;}a;Dstruct{int x;int y;int z;a;37设有定义:char*c;;以下选项中能够使字符型指针c正确指向一个字符串的是________..Achar str="string";c=str;Bscanf"%s";c;Cc=getchar;D*c="string";38有以下程序:#include<stdio.h>#include<string.h>struct A{int a;char b10;double c;};struct A fstruct A t;main{struct A a={1001;"ZhangDa";1098.0;a=fa; printf"%d;%s;%6.1f\n";a.a;a.b;a.c;}struct A fstruct A t{t.a=1002;strcpyt.b;"changRong";t.c=1202.0;return t;}程序运行后的输出结果是________..A1001;ZhangDa;1098.0B1002;ZhangDa;1202.0C1001;ChangRong;1098.0D1002;ChangRong;1202.039若有以下程序段:int r=8;printf"%d\n";r>>1;输出结果是________..A16 B8C4 D240下列关于C语言文件的叙述中正确的是________..A文件由一系列数据依次排列组成;只能构成二进制文件B文件由结构序列组成;可以构成二进制文件或文本文件C文件由数据序列组成;可以构成二进制文件或文本文件D文件由字符序列组成;其类型只能是文本文件二、填空题请将每一个空的正确答案写在答题卡序号的横线上;答在试卷上不给分..1某二叉树有5个度为2的结点以及3个度为1的结点;则该二叉树中共有__1__个结点..2程序流程图中的菱形框表示的是__2__..3软件开发过程主要分为需求分析、设计、编码与测试四个阶段;其中__3__ 阶段产生"软件需求规格说明书"..4在数据库技术中;实体集之间的联系可以是一对一或一对多或多对多的;那么"学生"和"可选课程"的联系为__4__..5人员基本信息一般包括:身份证号;姓名;性别;年龄等..其中可以作为主关键字是__5__..6若有定义语句:int a=5;;则表达式:a++的值是__6__..7若有语句double x=17;int y;;当执行y=intx/5%2;之后y的值为__7__..8以下程序运行后的输出结果是__8__..#include <stdio.h>main{int x=20;printf"%d";0<x<20;printf"%d\n";0<x&&x<20;}9以下程序运行后的输出结果是__9__..#include <stdio.h>main{int a=1;b=7;do{b=b/2; a+=b;} whileb>1;printf"%d\n";a;}10有以下程序:#include<stdio.h>main{int f;fl;f2;i;f1=0;f2=1;printf"%d%d";f1;f2;for i=3;i<=5;i++{ f=f1+f2;printf"%d";f;f1=f2;f2=f;}printf"\n";}程序运行后的输出结果是__10__..11有以下程序:#include <stdio.h>int a=5;void funint b{int a=10;a+=b;printf"%d";a;}main{int c=20;func;a+=c;printf"%d\n";a;}程序运行后的输出结果是__11__..12设有定义:struct person{int ID;char name12;}p;请将scanf"%d";__12__;语句补充完整;使其能够为结构体变量p的成员ID正确读入数据..13有以下程序:#include <stdio.h>main{char a20="How are you";b20;scanf"%s";b;printf"%s %s\n";a;b;}程序运行时从键盘输入:How are you<回车>则输出结果为__13__..14有以下程序:#include <stdio.h>typedef struct{int num;double s;}REC;void funlREC x{x.num=23;x.s=88.5;}main{REC a={16;90.0;fun1a;printf"%d\n";a.num;}程序运行后的输出结果是__14__..15有以下程序:#include <stdio.h>funint x{ifx/2>0 funx/2;printf"%d.";x;}main{fun6;printf"\n";}程序运行后的输出结果是__15__..一、选择题1C解析根据数据结构中各数据元素之间前后关系的复杂程度;一般将数据结构分为两大类型:线性结构与非线性结构..线性结构表示数据元素之间为一对一的关系;非线性结构表示数据元素之间为一对多或者多对一的关系..根据各种结构的定义知二叉树是一种非线性结构..2B解析栈是限定只在一端进行插入与删除的线性表;通常称插入、删除的这一端为栈顶;另一端为栈底..栈顶元素总是后被插入的元素;也是最先被删除的元素;栈底元素总是最先被插入的元素;也是最后才能被删除的元素..栈是按照"先进后出"或"后进先出"的原则组织数据的..3D解析循环队列是将顺序队列首尾相连形成的;随着插入元素或删除元素的进行;其队头指针及队尾指针是在不断变化的;有时可能会出现队头指针大于队尾指针的情况;也可能是队尾指针大于队头指针;故答案为D..4A解析算法的空间复杂度是指:算法执行过程中所需的存储空间..一个算法所占用的存储空间包括算法程序所占的空间、输入的初始数据所占的存储空间以及算法执行过程中所需要的额外空间..5B解析模块划分应考虑的因素包括模块之间的耦合和内聚..一般来说;要求模块之间的耦合尽可能地低;即模块尽可能独立;要求模块的内聚程度尽可能地高;即遵循高内聚、低耦合的原则..6A解析模块化、自顶向下、逐步求精都是结构化程序设计的原则;可封装是面向对象程序设计原则..7C解析N-S图是由若干基本框图构成的流程图;其特点是没有流程线;PAD图即问题分析图Problem Analysis Diagram;它是一种由左往右展开的二维树形结构;程序流程图用于描述问题解决的过程和步骤;其中方框表示处理步骤;菱形框表示逻辑判断;箭头表示控制流向;E-R图即实体-联系图Entity Relationship Diagram;用来描述现实世界的概念模型;构成元素有实体、属性和联系;分别用矩形、椭圆形和菱形表示..本题答案为C..8B解析数据库管理系统是指位于用户与操作系统之间的数据管理软件..数据库管理系统是为数据库建立、使用和维护而配置的软件..9C解析E-R图中用矩形表示实体等同于表;用椭圆形表示实体的属性等同于表中字段;用菱形表示实体关系等同于外键..10D解析两个相同结构关系的并是由属于这两个关系的元组组成的集合..11D解析程序设计通常分为问题建模、算法设计、编写代码和编译调试四个阶段..所以选项A、B、C说法都不完整..12C解析C语言的标识符命名规则为:①只能由字母、数值和下划线3种字符组成;②第一个字符必须是字母或下划线;③不能与C语言中的关键字或保留字相同..13A解析标识符不能与C编译系统已经预定义的、具有特殊用途的保留标识符即关键字同名;否则程序在编译时会出现错误..题目源程序中使用了已经预定义的关键字case;所以将出现错误.. 14B解析intdouble9/2的值为4;9%2的值为1;因此intdouble9/2-9%2的值为3..15B解析x-=x+x可化为:x=x-x+x;由于x初始值为10;所以计算后;x=10-20=-10;因此选B..16D解析执行第一个printf语句时;b=a+b=1;所以输出1;执行第二个printf语句时;a=2*b=2;所以输出结果为2..17C解析逗号表达式的求解过程是:按表达式顺序从左往右依次求解..本题中由于判断条件a>b 的值为假;所以选项A、B、D中if语句后面的语句均未被执行;而C中的后两条语句a=b和b=c被执行;因此选项C的执行效果与其他三个不同..18A解析第一次循环时;k=1;在switch语句中;先执行default后面的语句;即c=c+k=1;因为没有break语句;所以不会跳出switch结构;会接着执行case2后面的语句;即c=c+1=2;然后跳出switch;第二次循环时;k=2;直接执行case2后面的语句;即c=c+1=3;然后跳出switch语句;结束循环;执行输出语句..19A解析表达式k=a>b b>c1∶0∶0表示:如果a>b条件为真;则k取值b>c1∶0;否则k取值0;当a>b 的情况下;如果b>c;则k值为1;否则为0..所以该表达式与选项A功能相同..20B解析在字符串数组si中;只有当下标i=3和i=4时;才满足if条件;所以n的值从0增加两次;结果为2..21D解析本题考查逻辑运算符的"短路"现象;由于k的值为0;表达式首先去求k++的值;因为表达式k++的值为0;系统完全可以确定逻辑表达式的运算结果总是为0;因此将跳过n++>2;不再对它进行求值;即k的值加1;n的值不变..22C解析aa是字符串;不用加上单引号..23A解析c1输出字符的ASCII码比字母A大4;即字母E;c2以十进制数字形式输出;因此可以判断本题答案为A..24C解析程序运行后;首先输出的是p的值;然后输出a的值..p=d++;得到p的值为d的初始值2;a 的值不变;仍为1..25D解析对max赋初值;应该放在循环语句之前;不然每次循环都将是从MIN开始比较..26B解析m和n的值不变;输出结果为1;2..指针*p和*q交换了指向的位置;即*p=&n;*q=&m;输出结果分别为2;1..27A解析直接将二维数组a赋给p不合法;两者类型不匹配..28C解析可以将二维数组str看成是一个特殊的一维数组;其元素也是一个数组..那么;str0为"One*World";str1为"One*Dream"..29C解析第一次循环;i=0;i%2=0;a0%2=0;a0=a0+1=3;第二次循环;i=1;1%2=1;a1=0;第三次循环;i=2;a2%2=1;a2=a2-1=4;第四次循环;i=3;i%2=1;a3=0..30B解析strlen用来返回字符串的长度;而sizeof返回的是一个对象或者类型所占的内存字节数;即数组所占的内存..31D解析字符数组中的内容既可以是字符;也可以是字符串;选项D说法不正确..32A解析表达式*b=*a是将a所指的字符赋给b所指的空间;然后;指针a和b依次后移;直到到达指针a所指字符串的结尾..33A解析函数指针的定义形式是:数据类型标识符*指针变量名..void*pf定义了一个没有返回值的函数指针pf;在给函数指针变量赋值时;只需给出函数名而不必给出参数..所以给pf赋值时;只把函数名fun赋给pf即可..所以正确答案为选项A..34C解析s=fa表达式第一次调用fn函数时;fn函数运行结果为n=4;a=2;即s等于4;s=s+fa表达式第二次调用fn函数时;fn函数运行结果为n=5;所以得到s值为9..35A解析s=fa+1=a+1*a+1*a+1=10;s=fa+1=a+1*a+1*a+1=64..36B解析定义结构体变量有三种方式:①先声明结构体类型;再定义变量名;如选项A所示;②在声明类型的同时定义变量;如选项C所示;③直接定义结构体类型变量;如选项D所示..37A解析选项B、D中;没有为字符串分配空间;因此不能用c指向字符串..选项C中getchar函数返回一个字符;不能将字符赋给字符指针c..选项A中首先定义了字符数组str;然后将str的首地址赋给指针c;这样就使指针c指向了字符串"string"..38D解析在主函数中;通过a=fa实现函数调用;所以输出的结构体变量相应变为1002;ChangRong;1202.0..39C解析8用二进制表示为1000;右移1位后为0100;即十进制4..40C解析文件由数据序列组成;可以构成二进制文件;也可以构成文本文件..二、填空题1114解析在二叉树中;度为0的结点数是度为2的结点数加1;故二叉树中结点数的总和为度为0的结点数、度为1的结点数及度为2的结点数三者相加;得出结果为14个结点..22逻辑判断解析绘制流程图时事实描述用椭圆形表示、行动方案用矩形表示、问题用菱形表示、箭头代表流动方向..33需求分析解析需求分析阶段的工作主要包括需求获取、需求分析、编写需求规格说明书和需求评审等四方面;产生的主要文档为软件需求规格说明书;它可以为用户、分析人员和设计人员之间的交流提供方便;直接支持目标软件系统的确认;也可以作为控制软件开发进程的依据..44多对多解析一名学生可以选择多门课程;一门课程也可以由多名学生选择;因此是多对多的联系..55身份证号解析主关键字是表中区别不同的记录的标识;在该表中只有身份证号能具有这个作用;所以用其作为主关键字..665解析a++的含义是在使用a值以后;使a值加1;所以a++的值为5..771解析y=intx/5%2=int3.4%2=3%2=1..881 0解析第一个printf语句输出的结果是逻辑表达式x>0||x<20的值;显然为真;即为1;第二个printf 语句输出的是逻辑表达式x>0&&x<20的值;该值为假;即为0..995解析第一次循环执行后;b=3;a=4;满足条件b>1;循环继续;第二次循环执行后;b=1;a=5;不满足条件b>1;结束循环..所以输出的a值为5..10100 1 123解析第一个printf语句输出结果为0 1..循环体总共循环三次;第一次循环结果为;f=1;f1=1;f2=1;第二次循环结果为f=2;f1=1;f2=2;第三次循环结果为f=3;f1=2;f2=3..11113025解析func调用函数funb;函数执行结果为a=a+b=10+20=30;调用完函数后;主函数继续执行;输出结果a=a+c=5+20=25..1212&p.ID解析结构体成员的引用通过符号"."来表示;通过scanf语句对变量进行赋值时;要用取地址符&..1313How are you How解析用%s格式输入字符串时;空格和回车都作为输入数据的分隔符;不能被读入;因此数组b的输出结果为How..141416解析主函数中;通过funl 函数将a值传递给x;但没有把形参x的值返回;此时变量a的值并没有发生变化;所以输出a.num的值为16..15151 3 6解析依次执行fun6;fun3;fun1;当执行fun6时要调用fun3;执行fun3时要调用fun1;所以输出的结果为1 3 6..。

上海市高等学校计算机等级考试试卷二级C语言程序设计

上海市高等学校计算机等级考试试卷二级C语言程序设计

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程序中,用于提前结束本次循环、进行下一次循环的语句是( )。

2023年计算机等级二级考试C语言试题及答案

2023年计算机等级二级考试C语言试题及答案

一、选择题在下列各题旳A)、B)、C)、D)四个选项中,只有一种选项是对旳旳,请将对旳旳选项涂写在答题卡对应位置上,答在试卷上不得分。

(1)程序流程图中带有箭头旳线段体现旳是CA)图元关系B)数据流C)控制流D)调用关系(2)下面不属于软件设计原则旳是 CA)抽象B)模块化C)自底向上D)信息隐蔽(3)下列选项中,不属于模块间耦合旳是 CA)数据耦合B)标识耦合C)异构耦合D)公共耦合(4)下列论述中,不属于软件需求规格阐明书旳作用旳是DA)便于顾客、开发人员进行理解和交流B)反应出顾客问题旳构造,可以作为软件开发工作旳基础和根据C)作为确认测试和验收旳根据D)便于开发人员进行需求分析(5)算法旳时间复杂度是指CA)执行算法程序所需要旳时间B)算法程序旳长度C)算法执行过程中所需要旳基本运算次数D)算法程序中旳指令条数(6)已知数据表A中每个元素距其最终位置不远,为节省时间,应采用旳算法是BA)堆排序B)直接插入排序C)迅速排序D)B)和C) (7)栈底至栈顶依次寄存元素A、B、C、D,在第五个元素E入栈前,栈中元素可以出栈,则出栈序列也许是BA)ABCED B)DCBEA C)DBCEA D)CDABE(8)数据库设计包括两个方面旳设计内容,它们是AA)概念设计和逻辑设计B)模式设计和内模式设计C)内模式设计和物理设计D)构造特性设计和行为特性设计(9)关系表中旳每一横行称为一种AA)元组B)字段C)属性D)码(10)设有体现学生选课旳三张表,学生S(学号,姓名,性别,年龄,身份证号),课程C(课号,课名),选课SC(学号,课号,成绩),则表SC旳关键字(键或码)为 CA)课号,成绩B)学号,成绩C)学号,课号D)学号,姓名,成绩(11)如下不对旳旳论述是DA)在C程序中,逗号运算符旳优先级最低B)在C程序中,APH和aph是两个不同样旳变量C)若a和b类型相似,在计算了赋值体现式a=b后b中旳值将放入a中,而b中旳值不变D)当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值(12)请选出可用作C语言顾客标识符旳是BA)void,define,WORD B)a3_b3,_123,IF C)FOR,--abc,CaseD)2a,Do,Sizeof(13)如下选项中,不能作为合法常量旳是BA)1.234e04 B)1.234e0.4 C)1.234e+4 D)1.234e0 (14)在C语言中,运算对象必须是整型数旳运算符是AA)% B)\ C)%和\D)**(15)若变量均已对旳定义并赋值,如下合法旳C语言赋值语句是AA)x=y==5; B)x=n%2.5; C)x+n=i; D)x=5=4+1;(16)有如下程序段char ch; int k;ch=′a′;k=12;printf("%c,%d,",ch,ch,k); printf("k=%d \n",k);已知字符a旳ASCII码值为97,则执行上述程序段后输出成果是DA)因变量类型与格式描述符旳类型不匹配输出无定值B)输出项与格式描述符个数不符,输出为零值或不定值C)a,97,12k=12 D)a,97,k=12(17)已知字母A旳ASCII代码值为65,若变量kk为char型,如下不能对旳判断出kk中旳值为大写字母旳体现式是BA)kk>=′A′&&kk<=′Z′ B)!(kk>=′A′||kk<=′Z′) C)(kk+32)>=′a′&&(kk+32)<=′Z′ D)isa lpha(kk)&&(kk<91)(18)当变量c旳值不为2、4、6时,值也为"真"旳体现式是BA)(c==2)||(c==4)||(c==6) B)(c>=2&& c<=6)||(c!=3)||(c!=5) C)(c>=2&&c<=6)&&!(c%2)D)(c>=2&& c<=6)&&(c%2!=1)(19)若有条件体现式(exp)?a++:b--,则如下体现式中能完全等价于体现式(exp)旳是BA)(exp==0) B)(exp!=0) C)(exp==1) D)(exp!=1)(20)如下不对旳旳定义语句是BA)double x[5]={2.0,4.0,6.0,8.0,10.0}; B)int y[5]={0,1,3,5,7,9}; C)char c1[]={′1′,′2′,′3′,′4′,′5′}; D)char c2[]={′\x10′, ′xa′, ′\x8′};(21)下列程序执行后旳输出成果是Bmain(){ int a[3][3], *p,i;p=&a[0][0];for(i=1; i<9; i++)p[i]=i+1;printf("%d\n",a[1][2];)A)3 B)6 C)9 D)随机数(22)设有如下程序段Bint x=0,s=0;while(!x!=0)s+=++x;printf("%d",s);则A)运行程序段后输出0 B)运行程序段后输出1 C)程序段中旳控制体现式是非法旳D)程序段执行无限次(23)下面程序段旳运行成果是Cchar *s="abcde";s+=2;printf("%d",s);A)cde B)字符′c′ C)字符′c′旳地址D)无确定旳输出成果(24)阅读下列程序,则执行后旳成果为A#include "stdio.h"main(){ int c[][4]={1,2,3,4,5,6,7,34,213,56,62,3,23,12,34,56};printf("%x,%x\n",c[2][2],*(*(c+1)+1));}A)3e,6 B)62,5 C)56,5 D)3E,6(25)下面判断对旳旳是CA)char *a="china";等价于char *a;*a="china"; B)char str[5]={"china"};等价于char str[]={"china"};C)char *s="china";等价于char *s;s="china"; D)char c[4]="abc",d[4]="abc";等价于char c[4]=d[4]="abc";(26)若有定义:int a[2][3];,如下选项中对a数组元素对旳引用旳是DA)a[2][!1] B)a[2][3] C)a[0][3] D)a[1>2][!1](27)有定义语句:char s[10];,若要从终端给s输入5个字符,错误旳输入语句是DA)gets(&s[0]); B)scanf("%s",s+1); C)gets(s); D)scanf("%s",s[1]); (28)有如下程序(29)#include <stdio.h>#define N 5#define M N+1#define f(x) (x*M)main(){ int i1,i2;i1=f(2);i2=f(1+1);printf("%d %d\n",i1,i2);}程序旳运行成果是BA)12 12 B)11 7 C)11 11 D)12 7(29)若有如下阐明和定义union dt{ int a; char b; double c;}data;如下论述中错误旳是DA)data旳每个组员起始地址都相似B)变量data所占内存字节数与组员c所占字节数相等C)程序段:data.a=5;printf("%f\n",data.c);输出成果为5. D)data可以作为函数旳实参(30)有如下程序#include<stdio.h>main(){FILE *fp;int k,n,a[6]={1,2,3,4,5,6};fp=fopen("d2.dat","w");fprintf(fp,"%d%d%d\n",a[0],a[1],a[2]);fprintf(fp,"%d%d%d\n",a[3],a[4],a[5]);fclose(fp);fp=fopen("d2.dat","r");fscanf(fp,"%d%d",&k,&n);printf("%d%d\n",k,n);fclose(fp);}程序运行后旳输出成果是DA)1 2 B)1 4 C)123 4 D)123 456 (31)若已定义int a[]={0,1,2,3,4,5,6,7,8,9}, *p=a,i;其中则对a数组元素不对旳旳引用是DA)a[p-a] B)*(&a[i]) C)p[i] D)a[10](32)有如下程序#include <stdio.h>void fun(int *s,int n1,int n2){ int i,j,t;i=n1; j=n2;while(i<j) {t=s[i];s[i]=s[j];s[j]=t;i++;j--;}}main(){ int a[10]={1,2,3,4,5,6,7,8,9,0},k;fun(a,0,3); fun(a,4,9); fun(a,0,9);for(k=0;k<l0;k++)printf("%d",a[k]); printf("\n");}程序旳运行成果是CA) B) C) D)(33)阅读下列程序,当运行函数时,输入asd af aa z67,则输出为A#include <stdio.h>#include <ctype.h>#include <string.h>int fun (char *str){ int i,j=0;for(i=0;str[i]!=′ \0′;i++)if(str[i]!=′ ′)str[j++]=str[i];str[j]= ′\0′;}main(){char str[81];int n;printf("Input a string : ");gets(str);puts(str);fun(str);printf("%s\n",str);}A)asdafaaz67 B)asd af aa z67 C)asd D)z67(34)有如下程序int fun(int n){if(n==1)return 1;elsereturn(n+fun(n-1));}main(){int x;scanf("%d",&x); x=fun(x);printf("%d\n",x)}执行程序时,给变量x输入10,程序旳输出成果是AA)55 B)54 C)65 D)45(35)下面程序段中,输出*旳个数是 Cchar *s="\ta\018bc";for(;*s!='\0';s++)printf("*");A)9 B)5 C)6 D)7(36)C语言构造体类型变量在程序运行期间BA)TC环境在内存中仅仅开辟一种寄存构造体变量地址旳单元B)所有旳组员一直驻留在内存中C)只有最开始旳组员驻留在内存中D)部提组员驻留在内存中(37)已知函数旳调用形式为fread(buf,size,count,fp),参数buf旳含义是CA)一种整型变量,代表要读入旳数据项总数B)一种文献指针,指向要读旳文献C)一种指针,指向要读入数据旳寄存地址D)一种存储区,寄存要读旳数据项(38)设有如下语句char x=3,y=6,z;则z旳二进制值是BA) B) C) D)(39)在C语言中,只有在使用时才占用内存单元旳变量,其存储类型是AA)auto和register B)extern和register C)auto和static D)static和register (40)设有定义语句int (*f)(int);,则如下论述对旳旳是BA)f是基类型为int旳指针变量B)f是指向函数旳指针变量,该函数具有一种int类型旳形参C)f是指向int类型一维数组旳指针变量D)f是函数名,该函数旳返回值是基类型为int类型旳地址二、填空题请将每一种空旳对旳答案写在答题卡序号旳横线上,答在试卷上不给分。

上海二级c语言考试真题及答案

上海二级c语言考试真题及答案

上海二级c语言考试真题及答案一、选择题(每题2分,共20分)1. 下列哪个选项是C语言中的关键字?A. intB. integerC. stringD. array答案:A2. C语言中,哪个函数用于计算并返回字符串的长度?A. strlen()B. length()C. strleng()D. strlength()答案:A3. 在C语言中,以下哪个选项是正确的整型常量表示?A. 0x1FB. 0X1FC. 0x1fD. 0X1f答案:C4. 下列哪个选项是C语言中的正确注释方式?A. /* 这是一个注释 */B. // 这是一个注释C. /*这是一个注释*/D. //这是一个注释答案:A5. 在C语言中,哪个运算符用于计算两个数的乘积?A. +B. -C. *D. /答案:C6. 在C语言中,以下哪个选项是正确的浮点型常量表示?A. 3.14B. 3.14eC. 3.14E2D. 3.14e2答案:C7. 在C语言中,以下哪个选项是正确的字符常量表示?A. 'a'B. "a"C. '123'D. "123"答案:A8. 在C语言中,以下哪个选项是正确的字符串常量表示?A. "Hello World"B. 'Hello World'C. "Hello" "World"D. 'Hello' 'World'答案:A9. 在C语言中,以下哪个选项是正确的数组声明?A. int array[5] = {1, 2, 3, 4, 5};B. int array[] = {1, 2, 3, 4, 5};C. int array[5] = {1, 2, 3};D. int array = {1, 2, 3, 4, 5};答案:B10. 在C语言中,以下哪个选项是正确的函数声明?A. int add(int a, int b);B. int add(int, int);C. int add(int a, b);D. int add(a, b);答案:A二、填空题(每题3分,共15分)1. C语言中,用于输入的函数是________。

上海市计算机二级c语言试题及答案

上海市计算机二级c语言试题及答案

上海市计算机二级c语言试题及答案一、选择题(本大题共10小题,每小题2分,共20分。

每小题只有一个选项是正确的,请将正确答案的字母填在题后的括号内。

)1. C语言中,用于定义一个结构体类型的关键字是()。

A. structB. unionC. enumD. typedef2. 以下哪个选项是合法的C语言用户标识符?()A. 2dollarB. intC. _123abcD. float3. 在C语言中,用于定义一个整型数组的语句是()。

A. int a[10];B. int a[];C. int a=10;D. int a(10);4. 下列哪个函数不能用于字符串连接?()A. strcatB. strcpyC. strncatD. printf5. 在C语言中,用于声明一个函数的关键字是()。

A. defineB. typedefC. externD. static6. 以下哪个选项不是C语言中的运算符?()A. %B. &&C. ::D. <7. C语言中,用于表示逻辑“与”操作的运算符是()。

A. &&B. ||C. !D. &8. 在C语言中,以下哪个选项不是合法的赋值语句?()A. a = b;B. a = b = c;C. a = (b = c);D. a = (b, c);9. 在C语言中,以下哪个选项不是合法的循环语句?()A. forB. do-whileC. whileD. repeat-until10. C语言中,用于定义一个指针变量的语句是()。

A. int *p;B. int p*;C. int *p = 0;D. int p = 0;二、填空题(本大题共5小题,每小题4分,共20分。

请将答案填在题后的横线上。

)1. 在C语言中,表示逻辑“或”操作的运算符是______。

2. C语言中,用于计算两个整数的最大公约数的函数是______。

上海市计算机二级考试(C语言)复习资料题目

上海市计算机二级考试(C语言)复习资料题目

上海理工大学上海市计算机二级考试(C语言)复习资料题目C语言是一种面向过程的程序设计语言,函数、指针、地址和递归概念是它的难点。

本复习资料以教学大纲为依据,提供各类题型和练习,重在“基本概念”、“常用算法”、“阅读分析程序”、“编程技能”等诸方面的强化训练,按照上海市计算机二级考试(C语言)的框架,提供“基础知识、读程序写结果、改错、编程序和程序指令填空”几部份,供学生学习参考,文末附习题参考解答。

1. B2. C3. C4. B5. D6. A7. A8. C9. C10. A11. C 12. A 13. B 14. B 15. C 16. B 17. D 18.B 19. A20. C21. C 22. B 23. B 24. C 25. D 26. B 27. B 28. D 29. C30. C31. D 32. C 33. C 34. B 35. C 36. D 37. C 38. B 39. C40. B41. C 42. B 43. C 44. B 45. B 46. A 47. D 48. D 49. D50. D51. A 52. C第一部份:基础知识1. 下述循环的循环次数是()int k=2;while(k=0)printf("%d",k);k--;printf("\n");A、无限次B、0次C、1次D、2次2. 在下列选项中,没有构成死循环的程序段是()A、int i=100;B、for(;;)while(1){i=i%100+1;if(i>100)break;}C、int k=1000;D、int s=36;do {++k;} while(k>=10000);while(s);--s;3. 若有以下定义和语句,且0<=i<10,则对数组元素的错误引用是()int a[]={0,1,2,3,4,5,6,7,8,9},*p,i;p=a;A、*(a+i)B、a[p-a]C、p+iD、*(&a[i])4. 下面能正确将字符串"Boy"进行完整赋值操作的语句是(B)A、char s[3]={'B','o','y'};B、char s[ ]="Boy";C、char s[3]={"Boy"};D、char s[3];s[0]='B';s[1]='o';s[2]='y';5. 以下程序段的输出结果是(D)char arr[ ]="ABCD";char*ptr;for(ptr=arr;ptr<arr+4;ptr++)printf("%s\n",ptr);A、ABCDB、AC、DD、ABCDBCDCDD6. C语言的auto型变量是(A)A、存储在动态存储区中。

上海计算机考试二级c试题及答案

上海计算机考试二级c试题及答案

上海计算机考试二级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试题及答案

上海计算机考试二级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语言中,使用________关键字可以定义一个变量的存储类型为静态存储。

上海市c语言二级计算机试题及答案

上海市c语言二级计算机试题及答案

上海市c语言二级计算机试题及答案一、单项选择题(每题2分,共20分)1. 在C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A2. 下列哪个选项是正确的C语言变量声明?A. int a, b;B. int a; b;C. int a; int b;D. int a, b;答案:D3. 在C语言中,以下哪个运算符用于执行算术运算?A. %B. &&C. ==D. +答案:D4. 在C语言中,以下哪个函数用于将字符串从源复制到目标?A. strcpy()B. strcat()C. strcmp()D. strlen()答案:A5. 下列哪个选项是正确的C语言函数定义?A. int function(int x) { return x; }B. int function(int x) { return x; }C. int function(int x) { return x; }D. int function(int x) { return x; }答案:B6. 在C语言中,以下哪个关键字用于声明一个函数?A. intB. voidC. returnD. function答案:B7. 下列哪个选项是正确的C语言数组声明?A. int array[5];B. int array[];C. int [5] array;D. int array;答案:A8. 在C语言中,以下哪个关键字用于声明一个指针?A. *B. &C. %D. #答案:A9. 在C语言中,以下哪个函数用于计算字符串的长度?A. strcpy()B. strcat()C. strcmp()D. strlen()答案:D10. 下列哪个选项是正确的C语言函数返回类型声明?A. void function()B. int function()C. function()D. void function答案:B二、填空题(每题2分,共10分)1. 在C语言中,使用________关键字可以定义一个函数。

上海计算机二级C语言考试真题

上海计算机二级C语言考试真题

1单选设有定义int a[10]; 则合法数组元素的下标范围为_0~9_____设有定义:int x=10,y=20,z=30; 则执行下列语句后的结果是___20,30,30_____ if ( x>y ) z=x;x=y; y=z;printf("%d,%d,%d",x, y, z );执行下列语句序列后,不可能出现的运行结果是________ int n;scanf( "%d", &n);switch ( n ){case 1:case 2: putchar('X');case 3:case 4: putchar('Y'); break;default: putchar('Z');}2填空设有以下程序段,则执行完该程序段后,变量 i 的值是________ int i;char s[]="Hello!", *p=s;for( i=0; *(p+i)!='\0';i++ );阅读以下程序并写出运行结果___________ #include <stdio.h>main(){int k,n=0;for ( k=1; k<=1000; k++ )if ( k%3==0 && k%5==0 ){printf( "%d ", k );n++;if ( n==3 ) break;}}3程序填空以下程序输入n和n个大于1的正整数,输出其中素数。

如输入:5 19 93 11 37 15则输出:19 11 37例示说明:先输入n为5,再输入5个正整数,输出5个整数中的素数#include <stdio.h>void main(){int n, a, i, j, ct;scanf( "%d", &n );for ( i=0; ____(1)____; i++ ){______(2)______;scanf( "%d", &a );for( j=2; j<a; j++ )if ( ____(3)____ )ct++;if ( ct==0 )printf( "%d ", a );}printf( "\n" );}以下程序从文件“student.txt”读取学生的学号、姓名、平时成绩和考试成绩,再从键盘上输入一个成绩,将所有考试成绩达到或超过该成绩的学生数据写到新的文本文件“studentD.txt”。

c全国计算机二级考试真题及答案

c全国计算机二级考试真题及答案

c全国计算机二级考试真题及答案一、选择题(每题1分,共20分)1. 在计算机中,二进制数1010转换为十进制数是多少?A. 8B. 10C. 12D. 14答案:B2. 下列哪个选项不是计算机病毒的特点?A. 破坏性B. 传染性C. 可预见性D. 隐蔽性答案:C3. 在计算机系统中,外存是指?A. 内存B. 硬盘C. 软盘D. 光盘答案:B4. 以下哪个选项不是计算机操作系统的功能?A. 进程管理B. 文件管理C. 设备管理D. 网络通信5. 在Word中,以下哪个功能可以调整文档中的文字大小?A. 字体B. 段落C. 样式D. 插入答案:A6. Excel中,以下哪个函数用于计算一组数值的平均值?A. SUMB. AVERAGEC. COUNTD. MAX答案:B7. 在PowerPoint中,以下哪个视图模式用于编辑幻灯片内容?A. 普通视图B. 幻灯片浏览视图C. 幻灯片放映视图D. 大纲视图答案:A8. 以下哪个选项不是计算机网络的拓扑结构?A. 星型B. 环型C. 总线型D. 树型答案:D9. 在数据库管理系统中,以下哪个操作用于查询数据?B. INSERTC. UPDATED. DELETE答案:A10. 以下哪个选项是计算机硬件的组成部分?A. 操作系统B. 编译器C. 中央处理器D. 编程语言答案:C11. 在计算机中,以下哪个单位用于表示存储容量?A. 字节(Byte)B. 位(Bit)C. 赫兹(Hz)D. 伏特(V)答案:A12. 以下哪个选项不是计算机病毒的传播途径?A. 电子邮件B. 移动存储设备C. 正规软件下载D. 网络下载答案:C13. 在计算机系统中,以下哪个选项不是输入设备?A. 键盘B. 鼠标C. 显示器D. 扫描仪答案:C14. 在Word中,以下哪个功能可以设置文档的页边距?A. 页面布局B. 插入C. 引用D. 视图答案:A15. Excel中,以下哪个函数用于计算一组数值的总和?A. AVERAGEB. SUMC. COUNTD. MAX答案:B16. 在PowerPoint中,以下哪个视图模式用于查看幻灯片的布局?A. 普通视图B. 幻灯片浏览视图C. 幻灯片放映视图D. 大纲视图答案:B17. 以下哪个选项是计算机网络的功能?A. 数据存储B. 数据处理C. 资源共享D. 信息发布答案:C18. 在数据库管理系统中,以下哪个操作用于插入数据?A. SELECTB. INSERTC. UPDATED. DELETE答案:B19. 以下哪个选项是计算机软件的组成部分?A. 操作系统B. 编译器C. 中央处理器D. 编程语言答案:A20. 在计算机中,以下哪个单位用于表示数据传输速率?A. 字节(Byte)B. 位(Bit)C. 赫兹(Hz)D. 伏特(V)答案:B结束语:以上是全国计算机二级考试的部分真题及答案,希望对各位考生的复习有所帮助。

上海市计算机c二级考试答案

上海市计算机c二级考试答案

上海市计算机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语言)复习资料题目答案

上海市计算机二级考试(C语言)复习资料题目答案

上海理工大学上海市计算机二级考试(C语言)复习资料题目解答第一部份:基础知识1. B2. C3. C4. B5. D6. A7. A8. C9. C 10. A 11. C 12. A 13. B 14. B 15. C 16. B 17. D 18.B 19. A 20. C 21. C 22. B 23. B 24. C 25. D 26. B 27. B 28. D 29. C 30. C 31. D 32. C 33. C 34. B 35. C 36. D 37. C 38. B 39. C 40. B 41. C 42. B 43. C 44. B 45. B 46. A 47. D 48. D 49. D 50. D 51. A 52. C53. (Sqrt( x)+ sqrt( y))/2/( x+ y) or similar54. The "234" is namely the string234 55. B 56.D 57.D 58. B 59.C 60.D61.B 62. D 63.A 64.D 65.C 66.B 67.C 68. D 69. C 70.C 71.A 72.A 73.B 74.B 75.C 76. C 77.C 78.A 79.D 80.B 81.D 82.D 83.C 84.D 85.B 86.D 87.B 88.D 89.B 90.C 91.C 92.B 93.B 94.B 95. N+'0'96.0The x1400 moves is ex-, binary system 00010100 Bs or eight enter the 024 Qs of system97. The first answer 65 ds or 41 hses or a the second answer 1 or not098. 85 99. 14 100. x=-60第二部分读程序,写结果1. 0,2,4,32. 3.1423.84.m/10%10*100+m/100*10+m%105.?uoy_era_woHHwaeyu6.7,37.546568. A the = biggest number, b= is most the fraction9. 110.5,511.1012.1 3 5 7 913. j=0 m=4The first k : 4j=1 m=414.The second k : 515.Count=0, position=0( did not find out)16.0-3017.输出12 14 22 24 32 34,函数s是用插入法对数组a的前n个元素从小到大排序18.输出 2 3 5 7 11 13 函数p的功能是求k(包括k )以内的质数19.输出n=91, a[]=0, 10, 21, 3120.输出Feith21.输出72 56 38 4922.k=523. 124.925.用递归函数实现10->2进制转换第三部分程序改错1.#4 scanf(“%d”,&x);#10 low=m+1#11 high=m-12.#7 scanf(“%c”,&str[i]);#8 break3. #7 x , n#13 n==0#15 x*xn(x,n-1)4. #5 t=t*x/i#15 e=ex(x)5. #4 scanf(%d”,&x);#10 low=m+1#11 high=m-16. #3 fun(str[])#5 while (*(str+num)!=’\0’) num++;#9 char str[10],*p=str;7. #14 flag=0 ;#19 flag=1; i++;8. #3 func(str[])#5 while (*(str+num)!=’\0’) num++;#9 {char str[10],*p=str;9. #5 n=n/10;#6 while (!n);#12 scanf(“%ld”,&n);10. #10 else if (x>a[m]) low=m+1;#11 else high=m-1;11. #6 a=1.0;#8 a/=i;#9 e+=a;12. #6 char *temp;#10 if(strcmp(temp,name[i])>0)#12 printf(“%s \n”, temp );13. #3 str[i]!=’\0’#4 str[i]>= ’0’ && str[i]<=’9’#10 data = data*16 + n;14. #3 int n1=0,n2=0, i;#6 if (str[i]==’#’)#8 if (str[i]>=’0’&&str[i]<=’9’)#9 n2++; }15. #5 i<N#7 sum=max=min=a[0]#12 aver=(float)(sum-max-min)/(N-2)16. #7 scanf(“%c”,&str[i]);#8 break17. #7 x , n#13 n==0#15 x*xn(x,n-1)18. #4 double fun(double eps)#8 while (t>=eps)#13 return (2*s);19. #3 long fun(char *p)#17 num+=p[i]-48;或 num+=p[i]-‘0’;#29 printf(“%ld\n”,n); /* 必须有%ld */20. #9 a[j]<a[i]#15 b[k]>a[j]&&a[j]#18 a[j]=b[k]21. #2 void printcol(int (*p)[N], int row, int col)#6 printf(“\t\t%d\n”,*(*(p+i)+col));#14 } while (col<0||col>N-1);22. #2 …(char *s)#4 (*p) 或…(*p!=0) 或…(*p!='\0’)#9 gets(x);23. #6 t=n%10;#10 n/=10;#11 } while(n); 或 } while (n!=0);24. #4 { for (j=0;j<=20-i;j++)#5 printf(" ");#8 printf("\n");25. #2 char *fun(char *s,char *t)#4 a=0;(或a=NULL;)#8 if (*r ==*p) {r++; p++;}第四部分编程序1. 设有链表结点的结构及变量如下:)struct st{ int num ;struct st *next;};struct st *head, *p1 ,* p2;编写函数create(),是个无参数函数,创建链表,num=0结束,返回指针值,指向首结点head。

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

2003年上海市高等学校计算机等级考试试卷二级 (C 程序设计)(120分钟)试题一(28分,每小题4分)(1) 设有变量说明:int a=5, b=4, c=3, r1, r2;请写出执行下列语句後r1和r2的值。

r1=a>b>c;r2=a<b&&b>c;(2) 试写出下列算式的C 语言表达式。

yx a 2031log 75sin(3) 执行下列语句後,i, j, k 的值是多少?for(i=k=0, j=6; i<j; i++, j-- ) k+=4*i-5*j;(4) 执行下列程序後,b 和c 的值各为多少?#include <stdio.h>void main(){int *a[10], b, c;a[0]=&b;*a[0]=5;c=(*a[0])++;printf(“%d %d\n ”, b, c);}(5) 设有如下程序:#include <stdio.h>void main(){int clock; float f; char cpu[20];scanf(“%4d%f%s ”, &clock, &f, cpu);printf(“%d %.0f %s\n ”, clock, f, cpu);}假设输入数据流为200015.0 P4 is GOOD!,请写出执行该程序後的输出结果。

(6)下列程序的输出结果是什么?#include <stdio.h>main(){int c1=0, c2=0, c3=0, c4=0;char *p=”12395632123378”;while(*p) {switch(*p) {case ‘1’: c1++; break;case ‘2’: c2++;case ‘3’: c3++; break;default: c4++;}p++;}printf(“c1=%d c2=%d c3=%d c4=%d\n”, c1, c2, c3, c4);}(7)执行下列程序後,s的值为多少?#define sq(X) X*Xvoid main(){int s=15, a=2, b=1;printf(“s=%d\n”, sq(a+b)/sq(a+b));}试题二(12分,每小题6分)阅读下列程序,写输出结果。

(1)#define N 6void main(){int i, j, a[N];for(i=1; i<N; i++){a[i]=1;for(j=i-1; j>1; j--)a[j]+=a[j-1];for(j=1; j<=i; j++)printf(“%4d”, a[j]);printf(“\n”);}}(2)#include <stdio.h>void fun(char *s){ while(*s){*s=(*s-‘0’+3)%10+’0’;++s;}}void main(){char a[]=”314762985”; int i;fun(a+3);for(i=0; i<3; ++i)printf(“%c\n”, a[3*i+1]);}试题三(12分,每小题6分)改错。

下列程序各有三个错误,请纠正。

(1)以下程序的功能是输入一个字符串,并将其中的字符’a’用字符串’shu’替代後输出。

如输入为“123abcaHello”,则输出为“123shubcshuHello”。

#01 #include <stdio.h>#02 void main()#03 {#04 int i; char line[81];#05 scanf(“%s”, &line);#06 for(i=0; line[i]!=’\n’; i++)#07 if(line[i]==’a’)#08 printf(“shu”);#09 else#10 printf(“%s”, line[i]);#11 }(2)以下程序实现对输入的长度小于100的英文字母串(空格表示结束)进行头尾相接,围成一个环,输出按顺时针方向出现的相邻两个递增字母及其个数(如下图中的HI, IJ, ST, 总共出现3次)。

#01 #include <string.h>#02 void main()#03 {#04 char s[100];#05 int k, len, no;#06 scanf(“%s ”, s);#07 len=strlen(s);#08 s[len]=s[0];#09 s[len++]=’\0’;#10 for(k=0; k<len; k++)#11 if(s[k-1]+1==s[k]) {#12 printf(“%c %c\n ”, s[k-1], s[k]);#13 no++;#14 }#15 printf(“%d\n ”, no);#16 }试题四(18分, 每小题6分)按要求编程序段。

(1)求出任意一个数m(设4<=m<=1000)的所有素因子。

例如,37的素因子是37;420的素因子是2,2,3,5,7。

(2)设有一维数组说明char T[5],存放五个字母’A ’,’B ’,’C ’,’D ’,’E ’,编程按以下格式输出结果。

A B C D EB C D E AC D E A BD E A B CE A B C D(3)输入正偶数,计算以下级数值和并输出结果(显示结果保留小数点後5位)。

2)1(...1639241+--+-=n n s 试题五(15分,每空3分)填空。

【问题描述】以下程序不断地从键盘输入字符,直到输入EOF(control+z)为止。

对于输入的小写字符,先转换为相应的大写字符,其它字符不变,然后逐个输出到文件text.txt 中,行结束符回车(‘\n ’)也作为一个字符对待,最后统计文件中的字符个数和行数。

#include <stdio.h>main(){FILE *fp;char c, str[256];int i=0, no=0, line=0;if((fp=fopen(“text.txt”, (1) ))==NULL){printf(“can`t open this file.\n”);exit(0);}printf(“please input a string.\n”);while((c=getchar())!=EOF){if(c>=’a’&&c<=’z’) (2) ;fputc( (3) , fp);}fclose(fp);if((fp=fopen(“text.txt”, “r”))==NULL){printf(“can`t open this file.\n”)exit(0);}while(!feof(fp)){c= (4) ;no++;if( (5) ) line++;}printf(“line=%d character_no=%d\n”, line, no);fclose(fp);}试题六(15分,每空3分)填空。

【问题描述】已知X和Y是两个整型数组,而且X中的数据按从小到大的顺序排列,Y中的数据按从达到小的顺序排列。

以下程序将X和Y中的数归并,并按从小到大的顺序保存到整型数组Z 中,然后输出数组Z中的各个元素。

例如,X数组为{1, 12, 23, 37},Y数组为{123, 78, 36, 3},归并後生成的新数组Z为{1, 3, 12, 23, 36, 37, 78, 123}。

void sorted(int up[], int down[], int merged[], int n){int i, j, k, m;i=k=0; j=n-1;while( (1) )if(up[i]<=down[j]){(2) ;i++;k++;}else{merged[k]== (3) ;j--;k++;}if(i==n&&j>=0)for( ; j>=0; j--)merged[k++]= (4) ;if(j==0&&i<n)for( ; i<n; i++)merged[k++]= (5) ;}void main(){int pu[]={1, 12, 23, 37}, down[]={123, 78, 36, 3}, merged[8], k;sorted(up, down, merged, 4);for(k=0; k<8; k++)printf(“%5d”, merged[k]);printf(“\n”);}。

相关文档
最新文档