文档库 最新最全的文档下载
当前位置:文档库 › C++程序设计练习(答案)

C++程序设计练习(答案)

C++程序设计练习(答案)
C++程序设计练习(答案)

高等教育自学考试C++程序设计练习

一、单项选择题

1.对C++语言和C语言的兼容性,描述正确的是()

A.C++兼容C B.C++部分兼容C

C.C++不兼容C D.C兼容C++

2.C++中注释“/*”的有效范围是()

A.从“/*”开始到行尾B.从“/*”开始后不终止

C.从“/*”开始到“//”为止D.从“/*”开始到“*/”为止

3.对C++中主函数描述正确的是()

A.名称为main,可为多个

B.名称不限,可为多个

C.名称为main,必须有且只能有一个

D.名称不限,必须有且只能有一个

4.调用声明为int result(int a,int b)的函数时,正确的方法是()

A.result(1,2)

B.result(1)

C.result(0.1,0.3)

D.result(1,2,3)

5.在C++中使用流进行输入输出,其中用于屏幕输出的对象是()A.cerr B.cin

C.cout D.cfile

6.如想使用std命名空间,正确的程序语句是()

A.using std;B.namespace std,

C.using namespace;D.using namespace std;

7.无类型标识符是指()

A.void

B.bool

C.short

8.下列选项不是C++关键字的是()

A.typedef

B.void

C.bool

D.inc

9.在编译指令中,宏定义使用哪个指令()

A.#include B.#define

C.#if D.#else

10.对使用关键字new所开辟的动态存储空间,释放时必须使用()A.free B.create

C.delete D.realse

11.用于包含C++标准库iostream的预处理指令是()

A.#define

B.#include

C.#define ‘iostream’

D.#include‘iostream’

12.用于标识长整型常量的前缀或后缀是()

A.无前后缀B.后缀L或l

C.前缀零D.前缀0x

13.从本质上看,引用是被引用变量的()

A.拷贝

B.别名

C.复制

D.克隆

14.用于标识十进制常量的前缀或后缀是()

A.无前后缀

B.后缀L或l

C.前缀0

D.前缀0x

15.使用下列哪个流格式控制符可以设置转换基数为十六进制()

A.dec B.oct

C.hex D. endl

16.使用下列哪个流格式控制符可设置转换基数为八进制()

A.dec

B.oct

C.hex

D.endl

17.设int x=56;int r=x;若cout <<&x;显示0012FF7A,则cout <<&r;输出值为()

A.56

B.00l2FF7A

C.0012FF7B

D.未知

18.对于new类型名[size]描述正确的是()

A.申请可以存储size个字节的空间

B.申请可以存储1个该数据类型的空间

C.申请可以存储size个该数据类型对象的空间

D.申请可以存储1个字节的空间

19.使用new创建的对象,对其生命周期描述正确的是()

A.由系统决定B.由用户控制

C.全局生命周期D.永久存在

20.使用值传递方式将实参传给形参,下列说法正确的是()

A.形参是实参的备份B.实参是形参的备份

C.形参和实参是同一对象D.形参和实参无联系

21.设函数void swap(int a,int b)将交换两形参数值,如有两整型变量int a=10;int b=15,则执行swap(a,b);之后,a,b值分别为()

A.15,10 B.15,15

C.10,15D.10,10

22.设函数void subone (int)将形参值减1,如有整形变量int b=10;则执行subone(b)后,b 的值为()

A.9 B.10

C.11 D.未知

23.C++中函数返回值类型不可以是()

A.引用B.指针

C.结构D.数组

24.声明函数int Func(int a=0,int b=3,int c=4)相当于声明了几个函数形式()A.1 B.2

C.3 D.4

25.对函数int max(int a,int b=0,int c=0,int d=0,int e=0);下列调用方式正确的是()

A.int m=max(10,11,12,13,14);

B.int m=max(10,,12,13,14);

C.int m=max(10,1l,,13,14);

D.int m=max(10,11,12,,14);

26.在函数调用时,如某一默认参数要指明一个特定值,则有()

A.其之前所有参数都必须赋值B.其之后所有参数都必须赋值

C.其前、后所有参数都必须赋值D.其前、后所有参数都不必赋值

27.下面关于数组的初始化正确的是()

A.char str[ ]={'a','b','c'};

B.char str[2]={'a','b','c'};

C.char str[1][2]={{'a','b'},{'e','d'}};

D.char str[ ][ ]={'a','b','c'};

28.设存在函数int max(int,int)返回两参数中较大值,若求22,59,70三者中最大值,下列表达式不正确的是()

A.int m = max(22,max(59,70));B.int m = max(max(22,59),70);

C.int m = max(22,59,70);D.int m = max(59,max(22,70));

29.声明函数为内联函数时所使用的关键字为()

A.const

B.inline

C.short

D.signed

30.包含哪种语句的函数不能声明为内联函数()

A.变量定义

B.if……else

C.位操作

D.switch

31.下列哪个类型函数不适合声明为内联函数()

A.函数体语句较多B.函数体语句较少

C.函数执行时间较短D.函数执行时间过长

32.int Func(int,int);不可与下列哪个函数构成重载()

A.int Func(int,int,int);B.double Func(int,int);

C.double Func(double,double);D.double Func(int,double);

33.决定C++语言中函数的返回值类型的是()

A.return语句中的表达式类型

B.调用该函数时系统随机产生的类型

C.调用该函数时的主调用函数类型

D.在定义该函数时所指定的数据类型

34.函数int & min(int &,int &)返回参数中较小者,设有两整型变量int a=10;int b=15;在执行语句min(a,b)--;之后,a,b值分别为()

A.9,14

B.9,15

C.10,14

D.10,15

40.函数int sum(int a=l,int b=1,int c=3)可与下列哪个函数同时声明()

A.double sum(int);

B.char sum(int,int);

C.int sum(double);

D.int sum(int,int,int);

41.函数模板template void Func(T,T)可具有下列哪种实例化形式()

A.void Func(float,int)

B.void Func(char,char)

C.void Func(int,double)

D.void Func(bool,float)

42.声明函数模板的关键字是()

A.inline

B.template

C.const

D.short

43.C++中专门定义一个仅在模板中使用的参数类型的关键字是()A.const B.inline

C.short D.typename/class

44.对类中声明的变量,下列描述中正确的是()

A.属于全局变量

B.只属于该类

C.属于该类,某些情况下也可被该类不同实例所共享

D.任何情况下都可被该类所有实例共享

45.基类private成员,通过public派生,其在派生类中为()A.private B.protected

C.public D.不可访问

46.如没有使用private关键字定义类的数据成员,则默认为()A.private B.public

C.protected D.friend

47.类的私有成员可在何处访问()

A.通过子类的对象访问B.本类及子类的成员函数中C.通过该类对象访问D.本类的成员函数中

48.如果没有为一个类定义任何构造函数的情况下,下列描述正确的是()A.编译器总是自动创建一个不带参数的构造函数

B.这个类没有构造函数

C.这个类不需要构造函数

D.该类不能通过编译

