二级C语言真题2017年03月-(3)及答案解析

合集下载

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

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

计算机c语言二级考试题库及答案2017计算机c语言二级考试题库及答案2017年3月计算机考试在即,今天店铺为大家带来了计算机二级考试中C语言部分试题及答案。

不管你是新生老生都值得收藏哟,既可以为自己考前做复习还可以分享撩学弟学妹。

1) 以下选项中,合法的数值型常量是A) 3.2 B) 'X' C) 099 D) 0xEH答案:A2) 以下选项中,合法的实数是A) 1.5E2 B) E1.1 C) 2.10E D) 1.9E1.4答案:A3) 若已有定义语句:int a, b, c;,且变量已正确赋初值,则以下选项中正确的赋值表达式是A) a = (b = c) + 8;B) (a = b) = c = 9;C) a = (b == c) = 'A';D) a + b = c + 1;答案:A4) 有以下程序#includemain(){int x = 0x13;printf("INT:%d\n", x+1);}程序运行后的输出结果是A) INT:20 B) INT:13C) INT:12 D) INT:14答案:A5) 关于程序设计基本概念,以下叙述错误的是A) 计算机可以直接执行由任意高级语言编写的程序B) 高级语言都有与之对应的编译程序或解释程序C) 用任何一种计算机高级语言都可以把算法转换为程序D) 结构化算法可以解决任何复杂的问题答案:A6) 关于程序中的注释,以下叙述正确的是A) 注释的内容必须放在一对/*和 */之间B) 注释必须置于所说明的语句前或语句后C) 注释中间可以嵌套另一个注释D) 注释内容错误会导致编译出错答案:A7) 以下不能用于实型数据的运算符是A) % B) /C) * D) +答案:A8) C源程序中不能表示的数制是A) 二进制 B) 八进制C) 十进制 D) 十六进制答案:A9) 以下选项中,能用作用户标识符的是A) _0_ B) 8_8C) void D) unsigned答案:A10) 若有定义语句:int x=10;则表达式x-=x+x的值为A) -10 B) -20C) 0 D) 10答案:A11) 有以下程序#includemain(){ int a=1,b=0;printf("%d,",b=a+b);printf("%d\n",a=2*b);}程序运行后的输出结果是A) 1,2 B) 1,0C) 3,2 D) 0,0答案:A12) 以下关于结构化程序设计的叙述中正确的是A) 在C语言中,程序的'模块化是利用函数实现的B) 结构化程序使用goto语句会很便捷C) 一个结构化程序必须同时由顺序、分支、循环三种结构组成D) 由三种基本结构构成的程序只能解决小规模的问题答案:A13) 对于一个正常运行的C程序,以下叙述中正确的是A) 程序的执行总是从main函数开始 B) 程序的执行总是从程序的第一个函数开始, 在main函数结束C) 程序的执行总是从main函数开始,在程序的最后一个函数中结束D) 程序的执行总是从程序的第一个函数开始,在程序的最后一个函数中结束答案:A14) 以下选项中能表示合法常量的是A) "\007" B) 1.5E2.0C) '\' D) 1,200答案:A15) 以下定义语句中正确的是A) char A=65+1,b='b'; B) int a=b=0;C) float a=1,*b=&a,*c=&b; D) double a=0.0; b=1.1;答案:A16) 若变量x、y已正确定义并赋值,以下符合C语言语法的表达式是A) ++x,y=x-- B) x+1=yC) x=x+10=x+y D) double(x)/10答案:A17) 若变量已正确定义为int型,要通过语句scanf("%d,%d,%d",&a,&b,&c);给a赋值1、给b赋值2、给 c赋值3,以下输入形式中错误的是(注:□代表一个空格符)A) 1□2□3<回车> B) □□□1,2,3 <回车>C) 1,□□□2,□□□3<回车> D) 1,2,3<回车>答案:A18) 计算机能直接执行的程序是A) 可执行程序 B) 目标程序C) 汇编程序 D) 源程序答案:A19) 以下叙述中正确的是A) C语言规定必须用main作为主函数名,程序将从此开始执行B) 可以在程序中由用户指定任意一个函数作为主函数,程序将从此开始执行C) C语言程序将从源程序中第一个函数开始执行D) main的各种大小写拼写形式都可以作为主函数名,如:MAIN,Main等答案:A20) 以下选项中可用作C程序合法实数的是A) .1e0 B) 3.0e0.2C) E9 D) 9.12E答案:A21) 下列定义变量的语句中错误的是A) float US$; B) double int_;C) char For; D) int _int;答案:A22) 表达式:(int)((double)9/2)- 9%2 的值是A) 3 B) 0 C) 4 D) 5答案:A23) 若有定义:int a,b;通过语句scanf("%d;%d",&a,&b);能把整数3赋给变量a,5赋给变量b的输入数据是A) 3;5 B) 3,5 C) 3 5 D) 35答案:A24) 下列叙述中错误的是A) 一个C语言程序只能实现一种算法 B) C程序可以由多个程序文件组成C) C程序可以由一个或多个函数组成D) 一个C函数可以单独作为一个C程序文件存在答案:A25) C语言源程序名的后缀是A) .C B) .exe C) .obj D) .cp答案:A26) 以下叙述中正确的是A) 赋值语句是一种执行语句,必须放在函数的可执行部分B) scanf和printf是C语言提供的输入和输出语句C) 由printf输出的数据都隐含左对齐D) 由printf输出的数据的实际精度是由格式控制中的域宽和小数的域宽来完全决定的答案:A【2017计算机c语言二级考试题库及答案】。

3月全国计算机二级c语言考题试卷及答案

3月全国计算机二级c语言考题试卷及答案

3月全国计算机二级C语言考题试卷及答案一、选择题(1)下列关于栈叙述正确的是A)栈顶元素先能被删除B)栈顶元素后才能被删除C)栈底元素永远不能被删除D)以上三种说法都不对(2)下列叙述中正确的是A)有一个以上根结点的数据结构不一定是非线性结构B)只有一个根结点的数据结构不一定是线性结构C)循环链表是非线性结构D)双向链表是非线性结构(3)某二叉树共有7个结点,其中叶子结点只有1个,则该二叉树的深度为(假设根结点在第1层)A)3 B)4 C)6 D)7(4)在软件开发中,需求解析阶段产生的主要文档是A)软件集成测试计划 B)软件详细设计说明书C)用户手册 D)软件需求规格说明书(5)结构化程序所要求的基本结构不包括A)顺序结构 B)GOTO跳转C)选择(分支)结构 D)重复(循环)结构(6)下面描述中错误的是A)系统总体结构图支持软件系统的详细设计B)软件设计是将软件需求转换为软件表示的过程C)数据结构与数据库设计是软件设计的任务之一D)PAD图是软件详细设计的表示工具(7)负责数据库中查询操作的数据库语言是A)数据定义语言B)数据管理语言C)数据操纵语言D)数据控制语言(8)一个教师可讲授多门课程,一门课程可由多个教师讲授。

