搜档网
当前位置:搜档网 › 04737 2009年1月c++程序设计试题及答案

04737 2009年1月c++程序设计试题及答案

04737 2009年1月c++程序设计试题及答案
04737 2009年1月c++程序设计试题及答案

全国2009年1月自学考试C++程序设计试题

课程代码:04737

一、单项选择题(本大题共20小题,每小题1分,共20分)

在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。

1.C++源程序文件扩展名为( A)

A..cpp

B..h

C..1ib

D..obj

2.在C++中使用流进行输入输出,其中专用于从键盘进行输入的流是( B)

A.cerr

B.cin

C.cout

D.cfile

3.包含自定义头文件file.h的预处理指令是( D)

A.#define

B.#include file.h

C.#define file.h

D.#include"file.h"

4.用于标识十六进制前缀或后缀是( D)

A.无

B.后缀L或e

C.前缀零

D.前缀0x

5.设存在整型变量int x,则下列句与其它三项含义不同的是( A)

A.int* p=&x;

B.int& p=x;

C.int & p=x;

D.int &p=x;

6.在定义类成员时,为产生封装性,则需使用哪个关键字( D)

A.public

B.publish

C.protected

D.private

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

A.10,10

B.10,15

C.15,10

D.15,15

8.函数默认参数在函数原型中说明,默认参数必须放在参数序列的( C)

A.前部

B.中部

C.后部

D.两端

9.设存在函数int min(int,int)返回两参数中较小值,若求15,26,47三者中最小值,下列表达式中错误的是( B)

A.int m=min(min(15,26),min(15,47));

B.int m=min(15,26,47);

C.int m=min(15,min(47,26));

D.int m =min(min(47,26),16);

10.下列函数不能和函数void print(char)构成重载的是( C)

A.int print(int);

B.void print(char,char);

C.int print(char);

D.void print(int,int);

11.在下列成对的表达式中,运算结果类型相同的一对是( D)

A.7/2和7.0/2.0

B.7/2.0和7/2

C.7.0/2和7/2

D.7.0/2.0和7.0/2

l2.内联函数的特点是( A)

A.减少代码量,加快访问速度

B.减少代码量,减缓访问速度

C.增加代码量,减缓访问速度

D.增加代码量,加快访问速度

13.类的私有成员可在何处被访问( A)

A.本类的成员函数中

B.本类及子类的成员函数中

C.通过对象名在任何位置

D.不可访问

14.类的构造函数在以下什么情况下会被自动调用( B)

A.定义成员函数时

B.定义对象时

C.定义数据成员时

D.定义友元函数时

15.下列关于析构函数描述正确的是( D)

A.可以重载

B.函数体中必须有delete语句

C.返回类型必须是void类型

D.不能指定返回类型

16.设有函数T Sum(T x,T y){return x+y;},其中T为模板类型,则下列语句中对该函数错误的使用是( D)

A.Sum(1,2);

B.Sum(3.0,2.2);

C.Sum(…A?,…C?);

D.Sum("A","C");

17.下列哪个编译指令属于条件编译指令( C)

A.#include

B.#define

C.#else

D.#pragma

18.关于类的静态成员函数描述错误的是( A)

A.在创建对象前不存在

B.不能说明为虚函数

C.不能直接访问非静态函数

D.不是对象的成员

l9.如果类A被声明成类B的友元,则( D)

A.类A的成员即类B的成员

B.类B的成员即类A的成员

C.类A的成员函数不得访问类B的成员

D.类B不一定是类A的友元

20.派生类的对象可以访问以下那种情况继承的基类成员( D)

A.私有继承的私有成员

B.公有继承的私有成员

C.私有继承的保护成员

D.公有继承的公有成员

二、填空题(本大题共20小题,每小题1分,共20分)

请在每小题的空格中填上正确答案。错填、不填均无分。

21.若使用标准输出流把整型变量a的值输出到屏幕上,实现此操作的C++语句是__cout<

22.C++将数据从一个对象流向另一个对象的流动抽象为“流”,从流中获取数据的操作称为__提取____。

23.执行下列代码

int b=100;

cout<<"Hex:"<

程序的输出结果是__Hex:64____。

24.静态联编所支持的多态性称为_编译时_____的多态性。

25.C++程序必须有且只有一个主函数,其函数名为__main____。

26.写出声明一个复数对象的语句,并使该对象被初始化为 2.2+1.3i,此声明语句是__complex c(2.2,1.3);____。

27.若有函数定义为:

int add(int ml=0,int m2=2,int m3=4)

{return ml+m2+m3;}

在主函数中有int s=add(1)+add(0,1)+add(0,1,2);

则执行此语句后s的值为__15____。

28.C++中使用___inline___关键字说明函数为内联函数。

29.在源程序中有宏定义:#define PI 3.14,则若不想使该宏定义影响到程序的其它地方,可以使用_#undef PI_____删除该宏定义。(注:配套教材上没有)

30.类和其它数据类型不同的是,组成这种类型的不仅可以有数据,还可以有对数据进行操作的__函数_____。

31.有下列代码int a=0;double b=0;cin>>a>>b;当用键盘输入1.25时,b=__0.25____。

32.对于类Point而言,其析构函数的定义原型为_~Point();_____。

33.对象成员构造函数的调用顺序取决于这些对象在类中说明的顺序,与它们在成员初始化列表中给出的顺序__无关____。

34.类的简单成员函数是指声明中不含_const_____、volatile、static关键字的函数。

35.与操作对象的数据类型相互独立的算法称为__范型算法____。

36.从一个或多个以前定义的类产生新类的过程称为_派生_____。

37.在vector类中向向量尾部插入一个对象的方法是__push_back()____。

38.C++中用于动态创建对象,并返回该对象的指针的关键字是__new____。

39.C++的流类库预定义的与标准输出设备相联接的流是__cout ____。

40.执行下列代码

cout<

程序输出结果是__123____。

三、改错题(本大题共5小题,每小题2分,共10分)

下面的类定义中有一处错误,请用下横线标出错误所在行并给出修改意见。

41.#include

class f{

private:float x,y;

public:f(float a,float b){x=a;y=b;}

float max(){return(xy)?x:y;}

} ;

main( ){

f a(1.5,3.8);

cout<

}

42.#include

