文档库 最新最全的文档下载
当前位置:文档库 › C++复习题 (2)

C++复习题 (2)

C++复习题 (2)
C++复习题 (2)

一、选择题

1.下面对于类的描述,()是错误的。

A.类是抽象数据类型的实现B.类是具有共同行为的若干对象的统一描述体C.类是创建对象的模板D.类就是C语言中的结构类型

2.面向对象的()是一种信息隐蔽技术,目的在于将对象的使用者与设计者分开。不允许使用者直接存取对象的属性,只能通过有限的接口与对象发生联系。

A.多态性B.封装性C.继承性D.重用性

3.C++源文件的扩展名为()。

A.cpp B.c C.txt D.exe

4.C++的合法注释是()。

A./*This is a C program/* B.// This is a C program

C.“This is a C program” D.//This is a C program//

5.在C++语言中,()的陈述是正确的。

A.能使用关键字并区分大小写B.能使用关键字并不区分大小写

C.不能使用关键字并区分大小写D.不能使用关键字并不区分大小写

6.关于C++和C语言的描述中,()是错误的?

A.C是C++的一个子集B.C程序在C++环境可以运行

C.C++程序在C环境可以运行D.C++是面向对象的而C是面向过程的

7.运算符+、=、*、>=中,优先级最高的运算符是()。

A.+ B.= C.* D.>=

8.运算符+、<=、=、% 中,优先级最低的运算符是()。

A. +

B.<=

C.=

D.%

9.下列不合法的变量名为()。

A.int B.int1 C.name_1 D.name0

10.已知a=4,b=6,c=8,d=9,则“(a++,b>a++&&c>d)?++d:a

A.9 B.6 C.8 D.0

11.已知x=43,ch=‘A’,y=0;则表达式(x>=y&&ch<’B’&&!y)的值是()。

A.0 B.语法错C.1 D.“假”

12.对while、do…while循环结构,下面说法正确的是()。

A.只是表达形式不同

B.do…while结构中的语句至少执行一次

C.while结构中的语句至少执行一次

D.条件成立时,它们有可能一次也不执行

13.以下不正确的是()。

A.语句for(i=0;;i++)表示无限循环B.for(;;)表示无限循环

C.for()也表示无限循环D.while(1)表示无限循环

14.对中断语句的说法下面不正确的是()。

A.用户可以指定中断的位置B.用户可以指定转移的位置C.break语句可以跳出本循环D.continue语句可以结束本次循环15.在C++语言中,关于参数默认值的描述正确的是()。

A.只能在函数定义时设置参数默认值

B.设置参数默认值时,应当从右向左设置

C.设置参数默认值时,应当全部设置

D.设置参数默认值后,调用函数不能再对参数赋值

16.在函数的返回值类型与返回值表达式的类型的描述中,错误的是()。

A.函数返回值的类型是在定义函数时确定,在函数调用时是不能改变的

B.函数返回值的类型就是返回值表达式的类型

C.函数返回值表达式类型与返回值类型不同时,函数表达式类型应转换成返回值类型D.函数返回值类型决定了返回值表达式的类型

17.以下正确的说法是()。

A.用户若需要调用标准函数,调用前必须重新定义

B.用户可以直接调用所有标准库函数

C.用户可以定义和标准库函数重名的函数,但是在使用时调用的是系统库函数

D.用户可以通过文件包含命令将系统库函数包含到用户源文件中,然后调用系统库函数

18.如果一个函数无返回值,定义时它的函数类型应是()。

A.任意 B.int C.void D.无

19.下列哪个不是重载函数在调用时选择的依据()。

A.参数类型 B.参数个数C.函数类型 D.函数名

20.在C++语言中,关于参数默认值的描述正确的是()。

A.只能在函数定义时设置参数默认值

B.设置参数默认值时,应当从右向左设置

C.设置参数默认值时,应当全部设置

D.设置参数默认值后,调用函数不能再对参数赋值

21.对数组名作函数的参数,下面描述正确的是(B)。

A.数组名作函数的参数,调用时将实参数组复制给形参数组

B.数组名作函数的参数,主调函数和被调函数共用一段存储单元

C.数组名作参数时,形参定义的数组长度不能省略

D.数组名作参数,不能改变主调函数中的数据

22.若有以下定义,则说法错误的是( )。

int a=100,*p=&a ;

A.声明变量p,其中*表示p是一个指针变量

B.变量p经初始化,获得变量a的地址

C.变量p只可以指向一个整形变量

D.变量p的值为100

23.下列关于结构体的说法错误的是()。

A.结构体是由用户自定义的一种数据类型

B.结构体中可设定若干个不同数据类型的成员

C.结构体中成员的数据类型可以是另一个已定义的结构体

D.在定义结构体时,可以为成员设置默认值

24.若有同下定义,下列说法错误的是()。

struct em {

char a;

char b;

}

A.struct是结构体类型关键字B.em 是结构体类型名

C.em 是用户声明的结构体变量D.a,b是结构体成员名

25.若有以下定义,则赋值正确的是()。

int a ,b , *p;

float c, *q;

A.p=&c B.q=p C.q=&a D.q=new float

26.若有语句int a[10]={0,1,2,3,4,5,6,7,8,9},*p=a;则( )不是对a数组元素的正确引用(其中0≤i<10)。

A.p[i] B.*(*(a+i)) C.a[p-a] D.*(&a[i])

(2)若有语句int a[10]={0,1,2,3,4,5,6,7,8,9},*p=a;则( )不是对a数组元素的正确引用(其

中0≤i<10)。

A.p[i] B.*(*(a+i)) C.a[p-a] D.*(&a[i])

答案:B

27.如果x是整型变量,则合法的形式是( )。

A.&(x+5) B.*x C.&*x D.*&x

28.列关于结构体的说法错误的是()。

A.结构体是由用户自定义的一种数据类型

B.结构体中可设定若干个不同数据类型的成员

C.结构体中成员的数据类型可以是另一个已定义的结构体

D.在定义结构体时,可以为成员设置默认值

29.在定义一个共用体变量时,系统为其分配存储空间的原则是()。

A.按所有成员需要的存储空间总和分配。

B.按成员中占存储空间最大者分配。

C.按成员占存储空间最小者分配。

D.按第一个成员所需的存储空间分配。

30.下列有关类的说法不正确的是()。

A.对象是类的一个实例

B.任何一个对象只能属于一个具体的类

C.一个类只能有一个对象

D.类与对象的关系和数据类型与变量的关系相似

31.下面()项是对构造函数和析构函数的正确定义。

A.void X::X(), void X::~X()

B.X::X(参数), X::~X()

C.X::X(参数), X::~X(参数)

D.void X::X(参数), void X::~X(参数)

32.()的功能是对象进行初始化。

A.析构函数 B. 数据成员 C.构造函数 D.静态成员函数

33.拷贝构造函数具有的下列特点中,()是错误的。

A.如果一个类中没有定义拷贝构造函数时,系统将自动生成一个默认的

B.拷贝构造函数只有一个参数,并且是该类对象的引用

C.拷贝构造函数是一种成员函数

D.拷贝构造函数的名字不能用类名

34.关于友元的描述中,()是错误的。

A.友元函数是成员函数,它被说明在类体内

B.友元函数可直接访问类中的私有成员

C.友元函数破坏封装性,使用时尽量少用

D.友元类中的所有成员函数都是友元函数

35.类的析构函数的作用是( D )。

A.一般成员函数

B.类的初始化

C.对象初始化

D.删除对象

36.了使类中的某个成员不能被类的对象通过成员操作符访问,则不能把该成员的访问权限定义为()。

A.public

B. protected

C.private

D. static

37.下列对派生类的描述中,()是错误的。

A.一个派生类可以作为另一个派生类的基类

B.派生类至少有一个基类

C.派生类的成员除了它自己的成员外,还包含了它的基类成员

D.派生类中继承的基类成员的访问权限到派生类保持不变

38.派生类的对象对它的()是可以访问的。

A.公有继承的基类的公有成员 B. 公有继承的基类的保护成员

C. 公有继承的基类的私有成员

D. 保护继承的基类的公有成员

39.继承具有(),即当基类本身也是某一个类派生类时,底层的派生类也会自动继承间接基类的成员。

A)规律性 B.传递性 C.重复性 D.多样性

40.多继承派生类构造函数构造对象时,()被最先调用。

A.派生类自己的构造函数B.虚基类的构造函数

C.非虚基类的构造函数 D.派生类中子对象类的构造函数

41.C++类体系中,能被派生类继承的是()。

A.构造函数 B.虚函数 C.析构函数 D.友元函数

42.C++类体系中,不能被派生类继承的有()。

A.构造函数

B.虚函数

C.静态成员函数

D.赋值操作函数

43.设置虚函数的声明中,正确的是()。

A.简化程序

B.消除二义性

C.提高运行效率

D.减少目标代码

44.下列运算符中,()运算符在C++中不能重载。

A.?:

B.[]

C.new

D.&&

45.下列关于动态联编的描述中,错误的是()。

A.动态联编是以虚函数为基础

B.动态联编是运行时确定所调用的函数代码的

C.动态联编调用函数操作是指向对象的指针或对象引用

D.动态联编是在编译时确定操作函数的运行时

46.编译时的多态性可以通过使用( )获得。

A.虚函数和指针 B.重载函数和析构函数 C.虚函数和对象 D.虚函数和引用 47.关于纯虚函数和抽象类的描述中,错误的是()。

A.纯虚函数是一种特殊的虚函数,它没有具体的实现

B.抽象类是指具体纯虚函数的类

C.一个基类中说明有纯虚函数,该基类派生类一定不再是抽象类

D.抽象类只能作为基类来使用,其纯虚函数的实现由派生类给出

48.下列描述中,()是抽象类的特征。

A.可以说明虚函数 B.可以进行构造函数重载 C.可以定义友元函数 D.不能说明其对象

49.要实现动态联编,必须通过()调用虚函数。

A.对象指针 B.成员名限定 C.对象名 D.派生类名

50.关于read()函数的下列描述中,()是对的。

A.函数只能从键盘输入中获取字符串

B.函数所获取的字符多少是不受限制的

C.该函数只能用于文本文件的操作中

D.该函数只能按规定读取所指定的字符数

二、填空题

1.如果s是int型变量,且s=6,则下面s%2+(s+1)%2表达式的值为__1_ _。

2.设所有变量均为整型,则表达式(e=2,f=5,e++,f++,e+f)的值为___9_。

已知字母a的ASCII码为十进制数97,且设ch为字符型变量,则表达式ch=’a’+4’的值为__e__。

3.已知c的ASCII码为十进制数99,设k为字符型变量,则表达式k=‘c’+1的值为___d___。4.“A”与‘A’的区别是:前者表示的是____字符串__,占用__2____个内存空间,后者表示的是___字符_______,占用____1___个内存空间。

5..若有以下定义,int a[5]={1,3,5,7,9},*p=new int [5];则下列操作*p=a; 是()。

6.若有以下定义int *p=new int [10],则释放指针所指内存空间的操作是(delete [ ]p)。

7.数组与函数参数联系密切,当用数组元素作函数参数时,这是属于值传递;当数组名作为参数时,这是属于地址传递,对形参的改变可影响到实参。

8.函数的形参在未被调用之前不分配空间,函数的形参的类型要和实参的相同。

16.构造函数是___对象___被创建时自动执行,对象消失时自动执行的成员函数称为____析构函数___。

18.C++将类继承分为单继承和多继承两种。

22.如果说明类B是类A的友元类,则类B的所有成员函数都是类A的__友元____函数。

27.运算符重载后,原运算符的优先级和结合特性___/不会__改变。(会/不会)

28.运算函数中的关键字是__operator____,它和运算符一起组成该运算符函数的函数名。

现。

30.如果一个类中有一个或多个纯虚函数,则这个类称为

31.文件的打开是通过使用类___fstream_______的成员函数___open _____来实现的。32.文件的关闭是通过使用类__fstream______的成员函数____close____来实现的。三、阅读下面的程序,并掌握程序中的关键技术,如:

字符串的表示及访问;

if else语句;

switch case语句(注意比较有无break;语句的区别);

静态成员的定义及使用;

派生类构造函数的定义及创建派生类对象时构造函数的调用顺序;

公有继承时的赋值兼容规则及动态多态(注意比较有无虚函数时的区别);

运算符重载等。

1.include

void main(void){

char string[]="congratulation ";

char *p=string;

cout<

cout<<*p<<*(p+2)<<*(p+4)<<*(p+6)<

for(int i=1; i

cout<

2.#include

void main(){

int a,b;

int n=0;

for(a=1,b=1;a<=150;a++) {

if(b>=10) break;

if(b%3==1) {

b+=3;

n++;

continue;

}

}

cout<

cout<

cout<

}

3.#include

void main() {

int a;

cout<<"please input a number:";

cin>>a;

switch(a%2)

{

case 0: cout<<"a是偶数"<

default: cout<<"a是奇数"<

}

a=a/4;

cout<

}如果输入数为10,则输出结果为什么?

4.

include

class Count{

static int count;

public:

Count(){count++;}

static int Getc(){return count;}

~Count(){count--;}

};

int Count::count=5;

void main(void)

{

Count c1,c2;

cout<

{

Count c3;

cout<

}

cout<

}

5.#include

class Pixel{

int x, y;

public:

static int count;

Pixel(){count++;}

~Pixel(){count--;}

};

int Pixel::count =0;

int main()

{

Pixel p[8];

Pixel p1=p[3];

cout<

{

Pixel p2[2];

cout<

}

cout<

}

6.#include

class A{

int a;

protected:

int protect;

public:

A(int x){a=x;protect=x+5;cout<<"base class A's constructor"<

void show(){cout<

~A(){ cout<<"base class A's destructor"<

};

class B{

int b;

public:

B(int x){b=x;cout<<"object-member B's constructor"<

int GetB(){return b;}

~B(){ cout<<"object-member B's destructor"<

};

class C:public A{

int c;

B obj_b; // object-member

public:

C(int x,int y,int z);

void show();

~C(){ cout<<"derived class C's destructor"<

};

C::C(int x,int y,int z):A(x),obj_b(y)

{

c=z;

cout<<"derived class C's constructor "<

}

void C::show(){

cout<

}

void main(void)

{

C c1(7,6,4);

c1.show();

c1.A::show ();

}

7.#include

class Point

{

int x,y;

public:

Point(int a=0,int b=0) {x=a; y=b;}

void move(int xoffset,int yoffset) {x+=xoffset; y+=yoffset;}

int getx() {return x;}

int gety() {return y;}

};

class Rectangle:public Point

{

int length,width;

public:

Rectangle(int x,int y,int l,int w):Point(x,y)

{ length=l;width=w;}

int getlength(){return length;}

int getwidth(){return width;}

};

void main()

{

Rectangle r(5,5,7,10);

r.move(7,12);

cout<

/**********************************************************************

* polymorphic Point class,注意比较有无虚函数时运行结果的变化*

*****************************************************************************/ 8.#include

