c语言笔试题库(计算机等级考试 笔试题型 二级C语言)

2024-07-14 08:58:24 4

c语言笔试题库(计算机等级考试 笔试题型 二级C语言)

大家好,c语言笔试题库相信很多的网友都不是很明白,包括计算机等级考试 笔试题型 二级C语言也是一样,不过没有关系,接下来就来为大家分享关于c语言笔试题库和计算机等级考试 笔试题型 二级C语言的一些知识点,大家可以关注收藏,免得下次来找不到哦,下面我们开始吧!

本文目录

计算机等级考试 笔试题型 二级C语言

选择35 填空15 每题2分2010年3月计算机等级考试二级C++笔试试题 一、选择题(每小题2分,共70分) 下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的。请将正确选项填涂在答题卡相应位置上,答在试卷上不得分。 (1)下列叙述中正确的是 A)对长度为n的有序链表进行查找,最坏情况下需要的比较次数为n B)对长度为n的有序链表进行对分查找,最坏情况下需要的比较次数为(n/2) C)对长度为n的有序链表进行对分查找,最坏情况下需要的比较次数为(log2n) D)对长度为n的有序链表进行对分查找,最坏情况下需要的比较次数为(n log2n) (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如下:则由关系R得到关系T的操作是 A)选择 B)投影 C)交 D)并(11)下列关于函数的描述中,错误的是 A)函数可以没有返回值 B)函数可以没有参数 C)函数可以是一个类的成员 D)函数不能被定义为模板 (12)若MyClass是一个类名,且有如下语句序列 MyClass c1,*c2; MyClass *c3=new MyClass; MyClass &c4=c1; 上面的语句序列所定义的类对象的个数是 A)1 B)2 C)3 D)4 (13)下列关于继承方式的描述中,错误的是 A)如果不显式地指定继承方式,缺省的继承方式是私有(private) B)采用公有继承方式时,基类中的公有成员在派生类中仍然是公有成员 C)采用保护继承方式时,基类中的保护成员在派生类中仍然是保护成员 D)采用私有继承方式时,基类中的私有成员在派生类中仍然是私有成员 (14)将前缀运算符“--”重载为非成员函数,下列原型中,能正确用于类中说明的是 A)Decr& operator --(int); B)Decr operator --( Decr&,int); C)friend Decr& operator --(Decr&); D)frlend Decr operator --(Decr&,int); (15)若MyTemp是一个只有一个虚拟类型参数的类模板,且有如下语句序列 MyTempp2; MyTempp3; 编译系统在处理上面的语句序列时,所生成的模板MyTemp的实例的个数是 A)1 B)2 C)3 D)0 (16)在C++中,cin是个 A)类 B)对象 C)模板 D)函数 (17)在下列字符中,不允许作为C++标识符的是 A)b B)B C)_ D)2 (18)下列叙述中,错误的是 A)false是一个逻辑型常量 B)"b"是一个字符型常量 C)365是一个int常量 D)3.1415926是一个double常量 (19)若x和y是程序中的两个整型变量,则下列if语句中正确的是 A)if(x==0) y=1; else y=2; B)if(x==0) then y=1 else y=2; C)if(x==0) y=1 else y=2; D)if x==0 y=1; else y=2; (20)要定义整型数组x,使之包括初值为O的三个元素,下列语句中错误的是 A)int x={0,0,0}; B)int x={0}; C)static int x={0}; D)int x={0,0,0};(21)关于函数中的《返回类型》,下列表述中错误的是 A)《返回类型》中有可能包含关键字int B)《返回类型》中有可能包含自定义标识符 C)《返回类型》中有可能包含字符* D)《返回类型》中可能包含 (22)要定义一个引用变量p,使之引用类MyClass的一个对象,正确的定义语句是 A)MyClass p=MyClass; B)MyClass p=new MyClass; C)MyClass &p=new MyClass; D) MyClass a,&p=a; (23)有如下两个类定义 class XX{ private: double x1; protected: double x2; public: double x3; }; class YY:protected XX{ private: double y1; protected: double y2; public: double y3; }; 在类YY中保护成员变量的个数是 A)1 B)2 C)3 D)4 (24)下列关于运算符重载的描述中,错误的是 A)可以通过运算符重载在C++中创建新的运算符 B)赋值运算符只能重载为成员函数 C)运算符函数重载为类的成员函数时,第一操作数是该类对象 D)重载类型转换运算符时不需要声明返回类型 (25)下列关于类模板的描述中,错误的是 A)类模板的成员函数都是模板函数 B)可以为类模板参数设置默认值 C)类模板描述了一组类 D)类模板中只允许有一个类型参数 (26)下列控制格式输入输出的操作符中,能够设置浮点数精度的是 A)setprecision B)setw C)setfill D)showpoint(27)下列程序段中包含4个函数,其中具有隐含this指针的是 int fun1(); class Test{ public: int fun2(); friend int fun3(); static int fun4(); }; A)fun1 B)fun2 C)fun3 D)fun4 (28)有如下程序 #include using namespace std; class Test{ public: Test(){ } Test(const Test &t) {cout《《1;} }; Test fun(Test &u) {Test t=u; return t;} int main(){Test x,y; x=fun(y); return 0;} 运行这个程序的输出结果是 A)无输出 B)1 C)11 D)111 (29)有如下程序 #include using namespace std; class A{ public: A(int i=0):r1(i) { } void print() {cout《《’E’《《R1《《’-’;}《 p》 void print() const {cout《《’C’《《R1*R1《《’-’;}《 p》 void print(int x) {cout 《《’P’《《R1*R1*R1《《’-’;}《 p》 private: int r1; }; int main() { A a1; const A a2(4); a1.print(2); a1.print(); return 0; } 运行时的输出结果是 A)P8-E4 B)P8-C16- C)P0-E4- D)P0-C16- (30)下列代码声明了3个类 class Person{}; class Student:public Person{}; class Undergraduate:Student{}; 下列关于这些类之间关系的描述中,错误的是 A)类Person是类Undergraduate的基类 B)类Undergraduate从类Student公有继承 C)类Student是类Person的派生类 D)类Undergraduate是类Person的派生类(31)有如下程序 #include using namespace std; Class Base{ public: Base(int x=0):valB(x) {cout《《VALB;}《 p》 ~Base() {cout《《VALB;}《 p》 private: int valB; }; class Derived:public Base{ public: Derived(int x=0,int y=0):Base(x),valD(y){cout《《VALD;}《 p》 ~Derived() {cout《《VALD;}《 p》 private: int valD; }; int main(){ Derived obj12(2,3); retuen 0; } 运行时的输出结果是 A)2332 B)2323 C)3232 D)3223 (32)下面是类Shape的定义: class Shape{ public: virtual void Draw()=0; }; 下列关于Shape类的描述中,正确的是 A)类Shape是虚基类 B)类Shape是抽象类 C)类Shape中的Draw函数声明有误 D)语句“Shape s;”能够建立Shape的一个对象s (33)将运算符“+”重载为非成员函数,下列原型声明中,错误的是 A)MyClock operator + (MyClock,long); B)MyClock operator + (MyClock,MyClock); C)MyClock operator + (long,long); D)MyClock operator + (long,MyClock); (34)打开文件时可单独或组合使用下列文件打开模式 ①ios_base::app ②ios_base::binary ③ios_base::in ④ios_base::out 若要以二进制读方式打开一个文件,需使用的文件打开模式为 A)①③ B)①④ C)②③ D)②④ (35)有如下程序: #include using namespace std; Class B{ public: B(int xx):x(xx) {++cout; x+=10;} virtual void show() const {cout《《COUNT《《’_’《《X《《ENDL;}《 p》 protected: static int count; private: int x; }; class D:public B{ public: D(int xx,int yy):B(xx),y(yy) {++count; y+=100;} virtual void show() const {cout《《COUNT《《’_’《《Y《《ENDL;}《 p》 private: int y; }; int B::count=0; int main(){ B *ptr=new D(10,20); ptr-》show(); delete ptr; return 0; } 运行时的输出结果是 A)1_120 B)2_120 C)1_20 D)2_20二、填空题(每空2分,共30分) 请将每一个空的正确答案写在答题卡【l】~【15】序号的横线上,答在试卷上不得分。 (1)一个队列的初始状态为空。现将元素A,B,C,D,E,F,5,4,3,2,1依次入队,然后再依次退队,则元素退队的顺序为 【1】 。 (2)设某循环队列的容量为50,如果头指针front=45(指向队头元素的前一位置),尾指针rear=10(指向队尾元素),则该循环队列中共有 【2】 个元素。 (3)设二叉树如下:对该二叉树进行后序遍历的结果为 【3】 。 (4)软件是 【4】 、数据和文档的集合。 (5)有一个学生选课的关系,其中学生的关系模式为:学生(学号,姓名,班级,年龄),课程的关系模式为:课程(课号,课程名,学时),其中两个关系模式的键分别是学号和课号,则关系模式选课可定义为:选课(学号, 【5】 ,成绩)。 (6)若x和y是两个整形变量,在执行了语句序列 x=5; y=6; y+=x--; 后,x+y的值为 【6】 。 (7)在执行语句序列 int i=0; do i++; while(i*i《10); 时,do后面的循环体语句i++被执行的次数为 【7】 。 (8)有如下的函数定义: int Xfun(int *a, int n){ int x=*a; for(int *pa=a+1; pa《》 if(*pa》x) x=*pa; return x; } 若执行了语句 int x={23,46,78,55,16}; 后,通过表达式Xfun(x,5)调用该函数,则得到的返回值为 【8】 。 (9)有如下的函数定义: int Xfun(int x){ int y=x; {int x=10; y+=x;} return x+y; } 通过表达式Xfun(5)调用该函数,则得到的返回值为 【9】 。 (10)假定Xcs是一个类,该类中一个成员函数的原型为“Xcs *abc();”,则在类外定义时对应的函数头为 【10】 。 (11)请将下面的类Date的定义补充完整,使得由语句 Date FirstDay; 定义的对象FirstDay的值为2010年1月1日。 class Date{ public: Date( 【11】 ):year(y),month(m),day(d){ } private: int year,month,day; //依次表示年、月、日 }; (12)请将下面的程序补充完整,使得程序输出“飘是张娜的书”。 #include using namespace std; class Book{ public: Book(char *str) {strcpy(title,str);} 【12】 void PrintInfo() {cout《《TITLE《《ENDL;}《 p》 protected: char title; }; class MyBook:public Book{ public: MyBook(char *s1,char *s2="张娜"):【13】 {strcpy(owner,s2);} virtual void PrintInfo() {cout《《TITLE《《"是"OWNER《《"的书"《《ENDL;}《 p》 private: char owner; }; int main(){ Book *prt=new MyBook("飘"); prt-》PrintInfo(); return 0; } (13)在有理数类Rational中重载插入运算符《《,以便按a/q形式输出。请将《《运算符函数的定义补充完整。 class Rational{ public: Rational(int aa, int qq):a(aa),q(qq){ } friend 【14】 operator《《(ostream &out, Rational &x) { return (out《《X.A《《’ p ?《《x.q);《》 } private: int a,q; }; (14)下面的函数定义是某函数模板能够生成的函数实例 int square(int n) {return n*n;} double square(double n) {return n*n;} 由此可知,该函数模板的定义是 【15】 。

c语言笔试题来几份

