2003年4月全国计算机等级考试二级C语言笔试试题及答案
全国计算机等级考试二级C语言笔试试题及答案

老当益壮,宁移白首之心;穷且益坚,不坠青云之志。——唐·王勃
D) 4 (31) 有如下类定义:
class XX( int xx; public: XX(): xx(0) {cout<<' A';} XX( int n):xx ( n) {tout<<' B';} }; Class YY:public XX( Int yy; public: YY(): yy ( 0) (cout+yy;} YY ( int n ): XX (n+1 ), yy(n) (cout<<yy;} YY ( int m, int n):XX (m), yy (n) (cout<<yy;} }; 下列选项中,输出结果为 A0 的语句是 A) YY y1 (0,0); B) YY y2(1); C) YYy3(0); D) YYy4; (32) 有如下程序: #include<iostream> Using namespace std; class A( public: virtual void f () (cout+1;} void g () (cout<<2;} }; class B:public A( public: virtual void f () (cout<<3;} void g()(ecut<<4;} }; void show (A &a)(a.f();a.g( ) ; } int main()( B b; show(b); return 0; } 运行时的输出结果是 A) 12 B) 34 C) 14 D) 32 (33) 有如下程序: #include<iostream> using namespace std; class Pair( int m; int n; public: Pair ( int i, int j ): m(i), n(j) (} boot operator > ( pair p ) const;//须在类体外给出定义 ); int main () { Pair Al(3,4),p2(4,3); p3(4,5); Cout<< (pl>p2) << (P2>P1) << (p2>p3) << (p3>p2); return 0; } 运算符函数。operator〉的功能是比较两个 Pair 对象的大小,当左边对象大时,返回 true,否则 返 回 false。比较规则是首先比较两对象的 m 成员,m 大者为大;当 m 相等时比较 n, n 大者为大。程序输 出 0101, 下列对运算符重载函数的正确定义是 A ) bool Pair::operator> ( Pair p ) const {if (m!=p.m) return m>p.m; return n>p.n;}
计算机二级C语言笔试真题

计算机二级C语言笔试真题一、真题概述计算机二级C语言考试是我国针对非计算机专业大学生的计算机水平测试,旨在检验考生对C语言基础知识的掌握以及编程能力。
以下是一篇关于计算机二级C语言笔试真题的分析,包括题目描述、解题策略和参考答案。
二、真题题目题目一:选择题(每题2分,共20分)1. 下面哪一个选项是C语言的逻辑运算符?A. ++B. --C. &&D. ||2. 若变量已正确定义并赋值,以下正确的赋值语句是()A. a = b = c = 10;B. a = (b = c + 10);C. a = b = c + 10;D. a = (b = c) + 10;3. 在C语言中,下列哪个选项表示关系表达式?A. a == bB. a = bC. a += bD. a && b4. 下面哪个函数用于动态分配内存?A. malloc()B. alloc()C. new()D. calloc()5. 下面哪个函数用于释放动态分配的内存?A. free()B. delete()C. release()D. dispose()题目二:填空题(每题3分,共30分)6. C语言的标识符可以由字母、数字和下划线组成,且第一个字符必须是______。
7. 在C语言中,逻辑与运算符“&&”的优先级高于______。
8. 下面程序的输出结果是______。
```c#include <stdio.h>int main() {int a = 5, b = 10;printf("%d ", a++ + b--);printf("%d %d\n", a, b);return 0;}```9. 下面程序的输出结果是______。
```c#include <stdio.h>int main() {int a = 1, b = 2, c = 3;if (a > b) {if (a > c)printf("%d ", a);elseprintf("%d ", c);} else {if (b > c)printf("%d ", b);elseprintf("%d ", c);}return 0;}```10. 下面程序的输出结果是______。
c语言二级证考试真题及答案