class Point{

protected:

public:

Point(int a,int b){x=a;y=b;}

virtual void print() // virtual function

{cout<<"("<

virtual void forward(int d); // virtual function

};

class Point_3d:public Point{

int z;

public:

Point_3d(int a,int b,int c):Point(a,b){z=c;}

virtual void print() // virtual function

{cout<<"["<

virtual void forward(int d); // virtual function

};

void Point::forward(int d){x+=d;y+=d;}

void Point_3d::forward(int d){x+=d;y+=d;z+=d;}

void main(){

Point d1(2,4);

Point_3d d2(1,3,5);

Point *ptr;

ptr=&d1;

ptr->print(); //line5 Point::print()

ptr=&d2;

ptr->print(); //line7 Point_3d::print()

ptr->forward(5); // line8 Point_3d::forword(5) modify object d2 not d1

ptr=&d1;

ptr->print(); // the result is same as that of line 8: d1 isn't changed.

ptr=&d2;

ptr->print(); // d2 has been changed by line8

cout<<"the size of int is "<

cout<<"the size of Point is "<

cout<<"the size of Point is "<

}

/*********************************************************************

* 注意比较有无虚函数时运行结果的变化*

**********************************************************************/

9.#include

class B0

{

public:

void display(){cout<<"B0::display()"<

};

class B1: public B0

{

public:

void display(){cout<<"B1::display()"<

};

class D1: public B1

{

public:

void display(){cout<<"D1::display()"<

};

void main()

{

B0 b0;

B1 b1;

D1 d1;

B0 *p[3]={&b0,&b1,&d1};

for (int i=0;i<3;i++)

ptr->display();

}

四、编程

1.编写函数将字符串按逆序存放。

#include

#include

#include

void main()

{ int i,n;

char s[100],temp;

cout<<"input string:"<

gets(s); //输入字符串 cin>>s;

n=strlen(s);

for(i=0;i

{ temp=s[i];s[i]=s[n-i-1]; s[n-i-1]=temp; }

cout<<"Now,string:"<

puts(s); //输出字符串 cout<

}

2.定义一个字符串类String,有两个私有数据成员:char* content和int len;要求1)在构造函数中提示用户输入字符串,;

2) 用户能提取和显示字符串;(分别由两个函数完成)

3)实现对字符串中所有小写字母变成大写,并显示。

注意内存的分配与释放。

#include

#include

#include

class String{

char* content;

int len;

public:

String();

~String(){ delete[] content;}

void display();

void upper_str();

char* get_str() const{ return content;}

};

String::String(){

char ch[50];

cout<<"enter a string: \n";

cin>>ch;

len=strlen(ch);

content=new char[len+1];

if(!content)

{

cout<<" Memory allocation eror!";

exit(1);

}

strcpy(content,ch);

}

void String::display(){ cout<

for (int i=0;i

if(content[i]>='a'&&content[i]<='z')

content[i]=content[i]-'a'+'A';

}

3.定义类Point,给出前置--和后置--的运算符函数的定义。

class Point{

float x,y;

public:

Point(float xx=0,float yy=0){ x=xx; y=yy; }

Point operator --();

Point operator --(int);

void display();

};

Point Point::operator --()

{

x--; y--;

return *this;

}

Point Point::operator --(int)

{

Point temp=*this;

x--; y=y--;

return temp;

}

void Point::display() { cout<<"("<

4. 一圆型游泳池如图所示,现在需在其周围建一圆型过道,并在其四周围上栅栏。栅栏价

格为5元/米,过道造价为20元/平方米。过道宽度为3米,游泳池半径由键盘输入。要求编程计算并输出过道和栅栏的造价。

#include using namespace std; const float PI = 3.14159; const float FencePrice = 35; const float ConcretePrice = 20;

//声明类Circle 及其数据和方法 class Circle {

private:

float radius; public:

Circle(float r); //构造函数

float Circumference() const; //圆周长 float Area() const; //圆面积 };

Circle::Circle(float r){radius=r;}

float Circle::Circumference() const{ return 2 * PI * radius;} float Circle::Area() const{ return PI * radius * radius;}

void main (){ float radius;

float FenceCost, ConcreteCost;

cout<<"Enter the radius of the pool: "; //定义不带参数的构造函数直接输入半径) cin>>radius;

Circle Pool(radius);

Circle PoolRim(radius + 3); // 计算栅栏造价并输出

FenceCost = PoolRim.Circumference() * FencePrice; cout << "Fencing Cost is ¥" << FenceCost << endl;

// 计算过道造价并输出

ConcreteCost = (PoolRim.Area() - Pool.Area())*ConcretePrice; cout << "Concrete Cost is ¥" << ConcreteCost << endl; }

5. 定义一个人员类Person ,有私有数据成员:姓名、序号和公司,并为它定义带参数的构

游泳池

过道

造函数、拷贝构造函数、析构函数和输出数据成员值的公有成员函数print,在主函

数中定义两个派生类对象对所有成员函数进行测试。要求姓名、公司用char*表示。

#include

#include

class Person{ //(类声明格式1分)

char *name; // ( 数据成员声明 1 分)

int number;

char *company;

static int count; //不作要求

public:

Person(const char *s1,const char *s2); // ( 1 分)

Person(const Person &stu); // ( 1 分)

void print();// ( 1 分)

~Person(){delete[] name; delete[] company;} // ( 2 分)

};

int Person::count =0;

Person::Person(const char *s1,const char *s2) { // ( 1 分)

name=new char[strlen(s1)+1]; strcpy(name,s1);

company=new char[strlen(s2)+1]; strcpy(company,s2);

number=++count;

}

Person::Person(const Person &stu) { // ( 1 分)

name=new char[strlen(https://www.wendangku.net/doc/4b10729666.html, )+1]; strcpy(name,https://www.wendangku.net/doc/4b10729666.html, );

company=new char[strlen(https://www.wendangku.net/doc/4b10729666.html,pany )+1];

strcpy(company,https://www.wendangku.net/doc/4b10729666.html,pany );

number=++count;

}

void Person:: print(){// ( 1 分)

cout<<"name= "<

t1.print();

Technician t2(t1); // ( 1 分)

t2.print ();// ( 1 分)

return 0;

}

6.定义一个学生类Student,具有三个属性:学号(long int)、姓名(char*)及年龄(int),其中括号内注明了此属性值的数据类型,并要求自动生成学号;具有三个公有成员函数:带参数的构造函数,析构函数及print()(用于输出3个数据成员的值),在主函数中定义Student类的两个对象(其中一个动态创建)对Student类进行测试。

#include

#include

class Student{

int number;

char *name;

int age;

public:

Student(int n=0,const char *str="no name",int a=0);

~Student(){ delete[] name; }

void print();

};

void Student::print(){

cout<<"number="<

Student * ps=new Student(3,"Mary",16);

stu1.print();

stu2.print();

ps->print ();

delete ps;

}

7.请编写程序声明一个基类BaseClass,从他派生出类DerivedClass,

在BaseClass中声明虚析构函数,在主函数中将一个动态分配的DerivedClass的对象地址赋给一个BaseClass的指针,然后通过指针释放对象空间。观察程序运行过程。

#include

class BaseClass{

public:

virtual ~BaseClass(){cout<<"Delete object of BaseClass"<

};

class DerivedClass:public BaseClass{

public:

~DerivedClass(){cout<<"Delete object of DerivedClass"<

};

void main()

{

BaseClass *p1=new DerivedClass;

delete p1;

}

8.定义一个抽象类Shape,在此基础上派生出类Rectangel和Circle,二者都有计算对象面积的函数GetArea(),在主函数中定义一个Shape指针数组分别指向Rectangel和Circle 的对象,并通过Shape类的指针数组实现对这两个对象的成员函数的调用,输出圆和矩形的面积。

#include

#include

const double PI=3.1415926;

class Shape{

public:

virtual double GetArea()=0;

};

class Circle: public Shape{

double radius; public:

Circle(){

cout<<"请输入圆的半径:"<

cin>>radius;

}

double GetArea(){cout<<" Circle GetArea ";return PI*radius*radius;}

};

class Rectangle: public Shape{

double length, width;

public:

Rectangle(){

cout<<"请输入矩形的长和宽:"<

cin>>length>>width;

}

double GetArea(){cout<<" Rectangle GetArea ";return length*width;} };

int main()

{

Circle c;

Rectangle rec;

Shape * p[2]={&c,&rec};

for (int i=0;i<2;i++)

cout<GetArea()<

return 0;

}

C语言试卷2及答案

扬州大学试题纸 系课程 C语言程序设计(A)卷2002—2003学年第2学期 班级_________学号________姓名__________得分___________ 一、选择题(每题分,共30分): 1、已知:char a; int b; float c; double d; 则执行语句:c=a+b+c+d; 后,变量c的类型为。 A. char B. int C. float D. double 2、已有定义int x; float y; 且执行scanf(“%2d%f”,&x,&y);语句时, 从第一列开始输入数据12345 67<回车>,则y的值是。 A. 无定值 B. 345.00000 C. D. 3、设有以下程序段 int x=0; s=0; while (!x!=0) s+=++x; printf(“%d”,s); 则。 A. 运行程序段后输出0 B. 运行程序段后输出1 C. 程序段中的控制表达式是非法的 D. 程序段执行无限次 4、若i为整型变量,则以下循环执行次数是。 for(i=2; i==0;) printf(“%d”, i--); A. 无限次 B. 2次 C. 1次次 5、假设char ch=’a’, *p=&c h; ,以下语句中,有语法错误的是 . A. (*p)++; B. ch+=—‘a’+’A’; C. toupper(ch)=ch; D. ch++; 6、若说明:char *language[ ]={“VFP”,”C”,”VB”,”VC”,”JAVA”}; 则language[2]的值是。 A. 一个字符 B. 一个地址 C. 一个字符串 D. 一个不定值 7、C语言程序中,当调用函数时。 A. 实参和虚参可以共用存储单元 B. 实参和虚参各占一个独立的存储单元 C. 可以由用户指定是否共用存储单元 D. 由计算机系统自动确定是否共用存储单元 8、在程序中要使用语句:printf(“%s\n”, STRING); 输出提示信息:“OK! ”(包括双引号),则应使用宏定义语句。 A. #define STRING “OK!” B. #define STRING “”OK!”” C. #define STRING \”OK!\” D.以上三个答案都是错误的 9、数组和链表都可以用于存储一组数据,以下说法不正确的是_____________。 A. 数组占用连续的一块存储区域,链表可能占用若干不连续的存储区域 B. 数组和链表所占用的存储区域均不能在程序运行期间动态分配 C. 数组中的数据可以随机存取或顺序存取,链表中的数据只能顺序存取 D. 数组的长度是固定的,链表的长度是不固定的。 10、已知语句FIL E *fp; char ch= ‘c’;fp=fopen(“”,”w”);如果需要将ch的值保存到一个磁盘文件中,

C试题库

2000~2001学年《程序设计基础-C》试卷 一、单项选择题(每小题 2 分,共 30 分) 1. C 语言程序中可以对程序进行注释,注释部分必须用符号_____括起来。 A、‘{‘ 和’}’ B、‘[‘和’]’ C、“/*”和”*/” D、“*/”和”/*” 2.下列运算符中,优先级最低的是_____。 A、* B、!= C、+ D、= 3.若变量已正确定义,表达式 (j=3, j++) 的值是_____ 。 A、3 B、 4 C、5 D、0 4.已知字符‘a’ 的ASCII码为 97 ,执行下列语句的输出是_____。 printf ("%d, %c", ’b’, ’b’+1 ) ; A、98, b B、语句不合法 C、98, 99 D、 98, c 5.表达式strcmp(“box”, “boss”) 的值是一个_______。 A、正数 B、负数 C、 0 D、不确定的数 6.数组定义为 int a[3][2]={1, 2, 3, 4, 5, 6},数组元素_____的值为6。 A、a[3][2] B、a[2][1] C、a[1][2] D、a[2][3] 7.要调用数学函数时,在#include命令行中应包含_____。 A、”stdio.h” B、”string.h” C、”math.h” D、”ctype.h” 8.判断i和j至少有一个值为非0的表达式是_____。 A、 i!=0 && j!=0 B、i*j!=0 C、!(i==0 || j==0) D、i&&j 9.若a是基本整型变量,c是单精度实型变量,输入语句______是错误的。 A、scanf(”%d,%f”, &a, &c); B、scanf(”d=%d, c=%f”, &a, &c); C、scanf(”%d%f”, &a, &c); D、scanf(”%d%f”, a, c); 10.若变量已正确定义并且指针p已经指向某个变量x,则(*p)++相当于_____。 A、p++ B、x++ C、*(p++) D、&x++ 11.若p1、p2都是整型指针,p1已经指向变量x,要使p2也指向x, _____是正 确的。 A、p2=p1; B、p2=**p1; C、p2=&p1; D、p2=*p1; 12.下列程序段的输出是_____。 int c[]={1, 3, 5}; int *k=c+1; printf("%d", *++k); A、 3 B、 5 C、 4 D、6 13.不正确的赋值或赋初值的方式是______。 A、char str[]="string"; B、char str[7]={'s', 't', 'r', 'i', 'n', 'g'}; C、char str[10];str="string"; D、char str[7]={'s', 't', 'r', 'i', 'n', 'g', ’\0’}; 14.对于以下结构定义,++p->str中的++加在_____。 s truct { int len;

公务员考试C类计算机考试真题及答案2.doc

公务员考试试题及答案 3101计算机通信就是将一台计算机产生的数字信息通过( )传送给另一台计算机。 A.数字信道B.通信信道 C. 模拟信道D.传送信道 答案 B 3102以太网的拓扑结构是( ) A.星型B.环型 C. 树型D.总线型 答案 D 3103局域网的网络硬件主要包括网络服务器、工作站、( )和通信介质。 A. 计算机B.网卡 C.网络拓扑结构D.网络协议 答案 B 3104在当今流行的局域网中,采用多令牌协议的是( ) A. 以太总线网B.令牌总线网 C.令牌环网D.光纤分布数据接口 答案 D 3105为网络提供共享资源并对这些资源进行管理的计算机称之为( ) A.网卡B.服务器 C. 工作站 D.网桥 答案 B 3106常用的通信有线介质包括双绞线、同轴电缆和( ) A.微波B.线外线 C.光缆D.激光 答案 C 3107局域网的网络软件主要包括( ) A. 网络操作系统、网络数据库管理系统和网络应用软件 B.服务器操作系统、网络数据库管理系统和网络应用软件 C.工作站软件和网络应用软件 D.网络传输协议和网络数据库管理系统 答案 A 3108( )多用于同类局域网之间的互联。 A.中继器B.网桥 C.路由器D.网关 答案 B 3109网卡将决定组网后的拓扑结构、( )、网络段的最大长度、网络两结点间的距离以及介质访问控制方式等。 A. 互联网络的规模B。接入网络的计算机种类 C.使用的网络操作系统的类型D.使用的传输介质的类型 答案 D 3110表征数据传输有效性的指标是( ) A. 信道容易B.传输速率 C.误码率D.频带利用率

3111在选购调制解调器时,要求选用与Hayee兼容的产品,同时还应考虑其( ) A.出错率低B.转换和传送速度 C.具有语言纠错功能D.内置式和外置式 答案 B 3112已知接入Intemet网的计算机用户名为Xinhua,而连接的服务商主机名为public.tpt.https://www.wendangku.net/doc/4b10729666.html,,相应的E–mail地址应为( ) A.Xinhua@public.tpt.fj.cn B.@Xinhua.public.tpt.fj.cn C.Xinhua.public@tpt.https://www.wendangku.net/doc/4b10729666.html, D.public.tpt.tj.cn@Xinhua 答案 A 3113分组交换比电路交换( ) A. 实时性好线路利用率高B.实时性好但线路利用率低 C.实时性差而线路利用率高D.实时性和线路利用率均差 答案 C 3114以太网10 BASET代表的含义是( ) A.10Mbps基带传输的粗缆以太网 B.10Mbps基带传输的双绞线以太网 C. 10MbP,基带传输的细览以太网 D. 10Mbps宽带传输的双绞线以大网 答案 B 3115国际标准化组织制定的OSI模型的最低层是( ) A. 数据链路层B.逻辑链路 C.物理层D.介质访问控制方法 答案 C 3116网络互联设备通常发成以下四种,在不同的网络间存储并转发分组, 必要时可通过( )进行网络怪上的协议转换。 A.重发器B.桥接器 C.网关D.协议转换器 答案 C 3117下列叙述中,不正确的是( ) A. FTP提供了因特网上任意两台计算机相互传输文件的机制,因此它是用户获得大量Intemet 资源的重要方法 B.WWW是利用超文本和超媒体技术组织和管理信息浏览或信息检索的系统 C.E–mail是用户或用户组之间通过网络收发信息的服务 D.当拥有一台586个人计算机和一部电话机,只要再安装一个调制解调器(Modem),便可将个人计算机连妆到因特网上了 答案 D 3118计算机网络最突出的特点是( ) A.存储容量大B.资源共享 C.运算速度快D.运算速度精 答案 B 3119在计算机通信中,传输的是信号,把直接由计算机产生的数字信号进行传输的方式称为( ) A.基带传输D. 宽带传输 C.调制D.解调

c语言试题及答案

1、以下正确的说法是( B ) (A) 用户若需要调用标准库函数,调用前必须重新定义 (B) 用户可以重新定义标准库函数,若如此,该函数将失去原有含义 (C) 系统根本不允许用户重新定义标准库函数 (D) 用户若需调用标准库函数,调用前不必使用预编译命令将该函数所在文件包括到用户源文件中,系统自动去调 2、以下正确的函数声明形式是( A ) (A) double fun(int x, int y) (B) double fun(int x; int y) (C) double fun(int x, int y); (D) double fun(int x,y); 3、以下正确的函数形式是( D ) (A) double fun(int x, int y) { z=x+y; return z;} (B) fun(int x,y) { int z; return z;} (C) fun(x,y) { int x,y; double z; z=x+y; return z;} (D) double fun(int x, int y) { double z; z=x+y; return z;} 4、以下正确的说法是( A ) 在C语言中 (A) 实参和与其对应的形参各占用独立的存储单元 (B) 实参和与其对应的形参共占用一个存储单元 (C) 只有当实参和与其对应的形参同名时才共占用存储单元 (D) 形参是虚拟的,不占用存储单元 5、若调用一个函数,且此函数中没有return语句,则正确的说法是( A ) 该函数 (A) 没有返回值 (B) 返回若干个系统默认值 (C) 能返回一个用户所希望的函数值 (D) 返回一个不确定的值 6、以下不正确的说法是( B ) C语言规定 (A) 实参可以是常量、变量和表达式 (B) 形参可以是常量、变量和表达式 (C) 实参可以为任意类型 (D) 形参应与其对应的实参类型一致 7、以下正确的说法是( C ) (A) 定义函数时,形参的类型说明可以放在函数体内 (B) return后边的值不能为表达式 (C) 如果函数值的类型与返回值类型不一致,以函数值类型为准 (D) 如果形参与实参的类型不一致,以实参类型为准 8、C语言规定,简单变量做实参时,它和对应形参之间的数据传递方式是( B ) (A) 地址传递 (B) 单向值传递 (C) 由实参传给形参,再由形参传回给实参 (D) 由用户指定传递方式

C语言试题及答案

一、单项选择题 1. 软件危机具有下列表现( d )。 I. 对软件开发成本估计不准确II. 软件产品的质量往往靠不住 III. 软件常常不可维护IV. 软件成本逐年上升 A. I、II和III B. I、III和IV C. II、III和IV D. 以上都正确 2. 软件生命周期一般都被划分为若干个独立的阶段,其中占用精力和费用最多的阶段往往是( A )。 A. 运行和维护阶段 B. 设计阶段 C. 代码实现阶段 D. 测试阶段 3. 下列属于软件的特点的是( D )。 A. 软件是一种逻辑实体,具有抽象性 B. 软件在使用过程中没有磨损、老化的问题 C. 软件不同于一般程序,它的一个显着特点是规模庞大,复杂程度高 D. 以上都正确 4. 软件工程的出现是由于( D )。 A. 软件危机的出现 B. 计算机硬件技术的发展 C. 软件社会化的需要 D. 计算机软件技术的发展 5. 软件开发技术不包含( d )。 A. 软件开发方法学 B. 软件工程环境 C. 软件工具 D. 软件质量度度量 6. 软件工程的课程特点( D )。 I. 学科理论及其知识应用的多维性 II. 工程化 III. 浓厚的方法学色彩 IV. 实践性、指导性强 A. I、II和III B. I、III和IV C. II、III和IV D. 以上都正确 7. 下列属于应用软件的是( b )。 I. 计算机辅助教学软件II. 软件测试工具 III. 办公自动化软件IV. 工程与科学计算软件 A. I、II和III B. I、III和IV C. II、III和IV D. 以上都正确 8. 需求分析阶段最重要的技术文档是( b )。

C语言试题库(完整版)

C语言试题库 一、单项选择 第一章 C语言概述 (1)一个C程序的执行是从 A、本程序的MAIN函数开始,到MAIN 函数结束。 B、本程序文件的第一个函数开始,到本程序文件的最后一个函数结束。 C、本程序的MAIN函数开始,到本程序的最后一个函数结束。 D、本程序文件的第一个函数开始,到本程序的MAIN函数结束。(2)以下叙述正确的是 A、在C程序中,MAIN函数必须位于程序的最前面。 B、 C程序的每行中只能写一条语句。 C、 C语言本身没有输入输出语句。 D、在对一个C程序进行编译的过程中,可发现注释中的拼写错误。(3) C语言规定,在一个源程序中,MAIN主函数的位置是在: A、必须在最前面。 B、必须在系统调用的库函数的后面 C、可以在任意位置。

D、必须在最后面 (4)一个C程序是由: A、一个主程序和若干子程序组成 B、函数组成 C、若干过程组成 D、若干子程序组成 (5)以下叙述不正确的是: A、一个C源程序可由一个或多个函数组成 B、一个C源程序必须包含一个MAIN函数 C、 C程序的基本组成单位是函数 D、在C程序中,注释说明只能位于一条语句的后面 第二章数据类型、运算符与表达式 (1)若x, i, j, k都是int型变量,则计算下面表达式后,x的值为x=( i=4, j=16, k=32) A、4 B、16 C、32

D、52 (2)下列四组选项中,均不是C语言键字的选项是 A、define , IF, type B、getc, char, printf C、include, scanf, case E、 if, struct, type (3)下面四个选项中,均是不合法的用户标识符的选项是A、A,P_0,do B、float,1a0, _A C、b-a, goto, int D、_123, temp, INT (4)若有代数式3ae/bc,则正确的C语言表达式是A、a/b/c*e*3 B、3*a*e/bc C、3*a*e/b*c D、a*e/c/b*3 (5)已知各变量的类型说明如下:

广西安全员C类考试真题附答案

2013年4月份安全员C类考试真题附答案 江苏省建筑施工企业项目专职安全生产管理人员 安全生产管理知识考试题 一、判断题 1、人既是管理的主体,同时又是管理的客体,人本原理的核心是如何调动人的积极性。 2、凡列入使用登记范围的建筑起重机械自安装验收或者安装质量监督检验合格之日起15日内,使用单位必须到工程所在地登记部门办理使用登记手续,取得《江苏省建筑施工起重机械设备使用登记证》。 3、系统原理是指任何一个系统内的管理手段必须构成一个连续封闭的回路,才能形成有效的管理运动。 4、在满足环境、职业健康与安全及文明施工要求的前提下尽可能减少废弃地和死角,临时设施占地面积有效利用率大于90%。 5、“四不放过”原则是指发生安全事故后原因分析不清不放过,事故责任者和群众没有受到教育不放过,没有防范措施不放过,没有实行经济处罚不放过。 6、能引起“注意”的事物,如果反复多次的出现,就会使人单调,易于疲劳。因此要防止单调的环境,避免注意力分散。 7、企业安全生产管理体系应是独立于生产经营管理系统 外的运作体系。 8、高大模板支撑系统的专项施工方案由施工单位技术负责人组织相关专业技术人员,依据国家现行相关标准规范,结合工程实际进行编制。 9、《安全生产许可证条例》确定的安全生产条件的第一句就是“安全投入符合安全生产要求”。 10、劳务分包单位施工人员在200人及以上的,应当配备3名及以上专职安全生产管理人员,并根据所承担的分部分项工程施工危险实际情况增加,不得少于工程施工人员总人数的5‰。 11、建筑施工单位应当对建筑消防设施每两年至少进行一次全面检测,确保完好有效,检测记录应当完整准确,存档备查。 12、吊销许可证和执照是行政主体对持有许可证和执照能从事该类活动的相对人,永久性地取消其许可证和执照,使其不再具有从事该类活动资格的处罚。 13、责令停止建设、责令停止施工、暂停或者撤销有关执业资格、岗位证书等具体行政处罚规定都属于合法有效的处罚种类。 14、从某种意义上来讲,符合法律、法规及安全生产标准要求的企业安全生产规章制度和企业标准是安全生产法律法规的延伸。 15、建筑施工企业应当对施工作业的负责人、现场安全人员和施工作业人员进行有毒有害

c 试题及答案

一、单项选择题 1、下列哪个类型的对象是https://www.wendangku.net/doc/4b10729666.html,在非连接模式下处理数据内容的主要对象? (D ) A. Command B. Connection C. DataAdapter D. DataSet 2、枚举类型是一组命名的常量集合,所有整形都可以作为枚举类型的基本类 型, 如果类型省略,则定义为( A )。 A. int B. sbyte C. uint D. ulong 3、创建数据库连接使用的对象是( A )。 A. Connection B. Command C. DataReader D. DataSet 4、C#中导入某一命名空间的关键字是( A )。 A. using B. use C.import D. include 5、一般情况下,异常类存放在什么命名空间中?( B )。 A. 生成异常类所在的命名空间 B. System.Exception命名空 间 C. System.Diagnostics命名空间 D. System命名空间 6、若将数据库中的数据填充到数据集,应调用SqlDataAdapter的( C )方 法。 A. Open B. Close C. Fill D. Update 7、若将数据集中所作更改更新回数据库,应调用SqlAdapter的(A )方法。 A. Update B. Close C. Fill D. Open 8、在使用FileStream 打开一个文件时,通过使用FileMode 枚举类型的( A ) 成员,来指定操作系统打开一个现有文件并把文件读写指针定位在 文件尾部。 A. Append B. Create C. CreateNew D. Truncate 9、在菜单项File中,为将F设为助记符,应将该菜单项的Text属性设置为 (B )。 A. @File B.&File C. %File D._File 10、指定操作系统读取文件方式中的FileMode .Create的含义是( D)。 A. 打开现有文件 B. 指定操作系统应创建文件,如果文件存在,将出现异常 C. 打开现有文件,若文件不存在,出现异常 D. 指定操作系统应创建文件,如果文件存在,将被改写 11、枚举类型是一组命名的常量集合,所有整形都可以作为枚举类型的基本类 型,如果类型省略,则定义为( D )。 A. uint B. sbyte C. ulong D. int 12、当运行程序时,系统自动执行启动窗体的( C )事件。 A. Click B.DoubleClick C. Load D. Activated

C语言程序设计模拟试题2(附答案)new

《C语言程序设计》模拟试卷二 一、填空题。(每空2分,共30分) 1.设有变量说明语句 int x=1,y=2; 则执行下述printf语句的输出结果是______ _____。 printf("%f\n",1.0+x/y); 2.执行下述程序 #include main() { int x,y; scanf("%2d%*2s%1d",&x,&y); printf("%d\n",x+y); } 若从键盘输入 12345671 则程序的输出结果是________。 3.以下程序的功能是:从键盘上输入若干名学生的成绩(百分制,可带小数,以输入负数或0为结束标志),统计并输出最高成绩和最低成绩。请填空。 #include main() { float x,amax,amin; scanf("%f",&x); amax=x; amin=x; while ( ) { if (x>amax) amax=x; else if (x

} 4.设n 是整型变量,且已具有某正整数值。根据下述数学式 1 1 14131312121+? ++?+?+n n 求s 的值并输出。 可编写如下之程序段实现之。请填空。 int k; double s,d; s=0.0; d=1.0; K=0; do { s=s+d; ___ _________; d=1.0/(k*(k+1)); } while (k<=n); printf("%f\n",s); 5.执行下述程序的输出结果是____ ____。 #inclued main() { int a[6],i; for (i=0;i<6;i++) { a[i]=9*(i-2+4*(i>3))%5; printf("%3d",a[i]); } printf("\n"); } 6.执行下述程序时的输出结果是_________ ________。 #include main() { int a[]={2,4,6,},*ptr=&a[0],x=8,y,z; for (y=0;y<3;y++) z=(*(ptr+y)

C类人员考试模拟试题

ⅢC类 一、单选题(本题型每题1分,共50分。每题有4个备选答案,其中只有一个答案是正确的,多选,不选、错选均不得分)。 161、施工现场悬挂警示标志的目的( C )。 A、为了装饰 B、上级要求 C、为了引起人们注意,预防事故发生 D、管理科学化的要求 162、建筑施工企业管理人员安全生产考核合格证书有效期为( C )年。 A、1 B、2 C、3 D、4 163、安装、拆卸施工起重机械和整体提升脚手架、模板等自升式架设设施,应当编制拆装方案、制定安全施工措施,并由( A )现场监督。 A、专业技术人员 B、监理人员 C、设计人员 D、建设单位技术人员164、专职安全生产管理人员负责对安全生产进行现场监督检查。发现安全事故隐患,应当及时向( C )和安全生产管理机构报告;对违章指挥、违章操作的,应当立即制止。 A、项目总监 B、监理工程师 C、项目负责人 D、项目技术负责人165、施工单位应当将施工现场的办公、生活区和作业( D );办公、生活区的选址应当符合安全性要求。 A、保持适当距离 B、保持安全距离 C、随意设置并保持安全距离D分开设置并保持安全距离 166、施工单位应当向作业人员提供安全防护用具和安全防护服装,并( B )危险岗位的操作规程和违章操作的危害。 A、口头告知 B、书面告知 C、口头或书面告知 D、电话告知167、国家对严重危及施工安全的工艺、设备、材料实行( C )制度。 A、限地区使用 B、报告 C、淘汰 D、登记备案 168、在( B )内的建设工程,施工单位应当对施工现场实行封闭围挡。 A、城镇 B、城市市区 C、城乡 D、乡村 169、坑壁支撑采用钢筋混凝土灌注桩时,开挖标准是桩身混凝土( A )。 A、达到设计强度后 B、灌注24H后 C、灌注36H后 D、灌注48H 后170、使用顶管法施工时,要按照理信纸计算或经验选定的总顶力的( C )倍配备千斤顶。 A、0.5 B、1 C、1.2 D、2 171、挡土墙沿水平方向每隔10~25M要设置缝宽为( A )的伸缩缝或者沉降缝。 A、10mm B、25mm C、0~30mm D、30mm 172、从安全的角度考虑,模板及支架在安装过程中,必须采取( D )。 A、保证工程质量的措施 B、提高施工速度的措施 C、保证节约材料的计划 D、有效防倾覆的临时固定设施 173、按照《建筑施工模板安全技术规范》的规定,楼层高度大于( C )时,应采用钢管立杆,不得采用木立杆。 A、3m B、4m C、5m D、6m 174、支设高度大于( B )以上的柱模板,四周应设斜撑,并应设立操作平台。A、2m B、3m C、4m D、5m 175、扣件式钢管脚手架必须设置纵横向扫地杆,纵上横下,直角扣件与立杆扣牢,离地面

C期末考试题及答案

C期末考试题及答案 Revised at 2 pm on December 25, 2020.

一、填空题(每空0.5分,共30分) 1、世界坐标系简称__WCS_用户自定义坐标系简称__UCS_。 2、工作空间的切换:“工具”/“工作空间”或“工作空间”工具栏。 3、工具栏包括30种,系统默认的显示工具栏包括:“标准”、“属性”、“绘图”和“修改”等工具栏。 4、多线的对正方式有_上(T)_、_无(Z)_和_下(B)_。 5、文字标注包括标注单行文字和标注多行文字。 6、渲染环境是指在渲染对象时进行的雾化和深度设置。 7、漫游和飞行用户可以通过键盘和鼠标来控制视图显示,并创建导航动画。 8、编辑实体的边的种类:压印边、复制边、着色边。 9、动态块是通过自定义夹点或自定义特性定义的块。在图形中使用动态块,用户可以随时对组成块的对象进行修改。 10、三维实体是具有体积、质量、重心、回转半径、惯性距等特征的三维对象。 11、在AutoCAD 2007中,用户可以创建的光源有电光源、聚光灯光源和平行光光源。 12、相切、相切、半径法是指:通过指定圆的两个切点和半径来绘制圆。 13、绘制圆环的步骤中,先输入圆环的内径和外径,后确定圆环的中心点。 14、计算机辅助设计是:工程技术人员在CAD系统的辅助下,根据产品的设计程序进行设计的一项新技术。 15、菜单栏包括11种,每一种菜单中都含有四种显示情况:命令后跟右三角 、后跟省略号、后跟快捷键或功能键或命令呈灰色。 16、要对图形对象进行编辑就必须选中图形对象,在AutoCAD 2007中,选择对象的方法很多,常用的有_直接拾取_、矩形框选择_、_不规则区域选择_和快速选择。 17、在设置显示精度时,如果设置的精度越高,即分辨率就越高,计算机计算的时间 也越长,显示图形的速度也就越慢。 18、三维基本实体的种类包括:多段体、长方体、楔体、圆柱体、圆锥体、球体、圆环体、棱锥面。 19、布尔运算中只留重复的一部分的运算是交集运算。从一个图形中去掉与另一个图形重复部分的运算是差集运算。

c语言试题及答案 (2)

C语言部分 一、选择题(每小题2分,共10分) (下在各小题,分别有一个或多个正确答案,请将所有正确答案的编号,填写在该小题题干后的括号内。错选或漏选均不得分)。 1、若定义:int a[2][3]{0,2,4,6,8,10};以下描述正确的有( A,C,D, E ) A、*(a+1)为元素6的地址 这里a+1=a[1]的地址;*(a+1)的值是6,故A正确。 B、*(a[1]+1)的值为2 为8,故B不正确 C、**(a+1)+2的值为8 这里a+1是一个指针,指向的是a[1]. *(a+1)为a[1],a[1]指向的是a[1][0]. **(a+1)为6,加2得8,故C正确; D、a[0]与a相同 因二者都是指针,指针的地址都是指向数组中的第一个元素的地址,故D正确。 E、a[1][2]的值为10 它是指第二行的第三个元素,为10,正确 2、对函数的正确使用方法描述( A,C,D )。 A、用数组做函数参数时,必须在主调函数和被调函数中分别定义数组 B、实参数组元素和形参数组元素类型可以不一致 C、形参数组长度可以不指定 D、形参数组长度可以大于实参数组长度 E、数组名做参数属于值传递 3、对静态变量的正确描述( A,B,D,E ) A、静态局部变量在静态存储区内分配单元() B、静态外部变量可以赋初值,也可以不赋初值 C、静态外部变量的作用与外部变量相同 D、静态局部变量在函数调用结束时,仍保存其值,不会随着消失。 E、静态局部变量只赋一次初值 4、下列描述正确的是( A ,C)。 A、由main 函数及其参数argc和* argv[]可以实现命令行方式 B、使用fclose关闭文件时,先释放文件指针,再写缓冲区数据到文件中 //先写缓冲区数据到文件中,再释放文件指针 C、字符数组并不要求它的最后一个字符是‘\0’ //是的,以字符指针指向的字符串才要求,因为只有这样,才能知道字符串的长度,而在字符数组中,不用\0,一样可以知道到哪里是字符数组的结尾。 D、‘A’和“A”都是字符串常量 E、若char*S=“\ta\017bc”;则指针变量S指向的字符串所占的字节数是7 5、在缓冲文件系统中用于读写的函数有( A,B,D ) A、putchar () B、fread() C、rewind () D、purw() E、fseek() 二、程序阅读,并给出运行结果(共10分,每题5分)。 (1)main() { unsigned a,b,x int n; a=0x763 输出结果:

C语言试题库(带答案解析)~排版

一、选择题 1、以下不能定义为用户标识符的是( )。 (A) MAIN (B) _HJ (D) LINE1 2、以下不能定义为用户标识符的是( ) (A) If (B) H_J (D) LINE12 3、下面属于C 语言标识符的是( )。 (A) 2ab (B) @f (C) b 4、下列符号中用来表示C 语言中的回车换行的是( )。 (A) \r (C) \b (D) \t 5、在计算机系统中,可执行程序是( ) (A) 源代码 (B)汇编语言代码 (D) ASCII 码 6、在Visual C++ 环境下,C 源程序文件名的默认后缀是( )。 (A) .obj (B) .txt (D) .doc 7、Microsoft Visual C++ 中,C 语言可执行程序的扩展名是:( ) (B) obj (C) c 或cpp (D) txt 8、C 程序由( )组成。 (A)子程序 (B) 主程序和子程序 (D) 过程 9、C 程序的基本组成单位( )。 (A) 数据类型 (B) 变量和常量 (D) 表达式 10、C 语言中主函数的个数是( )。 (A) 2个 (C) 任意个 (D) 10个 11、一个 C 程序的执行是从( ) (B)本程序文件的第一个函数开始,到本程序文件最后一个函数结束. (C)本程序文件的第一个函数开始,到本程序main 函数结束. (D) 本程序的main()函数开始,到本程序文件的最后一个函数结束. 12、以下叙述正确的是 (A)在C 语言程序中,main 函数必须放在其他函数的最前面 (C)在C 语言程序中,只有main 函数才可单独进行编译 (D)每个后缀为.C 的C 语言源程序都应该包含一个main 函数 13、设变量a 是整型,b 是实型,c 是双精度型,则表达式2+’a’+b*c 值的数据类型是( )。 (A) int (B) float 14、以下选项中表示一个合法的常量是(说明:符号□表示空格) A) 9□9□9 C) D) 15、以下选项中非法的字符常量是 A)'\102' B)'\65' C)'\xff' 16、以下选项中,能表示逻辑值“假”的是 A)1 B) D) 17、下列关系表达式中,结果为“假”的是 A)(3+4)>6 C) 3<=4||3 D)(3<4)==1 18、关于C 语言变量,以下说法不正确的是( ) (A) 变量名由程序员定义,必须符合标识符的命名规则。 (B) 变量是程序运行过程中其值可以改变的量。 (D) 变量命名时应尽量做到见名知意。 19、关于C 语言中数的表示,以下叙述正确的是 B)只要在在允许范围内整型和实型都能精确表示 C)只有实型数在允许范围内能精确无误的表示,整型数会有误差 D)只有八进制表示的数在不会有误差 20、设有语句int a=3;,则执行了语句a+=a=a*a;后,变量a 的值是 。 A .3 B .0 C .9 21、在C 语言中,要求运算数必须是整型的运算符是 。 B ./ C .< D .! 22、C 语言中最简单的数据类型包括 。 A .整型、实型、逻辑型 C .整型、字符型、逻辑型 D .整型、实型、逻辑型、字符型 23 、在C 语言中,合法的字符型常量是 。 B ."A" C .65 D .A 24、若已定义x 和y 为double 型变量,则表达式x=1 ,y=x+3/2的值是 。 A .1 B .2 D . 25、设正x 、y 均为整型变量,且x=10,y=3,则以下语句的输出结果是 。 printf("%d,%d\n",x--,--y); A .10,3 B .9,3 C .9,2 26、若有定义int a=8,b=5,C;,执行语句C=a/b+;后,C 的值为 。 A . C . D .2 27、以下选项中,不正确的赋值语句是 。 A .++t; B .n1=(n2=(n3=0)); C .k=i==j; 28、设x 和y 均为 int 型变量,则语句:x+=y,y=x-y;x-=y;的功能是 。 A .把x 和y 按从大到小的顺序排列 B .把x 和y 按从小到大的顺序排列 C .无确定结果 29、以下程序的输出结果是 。 #include <> main() { char c='z'; printf("%c",c-25); } B .Z C .z-25 D .y 30、已知字母A 的ASCII 码为十进制数的65,以下程序的输出结果是 。 #include <> main() { char ch1,ch2; ch1='A'+'5'-'3'; ch2='A'+'6'-'3'; printf("%d,%c\n",ch1,ch2); B .B,C C .C,D D .不确定的值 31、若k 是int 型变量,则以下程序片段的输出结果是 。 k=-3; if(k<=0) printf("####"); printf("&&&&"); B .&&&& C .####&&&& D .有语法错误,无输出结果 32、关于以下程序,说法正确的是 。 #include <> main()

建筑类安全C类考试试题

C类试题 一、单选题 1.土石根据其坚硬程度和开挖方法及使用工具可分为( D )类。 39.重力式挡土墙的基础厚度与墙高之比应为( B )。 :2~1:3 :2~2:3 :3 :3 60.支撑(拉锚)的安装与拆除顺序应与 ( A )一致。 A.基坑支护结构设计计算工况 B.基坑降水方案 C.基坑支护结构的材料 D.基坑施工季节 73.振捣混凝土时产生的荷载标准值(G=x)对水平模板可采用( D )。 22 2 m2 89.采用扣件式钢管支模时,立杆顶端的计算长度为( B )。+ +2a + + 101.吊索具的许用拉力是正常使用时允许承受的( A )。A.最大拉力B.最小拉力C.拉力 D.拉断力 117.起吊设备时,电动卷扬机卷筒上钢丝绳余留圈数应不少于( B )圈。 133.滑移法在滑行中发现异常情况, ( B )。 A.可以不加理会,继续滑移 B.必须立即停滑,找出原因方可继续滑移 C.必须立即停滑,静止一段时间后继续滑移 D.可以边滑移,边找原因 149.拆除施工采用的脚手架、( C )必须由专业人员搭设。经有关人员验收 合格后,方可使用。 A.安全带 B.工具 C.安企网 D.安全帽 153.履带式打挖掘机短距离转移地工地时,每行走( C)应对行走机构进行检查 和润滑。 ~700m ~900m ~1000m ~1300m 158.轮胎压路机最适于碾压( D )。 A.碎石层 B.砂土层 C.黏土层 D.沥青路面 162.推土机推屋墙或围墙时,其高度不宜超过( A )。 165.两台铲运机平行作业时,机间隔不得小于( A )。169.作业中,当桩锤冲击能量达到最大能量 时,其最后10锤的贯入值不得小于 ( C )。 174.桩按施工方法分为二大类( C )及灌 注桩。 A.锤击桩 B.振动沉管桩 C.预制桩 D. 静力压桩 188.混凝土从搅拌机卸出至浇筑完毕,运送 时间不超过( C )min。 192.钢筋切断机切短料时,手和切刀之间的 距离应保持在( A )以上,如手据握端小 于400mm时,应采用套管或夹具。 198.塔式起重机主要由( D )组成。 A.基础、塔身和塔臂 B.基础、 架体和提升机构 C.金属结构、提升机构和 安全保护装置 D.金属结构、工作机构和 控制系统 206.( A)能够防止塔机超载、避免由于严重 超载而引起塔机的倾覆或折臂等恶 性事故。 A.力矩限制器 B.吊钩保险 C. 行程限制器 D.幅度限制器 207.塔式起重机工作时,风速应低于( C ) 级。 210.臂架根部铰点高度大于( C )的起重 机,应安装风速仪。 214.塔式起重机拆装工艺由( C )审定。 A.企业负责人 B.检验机构负责人 C.企业技 术贫责人 D.验收单位负责人 221.施工升降机是一种使用工作笼(吊笼) 沿( B )作垂直(或倾斜)运动 用来运送人员和物料的机械。 A.标准节 B.导轨架 C.导管 D.通道 227.物料提升机附墙架可采用( D )与架 体及建筑连接。 A.木杆 B.竹杆 C.钢丝绳 D.钢管 232.《井架及龙门架物料提升机安全技术规 范》规定,物料提升机的额定载重 量为 ( C )。 以上以下以下以上 240.物料提升机基础周边( D )m范围内 不得挖排水沟 241.出现下列哪种情况,吊钩应报废 ( C ) A.挂绳处断面磨损量超过原高的20% B. 挂绳处断面磨损量超过原高的15%C.挂绳 处断面磨损量超过原高的10% D.挂绳处 断面磨损量超过原高的5% 243.横向水平杆(小横杆)的最大长度应为 ( C )。 245.扣件式钢管脚手架所用的扣件应采用 ( C )。 A.钢板压制扣件 B.可锻铸铁制作的扣 件 C.材质符合《钢管脚手架扣件》规定的 可锻铸铁制作的扣件 D.其他形式扣件 251.当脚手板采用竹笆板时,纵向水平杆应 满足以下要求( A )。 A.等间距设置, 最大间距不大于400mm B.等间距设置,最 大间距不大于300mm C.等间距设置,最 大间距不大于500mm D.间距不限 252.脚手架作业层上为支承脚手板在非主 节点处设置横向水平杆的要求是( )。 A.宜等间距设置,最大间距不大于纵距 的1/3 B.宜等间距设置,最大间距不大于纵距 的1/2 C.宜等间距设置,最大间距不大于 1000mm D.宜等间距设置,最大间距不大于750 253.单排脚手架的横向水平杆设置应满足 要( A )。 A.一端用直角扣件固定在纵向水平杆上,另 一端插入墙内,插入深度不小于180mm B. 一端用旋转扣件固定在纵向水平杆上,另一 端插入墙内,插入深度不小于100mm C. 一端用旋转扣件固定在纵向水平杆上,另一 端插入墙内,插入深度不小于80mm D. 一端用直角扣件固定在纵向水平杆上,另一 端插入墙内,插入深度不小于50mm 254.脚手架作业层的脚手板铺设规定为 ( C )。 A.可以不满铺 B.应满铺、铺稳 C.应铺满、 铺稳,离开墙面不超过120~150mm D.应铺 满、铺稳,离开墙面200~300mm处可以不设 任何防护 257.脚手架底层步距不应( A )。 A.大于2m B.大于3m C.大于 D.大 于 263.连墙件必须( C )。 A.采用可承受压力的构造 B.采 用可承受拉力的构造

C语言试题及答案

第1章 C语言概述习题 1. 单项选择题 (1) C 语言是在 B 语言的基础上产生的。 A. A B. B C. D D. E (2) 在 C 语言中,每个语句必须以 D 结束。 A. 回车符 B. 冒号 C. 逗号 D. 分号 (3) 标识符和关键字间,要用 C 隔开。 A. 回车符 B. 冒号 C. 空格 D. 分号 (4) 用 C 语言编写的源文件经过编译,若没有产生编译错误,则系统将( B )。 A. 生成可执行目标文件 B. 生成目标文件 C. 输出运行结果 D.自动保存源文件 (5) 下列说法中正确的是( B )。 A. 由于 C 源程序是高级语言程序,因此一定要在 TC 软件中输入 B. 由 C 源程序是字符流组成,因此可以作为文本文件在任何文本编辑的软件中输入 C. 由于C 程序是高级语言程序,因此输入后即可执行 D. 由于 C 程序是高级语言程序,因此它由命令组成 (6) 下列说法中正确的是( A )。 A. C 语言程序由主函数和 0 个或多个函数组成 B. C 语言程序由主程序和子程序组成 C. C 语言程序由子程序组成 D. C 语言程序由过程组成 (7) 下列说法中错误的是( D )。 A. 主函数可以分为两个部分:主函数说明部分和主函数体 B. 主函数可以调用任何非主函数的其他函数 C. 任何非主函数可以调用其他任何非主函数 D. 程序可以从任何非主函数开始执行 2. 填空题 (1) C 语言只有 32 个关键字和 9 种控制语句。 (2) C 语言是一种“中级语言”,既具有高级语言的特点又具有低级语言的特点;既适合于开发系统软件又适合于编写应用程序。 (3) 每个源程序有且只有一个主函数,系统总是从该函数开始执行C语言程序。 (4) 在 C 语言程序中允许出现的字符集是 ASCII码字符集。 (5) C 语言的程序中有特殊含义的英语单词称为保留字。 (6) C 语言标识符的长度是前 8 位有效。 (7) C 语言中,标识符的定义规则是以字母或下划线为开头。 (8) C 语言程序的注释可以出现在程序中的任何地方,它总是以 /* 符号作为开始标记,以 */ 符号作为结束标记。 第2章数据类型运算符和表达式习题 1. 单项选择题 (1) 以下选项中,正确的 C 语言整型常量是 D 。 A. 32L B. 510000 C. -1.00 D. 567 (2) 以下选项中, D 是不正确的 C 语言字符型常量。

相关文档