class test{

private:int x;

public:test(int a){x=a;}

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

void get(){cout<

}//error缺少分号;

main(){

const test a(3);

a.set(5);

a.get();

}

43.#include

class point{

private:float x,y;

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

point(){x=0;y=0;}

void getx(){cout<

void gety(){cout<

};

void print(point a){cout<

main(){

point a;

a.f1(3.0,5.0);

print(a);

}

44.#include

class f{

private:int x,y;

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

void print(){cout<

} ;

main(){

f a;

a.f1(1.5,1.8);//error:实际参数类型与f1函数的形参类型不一致,应修改为一致。

a.print();

}

45.#include

main(){

int x=6;

const int*p=x;//error:应改为const int*p=&x;

cout<<*p<

}

四、完成程序题(本大题共5小题,每小题4分,共20分)

46.完成下面程序,使其输出l0,并在退出运行时正确释放分配给指针的存储空间。#include

using namespace std;

void main()

{

int *a,*p;

a=new int(10);

p= __a____;

cout<<*p<

___delete p;(或delete a;)_______

}

47.#include

using namespace std;

class base

{

private:int x;

public:base(int a){x=a;}

int get(){return x;}

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

};

class Derived:public base

{private:int y;

public:Derived(int a,int b):base(a){y=b;}

void showderived()

{cout<<"x="<

};

void main()

{

base b(3);

Derived d(6,7);

b.showbase();

d.showderived();

b=d;

b.showbase();

Derived b1(d);(或Derived b1(6,7);或base b1(6);或base b1(d);)b1.showbase();

base* pb=&b1;

pb->showbase();

d.showderived();

b.showbase();

}

输出结果如下:

x=3

x=6,y=7

x=6

x=6

x=6

x=6,y=7

x=6

48.下面程序的运行结果如下:

B::display()

C::display()

在下划线处填上缺少的部分。源程序如下:

#include

using namespace std;

class B

{

public:

virtual void display( ) {cout << "B::display( ) "<

};

class C:public B

{

public:

virtual void (或void)display(){cout<<"C::display()"<

void fun(B*p)

{

p->display();

}

void main()

{

B b,*pb;

C c;

pb=&b;

fun(pb);

pb=&c;

fun(pb);

}

49.下面程序的运行结果如下:

This is line1

This is line2

This is line3

在下划线处填上缺少的部分。源程序如下:

#include

#include

using namespace std;

void main()

{

fstream fin, fout;

fout.open("my.txt",ios::out);

if(!fout.is_open())

return;

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

fout<<"This is line"<

fout.close();

fin.open("my.txt",ios::in);

if(! fin.is_open())

return;

char str[100];

while(!fin.eof()(或等价答案))

{

fin.getline(str,100);

cout<

}

fin.close();

}

50.在下划线处填上缺少的部分。源程序如下:#include

using namespace std;

template________

T fun(T x)

{

__T___y;

y=x*x-T(5);

return y;

}

void main()

{

float a=2;

cout<

}

五、程序分析题(本大题共4小题,每小题5分,共20分)

51.请写出myTextl.txt文本文件中的内容

#include

#include

using namespace std;

#include

void main()

{

ofstream myFile1;

myFile1.open("myTextl.txt");

cout<<"Enter the data in Chinese format(e.g. ,2008,May 25):"<

string Year=Date.substr(0,4);

int k=Date.find(",");

int i=Date.find(" ");

string Month=Date.substr(k+1,i-k-1);

string Day=Date.substr(i+1,2);

string NewDate=Day+" "+Month+" "+Year;

myFile1<<"original date:"<

myFile1<<"Converted date:"<

myFile1.close();

}

original date:2008,January 1

Converted date:1 January 2008

52.给出下面程序的输出结果

#include

using namespace std;

class Simple

{

int x,y;

public:

Simple(){x=y=0;}

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

void copy(Simple&s);

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

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

void Simple::copy(Simple&s)

{

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

}

void func(Simple s1,Simple&s2)

{

s1.setxy(30,40);

s2.setxy(70,80);

}

void main()

{

Simple obj1(1,2),obj2;

obj2.copy(obj1);

func(obj1,obj2);

obj1.print();

obj2.print();

}

x=1,y=2

x=70,y=80

53.给出下面程序的输出结果#include"iostream.h"

int main()

{

int i=17;

while(i>=10)

if(--i%4==3)continue; else

cout<<"i="<

}

i=16

i=14

i=12

i=10

54.给出下面程序的输出结果#include

using namespace std;

void main()

{

int num=300;

int &ref=num;

cout<

ref=ref-100;

cout<<" "<

num=num-50;

cout<<" "<

}

300 200 150

六、程序设计题(本大题共1小题,共10分)

55.定义堆栈类模板Stack(先进后出),栈的大小由使用者确定。要求该类模板对外提供如下二种基本操作:

(1)push入栈(2)pop出栈,用数组来实现

#include

using namespace std;

template

class Stack{

T x[size];

int current;

public:

Stack(){current=0;}

....push(....);

....pop(....);

};

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

#include

using namespace std;

template

class Stack{

T x[size];

int current;

public:

Stack(){current=0;}

bool Push(T e);

bool Pop(T &e);

};

template

bool Stack::Push(T e){//插入新元素e为新的栈顶元素

if(current == size){//栈满

return false;

}

x[++current] = e;

return true;

}//Push

template

bool Stack::Pop(T &e){//若栈不空,删除栈顶元素,并用e返回其值,并返回true,否则返回false

if( current == 0 ) return false;

e=x[current--];

return true;

}//Pop

//测试程序,不是答案的一部分

void main(){

Stack s;

s.Push(1);

//s.Push(2);

int e;

if(s.Pop(e))

cout<

else

cout<<"栈空"<

cout<<"再次出栈,试试看..."<

if(s.Pop(e))

cout<

else

cout<<"栈已空"<

}

C语言程序设计第三版习题库答案

C 语言程序设计(第三版)习题库 1、设圆半径r=,圆柱高h=3,求圆周长、圆面积、圆球表面积、圆球体积、圆柱体积。用scanf 输入数据,输出计算结果,输出时要求文字说明,取小数点后两位数字。请编程序。 #include<> main(){ floatr,h,C1,Sa,Sb,Va,Vb; scanf(__”%f ”__,&r); scanf(”%d ”,__&h _);; C1=2**r; Sa=*r*r; Sb=4*Sa; Va=4**r*r*r/3; Vb=Sa*h; printf(___”Cl=%.2fSa=%.2fSb=%.2fVa=%.2fVb=%.2f ”,Cl,Sa,Sb,Va,Vb ); } 2、输入一个华氏温度,要求输出摄氏温度。公式为c=5(F-32)/9 输出要求有文字说明,取位2小数。 #include<> main(){ floatF,c; scanf("%f",&F); ____c=5*(F-32)/9______; printf("c=%.2f",c); } 3、有一函数:?? ???≥-<≤-<=10113101121x x x x x x y 写一程序,输入x 值,输出y 值。 #include<> main(){ intx,y; printf("输入x :"); scanf("%d",&x); if(x<1){/*x<1*/ y=x; printf("x=%3d,y=x=%d\n",x,y);

}elseif(____x<10_______){/*1≤x-10*/ _____y=2*x-1_______; printf("x=%3d,y=2*x-1=%d\n",x,y); }else{/*x≥10*/ y=3*x-11; printf("x=%3d,y=3*x-11=%d\n",x#include"" main() { intx,y; scanf("%d",&x); if(x<1) {y=x;} elseif(x>=1&&x<10) {y=2*x-1;} else {y=3*x-11;} printf("%d",y); }#include"" main() { intx,y; scanf("%d",&x); if(x<1) {y=x;} elseif(x>=1&&x<10) {y=2*x-1;} else {y=3*x-11;} printf("%d\n",y); }#include"" main() { intx,y; scanf("%d",&x); if(x<1) {y=x;} elseif(x>=1&&x<10) {y=2*x-1;} else {y=3*x-11;} printf("%d",y); }scanf("%d",&x);

《程序设计基础》试卷B及答案

黄淮学院计算机科学系2007-2008学年度第一学期 期末考试《程序设计基础》B 卷 注意事项:本试卷适用于计科系06级本科计算机科学与技术专业学生。 1.__ ____函数是程序启动时惟一的入口。 2.算法的复杂性包含两方面: 和 。 3.已知 char c= 'a' ; int x=2,k; 执行语句k=c&&x++ ; 则x 为 ,k 为 。 4.数值0x34对应的十进制为 。 5.已知int a ; 则表达式”(a=2*3 , 3*8), a*10”的结果为_ _ ____,变量a 的值为___ ___。 6.面向对象程序开发步骤为: 、 和面向对象实现。 1.下列程序设计语言中( )是面向对象语言。 A. FORTRAN B. C 语言 C. C++ D. 汇编语言 2.下列关于注释的说法哪个是错误的( )。 A. 注释不是程序中的可执行语句 B. 注释对于程序的执行有很重要的意义 C. 注释将在程序的编译阶段被编译器剔除 D. 编程时在程序中添加适当的注释是一个良好的编程风格 3.算法设计应该遵守( )的设计原则。 A. 自底向上,逐步求精 B. 自顶向下,逐步求精 C. 自底向上,同步扩展 D. 自顶向下,同步扩展 4.下列语句执行后a 的值为( )。 int a=4, &z=a, k=3; a=k; z+=2; k++; A. 0 B. 4 C. 1 D. 5 5.以下程序执行后,屏幕输出为( )。 #include “iostream.h ” void fun(int d) {d++;} void main() { int d=3; fun(d); d++; cout<=’a ’)&&(d<=’z ’) B. ‘a ’<=d<=’z ’ C. (d>=’a ’)||(d<=’z ’) D. ‘A ’<=d<=’Z ’ 8.已知:int k=7, x=12; 则执行语句( )后x 的值为0。 A. x+=k-x%5; B. x+=(x-k%5); C. x%=(k-=5); D. (x-=k)-(k+=5); 9.运行下列程序,其输出结果为( )。 #include “iostream.h ” void main() { int x(5),y(5),z(5); y--&&++x&&z--||y++; cout<

高级语言程序设计(VB)随堂练习答案DOC

高级语言程序设计(VB)随堂练习答案 第1章概述·1.1程序设计语言 当前页有1题,你已做1题,已提交1题,其中答对1题。 1. https://www.sodocs.net/doc/f16366223.html,是一种( )程序设计语言。 A. 面向事件 B. 面向属性 C. 面向对象 D. 面向过程 答题: A. B. C. D. (已提交) 参考答案:C 问题解析: 第1章概述·1.2程序设计 当前页有2题,你已做2题,已提交2题,其中答对2题。 1.把源程序代码翻译为目标程序代码可以使用的翻译方式为( )。 A. 嵌入方式 B. 运行方式 C. 连接方式 D. 解释方式或编译方式 答题: A. B. C. D. (已提交) 参考答案:D 问题解析: 2.编译程序时出现的错误称为( ) 错误。 A. 语法或编译 B. 运行 C. 逻辑 D. 计算 答题: A. B. C. D. (已提交) 参考答案:A 问题解析: 第1章概述·1.3建立简单控制台应用程序 当前页有3题,你已做3题,已提交3题,其中答对3题。 1.存储数据不属于数据处理功能。

答题:对. 错. (已提交) 参考答案:× 问题解析: 2.控制台应用程序至少有一个Main过程。 答题:对. 错. (已提交) 参考答案:√ 问题解析: 3.上机时,程序编译和连接成功后,系统自动生成以.exe为扩展名的可执行文件。 答题:对. 错. (已提交) 参考答案:√ 问题解析: 第2章基本数据类型与表达式·2.1基本字符集和词汇集 当前页有3题,你已做3题,已提交3题,其中答对3题。 1.下面选项中()是算术运算符。 A. % B. & C. Mod D. And 答题: A. B. C. D. (已提交) 参考答案:C 问题解析: 2.下面不合法的标识符是()。 A. Go_To B. Integer C. 姓名 D. Int1 答题: A. B. C. D. (已提交) 参考答案:B 问题解析: 3.在程序设计语言系统中具有固定语法含义的符号串称为标识符。 答题:对. 错. (已提交) 参考答案:× 问题解析: 第2章基本数据类型与表达式·2.2 基本数据类型

C语言程序设计试题集与答案解析

一.填空 1. 每个C程序都必须有且仅有一个________ 函数。 2. C语言程序开发到执行通常要经过6个阶段即编辑、预处理、________、链接、加载和执行。 3. 软件是程序,以及______、使用和维护所需要的所有文档。 4. 国标中规定:“计算机程序是按照具体要求产生的适合于计算机处理的_________”。 5. 程序设计语言按照书写形式,以及思维方式的不同一般分为低级语言和________两大类。 6. C语言是由________组成的。 7. C语言的函数可分为主函数main、标准库函数和_________。 8. 一个函数是由两部分组成的,即:________和函数体。 9. 编译是将C语言所编写的源程序________成机器代码,也称为建立目标代码程序的过程。 10. 程序是由某种程序设计语言编制出来,体现了编程者的控制思想和对计算机执行操作 的要求。不同的任务功能,就会需求不同的软件程序,如:控制计算机本身软硬件协调工作,并使其设备充分发挥效力,方便用户使用的系统软件程序,称为操作系统;而为办公自动化(OA)、管理信息系统(MIS)、人工智能、电子商务、网络互联等等应用而开发的软件程序,统称为_________。 11. 机器语言是以__________形式表示的机器基本指令的集合,是计算机系统唯一不需要翻译可以直接识别和执行的程序设计语言。 12. 与机器语言相比,使用汇编语言来编写程序可以用_______来表示指令的操作码和操作对 象,也可以用标号和符号来代替地址、常量和变量。

13. 在编译程序之前,凡以____开头的代码行都先由预处理程序预处理。 14. C程序的执行均是由执行_________开始。 15. 函数体即为包含在{}内的部分。它分为________和为完成功能任务由若干个C 语句 组成的执行部分。 16. C语言程序中一条简单语句是以________字符作为结束符的。 17. C语言是结构化、________的程序设计语言。 18. 由于计算机硬件不能直接识别高级语言中的语句,因此,必须经过“_______程序”,将用高级语言编写的程序翻译成计算机硬件所能识别的机器语言程序方可执行。 19. 用高级语言编写的程序需翻译成计算机硬件所能识别的机器语言程序方可执行。所以 说,用高级语言进行程序设计,其编程效率高,方便易用,但_______没有低级语言高。 20.

程序设计基础试题和答案解析二

《程序设计基础》考试试卷二 1.1966年,Bohra和Jacopini提出的三种基本程序设计结构是:________ A.if、while和for; B. switch、do-while和for; C.while、do-while和for; D.顺序结构、分支结构和循环结构。 2.算法的特征不包括:______。 A.有穷性 B.可行性 C.确定性 D.有1个或者多个输入。 3.C语言源程序的基本组成单位是______。 A.函数 B. 语句 C. 声明和语句 D. 文件 4.下列标识符中,只有______是合法的。 A.if B. 3ab C. Int D. A-4 5.下列常量中,只有______是合法的。 A.3e-0.3 B. ‘abc’ C. 02a1 D. ‘\377’ 6.下列说法中正确的是:______。 A.C语言中的for语句的三个表达式都可以省略,而且分号也可以省略。 B.宏替换比函数调用的执行速度慢。 C.实质上,C语言中的指针就是一个变量的地址。 D.C语言中的任何函数都可以由程序员命名。 7.C语言中,运算对象必须是整型的运算符是_______。 A./ B. % C. + D. - 8.以下叙述中错误的是_______。 A.C语句必须以分号结束 B.复合语句在语法上被看作一条语句 C.空语句出现在任何位置都不会影响程序运行 D.赋值表达式末尾加分号就构成赋值语句 9.以下叙述中正确的是_______。 A.调用printf函数时,必须要有输出项 B.使用putchar函数时,必须在之前包含头文件stdio.h C.在C语言中,整数可以以十二进制、八进制或十六进制的形式输出 D.调用getchar函数读入字符时,可以从键盘上输入字符所对应的ASCII码10.以下关于函数的叙述中正确的是_______。 A.每个函数都可以被其它函数调用(包括main函数) B.每个函数都可以被单独编译 C.每个函数都可以单独运行 D.在一个函数内部可以定义另一个函数 11.有以下程序段typedef struct NODE{ int num; struct NODE *next;

《高级语言程序设计》复习题及答案

一、选择题 1.以下叙述正确的是( ): A)在C程序中,main函数必须位于程序的最前面 B) C程序的每行只能写一条语句 C) C语言使用库函数实现输入输出操作 D)注释中的拼写错误会影响编译结果 2、以下说法中正确的是() A) C语言程序总是从第一个的函数开始执行 B) C语言程序总是从main()函数开始执行 C)在C语言程序中,要调用的函数必须在main()函数中定义 D)C语言程序中的main()函数必须放在程序的开始部分 3、下列选项种说法正确的是( ) A)函数由声明部分和执行部分两部分组成 B)语言中main函数一定在程序的开始部分 C)C语言程序总是从第一个定义的函数开始执行 D)C程序的每行中只能写一条语句 4、设有说明:int a;float b; char c; double d; 则表达式1.3*a+2*b*c+d*(int) 2.6 值的类型为( )。 A)doubleB) char C) floatD) int 5、C语言的标识符只能由字母、数字和下划线三种字符组成,且第一个字符( ) A)必须为字母 B)必须为下划线 C)必须为字母或下划线 D)可以是字母、数字和下划线中任一种字符 6、以下不正确的C语言标识符是( )。 A) ABC B) abc C)a_bc D) void 7、下列运算符中优先级最高的是( ) A)< B)+ C)&& D)!= 8、以下选项中属于C语言中合法关键字的是( ) A)Float B)abc C)int D)CASE 9、若x、i、j和k都是int型变量,计算下面表达式后,x的值为( ) x=(i=4,j=16,k=32) A)4 B)16 C)32 D)52 10、在C语言中,要求数据必须是整型的运算符是( ) A)/ B)+ + C)!=D) % 11、若整型变量x的值为8,则下列表达式中值为1的表达式是 A)x+=x-=x B) x%=x-1 C) x%=x%=3 D) x/=x+x 12、若w=1,x=2,y=3,z=4,则条件表达式“w > x? w : y< z ? y : z”的值是( ) A)4 B)3 C)2 D)1 13、有以下程序,程序运行后的输出结果是。 main() {inti=1,j=2,k=3; if(i++==1&&(++j==3||k++==3)) printf("%d %d %d\n",i,j,k); }