49.构造函数用于()

A.定义对象B.初始化对象

C.清除对象D.普通计算

50.析构函数被调用的时间点是()

A.对象被创建时B.对象被销毁时

C.不会被调用D.主函数被调用时

51.一个类可包含析构函数的个数是()

A.0个B.1个

C.至少一个D.0个或多个

52.this指针存在的目的是()

A.保证基类公有成员在子类中可以被访问

B.保证每个对象拥有自己的数据成员,但共享处理这些数据成员的代码

C.保证基类保护成员在子类中可以被访问

D.保证基类私有成员在子类中可以被访问

53.下列关于类的权限的描述错误的是()

A.类本身的成员函数只能访问自身的私有成员

B.类的对象只能访问该类的公有成员

C.普通函数不能直接访问类的公有成员,必须通过对象访问

D.一个类可以将另一个类的对象作为成员

54.设类A将其它类对象作为成员,则建立A类对象时,下列描述正确的是()A.A类构造函数先执行B.成员构造函数先执行

C.两者并行执行D.不能确定

55.对象的构造函数调用顺序取决于()

A.对象成员在初始化列表中给出的顺序

B.对象成员在类中声明的顺序

C.对象成员与在初始化列表中顺序和类中声明顺序均有关

D.随机顺序

56.下列描述错误的是()

A.在创建对象前,静态成员不存在B.静态成员是类的成员

C.静态成员不能是虚函数D.静态成员函数不能直接访问非静态成员

57.下列访问公有静态成员的方式,错误的是()

A.类名::静态成员名

B.对象名.静态成员名

C.对象指针->静态成员名

D.对象指针.静态成员名

58.下列对静态成员函数描述正确的是()

A.静态成员函数中可使用1个this指针

B.静态成员函数中不能使用this指针

C.静态成员函数中可使用多个this指针

D.静态成员函数中只可使用1个that指针

59.友元的声明可出现在()

A.类的私有部分B.类的公有部分

C.类的保护部分D.类的任何部分

60.在下列派生中,子类和父类间是isa关系的是()

A.private B.protected

C.public D.publish

61.面向对象不仅进行功能抽象,还要进行()

A.动态抽象B.消息抽象

C.数据抽象D.算法抽象

D.long

62.下列访问成员的方式哪个是正确的()

A.对象名.对象成员名

B.对象指针名.对象成员名

C.对象名→对象成员名

D.类名→对象成员名

63.对类A,复制构造函数的原型是()

A.A::A(const A&);

B.A::A(const A *);

C.A::A(const A);

D.A::A();

64.假定MyClass为一个类,则该类的复制构造函数的声明语句为()

A.MyClass&(MyClass x);

B.MyClass(MyClass x);

C.MyClass(MyClass &x);

D.MyClass(MyClass *x);

65.对class point,如使用point * ptr=new point[2];创建对象数组,则删除此数组使用的语句是()

A.delete ptr[2];

B.delete[ ] ptr;

C.delete ptr[ ];

D.delete[2] ptr;

66.下列哪个编译指令不属于条件编译指令()

A.#if

B.#else

C.#endif

D.#error

67.类A中存在静态数据成员x,设a和b是类A的两个对象,在执行a.x=10之后,b.x

的值为()

A.未初始化

B.等于a.x

C.等于0

D.随机

68.使用string.h库操纵字符串时,将两个字符串连接成一个字符串的函数是()

A.strlen()

B.strcap()

C.strcat()

D.strcmp()

69.基类中的public成员,通过public派生,其在派生类中的访问权限为()

A.不可访问

B.private

C.protected

D.public

70.不同对象调用同名函数,但导致完全不同行为的现象称为()

A.抽象

B.封装

C.继承

D.多态性

71.一个类中是否可以允许一个无参数构造函数和一个全部都是默认参数的构造函数共存

()

A.不允许

B.允许

C.无法确定

D.视构造函数的函数,可确定

72.非静态成员函数都会有一个隐含指针,它是()

A.self指针

B.this指针

C.current指针

D.one指针

73.声明友元使用下列哪个关键字()

A.class B.const

C.friend D.virtual

74.对于友元描述正确的是()

A.友元是本类的成员函数B.友元不是本类的成员函数

C.友元不是函数D.友元不能访问本类私有成员

75.派生类继承了基类的()

A.所有成员B.部分成员

C.数据成员D.成员函数

76.在哪种派生方式中,派生类可以访问基类中的protected成员()

A.public和private B.public和protected

C.protected和private D.仅protected

二、填空题

1.C++程序的头文件和源程序文件扩展名分别为___.h____和. cpp。

2.执行代码double pi=

3.1415192; cout < < setprecision (3)< < pi;程序的输出结果是

__3.14_____。

3.执行下列代码

int b=100;

cout<<”Oct:”<

程序的输出结果是___Oct:144______。

4.要使用STL库提供的对数组进行升幂排序算法,在源程序中需要包含的头文件是_________。

5.C++语言中动态回收内存的关键字是____delete_____。

6.为了使用C++语言标准程序库提供的string类,在程序中必须使用的文件包含命令是_#include________。

7.C++语言提供的的基本控制结构可以分为3种类型:顺序结构、___选择结构__和循环结构。

8.要使用STL库提供的对数组进行降幂排序算法,在源程序中需要包含的头文件是______。

9.在C++标准库中,用__complex_____类来表示复数。

10.C++语言中用于定义一个类的关键字是__class_______。

11.类的继承是指子类继承基类的_数据成员___和成员函数。

12.不同对象可以调用相同名称的函数,但可导致完全不同的行为的现象称为_多态性_____。13.__#include ______指令指示编译器将一个源文件嵌入到带该指令的源文件之中。14.设类A有成员函数

void Fun(void);

若要定义一个指向类成员函数的指针变量pafn来指向Fun,该指针变量的声明语句是:void(A::*pafn)(void);_。

15.设在程序中使用如下语句申请了一个对象数组:

Point * ptr = new Point[2];

则在需要释放ptr指向的动态数组对象时,所使用的语句是_ delete[ ]ptr;_。

16.在保护派生中,基类权限为Private的成员在派生类中__不可访问______。

17.类A有如下成员函数

int A::fun(double x){return (int) x/2;}

int A::fun(int x){return x*2;}

设a为类A的对象,在主函数中有int s=a.fun(6.0)+a.fun(2),则执行该语句后,s的值为__7 ___。

18.对象传送的消息一般由3部分组成:接收对象名、调用操作名和_必要的参数_。19.将指向对象的指针作为函数参数,形参是对象指针,实参是对象的_地址值_______。20.在使用string类的find成员函数来检索主串中是否含有指定的子串时,若在主串中不含

指定的子串,find函数的返回值是_-1____。

21.在C++中,声明布尔类型变量所用的关键字是__ bool _。

22.执行下列代码

int a=29,b=100;

cout <

程序的输出结果是:29100_。

23.执行下列代码

cout <<″Hex:″<< hex << 255;

程序的输出结果为Hex:ff _。

24.C++语言中可以实现输出一个换行符并刷新流功能的操控符是_ endl ___。