留邮箱我给你发试卷和答案一.单项选择题1)C语言中最基本的非空数据类型包括A.整型、浮点型、无值型B.整型、字符型、无值型C. 整型、浮点型、字符型D. 整型、浮点型、双精度型、字符型2)C语言中运算对象必须是整型的运算符是A.%B./C.=D.《=3)若已定义x和y为int类型,则执行了语句x=1;y=x+3/2;后y的值是A.1B.2C.2.0D.2.54)若有以下程序 段,int a=1,b=2,c=1.0/b*a;则执行后,c中的值是A.0B.0.5C.1D.25)能正确表示逻辑关系:“a≥10或a≤0”的C语言表达式是A.a》=10ora《=0B.a》=0|a《=10C.a》=10&&a《=0D.a》=10||a《=06)下列字符序列中, 不可用作C语言标识符的是A.xyd233B.No.1C._sdD.xyz7)在printf()函数中,反斜杠字符‘\’表示为A.\’B.\0C.\nD.\\8)设先有定义:int a=10;则表达示a+=a*=a的值为A.10B.100C.1000D.2009)设先有定义:int y=3,x=2,z=1;则语句:printf(“%d %d\n”,(++x,y++),z+2);的输出结果为A.3 4B.4 2C.4 3D.3 310)假定x、y、z、m均为int 型变量,有如下程序段x=2;y=3;z=1;m=(y《x)?y:x;m=(z《y)?m:y;则该程序运行后,m的值是A.4B.3C2D.111)以下选项中合法的字符常量是A.“B”B.’\010’C.68D.D12)设x=3,y=4,z=5,则表达式((x+y)》z)&&(y==z)&&x||y+z&&y+z的值为A.0B.1C.2D.313)结构化程序模块不具有的特征是A.只有一个入口和一个出口B.要尽量多使用goto语句C.一般有顺序、选择和循环三种基本结构D.程序中不能有死循环14)C语言中,逻辑“真”等价于A.整数1B. 整数0C.非0数D.TRUE15)以下4条语句中,有语法错误的是A.if(a》b) m=n;B.if(a《b) m=b;C.if((a=b)》=0) m=a;D.if((a=b;)》=0) m=a;16)若i,j均为整型变量,则以下循环for(i=0,j=2;j=1;i++,j--)printf(“%5d,%d\n”,I,j);A.循环体只执行一次B.循环体执行二次C.是无限循环D.循环条件不合法17)以下程序段,执行结果为a=1;do{a=a*a;}while(!a);A.循环体只执行一次B.循环体执行二次C.是无限循环D.循环条件不合法18)C语言中while与do-while语句的主要区别是A.do-while循环体至少无条件执行一次B.do-while允许从外部跳到循环体内B.while的循环体至少无条件执行一次D.while的循环控制条件比do-while的严格19)语句while(!a);中条件等价于A.a!=0B.~aC.a==1D.a==020)以下程序的运行结果为#include《stdio.h》main(){int i=1,sum=0;while(i《=100)sum+=i;printf(“1+2+3+…+99+100=%d”,sum);}A.5050B.1C.0D.程序陷入死循环21)以下程序运行结果为#include《stdio.h》main(){int sum,pad;sum=pad=5;pad=sum++;pad++;++pad;printf(“%d\n”,pad);}A.7B.6C.5D.422)以下程序的运行结果为#include《stdio.h》main(){int a=2,b=10;printf(“a=%%d,b=%%d\n”,a,b);}A.a=%2,b=%10B.a=2,b=10C. a=%%d,b=%%dD. a=%d,b=%d23)为了避免嵌套的if-else语句的二义性,C语言规定else总是A.与缩排位置相同的if组成配对关系B.与在其之前未配对的if组成配对关系C. 与在其之前未配对的最近的if组成配对关系D.与同一行上的if组成配对关系24)对于for(表达式1;;表达式3)可理解为A.for(表达式1;表达式3)B. for(表达式1;1;表达式3)C. for(表达式1;0;表达式3)D. for(表达式1;表达式3;表达式3)25)在下列数组定义、初始化或赋值语句中,正确的是A.int a={1,2,3,4,5,6};C.int x;26)若已有定义:int i,a;则下列语句中,不正确的是A.for(i=0;i《100;i++) a);C.scanf(“%d”,&a);D.for(i=0;i《100;i++) scanf(“%d”,a+i);27)与定义char c={“GOOD”};不等价的是A.char c=“GOOD”;C. char c={‘G’,’O’,’O’,’D’,’\0’};28)若已有定义char c={“GOOD”};则下列语句 中,不正确的是A.puts(c);B.for(i=0;c);C.printf(“%s”,c);D.for(i=0; c!=’\0’;i++) putchar(c);29)若定义a={0,1,2,3,4,5,6,7};则a数组中行的大小是A.2B.3C.4D.不确定值30)以下程序的运行结果是#include《stdio.h》void f(int b){int i=0;while(b《=10){b+=2;i++;}}main(){int i,a={-1,5,10,9,13,7};f(a);for(i=0;i《6;i++){printf(“%2d”,a);}}A.2 7 12 11 13 9B.1 7 12 11 13 7C.1 7 12 11 13 9D.1 7 12 9 13 731)若执行以下程序段,其运行结果是char c={‘a’,’b’,’\0’,’c’,’\0’};printf(“%s\n”,c);A.ab cB.’a’’b’C.abcD.ab32)数组名作为参数传递给函数,作为实际参数的数组名被处理为A.该数组长度B.该数组元素个数C.该函数中各元素的值D.该数组的首地址33)当接受用户输入 的含空格的字符串时,应使用函数A.scanf()B.gets()C.getchar()D.getc()34)一个完整的可运行的C源程序中A.可以有一个或多个主函数B.必须有且仅有一个主函数C.可以没有主函数D.必须不主函数和其他函数35)构成C语言源程序的基本单位是A.子程序B.过程C.文本D. 函数36)某C程序由一个主函数和一个自定义函数组成,则该程序A.总是从max()函数开始执行B.写在前面的函数先开始执行C.写在后面的函数先开始执行D. 总是从main()函数开始执行37)C语言规定,一个C源程序的主函数名必须为A.programB.includeC.mainD.function38)下列说法正确的是A.在书写C语言源程序是,每个语句以逗号结束B.注释时,’/’和’*’号间可以有空格C.无论注释内容的多少,在对程序编译时都被忽略D.C程序每行只能写一个语句39)C语言中函数形参的缺省存储类型是A.静态B.自动C.寄存器D.外部40)函数调用语句function((exp1,exp2),18)中含有的实参个数为A.0B.1C.2D.3二.填空题1.表达式10/3的结果是;10%3的结果是2.执行语句:int a=12;a+=a-=a*a;后的值是3.以下语句的输出结果是Short b=65535; printf(“%d”,b);4.以下程序的执行结果是#include《stdio.h》main(){int a,b,x;x=(a=3,b=a--);printf(“x=%d,a=%d,b=%d\n”,x,a,b);}5.以下程序的执行结果是#include《stdio.h》main(){float f1,f2,f3,f4;int m1,m2;f1=f2=f3=f4=2;m1=m2=1;printf(“%d\n”,(m1=f1》=f2)&&(m2=f3《f4));}6.以下程序的执行结果是#include《stdio.h》main(){float f=13.8;int n;n=(int)f%3;printf(“n=%d\n”,n);}7.若定义union ex{int i;float f;char a}x;则sizeof(x)的值是8.设有int i=-1,如果在printf函数中用%u格式输出i,则输出结果是9.数组在内存中的首地址由表示。10.“*”称为运算符。三.阅读理解题1.下面程序的运行结果是#include《stdio.h》main(){static int a={{1,2,3,4,0},{2,2,0,0,0},{3,4,5,0,0},{6,0,0,0,0}};int j,k;for(j=0;j《4;j++){for(k=0;k《5;k++){if(a==0) break;printf(“%d”,a);}}printf(“\n”);}2.下面程序的运行结果是#include《stdio.h》main(){int a={1,2,3,4},i,j,s=0;j=1;for(i=3;i《=0;i--){s=s+a*j;j=j*10;}printf(“s=%d\n”,s)}3.下面程序的运行结果是#include《stdio.h》int fun(int x){int s;if(x==0||x==1)return 3;s=x-fun(x-3);return s;}main(){printf(“%d\n”,fun(3));}4.下面程序的运行结果是#include《stdio.h》unsigned int fun(unsigned num){unsigned int k=1;do{k=k*num%10;num=num/10;}while(num);return k;}5.下面程序的运行结果是#include《stdio.h》int fun(int x,int y){static int m=0,n=2;n+=m+1;m=n+x+y;return m;}四.编程题1.输入四个整数,要求将它们按由小到大的顺序输出。2.编程求s=1-1/2+1/3-1/4+…-1/100。3.如果一个数等于其所有真因子(不包括其本身)之和,则该数为完数,例如6的因子有1、2、3,且6=1+2+3,故和为完数,求2~1000中的完数。(选做)

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