则实体教师和课程间的联系是A)1:1联系 B)1:m联系C)m:1联系 D)m:n联系(9)有三个关系R、S和T如下:则由关系R和S得到关系T的操作是A)自然连接 B)交 C)除 D)并(10)定义无符号整数类为UInt,下面可以作为类UInt实例化值的是A)-369 B)369 C)0.369 D)整数集合{1,2,3,4,5}(11)计算机高级语言程序的运行方法有编译执行和解释执行两种,以下叙述中正确的是A)C语言程序仅可以编译执行B)C语言程序仅可以解释执行C)C语言程序既可以编译执行又可以解释执行D)以上说法都不对(12)以下叙述中错误的是A)C语言的可执行程序是由一系列机器指令构成的B)用C语言编写的源程序不能直接在计算机上运行C)通过编译得到的二进制目标程序需要连接才可以运行D)在没有安装C语言集成开发环境的机器上不能运行C源程序生成的.exe文件(13)以下选项中不能用作C程序合法常量的是A)1,234 B)'123'C)123 D)"\x7G"(14)以下选项中可用作C程序合法实数的是A).1e0 B)3.0e0.2C)E9 D)9.12E(15)若有定义语句:int a=3,b=2,c=1;,以下选项中错误的赋值表达式是A)a=(b=4)=3; B)a=b=c+1;C)a=(b=4)+c; D)a=1+(b=c=4);(16)有以下程序段char name[20];int num;scanf("name=%s num=%d",name;&num);当执行上述程序段,并从键盘输入:name=Lili num=1001<回车>后,name的值为A)LiliB)name=LiliC)Lili num=D)name=Lili num=1001(17)if语句的基本形式是:if(表达式)语句,以下关于“表达式”值的叙述中正确的是A)必须是逻辑值 B)必须是整数值C)必须是正数 D)可以是任意合法的数值(18)有以下程序#includemain(){ int x=011;printf("%d\n",++x);}程序运行后的输出结果是A)12 B)11 C)10 D)9(19)有以下程序#includemain(){ int s;scanf("%d",&s);while(s>0){ switch(s){ case1:printf("%d",s+5);case2:printf("%d",s+4); break;case3:printf("%d",s+3);default:printf("%d",s+1);break;}scanf("%d",&s);}}运行时,若输入1 2 3 4 5 0<回车>,则输出结果是A)6566456 B)66656 C)66666 D)6666656(20)有以下程序段int i,n;for(i=0;i<8;i++){ n=rand()%5;switch (n){ case 1:case 3:printf("%d\n",n); break;case 2:case 4:printf("%d\n",n); continue;case 0:exit(0);}printf("%d\n",n);}以下关于程序段执行情况的叙述,正确的是A)for循环语句固定执行8次B)当产生的随机数n为4时结束循环操作C)当产生的随机数n为1和2时不做任何操作D)当产生的随机数n为0时结束程序运行(21)有以下程序#includemain(){ char s[]="012xy\08s34f4w2";int i,n=0;for(i=0;s[i]!=0;i++)if(s[i]>='0'&&s[i]<='9') n++;printf("%d\n",n);}程序运行后的输出结果是A)0 B)3 C)7 D)8(22)若i和k都是int类型变量,有以下for语句for(i=0,k=-1;k=1;k++) printf("*****\n");下面关于语句执行情况的叙述中正确的是A)循环体执行两次B)循环体执行一次C)循环体一次也不执行D)构成无限循环(23)有以下程序#includemain(){ char b,c; int i;b='a'; c='A';for(i=0;i<6;i++){ if(i%2) putchar(i+b);else putchar(i+c);} printf("\n");}程序运行后的输出结果是A)ABCDEF B)AbCdEf C)aBcDeF D)abcdef(24)设有定义:double x[10],*p=x;,以下能给数组x下标为6的元素读入数据的正确语句是A)scanf("%f",&x[6]); B)scanf("%lf",*(x+6));C)scanf("%lf",p+6); D)scanf("%lf",p[6]);(25)有以下程序(说明:字母A的ASCII码值是65)#includevoid fun(char *s){ while(*s){ if(*s%2) printf("%c",*s);s++;}}main(){ char a[]="BYTE";fun(a); printf("\n");}程序运行后的输出结果是A)BY B)BT C)YT D) YE(26)有以下程序段#includemain(){ …while( getchar()!='\n');…}以下叙述中正确的是A)此while语句将无限循环B) getchar()不可以出现在while语句的条件表达式中C)当执行此while语句时,只有按回车键程序才能继续执行D)当执行此while语句时,按任意键程序就能继续执行(27)有以下程序#includemain(){ int x=1,y=0;if(!x) y++;else if(x==0)if (x) y+=2;else y+=3;printf("%d\n",y);}程序运行后的输出结果是A)3 B)2 C)1 D) 0(28)若有定义语句:char s[3][10],(*k)[3],*p;,则以下赋值语句正确的是A)p=s; B)p=k; C)p=s[0]; D)k=s;(29)有以下程序#includevoid fun(char *c){ while(*c){ if(*c>='a'&&*c<='z') *c=*c-('a'-'A');c++;}}main(){ char s[81];gets(s); fun(s); puts(s):}当执行程序时从键盘上输入Hello Beijing<回车>,则程序的输出结果是A)hello beijing B)Hello Beijing C)HELLO BEIJING D)hELLO Beijing(30)以下函数的功能是:通过键盘输入数据,为数组中的所有元素赋值。

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

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

计算机二级c语言2017试题及答案一、选择题(每题1分,共10分)1. 在C语言中,以下哪个选项是合法的变量名?A. 2variableB. variable2C. variable-2D. _variable2答案:D2. 关于C语言中的数组,以下说法正确的是?A. 数组的大小在声明后可以改变B. 数组的索引从0开始C. 数组可以存储不同类型的数据D. 数组只能存储数字答案:B3. 下列哪个函数用于将字符串转换为浮点数?A. atoiB. atofC. itoaD. sprintf答案:B4. 在C语言中,以下哪个关键字用于定义一个函数?A. intB. returnC. voidD. function答案:C5. C语言中,以下哪个运算符用于判断两个值是否相等?A. ==B. !=C. =D. &&答案:A6. 在C语言中,以下哪个选项表示“或”逻辑运算?A. &&B. ||C. !D. %答案:B7. C语言中,以下哪个选项用于定义一个全局变量?A. staticB. externC. constD. register答案:B8. 在C语言中,以下哪个函数用于输出字符串?A. printfB. scanfC. getsD. puts答案:D9. 关于C语言中的指针,以下说法正确的是?A. 指针可以存储任何类型的数据B. 指针变量必须初始化C. 指针可以存储变量的地址D. 指针不能存储函数的地址答案:C10. 在C语言中,以下哪个选项用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A二、填空题(每题2分,共10分)1. 在C语言中,定义一个整型变量的关键字是________。

答案:int2. 字符串"Hello, World!"在C语言中的正确表示方式是________。

答案:"Hello, World!"3. 在C语言中,用于定义一个函数的关键字是________。

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

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

全国计算机二级《C语言》操作试题及答案2017全国计算机二级《C语言》操作试题及答案一、程序填空题给定程序中,函数fun的功能是:把形参S所指字符串中最右边的n个字符复制到形参t所指字符数组中,形成一个新串。