c语言二级证考试真题及答案一、单项选择题(每题2分,共20分)1. 在C语言中,以下哪个关键字用于定义一个函数?A. classB. functionC. voidD. int答案:D2. 下列哪个选项是合法的C语言变量名?A. 2variableB. variable-nameC. variable nameD. variable$name答案:B3. 若有定义 `int a[5] = {1, 2, 3, 4, 5};`,则 `a[0]` 的值是多少?A. 0B. 1C. 2D. 5答案:B4. 在C语言中,以下哪个运算符用于计算两个整数的乘积?A. %B. /C. *D. +答案:C5. 下列哪个选项是C语言中正确的注释方式?A. <!-- This is a comment -->B. // This is a commentC. /* This is a comment */D. # This is a comment答案:C6. 在C语言中,哪个函数用于计算并返回字符串的长度?A. strlen()B. length()C. size()D. strleng()答案:A7. 下列哪个选项是C语言中的逻辑运算符?A. &&B. ||C. +=D. ==答案:A8. 在C语言中,以下哪个关键字用于声明一个结构体?A. structB. unionC. classD. enum答案:A9. 若有定义 `int x = 10;`,则执行 `x += 5;` 后,`x` 的值是多少?A. 5B. 10C. 15D. 20答案:C10. 在C语言中,以下哪个函数用于将字符串复制到另一个字符串?A. strcpy()B. strncpy()C. strcat()D. strcmp()答案:A二、程序填空题(每空2分,共20分)给定以下代码片段,请在空白处填入正确的代码。
```c#include <stdio.h>int main() {int a, b, sum;a = 5;b = 3;sum = a + b;printf("The sum is: %d\n", sum);return 0;}若要计算两个数的乘积并打印出来,需要修改的代码为:```c#include <stdio.h>int main() {int a, b, product;a = 5;b = 3;product = a * b;printf("The product is: %d\n", product);return 0;}```三、编程题(每题30分,共60分)1. 编写一个C语言程序,实现输入两个整数,输出它们的和。
2003年4月全国计算机等级考试二级vb笔试真题附答案-推荐下载

(7)在窗体上画一个命令按钮,名称为 Commandl。单击命令按钮时,执行 如下事件过 程: PrlVate Sub Commandl—C1icko a$="software and hardware" b$=Right(a$,8) c$=Mid(a$,1,8) Msgbox a$,,b$,c$,1 End Sub 则在弹出的信息框的标题栏中显示的信息是 A)softWare and hardware B)software C)hardwafe D)1
2003 年 4 月全国计算机等级考试二级 VB 语言笔试试题及答案 一、选择题((1)一(20)每小题 2 分,(21)一(30)每小题 3 分,共 30 题,70 分) 下列各题 A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正 确选项涂 在答题卡的相应位置上,答在试卷上不得分。 (1)以下不能在“工程资源管理器”窗口中列出的文件类型是
(8)执行如下语句:
对全部高中资料试卷电气设备,在安装过程中以及安装结束后进行高中资料试卷调整试验;通电检查所有设备高中资料电试力卷保相护互装作置用调与试相技互术关,系电通,力1根保过据护管生高线产中0不工资仅艺料可高试以中卷解资配决料置吊试技顶卷术层要是配求指置,机不对组规电在范气进高设行中备继资进电料行保试空护卷载高问与中题带资2负料2,荷试而下卷且高总可中体保资配障料置2试时32卷,3各调需类控要管试在路验最习;大题对限到设度位备内。进来在行确管调保路整机敷使组设其高过在中程正资1常料中工试,况卷要下安加与全强过,看度并25工且52作尽22下可护都能1关可地于以缩管正小路常故高工障中作高资;中料对资试于料卷继试连电卷接保破管护坏口进范处行围理整,高核或中对者资定对料值某试,些卷审异弯核常扁与高度校中固对资定图料盒纸试位,卷置编工.写况保复进护杂行层设自防备动腐与处跨装理接置,地高尤线中其弯资要曲料避半试免径卷错标调误高试高等方中,案资要,料求编试技5写、卷术重电保交要气护底设设装。备备置管4高调、动线中试电作敷资高气,设料中课并技3试资件且、术卷料中拒管试试调绝路包验卷试动敷含方技作设线案术,技槽以来术、及避管系免架统不等启必多动要项方高方案中式;资,对料为整试解套卷决启突高动然中过停语程机文中。电高因气中此课资,件料电中试力管卷高壁电中薄气资、设料接备试口进卷不行保严调护等试装问工置题作调,并试合且技理进术利行,用过要管关求线运电敷行力设高保技中护术资装。料置线试做缆卷到敷技准设术确原指灵则导活:。。在对对分于于线调差盒试动处过保,程护当中装不高置同中高电资中压料资回试料路卷试交技卷叉术调时问试,题技应,术采作是用为指金调发属试电隔人机板员一进,变行需压隔要器开在组处事在理前发;掌生同握内一图部线纸故槽资障内料时,、,强设需电备要回制进路造行须厂外同家部时出电切具源断高高习中中题资资电料料源试试,卷卷线试切缆验除敷报从设告而完与采毕相用,关高要技中进术资行资料检料试查,卷和并主检且要测了保处解护理现装。场置设。备高中资料试卷布置情况与有关高中资料试卷电气系统接线等情况,然后根据规范与规程规定,制定设备调试高中资料试卷方案。
2002-2003年二级C语言笔试真题及答案2