为大家收集整理了《2006年3月全国计算机等级考试二级C语言笔试试题及答案》供大家参考,希望对大家有所帮助!!! 一、选择题(每小题2 分,共70 分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。 (1)下列选项中不符合良好程序设计风格的是______。   A)、源程序要文档化   B)、数据说明的次序要规范化   C)、避免滥用goto 语句   D)、模块设计要保证高耦合,高内聚 (2)从工程管理角度,软件设计一般分为两步完成,它们是______。   A)、概要设计与详细设计   B)、数据设计与接口设计   C)、软件结构设计与数据设计   D)、过程设计与数据设计 (3)下列选项中不属于软件生命周期开发阶段任务的是______。   A)、软件测试   B)、概要设计   C)、软件维护   D)、详细设计 (4)在数据库系统中,用户所见的数据模式为______。   A)、概念模式   B)、外模式   C)、内模式   D)、物理模式 (5)数据库设计的四个阶段是:需求分析、概念设计、逻辑设计和______。   A)、编码设计   B)、测试阶段   C)、运行阶段   D)、物理设计 (6)设有如下三个关系表下列操作中正确的是   A)、T=R∩S   B)、T=R∪S   C)、T=R×S   D)、T=R/S (7)下列叙述中正确的是   A)、一个算法的空间复杂度大,则其时间复杂度也必定大   B)、一个算法的空间复杂度大,则其时间复杂度必定小   C)、一个算法的时间复杂度大,则其空间复杂度必定小   D)、上述三种说法都不对 (8)在长为64 的有序线性表中进行顺序查找,最坏情况下需要比较的次数为______。   A)、63   B)、64   C)、6   D)、7 (9)数据库技术的根本目标是要解决数据的______。   A)、存储问题   B)、共享问题   C)、安全问题   D)、保护问题 (10)对下列二叉树: 进行中序遍历的结果是______。   A)、ACBDFEG   B)、ACBDFGE   C)、ABDCGEF   D)、FCADBEG (11)下列有关内联函数的叙述中,正确的是______。   A)、内联函数在调用时发生控制转移   B)、内联函数必须通过关键字inline 来定义   C)、内联函数是通过编译器来实现的   D)、内联函数体的最后一条语句必须是rennin 语句 (12)下列情况中,不会调用拷贝构造函数的是______。   A)、用一个对象去初始化同一类的另一个新对象时   B)、将类的一个对象赋予该类的另一个对象时   C)、函数的形参是类的对象,调用函数进行形参和实参结合时   D)、函数的返回值是类的对象,函数执行返回调用时 (13)下列有关继承和派生的叙述中,正确的是______。   A)、如果一个派生类私有继承其基类,则该派生类对象不能访问基类的保护成员   B)、派生类的成员函数可以访问基类的所有成员   C)、基类对象可以赋值给派生类对象   D)、如果派生类没有实现基类的一个纯虚函数,则该派生类是一个抽象类 (14)下列运算不能重载为友元函数的是______。   A)、= ( ) -》   B)、+ - ++ --   C)、》 》= 《=   D)、+= -= *= /= (15)关于在调用模板函数时模板实参的使用,下列表述正确的是______。   A)、对于虚类型参数所对应的模板实参,如果能从模板函数的实参中获得相同的信息,则都可以省略   B)、对于虚拟类型参数所对应的模板实参,如果它们是参数表中的最后的若干个参数,FC EA DBG则都可以省略   C)、对于虚拟型参数所对应的模板实参,若能够省略则必须省略   D)、对于常规参数所对应的模板实参,任何情况下都不能省略 (16)下列关于输入流类成员函数getline( )的描述中,错误的是______。   A)、该函数是用来读取键盘输入的字符串的   B)、该函数读取的字符串长度是受限制的   C)、该函数读取字符串时,遇到终止符便停止   D)、该函数读取字符串时,可以包含空格 (17)下列符号中,正确的C++标识符是______。   A)、enum   B)、2b   C)、foo-9   D)_32 (18)下列语句中,错误的是______。   A)、const int buffer=256;   B)、const double*point;   C)、int const buffer=256;   D)、double*const point; (19)if 语句的语法格式可描述为   格式1:if(条件》)语句》   或   格式2:if(条件》)语句1》else语句2》   关于上面的语法格式,下列表述中错误的是   A)、条件》部分可以是一个if 语句,例如if(if(a =0)?)?   B)、条件》部分可以是一个if 语句,例如if(?)if(?)?   C)、如果在条件》前加上逻辑非运算符!并交换语句1》和语句2》的位置,语句功能不变   D)、语句》部分可以是一个循环语句,例如if(?)while(?)? (20)有如下说明   int a ={1,2,3,4,5,,6,7,8,9,10},*p=a;   则数值为9 的表达式是______。   A)、*p+9`   B)、*(p+8)   C)、*p+=9   D)、p+7 (21)或下面的函数调用   fun(a+b,3,max(n-1)b)   则fun 的实参个数是______。   A)、3   B)、4   C)、5   D)、6 (22)以下关键字不能用来声明类的访问权限的是______。   A)、public   B)、static   C)、protected   D)、private (23)在公有继承的情况下,允许派生类直接访问的基类成员包括______。   A)、公有成员   B)、公有成员和保护成员   C)、公有成员、保护成员和私有成员   D)、保护成员 (24)关于运算符重载,下列表述中正确的是______。   A)、C++已有的任何运算符都可以重载   B)、运算符函数的返回类型不能声明为基本数据类型   C)、在类型转换符函数的定义中不需要声明返回类型   D)、可以通过运算符重载来创建C++中原来没有的运算符 (25)关于关键字class 和typename,下列表述中正确的是______。   A)、程序中的typename 都可以替换为class   B)、程序中的class 都可以替换为typename   C)、在模板形参表中只能用typename 来声明参数的类型   D)、在模板形参表中只能用class 或typename 来声明参数的类型 (26)有如下程序   #include   #include   using namespace std;   int main(){   count  return 0;   }   若程序的输出是:   **12.345**34.567   则程序中下划线处遗漏的操作符是______。   A)、setprecision(3)   B)、fixed   C)、setfill(*)   D)、stew(8) (27)有如下程序   #include   #include   using namespace std;   class MyClass{   public:   MyClass(){cout《《’A”;}   MyClass(char c {cout《~MyClass(){sout《《’B”;}   };   Int main(){   MyClassp1,*p2   p2=new MyClass(‘X’);   delete p2;   return 0;   }   执行这个程序幕上将显示输出______。   A)、ABX   B)、ABXB   C)、AXB   D)、AXBB (28)有如下程序   #include   using namespace std;   int i=1;   class Fun{   public;   static int i;   int value(){return i-1}   int value ()const{return i+1;}   };   int Fun;;i=2;   int main(){   int i=3;   Fun Fun1   const Fun fun2;   return 0;   }   若程序的输出结果是:   123   则程序中下划线处遗漏的语句是______。   A)、cout《   B)、cout《   C)、cout《   D)、cout《 (29)有如下程序   #include   using namespace std;   class Obj{   static int i;   public:   Obj(){i++;}   ~Obj(){i--;}   static int getVal(){teturn i;}   };   int Obj::i=0;   void f (){Obj ob2;cout  Obj obl;   F();   Obj*ob3=new Obj;cout  Delete ob3;cout  }   程序的输出结果是______。   A)、232   B)、231   C)、222   D)、221 (30)有如下程序   #include   using namespace std;   class Base{   protected;   Base(){cout《《’A’;}   Base(char c){cout《};   class Derived; public Base{   public:   Derived(char c ){cout 《};   int main(){   Derived d1(‘B’);   return 0;   }   执行这个程序屏幕上将显示输出______。   A)、B   B)、BA   C)、AB   D)、BB (31)有如下类定义:   class MyBase{   int k;   public;   MyBase(int n=0):k(n){}   int value()const{return k;}   };   class MyDerived; MyBase{   int j;   public;   MyDerived(int i): j(i){}   int getK()const {return k;}   int gutj()const{return j;}   };   编译时发现有一处语法错误,对这个错误准确的描述是   A)、函数getK 试图访问基类的私有成员变量K   B)、在类MyDerived 的定义中,基类名MyBase 前缺少关键字public、protected 或private   C)、类MyDerived 缺少一个无参的构造函数   D)、类MyDerived 的构造的数没有对基数数据成员K 进行初始化   (32)在一个派生类对象结束其生命周期时   A)、先调用派生类的析构函数后调用基类的析构函数   B)、先调用基类的析构函数后调用派生类的析构函数   C)、如果基数没有定义析构函数,则只调用派生类的析构函数   D)、如果派生类没有定义析构函数,则只调用基类的析构函数 (33)有如下的运算重载函数定义:   Double operator+(int i, int k){return double(i+k);}   但定义有错误,对这个错误的最准确的描述是______。   A)、+只能作为成员函数重载,而这里的+是作为非成员函数重载的   B)、两个int 型参数的和应该是int 型,而这里将+的返回类型声明为double   C)、没有将运算符重载函数声明为某个类的友元   D)、C++已经提供了求两个int 型数据之和运算符+,不能再定义同样的运算符 (34)语句ofstreamf(“SALARY.DAT”,ios_base::app)的功能是建立流对象f,并试图打开文件SALARY.DAT 与f 关联,而且______。   A)、若文件存在,将其置为空文件;若文件不存在,打开失败   B)、若文件存在,将文件指针定位于文件尾;若文件不存在,建立一个新文件   C)、若文件存在,将文件指针定位于文件首;若文件不存在,打开失败   D)、若文件存在,打开失败;若文件不存在,建立一个新文件 (35)有如下程序   #include   using namespace std;   class A{   public:   virtual Void funcl(){cout《《 “A1”;}   void fune2(){cout《《 “A2”;}   };   class B: public A{   public:   void func1(){cout《《 “B1”;}   void func2(){cout《《 “B2”;}   };   Int main(){   A*p=new B;   p-》funcl();   p-》func2();   retum0;   }   运行程序,屏幕上将显示输出______。   A)、B1B2   B)、A1A2   C)、B1A2   D)、A1B2 二、填空题(每空2 分,共30 分)请将每一个空的正确答案写在答题卡序号的横线上,答在试卷上不得分。   (1)下列软件系统结构图的宽度为 。   (2) 的任务是诊断和改正程序中的错误。   (3)一个关系表的行为 。   (4)按“行进后出”原则组织数据的数据结构是 。   (5)数据结构分为线性结构和非线性结构,带链的队列属于 。   (6)若有定义语句:int*a,b;,则变量b 的数据类型是 。   (7)已知数组a 中的元素个数为n,下列语句的作用是将下标为i 的元素移动到下标为i-1 的单元,其中1≤i<n。例如,当n=4,a 中原有数据为1,2,3,4 时,则移动后a中元素为2,3,4,4。请将语句补充完整:   For(int i=0;i(8)已知递归函数f 的定义如下:   int f (int n)   {   If(n《=1)return 1;//递归结束情况   else return n*f(n-2);//递归}则函数调用语句f(5)的返回值是 。   (9)创建对象数组时,对数组的每一个元素都将调用一次构造函数,如果没有显式给出数组元素的初值,则调用缺省构造函数,下列程序涉及到对象数组的创建和单个对象的创建,其输出结果是 。   #include   using namespace std;   class Foo{   public:   Foo(int X){cout 《《’A”}   Foo(){}   };   int main()   Foo f,g(3);   return 0;   }   (10)习惯性在下列程序的输出结果是42,请将画线处缺失的部分补充完整。   #include   Using namespace atd;   Class Foo{   int value;   public:   Foo():value(0){}   Void setvalue(int value)   { =value; //给Foo 的数据成员value 赋值}void print(){cout《};   Int main()   {   Foo f;   f.setvalue(42);   f.print();   retum0;   }   (11)如果不能使用多态机制,那么通过基类的指针虽然可以指向派生类对象,但是只能访问从基数继承的成员,下列程序没有使用多态机制,其输出结果是 。   #include   using namespace std;   class Base{   public:   Void print(){cout《《 ‘B’;}};   class Derived: public Base{   public   void print(){cout《《 ‘D’;}}   int main()   {   Derived*pd=new Dreived);   Base*pb=pd;   pb-》print();   pd-》print();   delete pd;   return 0;   }   (12)在声明派生类时,如果不显式地给出继承方式,缺省的类继承方式是私有继承   private。已知有如下类定义:   class Base{   protected:   void fun(){}   };   Class Derived: Base{};   则Base 类中的成员函数fun(),在Derived 类中的访问权限是 (注意:要求填写private、protected 或public 中的一项)。   (13)在MyClass 类的定义中,对赋值运算符=进行重载。请将画线处缺失的部分补充完整。    MyClass::operator=(const MyClass rhs)   {   if(this=&rhs)return*this;   value=rhs. value;   return*this;   }   (14)插入排序算法的主要思想是:每次从未排序序列中取出一个数据,插入到已排序序列中的正确位置,InsertSort 类的成员函数sort()实现了插入排序算法,请将画线处缺失的部分补充完整。   class InsertSort{   public:   InsertSort(int*a0,int n0):a(a0),n(n0){}//参数组首地址,n 是数组元素个数   void sort()   {//此函数假设已排离序列初始化状态只包含a   for (int i=1;iint j;   for( j》0;--j){   if(t》a)break;   a;}   a=t;}}   protected:   int*a,n;//指针a 用于存放数组首地址,n 用于存放数组元素个数    };   (15)下列程序的输出结果是   #include   using namespace std;   class A{   int a   public:   A():a(9){}   virtual void print() const {cout《};   class B:public A{   char b;   public:   B(){b= ‘S’;}   void print()const{cout《};   void show(Aa&X){X,print()}   int main()   { Ad1;*p;   Bd2;   p=&d2   d1,print();   d2,print();   p-》print();   show(d1);   show(d2);   return 0;} 一、 选择题:   01—05 DACBD 06—10 CDBBA   11—15 ADDAD 16—20 CCBBC   21—25 DACBC 26—30 ABCDC   31—35 ADBAD 36—40 BBADC   41—45 CBBCD 46—50 BABDC 二、 填空题:   1、3   2、调试   3、元组   4、栈   5、线性   6、12346.0   7、10 11   8、1   9、 7 4   10、n=n/10   11、(x+8)   12、sin(x)   13、0   14、i%2==0   15、s--   16、*s++   17、18   18、16 11   19、-》data   20、”rb”

C语言笔试题一道

整形数字去减字符2, 等于 c 的 ASCII 值 减 字符2 的ASCII 值。2743回车:c = ’2’, c-’2’ 等于 0。进case 0: case 1: 打 ASCII 值 等于 c+4 的符号 ,就是符号6,没有 break; 进case 2: 打 ASCII 值 等于 c+4 的符号 ,就是 符号6,break 了。c = ’7’, c-’2’ 等于 5。没case。退出开关。c = ’4’,c-’2’ 等于 2。进case 2:打 ASCII 值 等于 c+4 的符号 ,就是 符号8,break 了。c = ’3’,c-’2’ 等于 1。进case 1:打 ASCII 值 等于 c+4 的符号,就是 符号7,没有 break; 进case 2: 打 ASCII 值 等于 c+4 的符号 ,就是 符号7,break 了。回车,满足 while 跳出条件,做最后的printf("\n")结果是:66877

求94年 全国计算机等级考试二级C语言笔试试题!

打印文章 打印本文 关闭窗口 1994年4月全国计算机等级考试二级笔试试卷 C语言 作者:龙派 文章来源:龙派 点击数45 更新时间:2005-11-10 文章录入:jiangtao 责任:jiangtao 一、选择题(1-30每小题1分,31-45每小题2分,共60分)   下列各题 A),B),C),D)四个选项,只有一个选项是正确的,请将正确的选项在答题卡相应位置上涂黑。答在试卷上不得分。   (1) 二进制数101110转换为等值的八进制数是 【1】 。   【1】 A) 45 B) 56 C) 67 D) 78   (2) CPU是由 【2】 组成的。【】   【2】 A) 内存储器和控制器 B) 控制器和运算器    C) 内存储器和运算器 D) 内存储器、控制器和运算器   (3) DOS是为IBM PC系列微型计算机及其兼容机所配置的 【3】 磁盘操作系统。   【3】 A) 多用户多任务 B) 单用户单任务 C) 分时 D) 分布式   (4) 启动MS-DOS操作系统后, 【4】 已驻留内存。   【4】 A) COMMAND.COM B) DISKCOPY.COM C) FORMAT.COM D) CCCC.EXE   (5) 设驱动器B中软盘上的目录结构如下图所示。                  设当前目录为F2,则把A盘根目录下的PROG.BAS文件复制到B盘F3子目录中的命令是 【5】 。   【5】 A) COPY PROG.BAS B: B) COPY A:PROG.BAS B:\    C) COPY A:\PROG.BAS B:\F3 D) COPY A:PROG.BAS B:\F3\   (6) 下面四组DOS命令中,意义完全相同的一组是 【6】 。   【6】 A) COPY和DISKCOPY B) COMP和DISKCOMP    C) DEL和RD D) RENAME和REN   (7) 防止软盘感染病毒的有效方法是 【7】 。   【7】 A) 不要把软盘和有毒软盘放在一起 B) 在写保护缺口上贴上胶条    C) 保持机房清洁 D) 定期对软盘格式化   (8) 双面高密度5英寸软磁盘的容量是 【8】 。   【8】 A) 360KB B) 720KB C) 1.2MB D) 1.44MB   (9) 在FOXBASE中,可以使用的两类变量是 【9】 。   【9】 A) 内存变量和字段变量 B) 全局变量和局部变量    C) 字段变量和简单变量 D) 内存变量和自动变量   (10) 建立一个新子目录的DOS命令是 【10】 。   【10】 A) CREATE B) RD C) MD D) CD   (11) 在C语言中,如果下面的变量都是int类型,则输出的结果是 【11】 。   sum=pad=5; pAd=sum + + ,pAd + + , + + pAd;   printf("%d\n",pad);   【11】 A) 7 B) 6 C) 5 D) 4   (12) 以下程序的输出结果是 【12】 。   # include   main()   { int i=010 , j = 10;   printf("%d,%d\n",+ +i , j - -); }   【12】 A) 11,10 B) 9,10 C) 010,9 D) 10,9   (13) 已知在ASCII代码中,字母A的序号为65,以下程序的输出的结果是 【13】 。   # include   main()   { char c1=’A’, c2=’Y’;    printf("%d,%d\n",c1,c2); }   【13】A) 因输出格式不合法,输出错误信息 B)65,90 C)A,Y D)65,89   (14) 指针s所指字符串的长度为 【14】 。   char *s="\\"Name\\Address\n";   【14】 A) 19 B) 15 C) 18 D) 说明不合法   (15) 设有说明int(*ptr);其中的标识符ptr是 【15】 。   【15】 A)M个指向整型变量的指针    B)指向M个整型变量的函数指针    C)一个指向具有M个整型元素的一维数组的指针    D)具有M个指针元素的一维指针数组,每个元素都只能指向整型量   (16) 语句while(!E);中的条件!E等价于 【16】 。   【16】 A)E = = 0 B)E!=1 C)E!=0 D)~E   (17) 以下程序的输出结果是 【17】 。   # include   main()    { printf("%d\n",NULL); }   【17】 A) 不确定的(因变量无定义) B)0 C)-1 D)1   (18) 以下函数调用语句中含有 【18】 个实参。   func((exp1,exp2),(exp3,exp4,exp5));   【18】 A) 1 B) 2 C) 4 D) 5   (19) 设有以下语句:   char a=3,b=6,c;   c=a^b《《2;   则c的二进制值是 【19】 。   【19】 A) 00011011 B)00010100 C)00011100 D)00011000   (20) 下面的程序中 【20】 有错误(每行程序前面的数字是行号)。   1 #include   2 main()   3 {   4 float a={0,0};   5 int i;   6 for(i=0;i《3;i + + ) scanf("%d",&a);   7 for(i=1;i《3;i + + ) a;   8 printf("%f\n",a);   9 }    【20】 A) 没有 B)第4行 C)第6行 D)第8行   (21) 设有语句int a=3;则执行了语句a+=a-=a*a;后,变量a的值是 【21】 。    【21】 A)3 B)0 C)9 D)-12   (22) 以下的for循环 【22】 。    for(x=0,y=0; (y!=123)&&(x《4); x + + );   【22】A) 是无限循环 B)循环次数不定 C)执行4次 D)执行3次   (23) 设有语句char a=’\72’;则变量a 【23】 。   【23】A)包含1个字符 B)包含2个字符 C)包含3个字符 D)说明不合法   (24) 以下程序的输出结果是 【24】 。   # include   # include   main()   { int a=1,b=4,c=2;    float x=10..5 , y=4.0 , z;    z=(a+b)/c+sqrt((double)y)*1.2/c+x;    pritnf("%f\n",z); }   【24】A) 14.000000 B) 015.400000 C) 13.700000 D) 14.900000   (25) sizeof(double)是 【25】 。   【25】 A)一种函数调用 B)一个双精度型表达式    C)一个整型表达式 D)一个不合法的表达式   (26) C语言中 【26】 。   【26】 A)不能使用do-while语句构成的循环    B)do-while语句构成的循环必须用break语句才能退出    C)do-while语句构成的循环,当while语句中的表达式值为非零时结束循环    D)do-while语句构成的循环,当while语句中的表达式值为零时结束循环   (27) 以下程序的输出结果是 【27】 。   # include   # include   main()   { char str={’s’,’t’,’r’,’i’,’n’,’g’};    printf("%d\n",strlen(str)); }   【27】 A) 6 B) 7 C) 11 D) 12   (28) 以下程序的输出结果是 【28】 。   # include   main()   { int a=2,c=5;    printf("a=%%d,b=%%d\n",a,c); }   【28】A) a=%2,b=%5 B) a=2,b=5 C) a=%%d,b=%%d D) a=%d,b=%d   (29) 以下程序的输出结果是 【29】 。   # include   main()   { int a ,b,d=241;    a=d/100%9;    b=(-1)&&(-1);    printf("%d,%d\n",a,b); }    【29】 A) 6,1 B) 2,1 C) 6,0 D) 2,0   (30) 以下程序的输出结果是 【30】 。   # include   main()   { int i;    for ( i=1;i《=5;i + + ) {if ( i%2 ) printf("*");    else continue; printf("#");}    printf("$\n"); }   【30】 A) *#*#*#$ B) #*#*#*$ C) *#*#$ D) #*#*$   (31) 以下for语句构成的循环执行了 【31】 次。   # include   # define N 2   # define M N+1   # define NUM (M+1)*M/2   main()   { int i , n=0;    for ( i=1;i《=NUM;i + + );    {n + + ; printf("%d",n); }    printf("\n"); }   【31】 A) 5 B) 6 C) 8 D) 9   (32) 设有以下语句,则 【32】 不是对a数组元素的正确引用,其中0≤i《10。   int a={0,1,2,3,4,5,6,7,8,9}, *p=a;   【32】 A) a D) *(*(a+i))   (33) 有以下程序:   # include   # define N 6   main()   { char c; int i=0;   for ( ;i   for ( i=0 ; i   输入以下三行,每行输入都是在第一列上 开始, 代表一个回车符:   a   b   cdef   程序的输出结果是 【33】 。   【33】 A) abcdef B) a C) a D) a    b b b    c cd cdef    d    e    f   (34) 以下程序调用findmax函数求数组中值最大的元素在数组中的下标,请选择填空。   # include   findmax ( s , t , k )   int *s , t , *k;   { int p; for(p=0,*k=p;p    if ( s )_________; }   main()   { int a , i , k ;    for ( i=0 ; i《10 ; i + + ) scanf("%d",&a);    findmax ( a,10,&k );    printf ( "%d,%d\n" , k , a ); }   【34】 A) k=p B) *k=p-s C) k=p-s D) *k=p   (35) 有以下程序:   #include   union pw   { int i; char ch; } a;   main()   { a.ch=0; printf("%d\n",a.i); }   程序的输出结果是 【35】 。(注意: ch在高字节。)   【35】 A) 13 B) 14 C) 208 D) 209   (36) 有以下程序:   # include   main()   { int c;    while((c=getchar())!=’\n’)    { switch(c-’2’)    { case 0:    case 1: putchar(c+4);    case 2: putchar(c+4);break;    case 3: putchar(c+3);    case 4: putchar(c+2);break; } }    printf("\n"); }   从第一列开始输入以下数据, 代表一个回车符。   2743    程序的输出结果是 【36】 。   【36】 A) 668977 B) 668966 C) 6677877 D) 6688766   (37) 以下程序的输出结果为 【37】 。   main()   { char *alpha={"ABCD","IJKL","MNOP","QRST","UVWX"};    char **p; int i;    p=alpha;    for(i=0;i《4;i + + ) printf("%s",p); printf("\n"); }   【37】A) ABCDEFGHIJKL B) ABCD C) ABCDEFGHIJKLMNOP D) AEIM   (38) 以下程序的输出结果是 【38】 。   # include   # define FUDGE(y) 2.84+y   # define PR(a) printf("%d",(int)(a))   # define PRINT1(a) PR(a);putchar(’\n’)   main()   {int x=2; PRINT1(FUDGE(5)*x); }   【38】 A) 11 B) 12 C) 13 D) 15   (39) 以下程序的输出结果是 【39】 。   # include   main()   { int i=1,j=3;    printf("%d",i + + );    { int i=0; i+=j*2; printf("%d,%d",i,j); }    printf("%d,%d\n",i,j); }   【39】 A) 1,6,3,1,3 B) 1,6,3,2,3 C) 1,6,3,6,3 D) 1,7,3,2,3   (40) 以下程序的输出结果是 【40】 。   # include   main()   { int k=4,m=1,p;    p=func(k,m); printf("%d,",p); p=func(k,m); printf("%d\n",p);}   func(a,b)   int a,b;   { static int m=0,i=2;    i+=m+1; m=i+a+b; return(m); }   【40】 A) 8,17 B) 8,16 C) 8,20 D) 8,8   (41) 设有以下语句:   char str={"aaa","bbbb","ccccc","dddddd"},    *strp;   int i;   for(i=0;i《4;i + + )strp;    【41】 不是对字符串的正确引用,其中0≤k《4。   【41】 A) strp B) str D) *strp   (42) 设有以下语句:   char str1,*str3,*str4="string";   则 【42】 不是对库函数strcpy的正确调用,此库函数用业复制字符串。   【42】 A) strcpy(str1,"HELLO1"); B) strcpy(str2,"HELLO2");    C) strcpy(str3,"HELLO3"); D) strcpy(str4,"HELLO4");   (43) C语言中形参的缺省存储类别是 【43】 。   【43】A)自动(auto) B)静态(static) C)寄存器(register) D)外部(extern)   (44) 设有以下语句:   struct st {int n; struct st *next;};    static struct st a,9,’\0’},*p;   p=&a;   则表达式 【44】 的值是6。   【44】 A)p + + -》n B) p-》n + + C) (*p).n + + D) + + p-》n   (45) 以下四个程序中, 【45】 不能对两个整型变量的值进行交换。   【45】A)# include   main()   { int a=10,b=20; swap(&a,&b);    printf("%d %d\n",a,b);   }   swap(p,q)   int *p,*q;   {   int *t;   t=(int )malloc(sizeof(int));   t=p;*p=*q;*q=*t; }      B) # include   main()   {   int a=10,b=20;   swap(&a,&b);   printf("%d %d\n",a,b);   }   swap(p,q)   int p,q;   {   int *t;   t=*p;*p=*q;*q=t;   }      C) # include   main()   {   int *a,*b;   *a=10,*b=20;   swap(a,b);   printf("%d %d\n",*a,*b);   }   swap(p,q)   int *p,*q;   {   int t;   t=*p;*p=*q;*q=t;   }      D) # include   main()   {   int a=10,b=20;   int x=&a,y=&b   swap(x,y);   printf("%d %d\n",a,b);   }   swap(p,q)   int *p,*q;   {   int t;   t=*p;*p=*q;*q=t;   }      二、填空题(每空2分,共40分)    请将每空的正确答案写在答题卡1-20序号后的横线上,答在试卷上不得分。   (1) 结构化程序设计所规定的三种基本控制结构是 【1】 结构.选择结构和循环结构。   (2) 在七位ASCII码中,除了表示数字、英文大小写字母外,还有 【2】 个其它符号。   (3) 把B盘BAS子目录下第三个字符为A,且没有扩展名的全部文件拷贝到C盘ABC子目录下的命令是 【3】 。   (4) 微机中ROM的中文意义是 【4】 存储器。   (5) 启动MS-DOS系统后,能自动执行的批处理文件是 【5】 .BAT。   (6) 设当前盘为C盘,删除B盘FOX子目录中扩展名为.TXT的所有文件的命令是 【6】 。   (7) 十进制数53转换为十六进制数为 【7】 。   (8) 数据库管理系统常见的数据模型有层次、网状和 【8】 三种。   (9) 买来一张新盘后,在存入文件前,必须进行 【9】 处理。   (10) 在微机中,字符的比较就是对它们的 【10】 码进行比较。   (11) 以下C语言程序将磁盘中的一个文件复制到另一个文件中,两个文件名在命令行中给出。   #include   main(argc,argv)   int argc; char *argv;   { FILE *f1,*f2; char ch;    if(argc《 【11】 )   { printf("Parameters missing!\n"); exit(0); }    if( ((f1=fopen(argv,"w")) = = NULL))   { printf("Can not open file!\n"); exit(0);}    while( 【12】 )fputc(fgetc(f1),f2);    fclose(f1); fclose(f2); }   (12) 以下程序中的trap函数是一个用梯形法求定积分的通用函数。梯形法求定积分的公式为:    n-1 a-b   s=((f(a)+f(b))/2+∑ f(a+i*h))*h , h=|----|    i=1 n   其中,n为积分小区间数。以下程序调用trap函数求定积分,被积函数是:   f(x)=x*x+3*x+2,且n=1000,a=0,b=4。   #include   3include   double trap(fun,a,b)   double (*fun)(),a,b;   { double t,h;    int i,n=1000;    t=0.5*((*fun)(a)+(*fun)(b)); h=fabs(a-b)/(double)(n);    for(i=1;i《=n-1;i + + ) t=t+ 【13】 ;    t=t*h; return(t); }   double mypoly(x)    double x;   { return(x*x+3.0*x+2.0); }   main()   { double y,(*pf)(); pf= 【14】 ;   y=trap(pf,0.0,4.0); printf("%f\n",y); }   (13) 以下程序求a数组中的所有素数的和,函数isprime用来判断自变量是否为素数。素数是只能被1和本身整除且大于1的自然数。   #include   main()   { int i,a,*p=a,sum=0;    printf("Enter 10 num:\n");    for(i=0;i《10;i + + ) scanf("%d",&a);    for(i=0;i《10;i + + )    if(isprime(*(p+ 【15】 )) = = 1){ printf("%d",*(a+i)); sum+=*(a+i); }   printf("\nThe sum=%d\n",sum); }   isprime(x)   int x;   { int i; for(i=2;i《=x/2;i + + )    if(x%i = = 0) return (0); 【16】 ; }   (14) 以下程序调用invert函数按逆序重新放置a数组中元素的值。a数组中的值在main函数中读入。   #include   #define N 10   invert(s,i,j)   int *s,i,j;   { int t; if(i   main()   { int a,i;    for(i=0;i    invert(a,0,N-1);    for(i=0;i    printf("\n"); }   (15) 以下程序建立了一个带有头结点的单向链表,链表结点中的数据通过键盘输入,当输入数据为-1时,表示输入结束(链表头结点的data 域不放数据,表空的条件是ph-》next = = NULL).   #include   struct list { int data;struct list *next;};    【19】 creatlist()   { struct list *p,*q,*ph; int a;    ph=(struct list *) malloc(sizeof(struct list));    p=q=ph; printf("Input an integer number,enter –1 to end:\n");    scanf("%d",&a):    while(a!=-1)   { p=(struct list *)malloc(sizeof(struct list));    p-》data=a; q-》next=p; 【20】 =p; scanf("%d",&a); }   p-》next=’\0’; return(ph); }   main()   { struct list *head; head=creatlist();}      〔完〕      1994年全国计算机等级考试二级笔试   C语言参考答案   选择题(每个选项2分,共60分)   (1)B (2)B (3)B (4)A (5)C (6)D (7)B (8)C (9)A (10)C   (11)C (12)B (13)D (14)B (15)C (16)A (17)B (18)B (19)A (20)C   (21)D (22)C (23)A (24)C (25)C (26)D (27)A (28)D (29)B (30)A   (31)C (32)D (33)C (34)D (35)A (36)A (37)C (38)B (39)B (40)A   (41)A (42)C (43)A (44)D (45)C   二` 填空题(每空2分,共40分)   (1)顺序   (2)66   (3) COPY B:\BAS\??A*.C:\ABC(或COPY B:\BAS\??A*.,C:\ABC)   (4)只读   (5)AUTOEXEC   (6)DEL B:\FOX\*.TXT   (7)35   (8)关系   (9)格式化(或初始化、FORMAT)   (10)ASCII   (11)3   (12)!feof(f1)或feof(f1)==0   (13)(*fun)(a+i*h)   (14) mypoly   (15)I   (16)return 1 或 return (1)   (17)i+1   (18) I   (19) struct list *   (20) q