若s所指字符串的长度小于n,则将整个字符串复制到形参t所指字符数组中。

例如,形参s所指的字符串为:abcdefgh,n的.值为5,程序执行后t所指字符数组中的字符串应为:defgh。

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

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

二、程序修改题下列给定程序中,函数fun的功能是:找出一个大于给定整数m 且紧随m的素数,并作为函数值返回。

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

注意:部分源程序在文件MODll.C中,不要改动main函数,不得增行或删行,也不得更改程序的结构!三、程序设计题参考答案一、程序填空题【参考答案】二、程序修改题【参考答案】(1)if(i%k==0)(2)if(k==i)【解题思路】(1)判断当前数是否为素数,若存在一个数(除1和其自身)能整除当前数,则跳出本次循环,所以if条件应为i%k==0。

(2)如果i是素数,则循环结束时k==i,将该值返回。

三、程序设计题【参考答案】【解题思路】本题考查:偶数的判定方法;整除的实现。

本题题干信息是:能整除X且不是偶数的所有整数。

循环语句中变量i从1开始且每次增2,所以i始终是奇数。

整除的方法,已经讲过多次,这里就不再赘述了。

对于本题目要求的不是偶数的判定方法,即该数对2求余不为0。

除本题描述的方法外,还可以通过for循环语句直接把偶数筛出去,确保参与操作的数均为奇数。

更多计算机二级考试相关试题推荐:1.2.3.4.5.6.7.8.9.10.。

3月计算机等级考试二级C语言笔试真题及参考答案

3月计算机等级考试二级C语言笔试真题及参考答案

2010年3月计算机等级考试二级C语言笔试真题一、选择题(1)下列叙述中正确的是A)对长度为n的有序链表进行查找,最坏清况下需要的比较次数为nB)对长度为n的有序链表进行对分查找,最坏情况下需要的比较次数为(n/2)C)对长度为n的有序链表进行对分查找,最坏情况下需要的比较次数为(log2n)D)对长度为n的有序链表进行对分查找,最坏情况下需要的比较次数为(nlog2n)(2)算法的时问复杂度是指A)算法的执行时间B)算法所处理的数据量C)算法程序中的语司或指令条数D)算法在执行过程中所需要的基本运算次数(3)软件按功能可以分为:应用软件、系统软件和支撑软件(或工具软件)。

下面属于系统软件的是A)编辑软件B)操作系统C)教务管理系统D)浏览器(4)软件(程序)调试的任务是A)诊断和改正程序中的错误B)尽可能多地发现程序中的错误C)发现并改正程序中的所有错误D)确定程序中错误的性质(5)数据流程图(DFD图)是A)软件概要设计的工具B)软件详细设计的工具C)结构化方法的需求分析工具D)面向对象方法的需求分析工具(6)软件生命周期可分为定义阶段,开发阶段和维护阶段。

详细设计属于A)定义阶段B)开发阶段C)维护阶段D)上述三个阶段(7)数据库管理系统中负责数据模式定义的语言是A)数据定义语言B)数据管理语言C)数据操纵语言D)数据控制语言(8)在学生管理的关系数据库中,存取一个学生信息的数据单位是A)文件B)数据库C)字段D)记录(9)数据库设计中,用E-R图来描述信息结构但不涉及信息在计算机中的表示,它属于数据库设计的A)需求分析阶段B)逻辑设计一阶段C)概念设计阶段D)物理设计阶段(10)有两个关系R和T如下:则由关系K得到关系T的操作是A)选择B)投影C)交D)并(11)以下叙述正确的是A)C语言程序是由过程和函数组成的B)C语言函数可以嵌套调用,例如:fun(fun(x))C)C语言函数不可以单独编译D)C语言中除了main函数,其他函数不可作为单独文件形式存在(12)以下关于C语言的叙述中正确的是A)C语言中的注释不可以夹在变量名或关键字的中间B)C语言中的变量可以在使用之前的任何位置进行定义C)在C语言算术表达式的书写中,运算符两侧的运算数类型必须一致D)C语言的数值常量中夹带空格不影响常量值的正确表示(13)以下C语言用户标识符中,不合法的是A)_1B)AaBcC)a_bD)a—b(14)若有定义:double a=22;int i=0,k=18;,则不符合C语言规定的赋值语句是A)a=a++,i++;B)i=(a+k)<=(i+k);C)i=a%11;D)i=!a;(15)有以下程序#includemain(){ char a,b,c,d;scanf(“%c%c”,&a,&b);c=getchar(); d=getchar();printf(“%c%c%c%cn”,a,b,c,d);}当执行程序时,按下列方式输入数据(从第1列开始,代表回车,注意:回车也是一个字符)1234则输出结果是A)1234B)12C)123D)1234(16)以i关于C语言数据类型使用的叙述中错误的是A)若要准确无误差的表示自然数,应本资.料来源于贵-州-学-习-网使用整数类型B)若要保存带有多位小数的数据,应使用双精度类型C)若要处理如“人员信息”等含有不同类型的相关数据,应自定义结构体类型D)若只处理“真”和“假”两种逻辑值,应使用逻辑类型(17)若a是数值类型,则逻辑表达式(a==1)||(a!=1)的值是A)1B)0C)2D)不知道a的值,不能确定(18)以下选项中与if(a==1)a=b; else a++;语句功能不同的switch语句是A)switch(a){case:a=b;break;default:a++;}B)switch(a==1){case 0:a=b;break;case 1:a++;}C)switch(a){default:a++;break;case 1:a=b;}D)switch(a==1){case 1:a=b;break;case 0:a++;}(19)有如下嵌套的if语句if (aif(aelse k=c;elseif(belse k=c;以下选项中与上述if语句等价的语句是A)k=(aB)k=(aC)k=(aD)k=(a(20)有以下程序#includemain(){in i,j,m=1;for(i=1;i<3;i++){for(j=3;j>O;j--){if(i*j)>3)break;m=i*j;}}printf("m=%dn",m);}程序运行后的输出结果是A)m=6B)m=2C)m=4D)m=5(21)有以下程序#include(stdio.h>main(){int a=l;b=2;for(;a<8;a++) {b+=a;a+=2;}printf("%d,%dn",a,b);}程序运行后的输出结果是A)9,18B)8,11C)7,11D)10,14(22)有以下程序,其中k的初值为八进制数#includemain(){int k=011;printf("%dn",k++);}程序运行后的输出结果是A)12B)11C)10D)9(23)下列语句组中,正确的是A)char *s;s="Olympic";B)char s[7];s="Olympic";C)char *s;s={"Olympic"};D)char s[7];s={"Olympic"};(24)以下关于return语句的叙述中正确的是A)一个自定义函数中必须有本文来源于贵州学习网WWW.GZU521.COM一条return语句B)一个自定义函数中可以根据不同情况设置多条return语句C)定义成void类型的函数中可以有带返回值的return语句D)没有return语句的自定义函数在执行结束时不能返回到调用处(25)下列选项中,能正确定义数组的语句是A)int num[0..2008];B)int num[];C)int N=2008;int num[N];D)#define N 2008int num[N];(26)有以下程序#includevoid fun(char *c,int d){*c=*c+1;d=d+1;printf("%c,%c,",*c,d);main(){char b='a',a='A';fun(&b,a);printf("%e,%en",b,a);}程序运行后的输出结果是A)b,B,b,AB)b,B,B,AC)a,B,B,aD)a,B,a,B(27)若有定义int(*Pt)[3];,则下列说法正确的是A)定义了基类型为int的三个指针变量B)定义了基类型为int的具有三个元素的指针数组ptC)定义了一个名为*pt、具有三个元素的整型数组D)定义了一个名为pt的指针变量,它可以指向每行有三个整数元素的二维数组(28)设有定义double a[10],*s=a;,以下能够代表数组元素a[3]的是A)(*s)[3]B)*(s+3)C)*s[3]D)*s+3(29)有以下程序#include(stdio.h)main(){int a[5]={1,2,3,4,5},b[5]={O,2,1,3,0},i,s=0;for(i=0;i<5;i++) s=s+a[b[i]]);printf("%dn", s);}程序运行后的输出结果是A)6B)10C)11D)15(30)有以下程序#includemain(){int b [3][3]={O,1,2,0,1,2,O,1,2},i,j,t=1;for(i=0;i<3;i++)for(j=ij<=1;j++) t+=b[i][b[j][i]];printf("%dn",t);}程序运行后的输出结果是A)1B)3C)4D)9(31)若有以下定义和语句char s1[10]="abcd!",*s2="n123\";printf("%d %dn", strlen(s1),strlen(s2));则输出结果是A)5 5B)10 5C)10 7D)5 8(32)有以下程序#include#define N 8void fun(int *x,int i){*x=*(x+i);}main(){int a[N]={1,2,3,4,5,6,7,8},i;fun(a,2);for(i=O;i{printf("%d",a[i]);}printf("n");}程序运行后的输出结果是A)1313B)2234C)3234D)1234(33)有以下程序#includeint f(int t[],int n);main{ int a[4]={1,2,3,4},s;s=f(a,4); printf("%dn",s);}int f(int t[],int n){ if(n>0) return t[n-1]+f(t,n-1);else return 0;}程序运行后的输出结果是A)4B)1OC)14D)6(34)有以下程此资料转贴于贵州学习网序#includeint fun(){ static int x=1;x*2; return x;}main(){int i,s=1,for(i=1;i<=2;i++) s=fun();printf("%dn",s);}程序运行后的输出结果是A)OB)1C)4D)8(35)有以下程序#include#define SUB(a) (a)-(a)main(){ int a=2,b=3,c=5,d;d=SUB(a+b)*c;printf("%dn",d);}程序运行后的输出结果是A)0B)-12C)-20D)10(36)设有定义:struct complex{ int real,unreal;} data1={1,8},data2;则以下赋值语句中错误的是A)data2=data1;B)data2=(2,6);C)data2.real=data1.real;D)data2.real=data1.unreal;(37)有以下程序#include#includestruct A{ int a; char b[10]; double c;};void f(struct A t);main(){ struct A a={1001,"ZhangDa",1098.0};f(a); printf("%d,%s,%6.1fn",a.a,a.b,a.c);}void f(struct A t){ t.a=1002; strcpy(t.b,"ChangRong");t.c=1202.0;} 程序运行后的输出结果是(38)有以下定义和语句struct workers{ int num;char name[20];char c;struct{int day; int month; int year;}s;};struct workers w,*pw;pw=&w;能给w中year成员赋1980的语句是A)*pw.year=198O;B)w.year=1980;C)pw->year=1980;D)w.s.year=1980;(39)有以下程序#includemain(){ int a=2,b=2,c=2;printf("%dn",a/b&c);}程序运行后的输出结果是A)OB)1C)2D)3(40)有以下程序#includemain(){ FILE *fp;char str[10];fp=fopen("myfile.dat","w");fputs("abc",fp);fclose(fp);fpfopen("myfile.data","a++");fprintf(fp,"%d",28);rewind(fp);fscanf(fp,"%s",str); puts(str);fclose(fp);}程序运行后的输出结果是A)abcB) 28cC) abc28D)因类型不一致而出错二、填空题(1)一个队列的初始状态为空。