《高级语言程序设计》答案

1. 输入两个整数,要求用两个函数求出其最大公约数和最小公倍数,最大公约数和最小公倍数都在主函数中输出。#include int main() { int i,j,t; int max(int,int); int min(int,int); scanf("%d%d",&i,&j); if(i int main() { int max4(int,int,int,int); //对max4的函数声明 int a,b,c,d; scanf("%d%d%d%d",&a,&b,&c,&d); //输入4个数 printf("max=%d\n",max4(a,b,c,d));//调用4个数中的最大者 return 0; } int max4(int a,int b,int c,int d) //定义max4函数 { int max2(int,int); //对max2的函数声明 return max2(max2(max2(a,b),c),d); //调用max2把作为函数值带回main函数} int max2(int a,int b) { return(a>b?a:b); //返回条件表达式的值,即a和b中的大者 } 3. 用递归调用的方法求5!。 #include int main() { int fac(int); int n; scanf("%d",&n);

c语言程序设计第五版习题答案

习题解析与答案 第1章C语言概述 一.简答题 1.概述C语言的主要特点。 【解答】 (1)语言简洁、紧凑,使用方便、灵活。 (2)数据类型丰富,表达能力强。 (3)运算符多样。C语言中的运算符包含的范围非常广泛。 (4)具有结构化的控制语句。如if…else语句、while语句、do while语句、switch 语句、for语句。 (5)允许直接访问物理地址。C语言中含有的位和指针运算,能够直接对内存地址进行访问操作。 (6)所生成的目标代码质量高,可移植性好。 2.构成C语言程序的基本单位是什么?它由哪几部分组成? 【解答】函数是构成C语言程序的基本单位。一个完整的C程序一般由文件包含、宏定义、函数说明、变量和一个或若干个函数组成。 3.C语言程序的运行一般要经过哪几个步骤? 【解答】(1)编辑;(2)编译;(3)连接,生成EXE文件;(4)执行。 二.运行程序写结果 1.输入下面程序并运行。 main() { int a1,a2,x; a1=100; a2=50; x=a1-a2; printf(″x=%d\n″,x); } 【解答】运行结果为:x=50 2.输入下面程序并运行。 main() { int a1,a2,x; a1=10; a2=20; x=a1*a2; printf(″a1=%d,a2=%d\n″,a1,a2); printf(″x=%d\n″,x); } 【解答】运行结果为:a1=10,a2=20 x=200 3.输入下面程序并运行。