2010二级c语言笔试真题

一、选择题((1)—(10)、(21)—(40)每题2分,(11)—(20)每题1分。共70分) 下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡上,答在试卷上不得分。 (1) 下列叙述中正确的是A)对长度为n的有序链表进行查找,最坏情况下需要的比较次数为nB)对长度为n的有序链表进行对分查找,最坏情况下需要的比较次数为(n/2)C)对长度为n的有序链表进行对分查找,最坏情况下需要的比较次数为(log2n)D) 对长度为n的有序链表进行对分查找,最坏情况下需要的比较次数为(n log2n)(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如下:R TA B Ca 1 2b 2 2c 3 2A B Cc 3 2d 3 2则由关系R得到关系T的操作是选择 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)_1 B)AaBc C)a_b D)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)#include 《stdio.h》main(){char a,b,c,d;scanf(”%c%c”,&a,&b);c=getchar(); d=getchar();printf(”%c%c%c%c\n”,a,b,c,d);}当执行程序时,按下列方式输入数据(从第一列开始,《CR》代表回车,注意:回车是一个字符)12《CR》34《CR》则输出结果是:A、1234 B、12 C、12 D、12 3 3416、以下关于C语言数据类型使用的叙述中错误的是:A、若要准确无误的表示自然数,应使用整数类型。B、若要保存带有多位小数的数据,应使用双精度类型。C、若要处理如”人员信息”等含有不同类型的相关数据,应自定义结构体类型。D、若只处理”真”和”假”两种逻辑值,应使用逻辑类型。17、若a是数值类型,则逻辑表达式(a==1)||(a!=1)的值是:A、1 B、0 C、2 D、不知道a的值,不能确定18、以下选项中与if(a==1) a=b;else a++;语句功能不同的switch语句是:A、switch(a) B、switch(a==1) { case 1:a=b;break; { case 0 : a=b;break; default : a++; case 1 : a++;} }C、switch(a) D、switch(a==1) { default : a++;break; { case 1:a=b;break; case 1:a=b; case 0: a++;} }19、有如下嵌套的if语句 if(a《b) if(a《c) k=a; else k=c; else if(b《c) k=b; else k=c;以下选项中与上述if语句等价的语句是A、k=(a《b)?a:b;k=(b《c)?b:c;B、k=(a《b)?((b《c)?a:b):((b《c)?b:c);C、k=(a《b)?((a《c)?a:c):((b《c)?b:c);D、k=(a《b)?a:b;k=(a《c)?a;c(20)有以下程序#include 《stdio.h》main(){ int i,j,m=1;for(i=1;i《3;i++){ for(j=3;j》0;j--){ if(i*j》3) break;m*=i*j;}}printf(”m=%d\n”,m)}程序运行后的输出结果是(A) m=6 (B)m=2 (C)m=4 (D)m=5(21)有以下程序#includes 《stdio.h》main(){ int a=1,b=2; for(;a《8;a++) {b+=a; a+=2;}printf (”%d,%d\n”,a,b);}程序运行后的输出结果是(A)9,18 (B)8,11 (C)7,11 (D)10,14(22)有以下程序,其中k的初值为八进制数#include 《stdio.h》main(){int k=011;printf(”%d\n”,k++);}程序运行后的输出结果是(A)12 (B)11 (C)10 (D)9(23)下列语句中,正确的是A) char *s ; s=”Olympic”; B) char s ; s=”Olympic”;C) char *s ; s={”Olympic”}; D) char s ; s={”Olympic”};(24)以下关于return语句的叙述中正确的是A)一个自定义函数中必须有一条return语句B) 一个自定义函数中可以根据不同情况设置多条return语句C)定义成viod类型的函数中可以有带返回值的return语句D)没有return语句的自定义函数在执行结束时不能返回到调用处(25)下列选项中,能够正确定义数组的语句是A)int num;C) int N=2008; D) #define N 2008 int num(26)有以下程序#include《stdio.h》void 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(”%c,%c\n”,b,a);}程序运行后的输出结果是 A)b,B,b,A B)b,B,B,A C)a,B,B,a D)a,B,a,B(27)若有定义int(*pt);,则下列说法正确的是A)定义了基类型为int的三个指针变量B)定义了基类型为int的具有三个元素的指针数组pt。C)定义了一个名为*pt、具有三个元素的整型数组D)定义了一个名为pt的指针变量,它可以指向每行有三个整数元素的二维数组(28)设有定义double a的是A)(*s) D)*s+3(29)有以下程序#include《stdio.h》main(){ int a={0,2,1,3,0},is=0 for(i=0;i《5;i++) s=s+a;printf("%d\n",s);}程序运行后的输出结果是A) 6 B) 10 C) 11 D)1530)有以下程序 #include《stdio.h》 main(){ int b={0,1,2,0,1,2,0,1,2},i,j,t=1; for(i=0; i《3; i++)For(j=i;j《=i;j++) t+=b;Printf("%d\n",t);}程序运行后的输出结果是A)1 B)3 C)4 D)9(31)若有以下定义和语句char sl= "abcd!", *s2="n123\\"; printf("%d %d\n", strlen(s1),strlen(s2));则输出结果是A) 5 5 B)10 5 C)10 7 D)5 8(32)有以下程序 #include《stdio.h》 #define N 8 void fun(int *x,int i) {*x=*(x+i);}main(){ int a={1,2,3,4,5,6,7,8},i;fun(a,2);for(i=0; i《N/2); i++){ printf("%d",a);}printf("\n");}程序运行后的输出结果是A)1 3 1 3 B) 2 2 3 4 C) 3 2 3 4 D)1 2 3 4 (33)有以下程序#include《studio.h》int f(int t ,int n);main(){int a={1,2,3,4},s;s=f{a,4}; printf(”%d\n”,s);}int f(int t, int n){ if (n》0) return t+f(t,n-1);else return 0;}程序运行后的输出结果是A)4 B)10 C)14 D)6(34)有以下程序#include《studio.h》int fun(){static int x=1;x*=2; return x;}main(){int I,s=1;for (i=1;i《=2;i++) s=fun();printf(”%d\n”,s);}程序运行后的输出结果是A)0 B)1 C) 4 D)8(35)以下程序#include 《stdio.h》#define SUB(a) (a)-(a)main(){int a=2,b=3,c=5,d;d=SUB(a+b)*c;printf(”%d\n”,d);}程序运行后的结果是A)0 B)-12 C)-20 D)10(36)没有定义struct complex{ int real, unreal ;} datal={1,8},data2;则以下赋值语句中的错误的是A)data2=data1; B)data2=(2,6);C)data2.real1=data1.real; D)data2.real=data1.unreal; (37)有以下程序#include 《studio.h》#include 《string.h》struct A{int a; char b;double c;};void f(struct A t);main(){struct A a={1001,”ZhangDa”,1098.0};f(a); pringt(”%d,%s,%6.1f\n”,a.a,a.b,a.c);}void f(struct A t){t.a=1002;strcpy(t.b,”ChangRong”);t.c=1202.0;}程序运行后的输出结果是A)1001,ZhangDa,1098.0 B)1002,ChangRong,1202.0C)1001,ChangRong,1098.0 D)1002,ZhangDa,1202.0(38)有以下定义和语句struct workers{int num; char name;char c;srruct{int day;int month;intyear;} s;};struct workers w,*pw;pw=&w能给w中year成员赋1980的语句是A)*pw.year=1980; B)w.year=1980;C)pw-》year=1980; D)w.s.year=1980; (39)有以下程序#include 《stdio.h》main(){int a=2,b=2,c=2;printf(”%d\n”,a/b&c);}程序运行后的结果是A)0 B)1 C)2 D)3(40)以下程序#include《stdio.h》main( ){ FILE *fp;char str;fp=fopen(”myfile.dat”,”w”);fputs(”abc”,fp); fclose(fp);fp=fopen(”myfile.dat”,”a+”);rewind(fp,”gd”,28);rewind(fp);fscanf(fp,”gs”,str); puts(str);fclose(fp); }程序运行后的输出结果是A)abc B)28c C)abc28 D)因类型不一致而出错二、填空题(每空2分,共30分)请将每空的正确答案写在答题卡【1】至【15】序号的横线上,答在试卷上不得分。(1)一个队列的初始状态为空,先将元素A,CB,C,D,E,F,5,4,3,2,1依次入队,然后再依次退队,则元素退队的顺序为___【1】__。(2)设某循环列队的容量为50,如果头指针front=45(指向队头元素的前一位置),尾指针rear=10(指向队尾元素),则该循环队列中共有___【2】__个元素。(3)设二叉数如下: 对该二叉树进行后序遍历的结果为【3】(4)软件是 【4】 、数据和文档的集合。(5)有一个学生选课的关系,其中学生的关系模式为:学生(学号,姓名,班级,年龄),课程的关系模式为:课程(课号,课程名,学时),其中两个关系模式的键分别是学好和课号,则关系模式选课可以定义为:选课(学号, 【5】 ,成绩)。(6)设x为int型变量,请写出一个关系表达式 【6】 ,用以判断x同时为3和7的倍数时,关系表达式的值为真。(7)有以下程序#include 《 stdio.h 》main(){ int a=1,b=2,c=3,d=0;if (a==1) if (b!=2) if(c!=3) d=1; else d=2; else if(c!=3) d=3; else d=4; else d=5; printf(”%d\n”,d);}程序运行后的输出结果是: 【7】 。(8)有以下程序#include 《 stdio.h 》main(){ int m,n;scanf(”%d%d”,&m,&n);while (m!=n){ while(m》n) m=m-n; while(m《n)n=n-m;}printf(”%d\n”,m);}程序运行后,当输入14 63《回车》时,输出结果是 【8】 (9)有以下程序#include 《stdio.h》main (){ int I,j,a={1,2,3,4,5,6,7,8,9}; for (i=1;i《3;i++) for(j=I;j《3;j++) printtf(”%d”,a); printf(”\n”);}程序运行后的输出结果是 【9】 (10) 有以下程序 #include 《stdio.h》main(){ int ,i=0; while(i《3) { k; printf(”%d”,*k); i++; }}程序运行后的输出结果是__________(11) 有以下程序 #include 《stdio.h》main(){ int a={{1,2,3},{4,5,6},{7,8,9}}; int b={0},i; for(i=0;i《3;i++) b; for(i=0;i《3;i++) printf(”%d”,b); printf(”\n”);}程序运行后的结果是____________(12) 有以下程序#include 《stdio.h》#include 《string.h》void fun(char*str){ char temp; int n,i; n=strlen(str); temp=str; for(i=n-1;i》0;i--) str; str=temp;}main(){ char s; scanf(”%s”,s); fun(s); printf(”%s\n”,s);}程序运行后输入:abcdef《回车》,则输出结果是____________13、以下程序的功能是:将值为三位正整数的变量x中的数值按照个位、十位、百位的顺序拆分并输出。请填空。#include《stdio.h》main(){ int x=256; printf(”%d-%d-%d\n”, ,x/10%10,x/100);}14、以下程序用以删除字符串中的所有的空格,请填空。#include《stdio.h》main(){ char s={”our .tercher teach c language!”};int i,j;for( i=j=0;s!=‘\0’;i++) if(s;j++; }s= ;printf(”%s\n”,s);}(15)以下程序功能是:借助指针变量找出数组元素中的最大值及其元素的下标值。请填空。#include 《stdio.h》main(){ int a,*p,*s; for(p=a;p-a《10;p++) scanf(”%d”,p); for(p=a,s=a;p-a《10;p++) if(*p》*s) s=_______________; printf(”index=%d\n”,s-a);