2017年计算机二级c试题及答案

2017年计算机二级c试题及答案

2017年计算机二级c试题及答案一、选择题1. 下面哪个选项中,声明一个指向字符型的指针?A. charB. intC. floatD. double答案:A2. 下面哪个选项中,用于循环控制的关键字是?A. forB. ifC. whileD. switch答案:A3. 下面哪个选项中,用于输出到标准输出设备的函数是?A. printfB. scanfC. fgetsD. strcmp答案:A4. 在C语言中,如何定义一个常量?A. 使用const关键字B. 使用static关键字C. 使用volatile关键字D. 使用extern关键字答案:A5. 下面哪个选项中是C语言中的一个逻辑运算符?A. &&B. ||C. !D. |答案:A二、填空题1. 在C语言中,用于获取用户输入的函数是______。

答案:scanf2. 子程序在C语言中也被称为______。

答案:函数3. 用于在程序中引入外部文件的关键字是______。

答案:#include4. 在C语言中,用于释放动态分配的内存的函数是______。

答案:free三、简答题1. 请解释静态变量和全局变量的区别,并给出一个使用场景。

答:静态变量和全局变量都具有静态存储期,但有以下区别:- 静态变量在函数内部声明,只在声明的函数内部可见,作用域为函数内部。

全局变量在函数外部声明,整个程序内部都可见,作用域为整个程序。

- 静态变量的生命周期与程序运行时间一致,而全局变量的生命周期也与程序运行时间一致,但全局变量可以通过使用extern关键字在其他文件中进行声明并使用。

使用场景:静态变量常用于需要在函数调用之间保持值的场景,例如在递归函数中保存某个计数器的值。

全局变量常用于需要在多个函数中共享数据的场景,例如在一个程序中的多个函数中都需要访问某个配置信息。

2. 请简要介绍C语言中的位运算符,并给出一个例子。

答:C语言中的位运算符用于对二进制数进行操作。

2017年全国计算机等级考试二级C语言真题及答案

2017年全国计算机等级考试二级C语言真题及答案