#include main() { printf("******\n"); printf(" *****\n"); printf(" ****\n"); printf(" ***\n"); printf(" **\n"); printf(" *\n"); } 【解答】运行结果为:****** ***** **** *** ** * 思考:可以修改程序,使之输出平行四边形,等腰三角形等图形。 三.编程题 1.参照本章例题,编写一个C程序,用于显示如下信息: ************************* I love C programs! ************************* 【分析与提示】 ①要有文件包含语句#include 。C语言中没有数据的输入、输出等功能,数据的输入、输出都是通过调用系统提供的库函数scanf和printf等来实现的。这些函数的说明都包括在stdio.h文件中。 ②main是主函数的名称。用{}括起来的内容是函数体,函数体由若干条语句组成,这是计算机要执行的部分,每条语句以分号“;”结束。 ③注意显示的信息有三行,所以要用到换行符“\n”。 参考代码: #include main() { printf("************************\n"); printf(" I love C programs! \n"); printf("************************\n"); }

《程序设计基础》试卷(A卷)

《程序设计基础》试卷(A 卷) 注意:1、考试时间: 90 分钟; 2、班级、姓名、学号必须写在指定地方; 3、适用班级: 4、考试方式: 一、填空题 (每空 2 分,共 20 分) 1、C 程序是由函数构成的,其中有且只能有 1 个主函数,每个C 程序总是从它开始执行,并且以 ; 作为结束符。 2、C 语言中三大基本结构有:顺序结构、 选择结构 、 循环结构 。 3、‘A ’+3的结果是 68 。 4、若已定义x 和y 为double 类型,则表达式x=1,y=x+3/2 的值是 2.5 。 5、C 语言中逻辑运算符 ! 的优先级高于算术运算符。 6、符号“a”和‘a’的区别是 “a ”2字节 ‘a ’1字节 。 7、C 语言的预处理语句以____#_____开头。 8、有如下输入语句:scanf(“a=%d,b=%d ,c=%d”,&a ,&b ,&c );为使变量a 的值为1,b 的值为3,c 的值为2,从键盘输入数据的正确形式应是 a=1,b=3,c=2 。 二、选择题 (每小题 3 分,共 30 分) 1、下列叙述中错误的是( D )。 A 、 if 语句允许用户选择是否执行某个操作。 B 、 if else 语句允许用户选择执行两个操作中的某个操作。 C 、 switch 语句允许用户选择执行多个操作中的某个操作 D 、 多分支选择结构只能使用switch 语句实现 2、以下不正确的C 语言标识符是( D ) A 、ABC B 、abc C 、a_bc D 、ab.c 3、按照C 语言规定的用户标识符命名规则,不能出现在标识符中的是( B )。 A 、大写字母 B 、连接符 C 、数字字符 D 、下划线 4、将int 型变量n 转换成float 型变量的方法是( B )。 A 、float n B 、(float)n C 、float(n) D 、(int )n 5、( A )是构成C 语言的基本单位。 A 、函数 B 、子函数 C 、过程 D 、子过程 6、下面关于运算符优先顺序的描述中正确的是( B )。 A 、关系运算符< 算术运算符< 赋值运算符< 逻辑与运算符 B 、逻辑运算符< 关系运算符< 算术运算符< 赋值运算符 C 、赋值运算符< 逻辑与运算符< 关系运算符< 算术运算符 D 、算术运算符< 关系运算符< 赋值运算符< 逻辑与运算符 7、在C 语言中,要求参加运算的数必须是整数的运算符是( C )。 A 、/ B 、! C 、% D 、= = 8、char 型常量在内存中存放的是( B )。 A 、ASCII 代码值 B 、BCD 代码值 C 、内码值 D 、十进制代码值 9、以下程序的输出结果是( B ) Main() { Int x=10,y=4; Printf(“%d\n ”,x/y);