2002年4月二级C语言笔试真题及答案(考试时间:120分钟,满分100分)一、选择题((1)—(40)题每小题1分,(41)—(50)题每小题2分,共和60分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。
(1) 在计算机中,一个字长的二进制位数是A) 8 B) 16 C) 32 D) 随CPU的型号而定(2) 计算机网络的突出优点是A) 速度快B) 资源共享 C) 精度高D) 容量大(3) 计算机网络能传送的信息是:A) 所有的多媒体信息B) 只有文本信息C) 除声音外的所有信息D) 文本和图像信息(4) 切断计算机电源后,下列存储器中的信息会丢失的是:A) RAM B) ROM C) 软盘D) 硬盘(5) 十进制数127转换成二进制数是A) 11111111 B) 01111111 C) 10000000 D) 11111110(6) 要想打印存放在当前盘当前目录上所有扩展名为.TXT 的文件内容, 应该使用的DOS命令为A) DIR *.TXT>PRN B) TYPE *.TXT>PRNC) COPY *.TXT PRN D) COPY *.TXT>PRN(7) 将当前盘当前目录及其子目录中的全部文件 (总量不足 1.2MB) 复制到一张空的A盘的根目录下,应该使用的DOS命令为A) XCOPY *.*A:\ /M B) XCOPY *.*A:\ /SC) XCOPY *.*A:\ /P D) XCOPY *.*A:\ /A(8) 在C盘根目录下执行PROMPT $p$g命令之后,DOS的提示符变为A) C:> B) C:\> C) C> D) C:\(9) DOS命令 "COPY CON DISP"中的CON代表A) 子目录 B) 磁盘文件 C) 键盘 D) 显示器(10) 结构化程序设计所规定的三种基本控制结构是A) 输入、处理、输出B) 树形、网形、环形C) 顺序、选择、循环D) 主程序、子程序、函数(11) 要把高级语言编写的源程序转换为目标程序,需要使用A) 编辑程序B) 驱动程序C) 诊断程序D) 编译程序(12) 英文小写字母d的ASCII码为100,英文大写字母D的ASCII码为A) 50 B) 66 C) 52 D) 68(13) Windows环境下,PrintScreen键的作用是A) 复制当前窗口到剪贴板B) 打印当前窗口的内容C) 复制屏幕到剪贴板 D) 打印屏幕内容(14) 在Windows环境下,为了终止应用程序的运行,应A) 关闭该应用程序窗口 B) 最小化该应用程序窗口C) 双击该应用程序窗口的标题栏 D) 将该应用程序窗口移出屏幕(15) 下列各带有通配符的文件名中,能代表文件XYZ.TXT的是A) *Z.? B) X*.* C) ?Z,TXT D) ?.?(16) 若有定义:int a=8,b=5,C;,执行语句C=a/b+0.4;后,c的值为A) 1.4 B) 1 C) 2.0 D) 2(17) 若变量a是int类型,并执行了语句:a=‘A'+1.6;,则正确的叙述是A) a的值是字符C B) a的值是浮点型C) 不允许字符型和浮点型相加D) a的值是字符‘A’的ASCII值加上1。
计算机等级考试二级C语言试题及答案