全国计算机等级考试二级笔试试卷C 语言程序设计(附答案)(考试时间90 分钟,满分100 分)一、选择题((1)—(10)、(21)—(40)每题2 分,(11)—(20)每题1 分,共70 分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确的选项填涂在答题卡相应位置上,答在试卷上不得分。

(1)下列叙述中正确的是A)线性表的链式存储结构与顺序存储结构所需要的存储空间是相同的B)线性表的链式存储结构所需要的存储空间一般要多于顺序存储结构C)线性表的链式存储结构所需要的存储空间一般要少于顺序存储结构D)上述三种说法都不对(2)下列叙述中正确的是A)在栈中,栈中元素随栈底指针与栈顶指针的变化而动态变化B)在栈中,栈顶指针不变,栈中元素随栈底指针的变化而动态变化C)在栈中,栈底指针不变,栈中元素随栈顶指针的变化而动态变化D)上述三种说法都不对(3)软件测试的目的是A)评估软件可靠性B)发现并改正程序中的错误C)改正程序中的错误D)发现程序中的错误(4)下面描述中,不属于软件危机表现的是A)软件过程不规范B)软件开发生产率低C)软件质量难以控制C)软件成本不断提高(5)软件生命周期是指A)软件产品从提出、实现、使用维护到停止使用退役过程B)软件从需求分析、设计、实现到测试完成的过程C)软件的开发过程D)软件的运行维护过程(6)面向对象方法中,继承是指A)一组对象所具有的相似性质B)一个对象具有另一个对象的性质C)各对象之间的共同性质D)类之间共享属性和操作的机制(7)层次型、网状型和关系型数据库划分原则是A)记录长度B)文件的大小B)联系的复杂程度D)数据之间的联系方式(8)一个工作人员可以使用多台计算机,而一台计算机可被多个人使用,则实体工作人员与实体计算机之间联系是A)一对一B)一对多C)多对多D)多对一(9)数据库设计中反映用户对数据要求的模式是A)内模式B)概念模式C)外模式D)设计模式(10)有三个关系R、S 和T 如下:则由关系R 和S 得到关系T 的操作是A)自然连接B)交C)投影D)并(11)以下关于结构化程序设计的叙述中正确的是A)一个结构化程序必须同时由顺序、分支、循环三种结构组成B)结构化程序使用goto 语句会很便捷C)在C 语言中,程序的模块化是利用函数实现的D)由三种基本结构构成的程序只能解决小规模的问题(12)以下关于简单程序设计的步骤和顺序的说法中正确的是A)确定算法后,整理并写出文档,最后进行编码和上机调试B)首先确定数据结构,然后确定算法,再编码,并上机调试,最后整理文档C)先编码和上机调试,在编码过程中确定算法和数据结构,最后整理文档D)先写好文档,再根据文档进行编码和上机调试,最后确定算法和数据结构(13)以下叙述中错误的是A)C 程序在运行过程中所有计算都以二进制方式进行B)C 程序在运行过程中所有计算都以十进制方式进行C)所有C 程序都需要编译链接无误后才能进行D)C 程序中整型变量只能存放整数,实型变量只能存放浮点数(14)有以下定义:int a;long b;double x,y;则以下选项中正确的表达式是A)a%(int)(x-y) B)a=x!=y; C)(a*y)%b D)y=x+y=x(15)以下选项中能表示合法常量的是A)整数:1,200 B)实数:1.5E2.0 C)字符斜杠:‟\‟ D)字符串:”\007” (16)表达式a+=a-=a=9 的值是A)9 B)-9 C)18 D)0(17)若变量已正确定义,在if(W)printf(“%d\n”,k);中,以下不可替代W的是A)a<>b+c B)ch=getchar() C)a==b+c D)a++(18)有以下程序#includemain(){ int a=1,b=0;if(!a) b++;else if(a==0)if(a) b+=2;else b+=3;printf(“%d\n”,b);}程序运行后的输出结果是A)0 B)1 C)2 D)3(19)若有定义语句int a,b;double x;则下列选项中没有错误的是A)switch (x%2){ case 0: a++; break;case 1: b++; break;default: a++; b++; }B) switch ((int)x/2.0){ case 0: a++; break;case 1: b++; break;default : a++; b++; }C) switch((int)x%2){ case 0: a++; break;case 1: b++; break;default : a++; b++; }D)switch((int)(x)%2){ case 0.0: a++; break;case 1.0: b++; break;default : a++; b++; }(20)有以下程序#includemain(){ int a=1,b=2;while(a<6) {b+=a; a+=2;b%=10;}printf(“%d, %d\n”,a,b);}程序运行后的输出结果是A)5,11 B)7,1 C)7,11 D)6,1(21)有以下程序#includemain(){ int y=10;while(y--);printf(“y=%d\n”,y);}程序执行后的输出结果是A)y=0 B)y=-1 C)y=1 D)while 构成无限循环(22)有以下程序#includemain(){ char s[ ]=”rstuv”;printf(“%c\n”,*s+2);}程序运行后的输出结果是A)tuv B) 字符t 的ASCII 值C)t D)出错(23)有以下程序#include <stdio.h>#include <string.h>main(){ char x[ ]=”STRING”;x[0]=0; x[1]=‟\0‟; x[2]=‟0‟;printf(“%d %d\n”,sizeof(x),strlen(x));}程序运行后的输出结果是A) 6 1 B) 7 0 C) 6 3 D) 7 1(24)有以下程序#includeint f(int x);main(){ int n=1,m;m=f(f(f(n)));printf(“%d\n”,m);}int f(int x){ return x*2; }程序运行后的输出结果是A)1 B)2 C)4 D)8(25)以下程序段完全正确的是A)int *p; scanf(“%d”,&p);B) int *p; scanf(“%d”,p);C) int k, *p=&k; scanf(“%d”,p);D) int k,*p; *p=&k; scanf(“%d”,p);(26)有定义语句:int *p[4];以下选项中与此语句等价的是A)int p[4]; B)int **p; C)int *(p[4]); D)int (*p)[4];(27)下列定义数组的语句中,正确的是A) int N=10; B) #define N 10 int x[N]; int x[N]; C) int x[0..10]; D) int x[ ];(28)若要定义一个具有5 个元素的整型数组,以下错误的定义语句是A)int a[5]={0}; B) int b[ ]={0,0,0,0,0}; C)int c[2+3]; D) int i=5,d[i];(29)有以下程序#includevoid f(int *p);main(){ int a[5]={1,2,3,4,5},*r=a;f(r );printf(“%d\n”,*r); }void f(int *p){ p=p+3;printf(“%d,”,*p);}程序运行后的输出结果是A)1,4 B)4,4 C) 3,1 D)4,1(30)有以下程序(函数fun 只对下标为偶数的元素进行操作)#includevoid fun(int *a,int n){ int i,j,k,t;for(i=0;i<n-1;i+=2){k=i;for(j=i;j<n;j+=2) if(a[j]>a[k]) k=j;t=a[i]; a[i]=a[k]; a[k]=t; }}main(){ int aa[10]={1,2,3,4,5,6,7},i;fun(aa,7);for(i=0;i<7;i++)printf(“%d,”,aa[i]);printf(“\n”);}程序运行后输出结果是A)7,2,5,4,3,6,1,B)1,6,3,4,5,2,7,C)7,6,5,4,3,2,1,D)1,7,3,5,6,2,1,(31)下列选项中,能够满足“若字符串s1 等于字符串s2, 则执行ST”要求的是A)if(strcmp(s2,s1) ==0) ST;B) if(s1==s2) ST;C) if(strcpy(s1,s2) ==1) ST;D) if(s1-s2==0) ST;(32)以下不能将s 所指字符串正确复制到t 所指存储空间的是A)while(*t=*s){t++,s++;}B)for(i=0;t[i]=s[i];i++);C)do{*t++=*s++;}while(*s);D)for(i=0,j=0;t[i++]=s[j++]; );(33)有以下程序(strcat 函数用以连接两个字符串)#include <stdio.h>#include <string.h>main(){ char a[20]=”ABCD\0EFG\0”, b[ ]=”IJK”;strcat(a,b);printf(“%s\n”,a);}程序运行后的输出结果是A)ABCDE\OFG\OIJK B)ABCDIJK C)IJK D)EFGIJK(34)有以下程序,程序中库函数islower(ch)用以判断ch 中的字母是否为小写字母#include <stdio.h>#include <ctype.h>void fun(char *p){ int i=0;while(p[i]){ if(p[i] ==‟…&&islower(p[i-1])) p[i-1]=p[i-1]-‟a‟+‟A‟;i++;}}main(){ char s1[100]=”ab cd EFG !”;fun(s1);printf(“%s\n”,s1);}程序运行后的结果是A) ab cd EFG ! B) Ab Cd EFg ! C) aB cD EFG ! D) ab cd EFg !(35)有以下程序#includevoid fun(int x){ if(x/2>1)fun(x/2);printf(“%d ”,x);}main(){ fun(7);printf(“\n”);}程序运行后的输出结果是A)1 3 7 B)7 3 1 C)7 3 D)3 7(36)有以下程序#includeint fun(){ static int x=1;x+=1;return x;}main(){ int i, s=1;for(i=1;i<=5;i++)s+=fun();printf(“%d\n”,s);}程序运行后的输出结果是A)11 B)21 C)6 D)120(37)有以下程序`#include <stdio.h>#include <stdlib.h>main(){ int *a,*b,*c;a=b=c=(int *)malloc(sizeof(int));*a=1;*b=2;*c=3;a=b;printf(“%d,%d,%d\n”,*a,*b,*c);}程序运行后的输出结果是A)3,3,3 B)2,2,3 C)1,2,3 D)1,1,3(38)有以下程序#includemain(){ int s,t,A=10;double B=6;s=sizeof(A);t=sizeof(B);printf(“%d,%d\n”,s,t);}在VC6 平台上编绎运行,程序运行后输出结果是A)2,4 B)1,4 C)4,8 D)10,6(39)若有以下语句typedef struct S{int g ; char h;} T;以下叙述中正确的是A)可用S 定义结构体变量B)可用T 定义结构体变量C)S 是struct 类型的变量D)T 是struct S 类型的变量(40)有以下程序#includemain(){ short c=124; c=c ;printf(“%d\n”,c);}若要使程序的运行结果为248,应在下划线处填入的是A)>>2 B) |248 C)& 0248 D) <<1二、填空题(每空2 分,共30 分)请将每空的正确答案写在答题卡【1】至【15】序号的横线上,答在试卷上不得分。