25.C++中重载“+”运算符的函数名是operator+_。

26.运算符[ ]只能用____类____运算符来重载,不能用友元运算符来重载。

27.定义虚函数所用的关键字是__virtual______。

28.vector类中用于返回向量中第1个对象的方法是__front()___。

29.在C++中,利用向量类模板定义一个具有20个char的向量E,其元素均被置为字符‘t’,实现此操作的语句是_vectorE(20,’t’);_____。

30.设为类A添加一个纯虚函数Fun,其第一个参数类型为整型,第二个参数类型为字符型,函数返回值类型为整型。实现此操作的语句是___virtual int Fun(int,char)=0;_____。

31.设要把一个文件输出流对象myFile与文件“f:\myText.txt相关联,所用的C++语句是:_myFile.open(“f:\\myText.txt”);_________。

32.C++中ostream类的直接基类是_ios__。

三、改错题

1.#include < iostream. h >

void main( ) {

string strl (" how are you" ); //使用string类定义存储字符串对象时,必

//须在程序中包含这个类的头文件

cout << strl << endl;

}

2.#include

main( ) {

int x=7,y=8;

const int * p=&x;

*p=y;//*p=y;指针p所指向的为一常量,不能进行左值操作

cout<<*p<

}

3.#include

class f{

private:int x=0,y=0;//数据成员声明时不允许直接赋值

public:void f1(int a,int b){x=a;y=b;}

void get( ){cout<

};

main( ){

f a;

a.f(1,3);

a.get ( );

}

4.#include

using namespace std;

class A{

public:

char name[120];

private:

char * getName()

{ return name;}

};

class B:public A{

public:

B(char * n){

strcpy (name,n);

}

};

void main(){

B b(″Hello!″);

cout <<″Name:″<

//用私有成员

}

5. #include < iostream. h >

class testl {

private : int x;

public: testl ( ) { x = 2 ; }

void set(int a){x =a;}

void get( ) { cout << x << endl; }

};

class test2{

private: int x;

public : test2 ( ) { x = 3 ; }

void set( int a) { x = a; }

void get( ) { cout << x << endl; }

};

class test: public testl, public test2 {

private : int x;

public:void set( int a) { x=a; }

void gettest( ) {cout << x << endl; }

};

void main( ) {

test a; a. get( );

}

6. #include < iostream.h >

template < class T >

class fun{

private: T x,y;

public: void fl(T a,T b){x=a;y=b;}

T max(){retum(x>y)? x:y;}

};

void main( ){

fun a;

a. fl(3.5,3.8) ; //类模板是以整型来实例化模板类,则函数f1的两个形参应该为整形。

//那么给出的实参应该也是整形。

cout << a. max( ) << endl;

}

四、完成程序题

1.下面是一个输入半径,输出其面积和周长的C++程序,在下划线处填上正确的语句。

#include

using namespace std;

___const double __pi=3.14159;

void main( )

{

double r;

cout<<″r=″;

____cin>>r___ ;

double l=2.0*pi*r;

double s=pi*r*r;

cout<<″\n The long is:″<

cout<<″The area is:″<

}

2.在下面横线处填上正确的内容,完成类的定义。

class Base

{

int x;

static const int b;

public:

Base( int, int);

const int &a;

};

__ const _int Base::_b =15;

Base::Base(int i,int j):_x(i),a(j)_____{ }

3.在下面程序中的下划线处填上适当的程序,使程序的输出结果如下:

x=5,y=6

源程序如下:

#include

class Sample

{

int x,y;

public:

Sample(){x=y=0;}

Sample(_int a,int b____){x=a;y=b;}

void disp()

{

cout<<"x="<

}

} ;

void main()

{

Sample s(5,6),__*P=&s______

P - >disp();

}

4.完成下面类中的成员函数的定义。

class point

{

private:

int m,n;

public:

point(int,int);

point(point&);

};

point::point(int a,int b)

{

m=a;

___n___=b;

}

point::point(__point& t______)

{

m=t.m;

n=t.n;

}

7.将下面程序补充完整,使程序输出结果为:

Begin

Welcome

Show

End

程序如下:

#include

using namespace std;

class A{

public:

___ A ( )___{

cout <<″Begin″<

}

void show(){

cout<<″Show″<

}

_____~A( )______{

cout<<″End″<

}

};

A object;

int main(){

cout <<″Welcome″<

object.show();

return 0;

}

8.在下面程序中的下划线处填上适当的程序,使程序的输出结果如下:

x=3,y=4

x=50,y=60

源程序如下:

#include

class Sample

{

int x,y;

public:

Sample(){x=y=0;}

Sample(int i,int j){x=i;y=j;}

void copy(Sample & s);

void setxy(int i,int j){x=i;y=j;}

void print(){cout<<"x="<

};

void Sample::copy (_Sample & s ____)

{

x=s.x;y=s.y;

}

void func(__Sample s1,Sample & s2______)

)

{

s1.setxy(10,20);

s2.setxy(50,60);

}

void main()

{

Sample p(3,4),q;

q.copy(p);

func(p,q);

p.print();

q.print();

}

Sample&s

}

五.程序分析题

1.下面程序的运行结果为:。

#include

using namespace std;

int main(){

int i,j;

for(i=l;i<=4;i+=1)

for(j=2;j<=4;j+=j){

if(i+j<5)

cout<<″+ ″;

else

cout<<″* ″;

}

return 0;

} Initializing108

2.下面程序的运行结果为:Entering main 。

#include

using namespace std;

class point