33、有以下程序 void sum(int *a) { a[0]=a[1];} main( ) { int aa[10]={1,2,3,4,5,6,7,8,9,10},i; for(i=2;i>=0;i--) sum(&aa[i]); printf(“%d\n”,aa[0]); } 执行后的输出结果是(A) A)4 B)3 C)2 D)1 36、有以下程序 main( ) { char *p[10]={“abc”,”aabdfg”,”dcdbe”,”abbd”,”cd”}; printf(“%d\n”,strlen(p[4])); } 执行后输出结果是(A) A)2 B)3 C)4 D)5
17、 设有定义:float a=2,b=4,h=3;,以下C语言表达式与代数 式 计算结果与其它三个不相符的是(B) A)(a+b)*h/2 B)(1/2)*(a+b)*h C)(a+b)*h*1/2 D)h/2*(a+b)+h 18、 有以下程序 main( ) { int x=102,y=012; printf(“%2d,%2d\n”,x,y); } 执行后输出结果是(C) A)10,01 B002,12 C)102,10 D)02,10 //////////以0开 头的数字,是八进制,以0x开头的数是十六进 19、以下4个选项中,不能看作一条语句的是(D) A){;} B)a=0,b=0,c=0; C)if(a>0); D)if(b==0) m=1;n=2;
39、设有以下语句 typedef struct S { int g; char h;} T; 则下面叙述中正确的是(D) A)可用S定义结构体变量 B)可以用T定义结构体变量 C)S是struct类型的变量 D)T是struct S类型的变量 41、有以下程序 main( ) { unsigned char a,b; a=4|3; b=4&3; printf(“%d %d\n”,a,b); ) 执行后输出结果是(A) A) 7 0 B}0 7 C}1 1 D}43
2003年秋浙江省二级C语言笔试试卷及答案
2003年秋浙江省高校非计算机专业学生计算机等级考试试卷(二级C)说明:(1)考生应将试题一至试题三的答案涂在答题卡上,将第四、五题的答案填写在答卷上,否则作无效处理;(2)请将你的准考证号的后四位填写在答卷右下角的指定位置内;(3)考试时间为120分钟。
试题一、计算机基础题(本题共15分)(一)单选题(每小题1分,共10分)(1)计算机网络最突出的优点是(1)。
A、运算速度快B、精度高C、共享硬件、软件和数据资源D、内存容量大(2)在微型计算机的设备中,访问速度最快的是(2)A、软盘B、硬盘C、内存储器D、CD-ROM(3)操作系统的主要功能是(3)A、对计算机系统的所有资源进行控制与管理B、实现多用户及分布式处理C、扩充计算机的功能D、对硬件资源进行分配、控制、调度和回收(4)Internet与WW的关系是(4〉A、都是因特网,只是名称不同B、Internet就是WWC、Internet与WW完全没有关系D、附W是Internet上的一个应用(5)在Windows98环境下,下面关于附件中应用程序的说法,(5)是不正确的。
A、写字板可以编辑文本文件B、写字板的缺省扩展名为.DOCC、计算器中的计算结果,可以粘贴到文档文件中D、记事本中设置的显示字体,将保存在文本文件中,当使用Word读入该文件时,仍具有所设置的字体(6)在Word编辑文本时,将文档中所有的"memory"都改成"存储器",最快捷的方法是采用(6)操作。
A、中英文转换B、替换C、改写D、翻译(7)以下几种关于消除计算机病毒的说法中,正确的是。
A、专门的杀毒软件并非总是有效的B、删除所有带毒文件能消除所有病毒C、对感染上病毒的软盘,格式化既能消除病毒,又能使数据不受破坏D、耍一劳永逸地使计算机不感染病毒,最好的方法是装上防病毒卡(8)实现汉字字形表示的方法,一般可分为(8)两大类。
A、点阵式与矢量式B、点阵式与网络式C、网络式与矢量式D、矢量式与向量式(9)十六进制数lAE7OFH与十六进制数2003H的和是(9)。
2003年9月全国计算机等级考试二级C笔试试卷(含参考答案)
2003年9月全国计算机等级考试二级C语言笔试试卷一、选择题((1)~(40)每题1分,(41)~(50)每题2分,共60分)(1)在计算机中,一个字节所包含二进制位的个数是A)2 B)4 C)8 D)16(2)在多媒体计算机中,CD-ROM属于A)存储媒体 B)传输媒体 C)表现媒体 D)表示媒体(3)在DOS系统中,带有通配符的文件名*.*表示A)硬盘上的全部文件 B)当前盘当前目录中的全部文件C)当前盘上的全部文件 D)根目录中的全部文件(4)十六进制数100转换为十进制数为A)256 B)512 C)1024 D)64(5)能将高级语言编写的源程序转换为目标程序的软件是A)汇编程序 B)编辑程序 C)解释程序 D)编译程序(6)在Internet中,用于在计算机之间传输文件的协议是A)TELNET B)BBS C)FTP D)WWW(7)在Windows环境下,资源管理器左窗口中的某文件夹左边标有"+"标记表示A)该文件夹为空 B)该文件夹中含有子文件夹C)该文件夹中只包含有可执行文件 D)该文件夹中包含系统文件(8)在Windows环境下,下列叙述中正确的是A)在"开始"菜单中可以增加项目,也可以删除项目B)在"开始"菜单中不能增加项目,也不能删除项目C)在"开始"菜单中可以增加项目,但不能删除项目D)在"开始"菜单中不能增加项目,但可以删除项目(9)从Windows环境进入DOS方式后,返回Windows环境的命令为A)QUIT B)WIN C)EXIT D)ESC(10)下列叙述中正确的是A)计算机病毒只感染可执行文件B)计算机病毒只感染文本文件C)计算机病毒只能通过软件复制的方式进行传播D)计算机病毒可以通过读写磁盘或网络等方式进行传播(11)以下叙述中正确的是A)C程序中注释部分可以出现在程序中任意合适的地方B)花括号"{"和"}"只能作为函数体的定界符C)构成C程序的基本单位是函数,所有函数名都可以由用户命名D)分号是C语句之间的分隔符,不是语句的一部分(12)以下选项中可作为C语言合法整数的是A)10110B B)0386 C)0Xffa D)x2a2(13)以下不能定义为用户标识符的是A)scanf B)Void C)_3com_ D)int(14)有以下程序main(){ int a; char c=10;float f=100.0; double x;a=f/=c*=(x=6.5);printf("%d %d %3.1f %3.1f ",a,c,f,x);}程序运行后的输出结果是A)1 65 1 6.5 B)1 65 1.5 6.5C)1 65 1.0 6.5 D)2 65 1.5 6.5(15)以下选项中非法的表达式是A)0<=x<100 B)i=j==0C)(char)(65+3) D)x+1=x+1(16)有以下程序main(){ in t a=1,b=2,m=0,n=0,k;k=(n=b>a)||(m=a<B);printf("%d,%d ",k,m);}程序运行后的输出结果是A)0,0 B)0,1 C)1,0 D)1,1(17)有定义语句:int x, y;,若要通过scanf("%d,%d",&x,&y);语句使变量x得到数值11,变量y得到数值12,下面四组输入形式中,错误的是A)11 12<回车> B)11, 12<回车>C)11,12<回车> D)11,<回车>12<回车>(18)设有如下程序段:int x=2002, y=2003;printf("%d ",(x,y));则以下叙述中正确的是A)输出语句中格式说明符的个数少于输出项的个数,不能正确输出B)运行时产生出错信息C)输出值为2002 D)输出值为2003(19)设变量x为float型且已赋值,则以下语句中能将x中的数值保留到小数点后两位,并将第三位四舍五入的是A)x=x*100+0.5/100.0; B)x=(x*100+0.5)/100.0;C)x=(int)(x*100+0.5)/100.0; D)x=(x/100+0.5)*100.0;(20)有定义语句:inta=1,b=2,c=3,x;,则以下选项中各程序段执行后,x的值不为3的是A.if (c<a) x=1;B.if (a<3) x=3;else if (b<a) x=1; else if (a<2) x=2;else x=3; else x=1;C.if (a<3) x=3;D.if(a<b) x=b;if (a<2) x=2; if (b<c) x=c;if (a<1) x=1; if (c<a) x=a;(21)有以下程序main(){ int s=0,a=1,n;scanf("%d",&n);do{ s+=1; a=a-2; }while(a!=n);printf("%d ",s);}若要使程序的输出值为2,则应该从键盘给n输入的值是A)-1 B)-3 C)-5 D)0(22)若有如下程序段,其中s、a、b、c均已定义为整型变量,且a、c均已赋值(c大于0)s=a;for(b=1;b<=c;b++) s=s+1;则与上述程序段功能等价的赋值语句是A)s=a+b; B)s=a+c; C)s=s+c; D)s=b+c;(23)有以下程序main(){ int k=4,n=0;for( ; n{ n++;if(n%3!=0) continue;k--; }printf("%d,%d ",k,n);}程序运行后的输出结果是A)1,1 B)2,2 C)3,3 D)4,4(24)要求以下程序的功能是计算:s= 1+1/2+1/3+……+1/10main(){ int n; float s;s=1.0;for(n=10;n>1;n--)s=s+1/n;printf("%6.4f ",s);}程序运行后输出结果错误,导致错误结果的程序行是A)s=1.0; B)for(n=10;n>1;n--)C)s=s+1/n; D)printf("%6.4f ",s);(25)已定义ch为字符型变量,以下赋值语句中错误的是A)ch=\'\'; B)ch=62+3; C)ch=NULL; D)ch=\'猏';(26)若已定义的函数有返回值,则以下关于该函数调用的叙述中错误的是A)函数调用可以作为独立的语句存在 B)函数调用可以作为一个函数的实参C)函数调用可以出现在表达式中 D)函数调用可以作为一个函数的形参(27)有以下函数定义:void fun(int n, double x) { …… }若以下选项中的变量都已正确定义并赋值,则对函数fun的正确调用语句是A)fun(int y,double m); B)k=fun(10,12.5);C)fun(x,n); D)void fun(n,x);(28)有以下程序void fun(char *a, char *b){ a=b; (*a)++; }main(){ char c1=\'A\',c2=\'a\',*p1,*p2;p1=&c1; p2=&c2; fun(p1,p2);printf("%c%c ",c1,c2);}程序运行后的输出结果是A)Ab B)aa C)Aa D)Bb(29)若程序中已包含头文件stdio.h,以下选项中,正确运用指针变量的程序段是A)int *i=NULL; B) float *f=NULL;scanf("%d",i); *f=10.5;C)char t=\'m\', *c=&t; D) long *L;*c=&t; L=\'\';(30)有以下程序#includemain(){ printf("%d ",NULL); }程序运行后的输出结果是A)0 B)1 C)-1 D)NULL没定义,出错(31)已定义c为字符型变量,则下列语句中正确的是A)c=\'97\'; B)c="97"; C)c=97; D)c="a";(32)以下不能正确定义二维数组的选项是A)int a[2][2]={{1},{2}}; B)int a[][2]={1,2,3,4};C)int a[2][2]={{1},2,3}; D)int a[2][]={{1,2},{3,4}};(33)以下选项中不能正确把cl定义成结构体变量的是A)typedef struct B)struct color cl{ int red; { int red;int green; int green;int blue; int blue;} COLOR; };COLOR cl;C)struct color D)struct{ int red; { int red;int green; int green;int blue; int blue;} cl; } cl;(34)以下能正确定义一维数组的选项是A)int num[]; B) #define N 100int num[N]; C)int num[0..100]; D) int N=100;int num[N];(35)下列选项中正确的语句组是A)char s[8]; s={"Beijing"}; B)char *s; s={"Beijing"}; C)char s[8]; s="Beijing"; D)char *s; s="Beijing";(36)已定义以下函数fun(int *p){ return *p; }该函数的返回值是A)不确定的值 B)形参p中存放的值 C)形参p所指存储单元中的值 D)形参p的地址值(37)下列函数定义中,会出现编译错误的是A)max(int x,int y,int *z) B)int max(int x,y){ *z=x>y ? x:y; } { int z;z=x>y ? x:y;return z;}C)max(int x,int y) D)int max(int x,int y){ int z; { return(x>y?x:y); }z=x>y?x:y; return(z);}(38)有以下程序#include#define F(X,Y) (X)*(Y)main(){ int a=3, b=4;printf("%d ", F(a++, b++));}程序运行后的输出结果是A)12 B)15 C)16 D)20(39)有以下程序fun(int a, int b){ if(a>b) return(a);else return(b);}main(){ int x=3, y=8, z=6, r;r=fun(fun(x,y), 2*z);printf("%d ", r);}程序运行后的输出结果是A)3 B)6 C)8 D)12(40)若有定义:int *p[3];,则以下叙述中正确的是A)定义了一个基类型为int的指针变量p,该变量具有三个指针B)定义了一个指针数组p,该数组含有三个元素,每个元素都是基类型为int的指针C)定义了一个名为*p的整型数组,该数组含有三个int类型元素D)定义了一个可指向一维数组的指针变量p,所指一维数组应具有三个int类型元素(41)以下程序中函数scmp的功能是返回形参指针s1和s2所指字符串中较小字符串的首地址 #include#includechar *scmp(char *s1, char *s2){ if(strcmp(s1,s2)<0)return(s1);else return(s2);}main(){ int i; char string[20], str[3][20];for(i=0;i<3;i++) gets(str[i]);strcpy(string,scmp(str[0],str[1])); /*库函数strcpy对字符串进行复制*/ strcpy(string,scmp(string,str[2]));printf("%s ",string);}若运行时依次输入:abcd、abba和abc三个字符串,则输出结果为A)abcd B)abba C)abc D)abca(42)有以下程序struct s{ int x,y; } data[2]={10,100,20,200};main(){ struct s *p=data;printf("%d ",++(p->x));}程序运行后的输出结果是A)10 B)11 C)20 D)21(43)有以下程序段main(){ int a=5,*b,**c;c=&b; b=&a;……}程序在执行了c=&b;b=&a;语句后,表达式:**c的值是A)变量a的地址 B)变量b中的值 C)变量a中的值 D)变量b的地址(44)有以下程序#includemain(){ char str[][20]={"Hello","Beijing"},*p=str;printf("%d ",strlen(p+20));}程序运行后的输出结果是A)0 B)5 C)7 D)20(45)已定义以下函数fun(char *p2, char *p1){ while((*p2=*p1)!=\'\'){ p1++;p2++; } }函数的功能是A)将p1所指字符串复制到p2所指内存空间B)将p1所指字符串的地址赋给指针p2C)对p1和p2两个指针所指字符串进行比较D)检查p1和p2两个指针所指字符串中是否有\'\'(46)有以下程序main(){ int x=3, y=2, z=1;printf("%d ",x/y&~z);}程序运行后的输出结果是A)3 B)2 C)1 D)0(47)若fp已正确定义并指向某个文件,当未遇到该文件结束标志时函数feof(fp)的值为A)0 B)1 C)-1 D)一个非0值(48)下列关于C语言数据文件的叙述中正确的是A)文件由ASCII码字符序列组成,C语言只能读写文本文件B)文件由二进制数据序列组成,C语言只能读写二进制文件C)文件由记录序列组成,可按数据的存放形式分为二进制文件和文本文件D)文件由数据流形式组成,可按数据的存放形式分为二进制文件和文本文件(49)有以下程序main(){ int a[3][3],*p,i;p=&a[0][0];for(i=0;i<9;i++) p[i]=i+1;printf("%d ",a[1][2]);}程序运行后的输出结果是A)3 B) 6 C)9 D)2(50)有以下结构体说明和变量定义,如图所示,指针p、q、r分别指向一个链表中的三个连续结点。
计算机二级C语言测试题及答案解析
计算机二级C语言测试题及答案解析计算机二级C语言测试题及答案解析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)。
计算机等级考试二级C语言试题及答案
{ int a=5; s+=f(&a);
}
s+=f(&a); printf(“%d\nC)7 D)8
38、有以下程序 #define f(x) x*x main( ) { int i; i=f(4+4)/f(2+2);
15、 若以下选项中的变量已正确定义,则正确的赋值语句 是
(C) A)x1=26.8%3 B)1+2=x2 C)x3=0x12 D)x4=1+2=3;
//%为模式运算,又称为求余运算,二侧均为整形数据 16、 设有以下定义
int a=0; double b=1.25; char c=’A’; #define d 2 则下面语句中错误的是(D) A)a++; B)b++ C)c++; D)d++;
{ int i,s=0;
for(i=1;i<10;i+=2) s+=i+1;
printf(“%d\n”,s);
} 程序执行后的输出结果是(D)
A)自然数1~9的累加和
B)自然数1~10的累加和
C)自然数1~9中的奇数之和 D)自然数1~10中的偶数 之和
25、有以下程序 main( ) { int i,n=0; for(i=2;i<5;i++) { do { if(i%3) continue; n++; } while(!i); n++; } printf(“n=%d\n”,n); } 程序执行后的输出结果是(D) A)n=5 B)n=2 C)n=3 D) n=4
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(16) 若有以下程序段(n所赋的是八进制数) int m=32767,n=032767 printf("%d,%o/n",m,n); 执行后输出结果是 A.32767,32767 B.32767,032767 C.32767,77777 D.32767,077777 (17) 下列关于单目运算符++、--的叙述中正确的是 A.它们的运算对象可以是任何变量和常量 B.它们的运算对象可以是char型变量和int型变量,但不能是 float型变量 C.它们的运算对象可以是int型变量,但不能是double型变量和 float型变量 D.它们的运算对象可以是char型变量、int型变量和float型变量 (18) 若有以下程序段 int m=0xabc,n=0xabc; m-=n; printf("%X\n",m); 执行后输出结果是 A.0X0 B.0x0 C.0 D.0XABC (19) 有以下程序段 int m=0,n=0; char c='a'; scanf("%d%c%d",%26amp;m,%26Байду номын сангаасmp;c,%26amp;n); printf("%d,%c,%d\n",m,c,n); 若从键盘上输入:10A10%26lt;回车%26gt;,则输出结果是: A.10,A,10 B.10,a,10 C.10,a,0 D.10,A,0 (20) 有以下程序 main() { int i; for(i=0;i%26lt;3;i++) switch(i) { case 1: printf("%d",i); case 2: printf("%d",i); default: printf("%d",i);
D.a='\';和c='\0xab';语句都不正确 (27) 有以下程序 int fl(int x,int y) { return x%26gt;y?x:y; } int f2(int x,int y) { return x%26gt;y?y:x; } main() { int a=4,b=3,c=5,d,e,f; d=f1(a, B.; d=f1(d, C.; e=f2(a, B.; e=f2(e, C.; f=a+b+c-d-e; printf("%d,%d,%d\n",d,f,e); } 执行后输出结果是 A.3,4,5 B.5,3,4 C.5,4,3 D.3,5,4 (28) 有如下程序 void f(int x,int y) { int t; if(x } main() { int a=4,b=3,c=5; f(a, B.; f(a, C.; f(b, C.; printf("%d,%d,%d\n",a,b, C.; } 执行后输出结果是 A.3,4,5 B.5,3,4 C.5,4,3 D.4,3,5 (29) 若有以下定义和语句 #include
B.剪刀标志 C.复制标志 D.粘贴标志 (9) 在Windows98环境下,若要将整个屏幕上显示的内容存入剪贴 板,可以按 A.Ctrl+PrintScreen键 B.Alt+PrintScree键 C.Shift+PrintScreen键 D.PrintScreen键 (10) 目前,计算机病毒扩散最快的途径是 A.通过软件复制 B.通过网络传播 C.通过磁盘考贝 D.运行游戏软件 (11) 以下叙述中正确的是 A.C语言比其他语言高级 B.C语言可以不用编译就能被计算机识别执行 C.C语言以接近英语国家的自然语言和数学语言作为语言的表达形 式 D.C语言出现的最晚,具有其他语言的一切优点 (12) C语言中用于结构化程序设计的三种基本结构是 A.顺序结构、选择结构、循环结构 B.if、switch、break C.for、while、do-while D.if、for、continue (13) 在一个C程序中 A.main函数必须出现在所有函数之前 B.main函数可以在任何地方出现 C.main函数必须出现在所有函数之后 D.main函 (14) 下列叙述中正确的是 A.C语言中既有逻辑类型也有集合类型 B.C语言中没有逻辑类型但有集合类型 C.C语言中有逻辑类型但没有集合类型 D.C语言中既没有逻辑类型也没有集合类型 (15) 下列关于C语言用户标识符的叙述中正确的是 A.用户标识符中可以出现在下划线和中划线(减号) B.用户标识符中不可以出现中划线,但可以出现下划线 C.用户标识符中可以出现下划线,但不可以放在用户标识符的开 头 D.用户标识符中可以出现在下划线和数字,它们都可以放在用户 标识符的开头
A.58 B.56 C.45 D.24 (24) 有以下程序 main() { int i=0,s=0; do{ if(i%2){i++;continue;} i++; s +=i; }while(i%26lt;7); printf("%d\n",s); } 执行后输出结果是 A.16 B.12 C.28 D.21 (25) 有以下程序 main() { int i=10,j=1; printf("%d,%d\n",i--,++j); } 执行后输出结果是 A.9,2 B.10,2 C.9,1 D.10,1 (26) 有以下程序 main() { char a,b,c,*d; a='\'; b='\xbc'; c='\0xab'; d="\017"; print("%c%c%c\n",a,b,c,* D.; } 编译时出现错误,以下叙述中正确的是 A.程序中只有a='\';语句不正确 B.b='\xbc';语句不正确 C.d="\0127";语句不正确
int a=4,b=3,*p,*q,*w; p=%26amp;a; q=%26amp;b; w=q; q=NULL; 则以下选项中错误的语句是 A.*q=0; B.w=p; C.*p=a; D.*p=*w; (30) 有以下程序 int *f(int *x,int *y) { if(*x%26lt;*y) return x; else return y; } main() { int a=7,b=8,*p,*q,*r}; } 执行后输出结果是 A.7,8,8 B.7,8,7 C.8,7,7 D.8,7,8 (31) 有以下程序 main() { char *s[]={"one","two","three"},*p; p=s[1]; printf("%c,%s\n",*(p+1),s[0]); } 执行后输出结果是 A.n,two B.t,one C)w,one D.o,two (32) 有以下程序 main() { int x[8]={8,7,6,5,0,0},*s; s=x+3 printf("%d\n",s[2]); } 执行后输出结果是 A.随机值 B.0 C.5 D.6
一、选择题((1)~(40)每小题1分,(41)~(55)每小题2分,共60分) 下列各题 A、B、C、D.四个选项中,只有一个选项是正确的,请 将正确选项涂写在答题卡相应位置上,答在试卷上不得分。 (1) 用8位无符号二进制数能表示的最大十进制数为 A.127 B.128 C.255 D.256 (2) 在64位高档微机中,一个字长所占的二进制位数为 A.8 B.16 C.32 D.64 (3) 在Windows环境下,为了复制一个对象,在用鼠标拖动该对象 时应同时按住 A.Alt键 B.Esc键 C.Shift键 D.Ctrl键 (4) 在Windows菜单中,暗淡(灰色)的命令项表示该命令 A.暂时不能用 B.正在执行 C.包含下一层菜单 D.包含对话框 (5) 在DOS环境下,为了得到TYPE命令的帮助信息,正确的DOS命令 为 A.TYPE B.TYPE/H C.TYPE/* D.TYPE/? (6) 下列选项中,能作为合法DOS文件名的是 A.ANP/A.DAT B.ABCCOM C.ECD.BASIC D.XY+Z.TXT (7) 下列叙述中正确的是 A.在Windows环境下,最大化的窗口是不能移动的 B.在Windows环境下,应用程序窗口最小化后,该应用程序暂停执 行 C.在Windows环境下,只有最小化的窗口才能关闭 D.在Windows环境下,不能关闭最大化的窗口 (8) 在Windows环境下,工具栏中的复制按钮是 A.打印机图标
} } 执行后输出结果是 A.011122 B.012 C.012020 D.120 (21) 有以下程序 main() { int i=1,j=1,k=2; if((j++‖k++)%26amp;%26amp;i++) printf("%d,%d,%d\n",i,j,k); } 执行后输出结果是 A.1,1,2 B.2,2,1 C.2,2,2 D.2,2,3 (22) 有以下程序 main() { int a=5,b=4,c=3,d=2; if(a%26gt;b%26gt; C. printf("%d\n", D.; else if((c-1%26gt;= D.==1) printf("%d\n",d+1); else printf("%d\n",d+2) } 执行后输出结果是 A.2 B.3 C.4 D.编译时有错,无结果 (23) 有以下程序 main() { int p[7]={11,13,14,15,16,17,18},i=0,k=0; while(i%26lt;7%26amp;%26amp;p[i]%2){k=k+p[i];i++;} printf("%d\n",k); } 执行后输出结果是