全国计算机二级《C语言》考试题及答案

全国计算机二级《C语言》考试题及答案

全国计算机二级《C语言》考试题及答案2017全国计算机二级《C语言》考试题及答案在备考复习阶段,需通过大量试题练习,加深对考点的理解和掌握。

以下是店铺搜索整理2017全国计算机二级《C语言》考试题及答案,供参考练习,希望对大家有所帮助!一、选择题1).我们所写的每条C语句,经过编译最终都将转换成二进制的机器指令。

关于转换以下说法错误的是()A.一条C语句可能会被转换成多条机器指令B.一条C语句对应转换成一条机器指令C.一条C语句可能会被转换成零条机器指令D.某种类型和格式的C语句被转换成机器指令的条数是固定的正确答案:B答案解析:由C语言编写的程序,通过编译、链接转换成可以让机器识别的01二进制指令。

这些二进制指令命令机器计算,这些就是机器指令,而C语言的语句条数和机器指令的条数不是一对一的关系。

2).数据库系统在其内部具有3级模式,用来描述数据库中全体数据的全局逻辑结构和特性的是()。

A.外模式B.概念模式C.内模式D.存储模式正确答案:B答案解析:概念模式,也称逻辑模式,是对数据库系统中全局数据逻辑结构的描述,是全体用户应用公共数据视图。

它不涉及具体的硬件环境与平台,与具体的软件环境也无关。

3).以下叙述中正确的是()A.程序的算法只能使用流程图来描述B.N-S流程图只能描述简单的顺序结构的程序C.计算机可以直接处理C语言程序,不必进行任何转换D.结构化程序的三种基本结构是循环结构、选择结构、顺序结构正确答案:D答案解析:结构化程序有三种基本结构循环结构、选择结构、顺序结构,描述算法常见的有文字描述,流程图,盒图,伪代码等。

N-S图为盒图,可以描述比较复杂的程序结构,而计算机不能直接处理C 程序,只能处理二进制代码。

4).下列叙述中正确的是()A.两个连续的单引号(′′)是合法的字符常量B.可以对字符串进行关系运算C.两个连续的双引号(″″)是合法的字符串常量D.空字符串不占用内存,其内存空间大小是0正确答案:C答案解析:两个连续的双引号:″″,是一个字符串常量,称为″空串″。

3月全国计算机等级考试试题及答案

3月全国计算机等级考试试题及答案

3月全国计算机等级考试试题及答案2017年3月全国计算机等级考试试题及答案C语言是一个有结构化程序设计、具有变量作用域(variable scope)以及递归功能的过程式语言。

下面是店铺整理的关于全国计算机等级考试试题及答案,欢迎大家参考!1). 下列叙述中正确的是( )。

A.调用printf( )函数时,必须要有输出项B.使用putchar( )函数时,必须在之前包含头文件stdio.hC.在C语言中,整数可以以二进制、八进制或十六进制的形式输出D.调节getchar( )函数读入字符时,可以从键盘上输入字符所对应的ASCII码正确答案:B答案解析:选项A,若printf函数没有输出项,且格式字符串中不含格式信息,则输出的是格式字符串本身,若格式字符串含有格式信息,运行时则出现错误提示;选项C,在C语言中,整数可以十进制、八进制或十六进制的形式输出;选项D,getchar函数是从标准输入设备读取一个字符。

2). 以下结构体类型说明和变量定义中正确的是( )A.typedef struct { int n; char c; } REC; REC t1,t2;B.struct REC ; { int n; char c; }; REC t1,t2;C.typedef struct REC; { int n=0; char c=′A′; } t1,t2;D.struct { int n; char c; } REC; REC t1,t2;正确答案:A答案解析:定义结构体类型的一般形式为:struct 结构体名 {成员列表};struct 结构体名后不能加″;″号,所以选项B、C)错误,选项D中定义无名称的结构体类型同时定义结构体变量形式应为struct t1,t2;选项A为用户自定义类型,其为正确的定义形式。

3). 若实体A和B是一对多的联系,实体B和C是一对一的联系,则实体A和C的联系是( )A.一对一B.一对多C.多对一D.多对多正确答案:B答案解析:由于B和C有一一对应的联系,而A和B只间有一对多的联系,则通过关系之间的传递,则A和C之间也是一对多的联系。

2017年全国计算机等级考试二级C语言程序设计真题

2017年全国计算机等级考试二级C语言程序设计真题

2017年3月全国计算机等级考试二级C语言程序设计真题(1)(总分:100.00,做题时间:120分钟)一、选择题(总题数:40,分数:40.00)1.下列叙述中正确的是(分数:1.00)A.程序执行的效率与数据的存储结构密切相关(正确答案)B.程序执行的效率只取决于程序的控制结构C.程序执行的效率只取决于所处理的数据量D.以上说法均错误解析:程序执行的效率与数据的存储结构、数据的逻辑结构、程序的控制结构、所处理的数据量等有关。