2020年10月全国高级语言程序设计(一)自考试题及答案解析.docx

??????????????????????精品自学考料推荐?????????????????? 全国 2018 年 10 月高等教育自学考试 高级语言程序设计(一)试题 课程代码: 00342 一、单项选择题(本大题共20 小题,每小题 1 分,共 20 分) 在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括 号内。错选、多选或未选均无分。 1.下列不正确的转义字符是() . A. ′ ′ B. ′ ″ C. ′ \086′ D. ′ \0′ 2.下列运算符中,优先级最高的是() A. [] B.++ C.% D.&& 是 C 语言保留字的是 () 3.下列标识符中,不. A. char B. while C. min D. default 4.下列数据中,不.是 C 语言常量的是 () A. ′ \n′ B. ″ a″ C. e-2 D. 012 5.若定义了 int a; char b; float c ;,则表达式a*b-c 的类型是 () A. float B. int C. char D. double 6.若定义了 int a, x,y;,则下列语句中不.正确的是 () A. x=3 ,y=5 ; B. ++x ; C. x=y+=x*30 ; D. a=y+x=30 ; 7.调用函数时,若实参是一个数组名,则向函数对应的形参传送的是() A. 数组的长度 B.数组的首地址 C. 数组第一个元素的值 D. 整个数组元素的值 8.在 C 语言中,函数返回值的类型是由() A. 定义的函数类型决定 B.return 语句中表达式的类型决定 C.调用该函数的主调函数类型决定 D. 调用该函数时系统状态决定 9.若定义了 int b [][ 3]={ 1,2, 3,4, 5, 6, 7};,则 b 数组第一维的长度是 () A. 2 B. 3 C. 4 D.无确定值 1

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