求二级C语言笔试题库

2006年4月二级C语言笔试试题 一选择题((1)-(10)每题2分,(11)-(50)每题1分,共60分) 下列各题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) ABCDEF B) DBEAFC C) ABDECF D) DEBFCA 7)在深度为7的满二叉树中,叶子结点的个数为 A)32 B)31 C)64 D)63 8)“商品”与“顾客”两个实体集之间的联系一般是 A)一对一 B)一对多 C)多对一 D)多对多 9)在E-R图中,用来表示实体的图形是 A)矩形 B)椭圆形 C)菱形 D)三角形 10)数据库DB,数据库系统DBS,数据库管理系统DBMS之间的关系是 A)DB包含DBS和DBMS B)DBMS包含DB和DBS C)DBS包含DB和DBMS D)没有任何关系 11)以下不合法的用户标识符是 A)j2_KEY B)Double C) 4d D) _8_ 12)以下不合法的数值常量是 A)011 B)lel C) 8.0 E0.5 D) 0xabcd 13)以下不合法的字符常量是 A)’\018’ B ’\”’ C) ’\\’ D) ‘\xcc’ 14)表达式3.6-5/2+1.2+5%2的值是 A)4.3 B) 4.8 C) 3.3 D) 3.8 15)以下能正确定义字符串的语句是 A)char str={‘\064’}; B) char str=”\x43”; C) char str=”; D) char str=”\0”; 16)以下数组定义中错误的是 A) int x={0}; B) int x={{1,2},{3,4},{5,6}}; C) nt x={{1,2,3},{4,5,6}}; D)int x={1,2,3,4,5,6}; 17)若要求从键盘读入含有空格字符的字符串,应使用函数 A)getc() B) gets() C) getchar() D) scanf() 18) 下四个程序中,完全正确的是 A)#include B)#include main(); main() {/*programming*/ {/*/programming/*/ printf(“programming!\n”); } printf(“programming!\n”);} C) #include D) include main() main() {/*/*programming*/*/ {/*programming*/ printf(“programming!\n”);} printf(“programming!\n”);} 19)若有定义:float x=1.5; int a=1,b=3,c=2;则正确的switch语句是 A)switch(x) B) switch((int)x); {case 1.0: printf(“*\n”); {case 1: printf(“*\n”); Case 2.0: printf(“**\n”); } case 2: printf(“**\n”);} C) switch(a+b) D) switch(a+b) { case 1: printf(“*\n”); {case 1: printf(*\n”); case 2+1: printf(“**\n”);} case c: printf(“**\n”);} 20)若各选项中所用变量已正确定义,函数fun中通过return语句返回一个函数值,以下选项中错误的程序是 A)main() B) float fun(int a,int b){……} {……x=fun(2,10);……} main() float fun(int a,int b){……} {……x=fun(i,j);……} C)float fun(int,int); D) main() main() { float fun(int i,int j); {……x=fun(2,10);……} ……x=fun(i,j);……} float fun(int a,int b){……} float fun(int a,int b){……} 21)在以下给出的表达式中,与while(E)中的(E)不等价的表达式是 A)(!E=0) B) (E》0||E《0) C) (E==0) D) (E!=0) 22)要求通过while循环不断读入字符,当读入字母N时结束循环。若变量已正确定义,以下正确的程序段是 A) while((ch=getchar())!=’N’) printf(“%c”,ch); B) while(ch=getchar()!=’N’) printf(“%c”,ch); C) while(ch=getchar()==N’) printf(“%c”,ch); D) while((ch=getchar())==’N’) printf(“%c”,ch); 23)已定义以下函数 int fun(int *p) {return *p;} fun 函数返回值是 A)不确定的值 B)一个整数 C)形参p中存放的值 D)形参p的地址值 24)若有说明语句:double *p,a;则能通过scanf语句正确给输入项读入数据的程序段是 A)*p=&a scanf(“%lf”,p); B)*p=&a scanf(“%f”,p); C) p=&a scanf(“%lf”,*p); D)p=&a scanf(“%lf”,p); 25)现有以下结构体说明和变量定义,如图所示,指针p,q,r分别指向一个链表中连续的三个结点。 struct node { char data; struct node *next; }*p,*q,*r; 现要将q和r所指结点交换前后位置,同时要保持链表的连续,以下不能完成此操作的语句是 A)q-》next=r-》next; p-》next=r; r-》next=q; B) p-》next=r; q-》next=r-》next; r-.next=q; C) q-》next=r-》next; r-》next=q; p-》next=r; D) r-》next=q; p-next=r; q-next=r-》next; 26)有以下程序段 struct st { int x; int *y;}*pt: int a={3,4}; struct st c={10,a,20,b}; pt=c; 以下选项中表达式的值为11的是 A) *pt-》y B) pt-》x C) ++pt-》x D) (pt++)-》x 27)设fp为指向某二进制文件的指针,且已读到此文件末尾,则函数feof(fp)的返回值为 A)EOF B)非0值 C) 0 D)NULL 28)设有以下语句 int a=1,b=2,c; c=a^(b《《2); 执行后,c的值为 A)6 B) 7 C) 8 D) 9 29)有以下程序 #include main() { char c1,c2,c3,c4,c5,c6; scanf(“%c%c%c%c”,&c1,&c2,&c3,&c4); c5=getchar(); c6=getchar(); putchar(c1); putchar(c2); printf(“%c%c\n”,c5,c6); } 程序运行后,若从键盘输入(从第1列开始) 123《回车》 45678《回车》 则输出结果是 A)1267 B)1256 C) 1278 D)1245 30)若有以下程序 main() {int y=10; while(y- -); printf(“y=%d\n”y); } 程序运行后的输出结果是 A)y=0 B)y=-1 C) y=1 D)while构成无限循环 31)有以下程序 main() { int a=0,b=0,c=0,d=0; if(a=1) b=1;c=2; else d=3; printf(“%d,%d,%d,%d\n”,a,b,c,d); } 程序输出 A)0,1,2,0 B) 0,0,0,3 C)1,1,2,0 D)编译有错 32)有以下程序 main() { int i,j,x=0; for(i=0;i《2;i++) { x++; for(j=0;j《=3;j++) { if(j%2) continue; x++; } x++; } printf(“x=%d\n”,x); } 程序执行后的输出结果是 A)x=4 B) x=8 C) x=6 D) x=12 33)有以下程序 int fun1(duoble a){return a*=a;} int fun2(dpuble x,double y) { double a=0,b=0; a=fun1(x); b=fun1(y); return (int)(a+b); } main() {double w; w=fun2(1.1,2.0);……} 程序执行后变量w中的值是 A)5.21 B) 5 C) 5.0 D) 0.0 34)有以下程序 main() { int i,t={9,8,7,6,5,4,3,2,1}; for(i=0;i《3;i++) printf(“%d”,t); } 程序的执行后的输出结果是 A)7 5 3 B) 3 5 7 C)3 6 9 D)7 5 1 35)有以下程序 fun(char p) {int n=0,i; for(i=0;i《7;i++) if(p==’T’) n++; return n; } main() { char str={“Mon”, “Tue”, “Wed”, “Thu”,”Fri”,”Sat”,”Sun”}; printf(“%d\n”,fun(str)); } 程序执行后的输出结果是 A)1 B) 2 C)3 D) 0 36有以下程序 main() { int i,s=0,t={1,2,3,4,5,6,7,8,9}; for(i=0;i《9;i+=2) s+=*(t+i); printf(“%d\n”,s); } 程序执行后的输出结果是 A)45 B)20 C)25 D)36 37)有以下程序 void fun1(char *p) { char *q; q=p; while(*q!=’\0’) { (*q)++; q++; } } main() { char a={“Program”},*p; p=&a; fun1(p); printf(“%s\n”,a); } 程序执行后的输出结果是 A)P rohsbn B)Prphsbn C)Progsbn D)Program 38)有以下程序 void swap(char *x,char *y) { char t; t=*x; *x=*y; *y=t; } main() { char *s1=”abc”,*s2=”123”; swap(s1,s2); printf(“%s,%s\n”,s1,s2); } 程序执行后的输出结果是 A)123,abc B) abc,123 C)1bc,a23 D) 321,cba 39)有以下程序 int fun(int n) { if(n==1) return 1; else return (n+fun(n-1)); } main() { int x; scanf(“%d”,&x); x=fun(x); printf(“%d\n”,x); } 程序执行时,给变量x输入10,程序的输出结果是 A)55 B) 54 C) 65 D) 45 40)有以下程序 int fun(int x,int n) {static int sum=0,i; for(i=0;i sum+=x; return sum; } main() {int a={6,7,8,9},s=0; s=fun(a,5)+fun(b,4); printf(“%d\n”,s); } 程序执行后的输出结果是 A)45 B)50 C)60 D)55 41)有以下程序 main() { union { char ch; int d; }s; s.d=0x4321; printf(“%x,%x\n”,s.ch); } 在16位编译系统上,程序执行后的输出结果是 A)21,43 B)43,21 C)43,00 D)21,00 42)有以下程序 main() { char *p={“3697”,”2584”}; int i,j; long num=0; for(i=0;i《2;i++) {j=0; while(p!=’\0’) { if((p-‘0’; j+=2; } } printf(“%d\n”num); } 程序执行后的输出结果是 A)35 B)37 C)39 D)3975 43)执行以下程序后,test.txt文件的内容是(若文件能正常打开) #include main() { FILE *fp; char *s1=”Fortran”,*s2=”Basic”; if((fp=fopen(“test.txt”,”wb”))==NULL) { printf(“Can’t open test.txt file\n”); exit(1);} fwrite(s1,7,1,fp); /*把从地址s1开始的7个字符写到fp所指文件中*/ fseek(fp,0L,SEEK_SET); /*文件位置指针移到文件开头*/ fwrite(s2,5,1,fp); fclose(fp); } A)Basican B)BasicFortran C)Basic D)FortranBasic 44)以下叙述中错误的是 A)C语言源程序经编译后生成后缀为.obj的目标程序 B)C语言经过编译、连接步骤之后才能形成一个真正可执行的二进制机器指令文件 C)用C语言编写的程序称为源程序,它以ASCII代码形式存放在一个文本文件中 D)C语言的每条可执行语句和非执行语句最终都将被转换成二进制的机器指令 45)以下叙述中错误的是 A)算法正确的程序最终一定会结束 B)算法正确的程序可以有零个输出 C)算法正确的程序可以有零个输入 D)算法正确的程序对于相同的输入一定有相同的结果 46)以下叙述中错误的是 A)C程序必须由一个或一个以上的函数组成 B)函数调用可以作为一个独立的语句存在 C)若函数有返回值,必须通过return语句返回 D)函数形参的值也可以传回对应的实参 47)设有以下定义和语句 char str=”Program”,*p; p=str; 则以下叙述中正确的是 A)*p与str中的值相等 B)str与p的类型完全相同 C)str数组长度和p所指向的字符串长度相等 D)数组str中存放的内容和指针变量p中存放的内容相同 48)以下叙述中错误的是 A)C程序中的#include和#define行均不是C语句 B)除逗号运算符外,赋值运算符的优先级最低 C)C程序中,j++;是赋值语句 D)C程序中,+、-、*、/、%号是算术运算符,可用于整型和实型数的运算 49)以下叙述中正确的是 A)预处理命令行必须位于C源程序的起始位置 B)在C语言中,预处理命令行都以“#”开头 C)每个C程序必须在开头包括预处理命令行:#include D)C语言的预处理不能实现宏定义和条件编译的功能 50)以下叙述中错误的是 A)可以通过typedef增加新的类型 B)可以用typedef将已存在的类型用一个新的名字来代表 C)用typedef定义新的类型名后,原有类型名仍有效 D)用typedef可以为各种类型起别名,但不能为变量起别名 二:填空题(每空2分,共40分) 请将每一个空的正确答案写在答题卡序号的横线上,答在试卷上不得分 1)对长度为10的线性表进行冒泡排序,最坏情况下需要比较的次数为_______________。 2)在面向对象方法中,___________描述的是具有相似属性与操作的一组对象。 3)在关系模型中,把数据看成是二维表,每一个二维表称为一个________。 4)程序测试分为静态分析和动态测试,其中________是指不执行程序,而只是对程序文本进行检查,通过阅读和讨论,分析和发现程序中的错误。 5)数据独立性分为逻辑独立性与物理独立性,当数据的存储结构改变时,其逻辑结构可以不变,因此,基于逻辑结构的应用程序不必修改,称为_______。 6)若变量a,b已定义为int类型并赋值21和55,要求用printf函数以a=21,b=55的形式输出,请写出完整的输出语句______。 7)以下程序用于判断a,b,c能否构成三角形,若能输出YES,若不能输出NO。当a,b,c输入三角形三条边长时,确定a,b,c能构成三角形的条件是需要同时满足三条件:a+b》c,a+c》b,b+c》a。 请填空。 main() { float a,b,c; scanf(“%f%f%f”,&a,&b,&c); if(____)printf(“YES\n”);/*a,b,c能构成三角形*/ else printf(“NO\n”);/*a,b,c不能构成三角形*/ } 8)以下程序的输出结果是_______ main() { int a={{1,2,9},{3,4,8},{5,6,7}},i,s=0; for(i=0;i《3;i++) s+=a; printf(“%d\n”,s); } 9)当运行以下程序时,输入abcd,程序的输出结果是:_____。 insert(char str) { int i; i=strlen(str); while(i》0) { str=’*’;i--;} printf(“%s\n”,str); } main() {char str; scanf(“%s”,str ); insert(str); } 10)以下程序的运行结果是:______ fun(int t,int n) { int i,m; if(n==1) return t; else if(n》=2) {m=fun(t,n-1); return m;} } main() { int a={11,4,6,3,8,2,3,5,9,2}; printf(“%d\n”,fun(a,10)); } 11)现有两个C程序文件T18.c和myfun.c同时在TC系统目录(文件夹)下,其中T18.c文件如下: #include #include”myfun.c” main() { fun(); printf(“\n”); } myfun.c文件如下: void fun() { char s,c; int n=0; while((c=getchar())!=’\n’) s=c; n--; while(n》=0) printf(“%c”,s); } 当编译连接通过后,运行程序T18时,输入Thank!则输出的结果是:___ 。 12)以下函数fun的功能是返回str所指字符串中以形参c中字符开头的后续字符串的首地址,例如:str所指字符串为Hello!, c中的字符为e,则函数返回字符串:ello!的首地址。若str所指字符串为空串或不包含c中的字符,则函数返回NULL。请填空。 char *fun(char *str,char c) { int n=0;char *p=str; if(p!=NULL) while(p!=’\0’) n++; if(p==’\0’ return NULL; return (__); } 13)以下程序的功能是:输出100以内(不含100)能被3整除且个位数为6的所有整数,请填空。 main() { int i,j; for(i=0;____;i++) { j=i*10+6; if(_____) continue; printf(“%d ”,j); } } 14)以下isprime函数的功能是判断形参a是否为素数,是素数,函数返回1,否则返回0,请填空 int isprime(int a) { int i; for(i=2;i《=a/2;i++) if(a%i==0) _____; _____; } 15)以下程序的功能是输入任意整数给n后,输出n行由大写字母A开始构成的三角形字符阵列图形,例如,输入整数5时(注意:n不得大于10),程序运行结果如下: A B C D E F G H I J K L M N O 请填空完成该程序。 main() { int i,j,n; char ch=’A’; scanf(“%d”,&n); if(n《11) { for(i=1;i《=n;i++) { for(j=1;j《=n-i+1;j++) { printf(“%2c”,ch); _______; } 【18】 } } else printf(“n is too large!\n”); printf(“\n”); } 16)以下程序中函数fun的功能是:构成一个如图所示的带头结点的单向链表,在结点数据域中放入了具有两个字符的字符串。函数disp的功能是显示输出该单链表中所有结点中的字符串。请填空完成函数disp。 #include typedef struct node /*链表结点结构*/ { char sub; Struct node *next; }Node; Node fun(char s) /*建立链表*/ { …… } void disp(Node *h) { Node *p; p=h-》next; While(【19】) { printf(“%s\n”,p-》sub); p=【20】;} } main() { Node *hd; hd=fun(); disp(hd); printf(“\n”); }答案一、选择题1-10 : DADBA DCDAC11-20:CCADD BBBCA21-30:CABDD CBDDD31-40:DBCBB CACAC41-50:ACADB DADBA二、填空题1、452、类3、关系4、静态分析5、物理独立性6、printf("a=%d,b=%d",a,b)7、(a+b》c)&&(a+c》b)&&(b+c》a)8、309、a*b*c*d*10、1111、!knahT12、p+n 或 str+n13、i《=9 或 i《1014、j%3!=015、return 016、return 117、ch=ch+118、printf("\n")19、p!=NULL20、p-》next