2.下列与队列结构有关联的是(分数:1.00)A.函数的递归调用B.数组元素的引用C.多重循环的执行D.先到先服务的作业调度(正确答案)解析:队列的修改是依照“先进先出” 的原则进行的,故D 正确。

3.对下列二叉树进行前序遍历的结果为(分数:1.00)A.DYBEAFCZXB.YDEBFZXCAC.ABDYECFXZ (正确答案)D.ABCDEFXYZ解析:前序遍历是指在访问根节点、遍历左子树与遍历右子树这三者中,首先访问根节点,然后遍历左子树,最后遍历右子树;并且在遍历左、右子树时,仍然先访问根节点,然后遍历左子树,最后遍历右子树。

因此,前序遍历可描述为:若二叉树为空,则执行空操作。

否则:①访问根节点;②前序遍历左子树;③前序遍历右子树。

所以C 正确。

4.一个栈的初始状态为空,现将元素1,2,3,A,B,C 依次入栈,然后再依次出栈,则元素出栈的顺序是(分数:1.00)A.1,2,3,A,B,CB.C,B,A,1,2,3C.C,B,A,3,2,1 (正确答案)D.1,2,3,C,B,A解析:栈的修改是按照“后进先出” 的原则进行的,所以顺序应与入栈顺序相反,故选C。

5.下面属于白盒测试方法的是(分数:1.00)A.等价类划分法B.逻辑覆盖(正确答案)C.边界值分析法D.错误推测法解析:白盒测试法主要有逻辑覆盖、基本路径测试等。

逻辑覆盖测试包括语句覆盖、路径覆盖、判定覆盖、条件覆盖、判断一条件覆盖,故选择B。

计算机二级考试C语言考试题含答案

计算机二级考试C语言考试题含答案

计算机二级考试C语言考试题含答案2017年计算机二级考试C语言考试题含答案2017年3月计算机二级考试定于3月25日-28日举行,下面应届毕业生店铺整理了2017年3月计算机二级考试C语言模拟试题及答案,帮助广大考生针对性地进行练习。