《C语言程序设计》练习及答案 得分评卷人复查人 一、单选题,每小题1分,共60分(将正确答案的序号写在题目的括号中)。 1、结构化程序设计的三种基本控制结构是(D )。 A、主程序、子程序、函数 B、输入、处理、输出 C、调用,返回,转移 D、顺序、选择、循环 2、下列关于C程序变量的叙述, ( D )是错误的。 A、变量名必须由字母或下划线开头。 B、程序中的变量必须在被使用之前定义。 C、不同的基本类型的变量之间可以混合运算。 D、变量的数据类型决定变量的"作用域"。 3、能将C语言编写的源程序转换为目标程序的软件是(C )。 A、编辑程序 B、汇编程序 C、编译程序 D、解释程序 4、以下符号中,合法的用户标识符是( D )。 A、-p B、int C、3ab D、_xt_ 5、以下选项中,与m=n++完全等价的表达式是( C )。 A、m=++n B、m+=n+1 C、m=n, n=n+1 D、n=n+1,m=n 6、若有定义:int aa[8];。则以下表达式中不能代表数组元aa[1]的地址的是(C )。 A、&aa[0]+1 B、&aa[1] C、&aa[0]++ D、aa+1 7、表达式!5&(7+3)&&(4+5)的值是(A)。 A、0 B、1 C、5 D、9 8、以下选项中非法的C语言表达式是(A )。 A、x+1=x+1 B、0<=x<100 C、i=j==0 D、(char)(65+3) 9、在TURBO C中, int类型变量所占字节数是(B )。 A、1 B、2 C、4 D、8 10、C语言中基本的数据类型包括(B)。 A、整型,实型,逻辑型 B、整型,实型,字符型

C语言程序设计第二版习题参考答案

C语言程序设计第二版 习题参考答案 Document serial number【LGGKGB-LGG98YT-LGGT8CB-LGUT-

C语言程序设计习题参考答案 习题 1 一、判断题 1.在计算机中,小数点和正负号都有专用部件来保存和表示。 2.二进制是由0和1两个数字组成的进制方式。 3.二进制数的逻辑运算是按位进行的,位与位之间没有进位和借位的关系。 4.在整数的二进制表示方法中,0的原码、反码都有两种形式。 5.有符号数有三种表示法:原码、反码和补码。 6.常用字符的ASCII码值从小到大的排列规律是:空格、阿拉伯数字、大写英文字母、小写英文字母。 解:1.F2.T 3.T 4.T 5.T 6.T 二、单选题 1.在计算机中,最适合进行数值加减运算的数值编码是。 A. 原码 B. 反码 C. 补码 D. 移码 2.已知英文小写字母m的ASCII码为十进制数109,则英文小写字母y的ASCII 码为十进制数。 A. 112 B. 120 C. 121 D. 122 3.关于ASCII码,在计算机中的表示方法准确地描述是。 A. 使用8位二进制数,最右边一位为1 B. 使用8位二进制数,最左边一位为1 C. 使用8位二进制数,最右边一位为0 D. 使用8位二进制数,最左边一位为0 4.设在机器字长4位,X=0111B,Y=1011B,则下列逻辑运算中,正确的是 ___________。 A. X∧Y=1000 B. X∨Y=1111 C. X⊕Y=0011 D. ˉY=1000 5.下列叙述中正确的是()。 A.高级语言就是机器语言 B.汇编语言程序、高级语言程序都是计算机程序,但只有机器语言程序才是计算机可以直接识别并执行的程序 C.C语言因为具有汇编语言的一些特性,所以是汇编语言的一种 D.C源程序经过编译、连接,若正确,执行后就能得到正确的运行结果6.用C语言编写的源程序经过编译后,若没有产生编译错误,则系统将()。 A.生成可执行文件B.生成目标文件 C.输出运行结果D.自动保存源文件 7.下列叙述中不正确的是()。 A.main函数在C程序中必须有且只有一个 B. C程序的执行从main函数开始,所以main函数必须放在程序最前面 C. 函数可以带参数,也可以不带参数。

程序设计基础期末考试题A卷