如果你还想了解更多这方面的信息,记得收藏关注本站。

c语言笔试题库(计算机等级考试 笔试题型 二级C语言)

本文编辑:admin

本文相关文章:


c语言笔试题库(2010二级c语言笔试真题)

c语言笔试题库(2010二级c语言笔试真题)

本文目录2010二级c语言笔试真题2006年3月全国计算机等级考试二级C语言笔试试题及答案求94年 全国计算机等级考试二级C语言笔试试题!求二级C语言笔试题库计算机等级考试 笔试题型 二级C语言C语言笔试题一道c语言笔试题来几份2010二级

2024年3月7日 23:45

更多文章:


闹钟怎么设置闹铃(手机闹钟铃声怎么设置)

闹钟怎么设置闹铃(手机闹钟铃声怎么设置)

大家好,今天小编来为大家解答以下的问题,关于闹钟怎么设置闹铃,手机闹钟铃声怎么设置这个很多人还不知道,现在让我们一起来看看吧!本文目录手机闹钟铃声怎么设置普通闹钟怎么设置闹铃图解怎么设置闹铃!闹钟如何设置闹铃闹钟怎么设置闹铃闹钟怎么设置闹铃

2024年6月28日 12:26

生化危机单机游戏下载中文版(求生化危机4单机版下载地址,最好是中文版的)