{

int num;

public:

point(int n)

{cout<<"Initializing"<

} ;

void main()

{

point A(108);

cout<<"Entering main"<

}

7 5

3.给出下面程序的输出结果y a 。

#include

using namespace std;

template

T max(T ml,T m2)

{return(m1>m2)?ml:m2:}

void main( ) {

cout<

cout<

}

4.给出下面程序的输出结果Destructor B! 12 。#include Destructor A! 10

using namespace std;Destructor B! 0

class A { Destructor A! 8

int a;

public:

A(int aa=0){a=aa;}

~A(){cout <<″Destructor A!″<

};

class B:public A{

int b;

public:

B(int aa = 0,int bb = 0):A(aa){b = bb;}

~B(){cout <<″Destructor B!″<< b << endl;}

};

void main(){

B x(8),y(10,12);

}

六、程序设计题

1.下面Shape类是一个表示形状的抽象类,Area ()为求图形面积的函数。请从Shape类派生梯形类(Trapezoid)、圆形类(Circle),三角形类(Triangle),并给出具体的求面积函数。其中,所有派生类计算面积需要用到的参数由构造函数给出,梯形面积计算需要上底、下底和高,三角形面积需要底和高,圆形面积需要半径。

形状的抽象类声明如下:

class Shape {

public:

virtual double Area()= 0; (2009年10月份的第六题,请看参考答案)

};

2.定义队列类模板queue(先进先出),队列的大小由使用者确定。要求该类模板对外提供如下二种基本操作:(1)insert(入队列)(2)front(出队列),用数组来实现

#include < iostream >

using namespace std;

template < class T, int size >

class queue {

T x [ size ] ;

int current, front, rear;

public :

queue ( ) { current = 0 ; front = 0 ; rear = 0 ;}

. . . .insert(. . . .);

. . . .front(. . . .);

};

请写出两个函数的过程(如果需要形式参数,请给出形参类型和数量,以及返回值类型)

(2010年10月份的第六题,请看参考答案)

《C程序设计》作业内容

实验一C语言的运行环境的使用 一、目的与要求 1. 了解Windows系统下C语言的运行环境,熟悉C程序调试、运行的基本操作方法。 2. 熟练掌握编辑、编译、连接和运行C程序的方法。 3. 通过运行简单的C程序,初步了解C源程序的特点。 4. 初步理解C语言的数据类型,了解变量定义、变量赋值以及简单运算方法,了解程序运 行结果的基本输出方法。 二、实验例题 在C语言运行环境下,按以下例题要求完成程序的编辑、编译、连接和运行,直至取得正确的运行结果。 【例1】编程实现在屏幕上显示如下三行文字 Hello, world ! Wolcome to the C language world! Everyone has been waiting for. (1)输入如下程序: #include int main() { printf("Hello,World!\n"); printf("Wolcome to the C language world!\n"); printf("Everyone has been waiting for.\n"); return 0; } (2)将输入的程序以文件名example.c存盘。 (3)编译:通过“组建”(Build) 下拉菜单中的“编译”(compile)命令,编译example.c,若出现编译错误,则修改程序,重新编译,直至编译成功,系统自动生成目标文件example.obj。 (4)连接:通过“组建”(Build)下拉菜单中的“组建”(Build)命令,生成以.exe为扩展名的可执行文件example.exe。 (5)运行:通过“组建”菜单下的“执行”(Excute)命令运行程序并观察运行结果。 【例2】编写程序,将两个整数相加,并输出结果。 #include int main() { int a,b,sum; a=123;b=456; sum=a+b; printf(“sum is %d\n”,sum); return 0;}

C语言程序设计练习题(含程序及参考答案)

1、定义一个函数int fun(int a,int b,int c) ,它的功能是:若a,b,c能构成等边三角形函数返回3,若能构成等腰返回2, —般三角形返回1,若不能构成三角形返回0。 #include int fun(int a,int b,int c) { if(a+b>c && b+c>a && a+c>b) { if(a==b && b==c ) return 3; else if(a==b||b==c||a==c) return 2; else return 1; } else return 0; } void main() { int a,b,c,shape; printf("\nl 叩ut a,b,c:"); scanf("%d%d%d", &a,&b,&c); printf("\na=%d, b=%d, c=%d\n",a,b,c); shape =fun(a,b,c); printf("\n\nThe shape : %d\n",shape); }

2、编写一个程序,将两个变量的值交换,例如变量a中的值原为 3 , b中的值原为8,程序运行后a中的值为8, b中的值为3。 #include void fun(int *x,int *y) { int t; t=*x;*x=*y;*y=t } void main() { int a=3,b=8; printf("%d %d\n",a,b); fun(&a,b); printf("%d %d\n",a,b); } 3、从键盘输入3个数,将最大值放在变量a中,最小值放在变量c 中。 例如,输入的数为:55 12 34 , 输出结果应当是:a=55.0,b=34.0,c=12.0 。 #include void fun(float *p,float *q,float *s) { float k; if (*p<*q) { k=*p;*p=*q;*q=k;} if (*q<*s) { k=*s;*s=*p;*p=k;}

C语言程序设计作业参考答案

《C语言程序设计》作业参考答案 作业一 C语言概述 一、选择题: 1-5 ACDCB 二、编程题: main() { printf(“****************************************\n”); printf(“ Hello,world! \n”); printf(“****************************************\n”); } 作业二程序的灵魂——算法 一、填空题: 1.确定性有效性有零个或多个输入有一个或多个输出 2.顺序结构选择结构循环结构 3.函数 作业三数据类型、运算符与表达式 一、选择题: 1-5 BDDAB 6-10 BCAAB 11-15 BCADC 16-20 DACCA 21-25 ADDBA 26-30 DDDDD 作业四顺序结构 一、选择题: 1-5 BCDDD 6-10 BDADD 二、填空题: 1.【31.415920,3.14159e+01】 2.【c=k】 3.【a=1,b=空格,c=2】 4.【a=12,b=345】 5.【c=A】 作业五选择结构 一、选择题:1-5 ADCBC 6-10 BBBBA 11-15 DBAAC 16-17 CB 二、填空题: 1.【-1】 2.【3】 3.【4】 4.【11】 5.【97或'a'】 作业六循环结构 一、选择题: 1-5 CBAAC 6-10 CBCCB 11-15 DBDDB 16-20 BCAAC 21-25 CDBBB

作业七数组 一、选择题: 1-5 CDDAC 6-10 CCDBC 11-15 DDBCA 16-20 DCBDD 21-23 BDB 二、填空题: 1. LBLMNP 2. SW* 3. mo 4. a=2,b=1 作业八函数 一、选择题: 1-5 AAACA 二、填空题: 1.【编程中的main( )函数】 2.【函数说明部分】和【函数体】 3.【–125= –5*5*5】 4.【void add (float a, float b)】【float add (float a, float b)】 5.【i=7; j=6; x=7 i=2; j=7; x=5】 6.【111】 三、编程题: 1.参考代码 main() { int score,temp,log; char grade; log=1; while (log) { printf(“enter score:”); scanf(“%d”,&score); if ((score>100)||(score<0)) printf(“\n error,try again! \n”); else log=0; } if (score==100)temp=9; else temp=(score-score%10)/10; switch(temp) { case 0:case 1:case2: case 3:case 4:case 5:grade=’E’;break; case 6:grade=’D’;break; case 7:grade=’C’;break; case 8:grade=’B’;break; case 9:grade=’A’; } printf(“score=%d,grade=%c\n”,score,grade); } 2.解:设计以高度n为参数的函数trangle(int n),打印等边三角形。参考程序如下: #include

C语言程序设计期末考试试题(含答案)

C语言程序设计 期末考试试题及其答案 一、单项选择题(本大题共20题,每题2 分,共40分) 1、以下不是C语言的特点的是( ) A、C语言简洁、紧凑 B、能够编制出功能复杂的程序 C、C语言可以直接对硬件进行操作 D、C语言移植性好 2、以下不正确的C语言标识符是( ) A、ABC B、abc C、a_bc D、ab.c 3、一个C语言程序是由( ) A、一个主程序和若干子程序组成 B、函数组成 C、若干过程组成 D、若干子程序组成 4、一个算法应该具有“确定性”等5个特性,对另外4个特性的描述中错误的是( ) A、有零个或多个输入 B、有零个或多个输出 C、有穷性 D、可行性 5、设变量a是整型,f是实型,i是双精度型,则表达式10+‘a’+i*f值的数据类型为( ) A、int B、float C、double D、不确定 6、在C语言中,char型数据在内存中的存储形式是( ) A、补码 B、反码 C、源码 D、ASCII码 7、有如下程序,输入数据:12345M678<cR>后(表示回车),x的值是( ) 。 #include main(){ int x; float y; scanf("%3d%f",&x,&y); } A、12345 B、123 C、45 D、345 8、若有以下定义int a,b; float x,则正确的赋值语句是( ) A、a=1,b=2 B、b++; C、a=b=5 D、b=int(x); 9、以下程序的执行结果是( )

#include { int i=10,j=10; printf("%d,%d\n",++i,j--); } A、11,10 B、9,10 C、11,9 D、10,9 10、巳知字母A的ASCII码是65,以下程序的执行结果是( ) #include main() { char c1='A',c2='Y'; printf("%d,%d\n",c1,c2); A、A,Y B、65,65 C、65,90 D、65,89 11、下列运算符中优先级最高的是( ) A、< B、十 C、% D、!= 12、设x、y和z是int型变量,且x=3,y=4,z=5,则下面表达式中值为0是( ) 。 A、’x’&&’y’ B、x<=y C、x||y+z&&y-z D、!((x<y)&&!z ||1) 13、判断char型变量cl是否为小写字母的正确表达式为( ) A、’a’<=c1<=f’z’ B、(c1>=a)&&(c1<=z) C、(‘a’>=c1) (‘z’<=c1) D、(c1>=’a’)&&(c1<=’z’) 14、字符串"a"在内存中占据的字节个数为( ) A、0 B、 1 C、 2 D、 3 15、下面有关for循环的正确描述是( ) A、for循环只能用于循环次数已经确定的情况 B、for循环是先执行循环体语句,后判定表达式 C、在for循环中,不能用break语句跳出循环体 D、for循环体语句中,可以包含多条语句,但要用花括号括起来 16、下面程序的运行结果是( ) #include main() {int num=0; while(num<=2) {num++; printf(“%d ,num); } } A、 1 B、 1 2 C、 1 2 3

C程序设计作业样本

第一章作业 答案:一,59,14.4,28.e 二1小题,59 2,15 一、将数89、20.25、40.875用十六进制表达 二、填空 1.在C语言中,数值常量0x3b十进制值是。 2.字母f ASCII码为十进制数___________。 第三章作业 一、选取题: 1、下列变量名中, B 是非法。 A) Tom B) 3n C) little_boy D) c10 2、若有如下类型阐明 char a; int b; float c; double d;则表达式a*b+d-c成果类型是(A ) A)float B)char C)int D)double 3、若x为整型,则逗号表达式(x=4*5,x*5),x+25成果及x值分别是(C )对的答案是100,45 A)45 20 B)125 20 C)125 45 D)100 100 4、假设所有变量均为整型,则表达式(a=3,b=2,b++,a+b)值是 C 。 A) 5 B) 8 C) 6 D)7 5、已知c2为字符型,则执行语句c2=’E’+’8’-‘A’后,c2值为 C 。 A) 12 B) 11 C)不拟定值D) 10