《程序设计基础》试题 程序设计基础期末考试题A 卷 一、 选择题(1*20=20分) 题号 1 2 3 4 5 6 7 8 9 10 总分 答案 题号 11 12 13 14 15 16 17 18 19 20 答案 1、一个完整的计算机系统应该包括( ) A 、系统软件和应用软件 B 、计算机及其外部设备 C 、硬件系统和软件系统 D 、系统硬件和系统软件 2、“裸机”的概念是指( ) A 、正在进行设计还没有组装好的计算机 B 、已经组装好但还没有安装任何软件的计算机 C 、仅安装了操作系统的计算机系统 D 、安装了文字处理软件但没有安装专用数据处理系统的计算机 3、世界上第一台电子数字计算机研制成功的时间是( ) A 、1936年 B 、1946年 C 、1956年 D 、1970年 4、CASE 的含义是( ) A 、计算机辅助设计 B 、计算机辅助制造 C 、计算机辅助教学 D 、计算机辅助软件工程 5、当前广泛使用的微型计算机是( ) A 、第一代 B 、第二代 C 、第三代 D 、第四代 6、当代计算机的体系结构称为是( ) A 、冯·诺依曼机 B 、非冯·诺依曼机 C 、图灵机 D 、比尔盖茨机 7、硬盘是( ) A 、输入设备 B 、输出设备 C 、存储设备 D 、计算设备 8、下面4句话中,最准确的表述是( ) A 、程序=算法+数据结构 B 、程序是使用编程语言实现算法 C 、程序的开发方法决定算法设计 D 、算法是程序设计中最关键的因素 9、计算机能直接执行的语言是( ) A 、机器语言 B 、汇编语言 C 、高级语言 D 、目标语言 10、解释程序的功能是( ) A 、将高级语言程序转换为目标程序 B 、将汇编语言程序转换为目标程序 C 、解释执行高级语言程序 D 、解释执行汇编语言程序 11、下面4种程序设计语言中,不是面向对象式语言的是( ) A 、JAVA B 、Object Pascal C 、Delphi D 、C 12、不是C 语言的基本数据类型是( ) A 、int B 、double C 、char D 、bool 13、在C 语言中,为了求两个整数相除之后得到的余数,可以使用运算符( ) A 、/ B 、% C 、* D 、++ 14、数据的逻辑结构分为( ) A 、纯属结构和非线性结构 B 、顺序结构和非顺序结构 C 、树型结构和图型结构 D 、链式结构和顺序结构 班级 姓名

高级语言程序设计答案

《高级语言程序设计答案 一、选择题(每题2分,共30分,请将答案写在后面的答题栏...上) 1-5 BDBBB 6-10 BBDCC 11-15 CDBAB 二、填空题(1-3题每空1分,4-8题每空2分,共20分) 1、对象,事件驱动 2、frm ,vbp 3、函数 过程 4、31 5、9 6、countn<5 n mod 3=1 and n mod 5=1 and n mod 7=1 8、7 7、*n s+1/f 三、综合题(每题5分,共25分) 1、 (2*y)/(a*x+b*y)(a*x-c*z) 2、(x+sqr(x^2+1))^(1/3) 3、30 60 4、7 5、1)建立界面。先建立窗体,再利用控件在窗体上创建各种对象。 2)设置属性。设置窗体或控件等对象的属性。 3)编写代码。编写对象的事件代码。 四、程序设计题(8+8+9,共25分) 1:x 的值由文本框输入,计算分段函数的值:y=???????≥<≤<≤<2 ,321,210,10,0x x x x 。 private sub command1_click( ) Dim x% x=text1.text if x>=2 then y=3 elseif x>=1 then y=2 elseif x>=0 then y=1 2:统计100以内被3整除的数比被5整除的数多多少。 Private Sub Command1_Click() Dim i%, s1%, s2% For i = 1 To 100 If i Mod 3 = 0 Then s1 = s1 + 1 If i Mod 5 = 0 Then s2 = s2 + 1 Next i

程序设计基础试题(附答案)

程序设计基础复习题 一、单选 1、一个完整的计算机系统应该包括() A、系统软件和应用软件 B、计算机及其外部设备 C、硬件系统和软件系统 D、系统硬件和系统软件 2、“裸机”的概念是指() A、正在进行设计还没有组装好的计算机 B、已经组装好但还没有安装任何软件的计算机 C、仅安装了操作系统的计算机系统 D、安装了文字处理软件但没有安装专用数据处理系统的计算机 3、世界上第一台电子数字计算机研制成功的时间是() A、1936年 B、1946年 C、1956年 D、1970年 4、CASE的含义是() A、计算机辅助设计 B、计算机辅助制造 C、计算机辅助教学 D、计算机辅助软件工程5、当前广泛使用的微型计算机是() A、第一代 B、第二代 C、第三代 D、第四代 6、当代计算机的体系结构称为是() A、冯·诺依曼机 B、非冯·诺依曼机 C、图灵机 D、比尔盖茨机 7、硬盘是() A、输入设备 B、输出设备 C、存储设备 D、计算设备 8、下面4句话中,最准确的表述是() A、程序=算法+数据结构 B、程序是使用编程语言实现算法 C、程序的开发方法决定算法设计 D、算法是程序设计中最关键的因素

9、计算机能直接执行的语言是() A、机器语言 B、汇编语言 C、高级语言 D、目标语言 10、解释程序的功能是() A、将高级语言程序转换为目标程序 B、将汇编语言程序转换为目标程序 C、解释执行高级语言程序 D、解释执行汇编语言程序 11、下面4种程序设计语言中,不是面向对象式语言的是() A、JAVA B、Object Pascal C、Delphi D、C 12、不是C语言的基本数据类型是() A、int B、double C、char D、bool 13、在C语言中,为了求两个整数相除之后得到的余数,可以使用运算符() A、/ B、% C、* D、++ 14、数据的逻辑结构分为() A、纯属结构和非线性结构 B、顺序结构和非顺序结构 C、树型结构和图型结构 D、链式结构和顺序结构 15、用链表表示纯属表的优点是() A、便于随机存取 B、便于插入和删除操作 C、花费的存储空间较顺序存储少 D、元素的物理顺序与逻辑顺序相同 16、栈的最主要特点是() A、先进先出 B、先进后出 C、两端进出 D、一端进一端出 17、下面4句结论只有一句是错误的,它是()

C语言程序设计习题答案