生化危机单机游戏下载中文版(求生化危机4单机版下载地址,最好是中文版的)

本篇文章给大家谈谈生化危机单机游戏下载中文版,以及求生化危机4单机版下载地址,最好是中文版的对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。本文目录求生化危机4单机版下载地址,最好是中文版的怎样在手机游侠网上免费下载pc老版原版生化危

2024年5月22日 06:26

电脑分辨率怎么调最佳(电脑显示屏怎么调分辨率最佳(电脑显示屏怎么调满屏))

电脑分辨率怎么调最佳(电脑显示屏怎么调分辨率最佳(电脑显示屏怎么调满屏))

本篇文章给大家谈谈电脑分辨率怎么调最佳,以及电脑显示屏怎么调分辨率最佳(电脑显示屏怎么调满屏)对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。本文目录电脑显示屏怎么调分辨率最佳(电脑显示屏怎么调满屏)怎么把电脑屏幕分辨率调高如何调整电

2024年5月19日 07:32

房天下如何取消实名认证?房天下租房靠谱吗

房天下如何取消实名认证?房天下租房靠谱吗

大家好,房天下相信很多的网友都不是很明白,包括房天下如何取消实名认证也是一样,不过没有关系,接下来就来为大家分享关于房天下和房天下如何取消实名认证的一些知识点,大家可以关注收藏,免得下次来找不到哦,下面我们开始吧!本文目录房天下如何取消实名