6、设a为double变量,b为int型变量,c为字符型变量,则a+b+c为( C )型 A) int B) float C) double D) char 7、C语言中不可用作标记符字符有( C ) A下划线 B % C数字 D字母 8、下面四个选项中,均是合法整型常量是(D ) A)160 B)- 0xcdf C)- 01 D)0x - 0xffff 01a 0668 2e5 9、设a为字符变量,b为int型变量,c为double型变量,则a*b+c为( C )型 A. int B. float C. double D. char 10.若a是int型变量,则表达式(a=4*5,a*2),a+4值为( C ) A. 20 B.22 C. 24 D. 44 第四章作业 一、选取题 1、若x为int型变量,则执行如下语句后x= C 。 x=5; x-=x-=x+x; A. -10 B. -5 C.0 D.10 2、在printf()函数格式阐明符中,字符型数输出格式阐明符是 D 。

《C语言程序设计》综合练习题与答案

《C语言程序设计》综合练习题与答案 一、简要问答下列问题 1.什么是源程序? 2.C语言源程序的编译过程是怎样的? 3.简述C语言的特点 4.C/C++程序都是由函数组成的,其中最主要的、不可缺少的函数是哪一个?举例说明该函数的结构。 5.函数的返回值是通过什么语句来实现的,它的格式是什么? 6.在编写C程序时,为什么要把库函数的头文件包含到用户源程序中?如何把用户的头文件包含到用户源程序? 7.在计算机中,存储的数据为什么要分成多种不同的数据类型? 8.什么是常量?什么是变量? 9.C语言的五种基本数据类型有哪些?它们的关键字和所占的字节数分别是什么? 10.判断标识符是否合法的三条规则是什么? 11.什么是C语言的关键字?关键字对标示符有何影响? 12.全局变量和局部变量有什么区别? 13.什么是空语句,什么是语句块? 14.结构化程序设计的三种基本结构是什么? 15.三种循环语句各有什么特点? 16.什么叫多重循环结构? 17.Continue语句与break语句有什么区别? 18.字符与字符串有什么区别?‘b’与“b”相同吗? 19.什么是数组?一维数组的定义形式是怎样的? 20.字符串的结束标记是什么? 21.什么是按位操作?C语言对按位操作有哪些要求? 22.什么是指针?指针的两个操作符表示什么意义? 23.指针和数组有什么关系? 24.指针有那几种算术运算?说明指针变量的算术运算与一般变量的算术运算有何区别? 25.函数是由哪三部分组成的?函数定义的一般形式是什么? 26.函数原型是什么情况下使用?有什么作用? 27.形参和实参有什么关系,函数的两种调用方式是什么? 28.什么是函数的递归调用? 29.什么是函数指针?说明定义函数指针的一般形式。 30.什么是内部函数?什么是外部函数? 31.C语言的四种用户定义数据类型是什么? 32.C系统提供的三种主要预处理功能是什么? 33.什么是文件包含? 34.什么是文件?什么是流?

c程序设计作业

1、分析下面程序: # include int main() { char c1,c2; c1=97; c2=98; printf("c1=%c,c2=%c\n"c1,c2); printf("c1=%d,c2=%d\n",c1,c2); return 0; } (1)运行时会输出什么信息?为什么? (2)如果将程序第4,5行改为 c1=197; c2=198; 运行时会输出什么信息?为什么? (3)如果将程序第3行改为 int c1,c2; 运行时会输出什么信息?为什么? 答:(1)程序运行不了,因为程序存在错误。正确的程序为:#include int main() { char c1,c2; c1=97; c2=98; printf("c1=%c,c2=%c\n",c1,c2); printf("c1=%d,c2=%d\n",c1,c2); return 0; } (2)如果将程序第4,5行改为 c1=197; c2=198; 运行时会输出: (3)如果将程序第3行改为 int c1,c2; 运行时会输出:

因为int表示整型,%c是输出字符,a的ASCLL代码是97,b的是98,所以输出 c1=a,c2=b.%d是表示输出十进制整型,所以输出c1=97,c2=98 2、用下面的scanf函数输入数据,使a=3,b=7,x=8.5,y=71.82,c1=’A’,c2=’a’。 问在键盘上如何输入? #include int main() { int a,b; float x,y; char c1,c2; scanf("a=%db=%d",&a,&b); scanf("%f%e",&a,&y); scanf("%c%c",&c1,&c2); return 0; } 答:输入如图: 输出如图: (此文档部分内容来源于网络,如有侵权请告知删除,文档可自行编辑修改内容, 供参考,感谢您的配合和支持)

(完整版)C程序设计语言复习题(试题及答案版)

一.填空题 26.C#源程序的后缀名为______.cs________。 26.C#中每个int 类型的变量占用____4___个字节的内存。 26.C#的每行语句以________分号_______结尾。 26.布尔型的变量可以赋值为关键字_____true__________或_____false_________。 26.如果int x的初始值为5,则执行表达式x - =3之后,x的值为_____2_________。 26.do...while语句在执行循环体_____之后________测试语句是否满足循环条件。 26.关键字_______class________表示一个类的定义。 26.如果一个类包含一个或多个抽象方法,它是一个_________抽象_____________类。 26.try块运行后,总是会执行_________finally_____________块中的代码。 26.一个数组如果有两个索引值,那么它是__________二维__________数组。 二.单项选择题 1.在对SQL Server 数据库操作时应选用()。 A、SQL Server .NET Framework 数据提供程序; B、OLE DB .NET Framework 数据提供程序; C、ODBC .NET Framework 数据提供程序; D、Oracle .NET Framework数据提供程序; 2.下列选项中,()是引用类型。 A、enum类型 B、struct类型 C、string类型 D、int类型 3.C#的数据类型有() A、值和调用类型; B、值和引用类型; C、引用和关系类型; D、关系和调用类型 4.下列描述错误的是() A、类不可以多重继承而接口可以; B、抽象类自身可以定义成员而接口不可以; C、抽象类和接口都不能被实例化; D、一个类可以有多个基类和多个基接口; 5.下列关于构造函数的描述正确的是() A、构造函数可以声明返回类型。 B、构造函数不可以用private修饰 C、构造函数必须与类名相同 D、构造函数不能带参数 6.int[][] myArray3=new int[3][]{new int[3]{5,6,2},new int[5]{6,9,7,8,3},new int[2]{3,2}}; 那么myArray3[2][2]的值是( )。 A、9 B、2 C、6 D、越界 7.接口是一种引用类型,在接口中可以声明(),但不可以声明公有的域或私有的成员变量。 A、方法、属性、索引器和事件; B、方法、属性信息、属性; C、索引器和字段; D、事件和字段; 8.在https://www.wendangku.net/doc/5215904746.html,中,对于Command对象的ExecuteNonQuery()方法和ExecuteReader()方法,下面叙述错误 的是()。 A、insert、update、delete等操作的Sql语句主要用ExecuteNonQuery()方法来执行; B、ExecuteNonQuery()方法返回执行Sql语句所影响的行数。 C、Select操作的Sql语句只能由ExecuteReader()方法来执行; D、ExecuteReader()方法返回一个DataReder对象; 9.Winform中,关于ToolBar控件的属性和事件的描述不正确的是( )。 A、Buttons属性表示ToolBar控件的所有工具栏按钮 B、ButtonSize属性表示ToolBar控件上的工具栏按钮的大小,如高度和宽度 C、DropDownArrows属性表明工具栏按钮(该按钮有一列值需要以下拉方式显示)旁边是否显示下箭 头键 D、ButtonClick事件在用户单击工具栏任何地方时都会触发

C语言程序设计-作业与答案

《C 语言程序设计》课程作业 适用层次:专升本 培养类型:理工科专业 专业班级: 姓名: 学号: 作业要求:题目可打印,答案要求手写,考试时交作业。 第1次: 1.编写程序,分别计算1到100之间的奇数之和及偶数之和,并输出。 2.输入三角形的三条边a 、b 、c ,如果能构成一个三角形,则计算并输出三角形的周长和面积(结果保留两位小数);否则输出“无效的边长!”。 三角形面积计算公式为: s=))()((c x b x a x x ---,其中,x=(a+b+c)/2。 3.输入一个整数,求它的各位数字之和。例如,123的各位数字之和为6,-63的各位数字之和为9。 4.使用格里高利公式求π的近似值,精确到最后一项的绝对值小于10-6 。 +-+-=71 513114π …… 5.中国古代数学史上著名的“百鸡问题”:鸡翁一,值钱五;鸡母一,值钱三,鸡雏三,值钱一。百钱买百鸡,问翁、母、雏各几何? 6.编写程序,键盘输入正整数n (0= 2 2. 编写一个函数prime(int n),判断一个整数是否是素数,若是素数,函数值返回1,否则返回0。利用该函数找出100-200之间的所有素数。素数是只能被1和自身整除的正整数,2是最小的素数。 3.写一函数int strlength(char *s)求一个字符串的长度。主函数中输入一个字符串,调用函数strlength 求其长度并输出。

C程序设计练习题1

1.从键盘上输入两个复数的实部与虚部,求出并输出它们的和、积、商。 2.以下程序的功能如(图1)。 |x+1| x<0 f= 2x+1 0≤x≤5 sinx+5 x>5 3.输入三个整数x,y,z,请把这三个数由小到大输出。 4.统计读入的整数数据中大于零的整数个数和小于零的整数个数。用输入零来结束输入,程序中用变量i统计大于零的整数个数,用变量j统计小于零的整数个数。 5.以每行5个数输出500以内能被7或17整除的偶数,并求出其和。 6.以下程序不借助任何中间变量把a、b的值进行交换。 7.输出斐波那契(Fibonacci)数列(1,1,2,3,5,8,13……)的前20项。 8.求 1-3+5-7+……-99+101 的值。 9.输出如下形式的乘法表。 1*1=1 2*1=2 2*2=4 3*1=3 3*2=6 3*3=9 …… 9*1=9 9*2=18 9*3=27 9*4=36 9*5=45 9*6=54 9*7=63 9*8=72 9*9=81 10.实现求解下面的式子的结果,请填空将程序补充完整。 s=1*2+2*3+3*4+…+20*21。 11.以下程序的功能是分别求出一批非零整数中的偶数、奇数的平均值,用零作为终止标记。 12.求任一整数x的各位数字之和。 13.以下程序的功能是求两个非负整数的最大公约数和最小公倍数。 14.以下程序的功能如(图1)。

15.算式:?2*7?=3848中缺少一个十位数和一个个位数。编程求出使该算式成立时的这两个数,并输出正确的算式。 16.输出100到1000之间的各位数字之和能被15整除的所有数,输出时每10个一行。 17.下面的程序是求1!+3!+5!+……+n!的和. 18.请编程序打印如下图形。 $ $$ $$$ $$$$ $$$$$ 19.打印出如下图案(菱形) * *** ***** ******* ***** *** * 20.从键盘上输入20个元素的值存入一维数组m中,然后将下标为(0. 2. 4. 6. 8. 10…… 18)的元素值赋值给数组n,最后输出数组n的内容。请填空 21.产生25个[50,90]上的随机整数,求出其中能被5整除的所有数的和。 22.从键盘上输入若干个学生的成绩,统计计算出平均成绩,并输出低于平均分的学生成绩,用输入负数结束输入。 23.以下程序的功能是将一个数组中的元素按逆序存放。 24.产生15个[20,80]上的随机整数,用顺序法(比较法)按从小到大排序后输出。 25.以下程序是用选择法对10个整数按升序排列 26.以下程序的功能是产生10个[30,90]区间上的随机整数,然后对其用选择法进行由小到大的排序。 27.以下程序的功能是产生并输出如下形式的方阵。 1 2 2 2 2 2 1 3 1 2 2 2 1 4 3 3 1 2 1 4 4 3 3 3 1 4 4 4 3 3 1 5 1 4 4 3 1 5 5 5 1 4 1 5 5 5 5 5 1 28.以下程序的功能是产生并输出杨辉三角的前七行。 1 1 1 1 2 1

C语言程序设计综合练习题

C语言程序设计综合练习题 一、选择题 C(1)以下叙述中正确的是 A)C语言比其他语言高级 B)C语言可以不用编译就能被计算机识别执行 C)C语言以接近英语国家的自然语言和数学语言作为语言的表达形式 D)C语言出现的最晚,具有其他语言的一切优点 a.错误,c语言是由B语言发展过来,是低级语言向高级语言发展的过渡语言,而且更偏向底层~~java和C#才算是高级语言 b、明显错误,C语言是编译型语言,需要编译执行 d、这就错的更离谱了,现在微软都在研制F#,C怎么可能最晚?再说,java和c#都比它晚了,再说一下,C语言的主要优点是简洁紧凑、可移植性强,由指针这一特色,更能操作底层,它没有java的跨平台性,没有C#的通俗性。。。 最后,说下C,早期的C在贝尔实验室研制出来的,用于做数值计算和一些数学模型的求解,所以更接近自然语言和数学语言 B(2)在一个C语言程序中 A)main()函数必须出现在所有函数之前 B)main()函数可以在任何地方出现 C)main()函数必须出现在所有函数之后 D)main()函数必须出现在固定位置 B(3)下列关于C语言用户标识符的叙述中正确的是 A)用户标识符中可以出现下划线和中划线(减号)