C 语言程序设计习题答案 习题一 C 语言程序设计概述 一、名词解释 (1)程序P1 (2)程序设计P1 (3)机器语言P1 (4)汇编程序P2 (5)高级语言P2 (6)编译程序P3 (7)解释程序P3 (8)算法P4 (9)结构化的程序设计P9 二、简述题 1. 设计程序时应遵循哪些基本原则?P4 答:正确性、可靠性、简明性、有效性、可维护性、可移植性。 2. 算法的要素是什么?算法具有哪些特点? 答:算法的要素是:操作与控制结构;算法的特点有:有穷性、确定性、有效性、有零个或多个输入、有一个或多个输出。 3. 算法的表示形式有哪几种? 答:算法的表示形式有:自然语言、传统流程图、伪代码、结构化的流程图(N_S 流程图,盒图)。 4. 有哪三种基本结构? 答:三种基本结构是:顺序结构、选择结构和循环结构。 5. 传统流程图与N-S 流程图最大的区别是什么? 答:N-S 流程图去掉了在传统流程图中常用的流程线,使得程序的结构显得更加清晰、简单。 三、用传统流程图、N-S 图分别表示求解以下问题的算法。 1. 有3个数a ,b ,c ,要求按由大到小的顺序把它们输出。 2. 依次将10个数输入,求出其中最大的数 和最小的数并输出。 3. 求1+2+3+…+100的值。

5. 求下列分段函数的值。 6. 求100~200之间的所有素数。 7. 求一元二次方程ax 2+bx+c=0的根。分别考虑d=b 2-4ac 大于0、等于0和小于0三种情况。 四、注释下面C 程序的各个组成部分。 main() /*主函数 */ { /*程序开始 */ int a,k,m; /*定义三个用来存放整数的变量 */ a=10; /*将整数10赋值给变量a */ k=2; /*将整数2赋值给变量k */ m=1; /*将整数1赋值给变量1 */ a=(k+m)*k/(k-m); /*先求出算术表达式的值,并将其赋值给变量a */ printf("%d\n",a); /*在屏幕上打印出变量a 的值 */ } /*程序结束 */ 习题二 数据类型、运算符与表达式 一、选择题 1~10:BCDCB DDBCA 11~20: ADDAA DBADC 21~28: DABAD CDD Y= 3X (X<1) 4X-1 (X=1) 5(X-1)+6 (1

《高级语言程序设计》期末考试试卷附答案

《高级语言程序设计》期末考试试卷附答案 一、选择题(共20题,每题3分,共60分) 1. 下列四个选项中,均是合法的整型常量的选项是() A.160 –0XFFFF 011 B. -0XCDF 01A 0XE C. -01 986,012 0688 D. -0X48a 2e5 0x 2. 下列四个选项中,均是不合法的浮点数的选项是() A.160.0.12 e3 B. 123 2e4.2 .e5C.18 0.0 123e4 D. e3. 234 1e3 3. 合法的C语言字符常数是() A.'\t' B. "A"C.54 D. A 4. 在C语言中,要求运算数一定是整型的运算符是() A./ B. ++C.!= D. % 5. 字符串常量”mine”的字符个数是() A.4 B. 5C.6 D. 7 6. 以下属于非法的C语言转义字符的是() A.'\b' B. '0xf'C.'\037' D. '\' 7. 若x、y、z均为int型变量,则执行以下语句后的输出是() x=(y=(z=10)+5)-5; printf("x=%d, y=%d, z=%d\n",x,y,z); y=(z=x=0,x+10); printf("x=%d, y=%d, z=%d\n",x,y,z); A. x=10, y=15, z=10 B.x=10, y=10, z=10 x=0, y=10, z=0x=0, y=10, z=0 C.x=10, y=15, z=10 D. x=10, y=10, z=10 x=10, y=10, z=0 x=10, y=10, z=0 8. 在以下一组运算符中,优先级最高的运算符是() A.<= B. =C.% D. && 9. 已知:int x; float y; 所用的scanf调用语句格式为: scanf( “x=%d, y=%f”, &x, &y ); 为了将数据10和66.6分别赋给x和y,正确的输入应当是() A.x=10, y=66.6<回车> B. 10, 66.6<回车> C.10<回车>66.6<回车> D. x=10<回车>y=66.6 <回车> 10. 已有如下定义的输入语句,若要求A1,A2,C1,C2的值分别为10,20,A和B,当从第一列开

C语言程序设计第三版谭浩强课后习题答案完整版

C语言程序设计第三版谭浩强 课后习题答案完整版 第一章 1.5请参照本章例题,编写一个C程序,输出以下信息:************************** V ery Good! ************************** 解: mian() {printf(“**************************”); printf(“\n”); printf(“V ery Good!\n”); printf(“\n”); printf(“**************************”); } 1.6 编写一个程序,输入a、b、c三个值,输出其中最大值。解: mian() {int a,b,c,max; printf(“请输入三个数a,b,c:\n”); scanf(“%d,%d,%d”,&a,&b,&c); max=a; if(max main() { char c1=?C?,c2=?h?,c3=?i?,c4=?n?,c5=?a?; c1+=4; c2+=4; c3+=4; c4+=4; c5+=4; printf("密码是%c%c%c%c%c\n",c1,c2,c3,c4,c5); } 运行结果: 密码是Glmre 3.9求下面算术表达式的值。 (1)x+a%3*(int)(x+y)%2/4 设x=2.5,a=7,y=4.7 (2)(float)(a+b)/2+(int)x%(int)y 设a=2,b=3,x=3.5,y=2.5 (1)2.5 (2)3.5 3.10写出程序运行的结果。 main() {int i,j,m,n; i=8; j=10; m=++i; n=j++; printf(“%d,%d,%d,%d”,i,j,m,n); } 解: 9,11,9,10 3.12 写出下面表达式运算后a的值,设原来a=12。设a和n都已定义为整型变量。 (1)a+=a (2)a-=2 (3)a*=2+3 (4)a/=a+a (5)a%=(n%=2),n的值等于5 (6)a+=a-=a*=a 解: (1) 24 (2) 10 (3) 60 (4) 0 (5) 0 (6) 0 第四章 4.4若a=3,b=4,c=5,x=1.2,y=2.4,z=-3.6,u=51274,n=128765,c1=’a’,c2=’b’。想得到以下输出格式和结果,请写出程序(包括定义变量类型和设计输出)。 a=_3_ _b=_4_ _c=_5 x=1.200000,y=2.400000,z=-3.600000 x+y=_3.600_ _y+z=-1.20_ _z+x=-2.40 c1=ˊaˊ_or_97(ASCII)

相关主题