1). 关系表中的每一横行称为一个A.元组B.字段C.属性D.码正确答案:A2). 数据库的故障恢复一般是由A.数据流图完成的B.数据字典完成的C.DBA完成的D.PAD图完成的正确答案:C3). 有以下函数char fun(char *p){return p;}该函数的返回值是A.无确切的值B.形参p中存放的地址值C.一个临时存储单元的地址D.形参p自身的地址值正确答案:B4). 假设有如下定义:struct a{int n;float k;}data,*p;若要使p指向data中的成员n,正确的赋值语句是A.p=&data.n;B.*p=data.n;C.p=(struct a *)&data.n;D.p=(struct a *)data.n;正确答案:C5). 下列叙述中,不属于数据库系统的是A.数据库B.数据库管理系统C.数据库管理员D.数据库应用系统正确答案:B6). 函数fseek(pf, OL,SEEK_END)中的`SEEK_END代表的起始点是A.文件开始B.文件末尾C.文件当前位置D.以上都不对正确答案:B7). 设有以下语句:char x=3,y=6,z;z=x^y<<2;则z的二进制值是A.00010100B.00011011C.00011100D.00011000正确答案:B8). C 语言中,系统的标准输入文件是指A.键盘B.显示器C.软盘D.硬盘正确答案:A9). C语言程序的基本单位是A.程序行B.语句C.函数D.字符正确答案:C10). 下面四个选项中,均是合法实数的选项是( )。

A.2e-4.2B.-0.50C. 0.2e-.5D.-e5正确答案:B答案解析:实数有两种表示形式:小数形式和指数形式,小数形式必须有小数点,指数形式中,字母e之前必须有数字,e之后必须是整数。

3月计算机c语言二级考试真题

3月计算机c语言二级考试真题

3月计算机c语言二级考试真题2017年3月计算机c语言二级考试真题许多程序是提供给别人使用的,如同正式的产品应当提供产品说明书一样,正式提供给用户使用的程序,必须向用户提供程序说明书。

下面是店铺整理的关于计算机c语言二级考试真题,欢迎参考!一,单项选择1 字符串"\\\'efg\'\\"的长度是:(c ).A、3B、11C、7D、52 设变量a是整型,f是实型,i是双精度型,则表达式10+'a'+i*f 值的数据类型为()。

AA、doubleB、不确定C、intD、float3 下列语句的结果是(b)。

main(){ int j;j=3;printf("%d,",++j);printf("%d",j++);}A、3,3B、4,4C、3,4D、4,34 逻辑表达式!(2-1)&&x||0的值是(b )A、1B、0C、3D、2int a=1,b=2,c=3; if(a>b)a=b; if(a>c)a=c; 则a的值为(c)。

A、3B、2C、1D、不一定int a=1,b=2,c=3; if(a>b)a=b; if(a>c)a=c; 则a的值为(b)。

A、3B、2C、1D、不一定5 以下正确的描述是( a).A、只能用continue语句来终止本次循环B、switch语句中不能出现continue语句C、在循环中break语句不能独立出现D、goto语句只能用于退出多层循环6 下面合法的语句定义是(a ).A、char a[ ]={'0','1','2','3','4','5'};B、int a[ ]="string";C、int a[5]={0,1,2,3,4,5};D、char a="string";7 char a[10];不能将字符串"abc"存储在数组中的是(b)。

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

二级C语言真题2017年03月-(3)及答案解析(1/40)单项选择题第1题下列叙述中正确的是( )。

A.算法的效率只与问题的规模有关,而与数据的存储结构无关B.算法的时间复杂度是指执行算法所需要的计算工作量C.数据的逻辑结构与存储结构是一一对应的D.算法的时间复杂度与空间复杂度一定相关下一题(2/40)单项选择题第2题下列叙述中正确的是( )。

A.线性表链式存储结构的存储空间一般要少于顺序存储结构B.线性表链式存储结构与顺序存储结构的存储空间都是连续的C.线性表链式存储结构的存储空间可以是连续的,也可以是不连续的D.以上说法均错误上一题下一题(3/40)单项选择题第3题某二叉树共有12个节点,其中叶子节点只有1个,则该二叉树的深度为(根节点在第l层)( )。

A.3B.6C.8D.12上一题下一题(4/40)单项选择题第4题对长度为n的线性表作快速排序,在最坏情况下,比较次数为( )。

A.nB.n-1C.n(n-1)D.n(n-1)/2上一题下一题(5/40)单项选择题第5题结构化程序设计中,下面对goto语句使用描述正确的是( )。

A.禁止使用goto语句B.使用goto语句程序效率高C.应避免滥用goto语句D.以上说法均错误上一题下一题(6/40)单项选择题第6题下面不属于软件测试实施步骤的是( )。

A.集成测试B.回归测试C.确认测试D.单元测试上一题下一题(7/40)单项选择题第7题下面不属于软件需求分析阶段主要工作的是( )。

A.需求变更申请B.需求分析C.需求评审D.需求获取上一题下一题(8/40)单项选择题第8题一般情况下,当对关系R和S进行自然连接时,要求R和S含有一个或者多个共有的( )。

A.记录B.行C.属性D.元组上一题下一题(9/40)单项选择题第9题有三个关系R、S和T如下:图片则由关系R和S得到关系T的操作是( )。

A.选择B.差C.交D.并上一题下一题(10/40)单项选择题第10题有表示公司和职员及工作的三张表,职员可在多家公司兼职。

其中公司表C(公司号,公司名,地址,注册资本,法人代表,员工数),职员表S(职员号,姓名,性别,年龄,学历),工作表W(公司号,职员号,工资),则表W的键(码)为( )。

A.公司号,职员号B.职员号,工资C.职员号D.公司号,职员号,工资上一题下一题(11/40)单项选择题第11题以下叙述中正确的是( )。

A.每个后缀为.C的C语言源程序都可以单独进行编译B.每个后缀为.C的C语言源程序都应该包含一个main函数C.在C语言程序中,main函数必须放在其他函数的最前面D.在C语言程序中,只有main函数才可单独进行编译上一题下一题(12/40)单项选择题第12题C语言中的标识符分为关键字、预定义标识符和用户标识符,以下叙述正确的是( )。

A.关键字可用做用户标识符,但失去原有含义B.预定义标识符可用做用户标识符,但失去原有含义C.在标识符中大写字母和小写字母被认为是相同的字符D.用户标识符可以由字母和数字任意顺序组成上一题下一题(13/40)单项选择题第13题以下选项中合法的常量是( )。

A.9 9 9B.2.7eC.0XabD.123E 0.2上一题下一题(14/40)单项选择题第14题C语言主要是借助以下哪种手段来实现程序模块化的?( )。

A.定义函数B.定义常量和外部变量C.使用丰富的数据类型D.使用三种基本结构语句上一题下一题(15/40)单项选择题第15题以下叙述中错误的是( )。

A.数值型常量有正值和负值的区分B.常量可以用一个符号名来代表C.定义符号常量必须用类型名来设定常量的类型D.常量是在程序运行过程中值不能被改变的量上一题下一题(16/40)单项选择题第16题若有定义和语句:int a,b;scanf("%d,%d,",&a,&b);以下选项中的输入数据,不能把值3赋给变量a、5赋给变量b的是( )。

A.3,5,4B.3,5C.3,5,D.3,5上一题下一题(17/40)单项选择题第17题C语言中char类型数据占字节数为( )。

A.1B.2C.3D.4上一题下一题(18/40)单项选择题第18题下列关系表达式中,结果为“假”的是( )。

A.3<=4B.(3<4)==1C.(3+4)>6D.(3!4)>2上一题下一题(19/40)单项选择题第19题若以下选项中的变量a,b,y均已正确定义并赋值,则语法正确的switch语句是( )。

A.switch(a*a+b*b){ default : break;case 3 : y=a+b; break;case 2 : y=a-b; break;}B.switch( a+b ){case1 : case3 : y=a+b; break;case0 : case4 : y=a-b;}C.switch (a+9){case a : y=a-b;case b : y=a+b;}D.switch a * b{ case 10 : y=a+b;default : y=a-b;}上一题下一题(20/40)单项选择题第20题有以下程序:#include <stdio.h>main( ){ int a=-2,b=0;while(a++&&++b);printf("%d,%d\n", a,b);}程序运行后输出的结果是( )。

A.0,2B.0,3C.1,3D.1,2上一题下一题(21/40)单项选择题第21题设有定义:int x=0, *p;紧接着的赋值语句正确的是( )。

A.*p=NULL;B.p=NULL;C.p=x;D.*p=x;上一题下一题(22/40)单项选择题第22题下列叙述中正确的是( )。

A.空字符串不占用内存,其内存空间大小是0B.两个连续的单引号(")是合法的字符常量C.可以对字符串进行关系运算D.两个连续的双引号("")是合法的字符串常量上一题下一题(23/40)单项选择题第23题有以下程序:#include <stdio.h>main( ){char a=´H´;a=(a>=´A´ && a<=´Z´)?(a+32) : a;printf("%c\n",a);}程序运行后的输出结果是( )。

A.HB.hC.AD.a上一题下一题(24/40)单项选择题第24题有以下程序:#include <stdio.h>int f(int x);main( ){ int a,b=0;for(a=0;a<3;a+=1){ b+=f(a); putchar(´A´+b); }}int f(int x){ return x*x+1; }程序运行后的输出结果是( )。

A.ABEB.BCDC.BDID.BCF上一题下一题(25/40)单项选择题第25题设有定义:int x[2][3];则以下关于二维数组X的叙述错误的是( )。

A.元素x[0]可看做是由3个整型元素组成的一维数组B.数组x可以看做是由x[0]和x[1]两个元素组成的一维数组C.可以用x[0]=0;的形式为数组所有元素赋初值0D.x[0]和x[1]是数组名,分别代表一个地址常量上一题下一题(26/40)单项选择题第26题设p是指针变量,语句p=NULL;等价于( )。

A.P=´0´;B.p=";C.p="";D.p=0;上一题下一题(27/40)单项选择题第27题有以下程序:#include <stdio.h>main( ){int a[]={10,20,30,40}, *p=a,i;for(i=0;i<=3;i++){a[i]=*p;p++;}printf("%d\n",a[2]);}程序运行后的输出结果是( )。

A.10B.20C.30D.40上一题下一题(28/40)单项选择题第28题有以下程序:#include <stdio.h>#define N 3void fun(int a[][N],int b[]){ int i,j;for(i=0;i<N;i++){b[i]=a[i][0];for(j=1;j<N;j+ +)if (b[i]<a[i][j] )b[i]=a[i][j];}}main( ){int x[N][N]={1,2,3,4,5,6,7,8,9},y[N],i;fun(x,y);for(i=0;i<N;i++) printf("%d,",y[i]);printf("\n");}程序运行后的输出结果是( )。

A.3,5,7B.1,3,5,C.2,4,8,D.3,6,9,上一题下一题(29/40)单项选择题第29题有以下程序(strcpy为字符串复制函数,strcat为字符串连接函数):#include <stdio.h>#include <string.h>main( ){char a[10]="abc",b[10]="012",c[10]="xyz";strcpy(a+1,b+2);puts(strcat(a,c+1));}程序运行后的输出结果是( )。

A.a12xyzB.bc2yzC.a2yzD.12yz上一题下一题(30/40)单项选择题第30题以下选项中,没有编译错误的是( )。

A.char str3[]={´d´,´e´,´b´,´u´,´g´,\´0´};B.char str1[5]="pass",str[6];str2=str1;C.char name[10];name="china";D.char str4[];str4="hello world";上一题下一题(31/40)单项选择题第31题有以下程序:#include <stdio.h>main( ){char *s="12134";int k=0,a=0;while(s[k+1]){k++;if(k%2==0){a=a+(s[k]-´0´+1);continue;}a=a+(s[k]-´0´);}printf("k=%d a=%d\n",k,a);}程序运行后的输出结果是( )。

相关文档
最新文档