B)用户标识符中不可以出现中划线,但可以出现下划线 C)用户标识符中可以出现下划线,但不可以放在用户标识符的开头 D)用户标识符中可以出现下划线和数字,它们都可以放在用户标识符的开头 A不能出现中划线 C下划线可以放在开头 D数字不能放开头 D(4)下列关于单目运算符++,--的叙述中正确的是 A)它们的运算对象可以是任何变量和常量 B)它们的运算对象可以是char型变量和int型变量,但不能是float型变量 C)它们的运算对象可以是int型变量,但不能是double型变量和float型变量 D)它们的运算对象可以是char型变量、int型变量和float型变量 A(5)有以下程序段: int m=0,n=0;char c=′a′; scanf(″%d%c%d″,&m,&c,&n); printf(″%d,%c,%d\n″,m,c,n); 若从键盘上输入:10A10<回车>,则输出结果是 A)10,A,10 B)10,a,10 C)10,a,0 D)10,A,0 格式字符%d用于输入整数,%c用于输入字符。在输入时,系统把第一个10作为整数10赋给m,把随后的A作为字符赋值给c,后面的10作为整数赋给n,最后输出的结果为10,A,10 printf语句中,屏幕输出时所显示的间隔符应与输出格式项之

C程序设计作业

第一章作业 答案:一,59,14、4,28、e 二1小题,59 2,15 一、将数89、20、25、40、875用十六进制表示 二、填空 1、在C语言中,数值常量0x3b得十进制值就是。 2、字母f得ASCII码为十进制数___________。 第三章作业 一、选择题: 1、下列变量名中, B 就是非法得。 A) Tom B) 3n C) little_boy D) c10 2、若有以下类型说明 char a; int b; float c; double d;则表达式a*b+d-c得结果类型就是( A ) A)float B)char C)int D)double 3、若x为整型,则逗号表达式(x=4*5,x*5),x+25得结果及x得值分别就是(C )正确答案就是100,45 A)45 20 B)125 20 C)125 45 D)100 100 4、假设所有变量均为整型,则表达式(a=3,b=2,b++,a+b)得值就是 C 。 A) 5 B) 8 C) 6 D)7 5、已知c2为字符型,则执行语句c2=’E’+’8’-‘A’后,c2得值为 C 。 A) 12 B) 11 C)不确定得值D) 10 6、设a为double变量,b为int型变量,c为字符型变量,则a+b+c为( C )型 A) int B) float C) double D) char 7、C语言中不可用作标识符得字符有( C ) A下划线 B % C数字 D字母 8、下面四个选项中,均就是合法整型常量得就是(D ) A)160 B)- 0xcdf C)- 01 D)0x - 0xffff 01a 0668 2e5 9、设a为字符变量,b为int型变量,c为double型变量,则a*b+c为( C )型 A、int B、float C、double D、char 10、若a就是int型变量,则表达式(a=4*5,a*2),a+4得值为( C ) A、20 B、22 C、24 D、 44 第四章作业 一、选择题

C语言程序设计各章练习题