2024年6月19日 09:45

vista系统还能用吗(windows vista 淘汰了吗)

vista系统还能用吗(windows vista 淘汰了吗)

“vista系统还能用吗”相关信息最新大全有哪些,这是大家都非常关心的,接下来就一起看看vista系统还能用吗(windows vista 淘汰了吗)!本文目录windows vista 淘汰了吗win vista系统还能用吗盗版的VIST

2024年8月2日 22:25

安卓10一键root工具(安卓十手机以上怎么root)

安卓10一键root工具(安卓十手机以上怎么root)

“安卓10一键root工具”相关信息最新大全有哪些,这是大家都非常关心的,接下来就一起看看安卓10一键root工具(安卓十手机以上怎么root)!本文目录安卓十手机以上怎么rootroot工具汇总有哪些手机obeev10 要怎样获得root

2024年7月22日 17:01

6 74c ai(多塔地图下了不能创建单机的房间,加不了电脑怎么回事啊,DotA v6.74c AI 1.3 CN.w3x 下的就是这个地图)

6 74c ai(多塔地图下了不能创建单机的房间,加不了电脑怎么回事啊,DotA v6.74c AI 1.3 CN.w3x 下的就是这个地图)

本文目录多塔地图下了不能创建单机的房间,加不了电脑怎么回事啊,DotA v6.74c AI 1.3 CN.w3x 下的就是这个地图dota ai 6.74c 中电脑说的话是什么意思啊dota版本哪个ai最简单,6.74c电脑太变态了,附下载

2024年3月10日 11:45

爱思助手手机下载(苹果手机怎么下载爱思助手 下载方式)

爱思助手手机下载(苹果手机怎么下载爱思助手 下载方式)

大家好,爱思助手手机下载相信很多的网友都不是很明白,包括苹果手机怎么下载爱思助手 下载方式也是一样,不过没有关系,接下来就来为大家分享关于爱思助手手机下载和苹果手机怎么下载爱思助手 下载方式的一些知识点,大家可以关注收藏,免得下次来找不到哦

2024年8月27日 09:05

冒险王游戏4399(4399冒险王怎么选法师)

冒险王游戏4399(4399冒险王怎么选法师)

大家好,如果您还对冒险王游戏4399不太了解,没有关系,今天就由本站为大家分享冒险王游戏4399的知识,包括4399冒险王怎么选法师的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!本文目录4399冒险王怎么选法师4399冒

2024年4月13日 21:05

定时关机app下载(什么软件可以自动关机)

定时关机app下载(什么软件可以自动关机)

大家好,如果您还对定时关机app下载不太了解,没有关系,今天就由本站为大家分享定时关机app下载的知识,包括什么软件可以自动关机的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!本文目录什么软件可以自动关机苹果手机下载什么软

2024年5月11日 00:02

高考志愿应该怎么填报?高考志愿怎么填报

高考志愿应该怎么填报?高考志愿怎么填报

各位老铁们好,相信很多人对高考报志愿都不是特别的了解,因此呢,今天就来为大家分享下关于高考报志愿以及高考志愿应该怎么填报的问题知识,还望可以帮助大家,解决大家的一些困惑,下面一起来看看吧!本文目录高考志愿应该怎么填报高考志愿怎么填报高考怎么

2024年7月9日 05:30

扬中千团网退款约怎么转出?爱喜千团换物网站信得过吗

扬中千团网退款约怎么转出?爱喜千团换物网站信得过吗

本文目录扬中千团网退款约怎么转出爱喜千团换物网站信得过吗我在爱喜千团网那里换东西后,可以退货的吗跪求,上海和北京,都有哪些团购网站啊千校团怎么样扬中千团网退款约怎么转出申请退款提交,审核通过后,工作人员会在3-7个工作日内把款项退回到您的扬

2024年7月9日 13:33

excel直方图(如何用Excel画直方图)

excel直方图(如何用Excel画直方图)

本文目录如何用Excel画直方图3个简单但实用的Excel直方图绘制技巧Excel直方图怎么做excel频率分布直方图怎么做excel表格怎么做直方图excel中怎么绘制直方图怎么用excel做直方图啊excel2013如何制作直方图Exc

2024年7月2日 22:41

金蝶财务软件免费版单机版(金蝶有免费版吗)

金蝶财务软件免费版单机版(金蝶有免费版吗)

“金蝶财务软件免费版单机版”相关信息最新大全有哪些,这是大家都非常关心的,接下来就一起看看金蝶财务软件免费版单机版(金蝶有免费版吗)!本文目录金蝶有免费版吗怎么下载金蝶财务软件免费版金蝶迷你版单机版是否能自行下载金蝶财务软件单机版多少钱金蝶

2024年6月25日 20:26

office2013破解版安装包(谁能提供office 2013的破解版)

office2013破解版安装包(谁能提供office 2013的破解版)

本篇文章给大家谈谈office2013破解版安装包,以及谁能提供office 2013的破解版对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。本文目录谁能提供office 2013的破解版office2013破解版怎么安装如何安装of

2024年7月5日 20:05

dnf深渊模拟器(DNF“深渊模拟器”,玩家实测1w次深渊都不出神话,你觉得如何)

dnf深渊模拟器(DNF“深渊模拟器”,玩家实测1w次深渊都不出神话,你觉得如何)

本文目录DNF“深渊模拟器”,玩家实测1w次深渊都不出神话,你觉得如何DNF怎么开启深渊模式DNF100级深渊,各种“非酋深渊表情包”再次火热,你还期待新深渊吗dnf日常玩法是什么意思dnf怎么开深渊模式DNF“深渊模拟器”,玩家实测1w次

2024年6月24日 02:25

战地1下载手机版下载中文(战地1 origin正版分流怎么安装)

战地1下载手机版下载中文(战地1 origin正版分流怎么安装)

大家好,战地1下载手机版下载中文相信很多的网友都不是很明白,包括战地1 origin正版分流怎么安装也是一样,不过没有关系,接下来就来为大家分享关于战地1下载手机版下载中文和战地1 origin正版分流怎么安装的一些知识点,大家可以关注收藏

2024年7月16日 14:05

营销策划的六个步骤?营销策划方案

营销策划的六个步骤?营销策划方案

各位老铁们,大家好,今天由我来为大家分享营销策划,以及营销策划的六个步骤的相关问题知识,希望对大家有所帮助。如果可以帮助到大家,还望关注收藏下本站,您的支持是我们最大的动力,谢谢大家了哈,下面我们开始吧!本文目录营销策划的六个步骤营销策划方

2024年8月30日 14:25

三国群英传9手机版单机(三国群英传手机版单机有哪些兵种)

三国群英传9手机版单机(三国群英传手机版单机有哪些兵种)

“三国群英传9手机版单机”相关信息最新大全有哪些,这是大家都非常关心的,接下来就一起看看三国群英传9手机版单机(三国群英传手机版单机有哪些兵种)!本文目录三国群英传手机版单机有哪些兵种三国群英传手机版单机攻略44张英怎么过三国群英传手机版单

2024年7月24日 03:28

腾讯浏览器最新版下载(怎么才能把QQ浏览器4.2版本下到手机上啊要4.2版本的)

腾讯浏览器最新版下载(怎么才能把QQ浏览器4.2版本下到手机上啊要4.2版本的)

今天给各位分享怎么才能把QQ浏览器4.2版本下到手机上啊要4.2版本的的知识,其中也会对怎么才能把QQ浏览器4.2版本下到手机上啊要4.2版本的进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!本文目录怎么才能把QQ浏览

2024年7月21日 11:35

近期文章

本站热文

iphone vpn设置(ios设置vpn快捷开关)
2024-07-22 15:01:12 浏览:2334
windows12正式版下载(操作系统Windows Server 2012 R2,在哪能下载到,公司用的)
2024-07-20 17:26:53 浏览:1730
java安装教程(win10如何安装JAVA)
2024-07-19 19:55:49 浏览:1154
client mfc application未响应(每次进cf就提示client MFC Application未响应该怎么办啊!急急急)
2024-07-20 11:15:58 浏览:1152
标签列表

热门搜索