《C语言程序设计》各章练习题 2016年12月汇编 第1-3章C语言基础、编程规范、顺序结构程序设计 编程题1:设a和b均为int型变量,编写一个程序,通过键盘读入a,b的值,然后交换a,b的 值。要求屏幕显示“输入2个整数,用空格隔开”的提示语句,并且输出交换前a,b的值,交 换后a,b的值。 个变量,实现交换;)允许定义第3附加要求:(1 个变量,实现交换。)不允许定义第3 (2章选择结构程序设计第4的值。的值,输出y编程题2:根据下列函数关系写程序, 要求提示输入x y的值。x编程题2:根据下列函数关系写程序,要求提示输入的值,输出22b(只 输出+bx+c=0方程的解。,输出“不予3:求 ax的求解结果,小于0-4ac>=0编程题”)求 ?,如n编程题4:编程计算为负数,不予计算,直接返 解!循环结构程序设计第5章n 回。。要求提示键盘输入n i1i?,不予计算。小于0!,要求n从键盘输入,如n5编程题:编程序 计算n n是否是素数。,判断编程题6:从键盘输入一个数n55个偶数一行,每个数占6:编写程 序输出1~100之间的偶数,要求屏幕显示时编程题位,右对齐。,并将其输出。1000之间有 多少个数其各位数字之和是5:编程计算编程题7100到的各位数n11(整数相除)所得到的商 等于编程题8:求满足下列条件的三位数n,它除以字的平方和,且其中至少有二位数字相同 的数。如:c≠d且。,和abcd具有如下特性:ab×cd=ba×dc其中a≠b有一些十进制整数对9 编程题:值,并按上述等式的格式输,mn之间满足上述等式所有。请编程找出12×42=21× 2430~50 表示)*(×用出。. 编程题10:从键盘上输入一个整数,然后把这个整数的各位逆序输出。例如,输入123456,输 出654321。 第6章数组 编程题11:有一个已排好序的数组int a[11]={-5,-3,0,6,8,12,16,28,66,88};,要求输入一个数后, 按原来排序的规律将它插入数组中。 编程题12:输入一个字符串(字符个数为小于100),统计其中字母、数字、空格以及其它符号 的个数,并将大写字母改为小写字母,输出改变后的字符串。(提示:A的ASCII值为65,a 的ASCII值为97) 编程题12:输入一行字符(字符数组的个数小于100),统计其中字母、数字以及其它符号的个 数。(注:数组限定字符个数小于100) 编程题12:输入一行字符,分别统计出其中英文字母、数字、空格和其他字符的个数。(注:字 符个数不受限制) 第7章函数 编程题13:编写一个子函数int fun ( int n),其功能是判断整数n是否为素数,n是素数,返 回值为1;n不是素数,返回值为0。调用该函数,将100~200之间的素数全部输出,要求屏幕 上每个数占4位,每行显示5个素数,左对齐。(循环、条件分支、子函数、变量的值传递、屏 幕显示格式控制)

C程序设计复习题答案

程序设计基础复习题答案 一、填空题 1、C语言所提供的实型变量分为两种类型,它们是float和double 。 2、一个C源程序中至少应包含一个主函数或main函数。 3.已知字母a的ASCII码为十进制数97,且设ch为字符型变量,则表达式ch=’a’+’8’-’3’ 4.在标准C 5.对以下说明:int c[10] = {116, 125, 218, 312, 100, 40, 13, 67, 186}; c[4]的值为 100 。 6.在C语言中,引用数组元素时,引用数组元素时,其数组下标的数组类型允许是整型常量或整型表达式。 7.设y为int 型变量,请写出描述“y是偶数”的表达式 (y%2)==0 。 8.设int i=0,j=1,k=2,a=3,b=4; 执行表达式(a=ik)的值为 0 。 9.与表达式 a+=b 等价的另一书写形式是 a=a+b 。 10.有以下定义和语句 int a[3][2]={1,2,3,4,5,6,},*p[3]; p[0]=a[1]; 则*(p[0]+1)所代表的数组元素是a[1][1] 。 11.代表一个反斜杠字符“\”的转义字符是 '\\' 。 12.变量的指针就是变量的地址,存放变量地址的变量就是指针变量,它用来指向另一个变量。 13.++i和i++的不同之处在于i++是先使用i的值后,再执行i=i+1;而++i是先执行i=i+1后,再使用i的值。 14.设x、y和z是int 型变量,且x=3,y=4,z=5, 则表达式! ((x

C语言程序设计课程作业

C语言程序设计课程作业_A 一、单选题 1. (4分)设有以下定义int k=7, x=12;,则能使值为3的表达式是() ? A. x%=(k%=5) ? B. x%=(k-k%5) ? C. x%=k ? D. (x%=k)-(k%=5) 答案D 解析C语言程序设计/数据类型与运算/整型算术表达式 2. (4分)以下程序的输出结果是? #include main() { int x=020,y=0x20,z=20; printf('%d,%d,%d ', x,y,z); } ? A. 20,20,20 ? B. 32,16,20 ? C. 16,32,20 ? D. 20,32,20 答案C 解析C语言程序设计/数据类型及运算 3. (4分)C语言中while和do while循环的主要区别是( ) ? A. do-while的循环至少无条件执行一次

? B. while循环控制条件比do-while的循环控制条件严格 ? C. do-while允许从外部转入到循环体内 ? D. do-while的循环体不能是复合语句 答案A 解析C语言程序设计/循环程序设计/while语句与do-while语句 4. (4分)执行语句scanf('%d,%d',&m,&n);使m和n的值分别为1和2,正确输入是( ) ? A. 1 ? B. 1 2 ? C. 1,2 ? D. 12,2 答案C 解析C语言程序设计/顺序程序设计/整型数据的格式输入 5. (4分)sizeof(float)是( ) ? A. 一个双精度型表达式 ? B. 一个整型表达式 ? C. 一种函数调用 ? D. 一个不合法的表达式 答案B 解析C语言程序设计/数据类型与运算/实型变量存储 6.

C程序设计综合练习题读程序写结果题

C++程序设计模拟题 三、用C++语言描述下列命题 1、A小于B并且A大于C 2、A和B中有—个小于C 3、A是奇数 4、B和C中较大者与A相等 5、年份Y是闰年 四、写出下列程序的执行结果 #include voidmain() { intb[3][5]={11,12,13,14,15,21,22,23,24,25,31,32,33,34,35}; int(*p)[5]; p=b; for(intj=0;j<5;j++) cout<<*(*p+j)<<","; cout< voidswapl(inta,intb) { inttemp=a; a=b; b=temp; } voidswap2(int*a,int*b) { inttemp=*a; *a=*b,*b=temp; } voidswap3(int*a,int*b) { int*temp=a; a=b,b=temp; } voidswap4(int&a,int&b) { inttemp=a; a=b;b=temp; } voidmain() { inta=10,b=20; swapl(a,b); cout<

swap2(&a,&b); cout< voidprint(intw) { inti; if(w!=0) { print(w-1); for(i=1;i<=w;i++) cout< #definesw(x,y){x^=y;y^=x;x^=y;} voidmain() { inta=10,b=01; sw(a,b); cout< voidmain() { inta,b,c,x; a=b=c=0; for(intk=0;k<10;k++) { cin>>x; switch(x%3) { case0:a+=x;break; case1:b+=x;break; case2:c+=x;break;

C语言程序设计习题题(编程题)

C语言程序设计习题(编程类) 1、从键盘输入任意的字符,按下列规则进行分类计数。 第一类'0','1','2','3','4','5','6','7','8','9' 第二类'+','-','*','/','%','=' 第三类其它字符 当输入字符'\'时先计数,然后停止接收输入,打印计数的结果。 参考答案: #include void main( ) { int class1, class2, class3; char ch; class1=class2=class3=0;/* 初始化分类计数器*/ do { ch=getch( ); switch(ch) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': class1++;break;/* 对分类1计数*/ case '+': case '-': case '*': case '/': case '%': case '=': class2++;break;/* 对分类2计数*/ default: class3++;break;/* 对分类3计数*/ } }while (ch!= '\\');/* 字符'\'在C程序中要使用转义符'\\' */ printf("class1=%d, class2=%d, class3=%d\n", class1, class2, class3); } 2、从键盘输入十个整数,用插入法对输入的数据按照从小到大的顺序进行排序,将排序后的结果输出。 参考答案: void main( ) { int i,j,num,a[10]; for(i=0;i<10;i++) { printf("Enter No. %d:", i+1); scanf("%d",&num); for(j=i-1;j>=0&&a[j]>num;j--) a[j+1]=a[j]; a[j+1]=num; } for(i=0;i<10;i++) printf ("No.%d=%d\n", i+1, a[i]); }

相关文档
相关文档 最新文档