当前位置:文档之家› C++例题及答案

C++例题及答案

C++例题及答案
C++例题及答案

作业1:输入两个变量,输出两个变量的最大值。要求:使用C++语言,使用max函数完成求最大值的操作。

#include

int max(int x, int y)

{ return (x>y?x:y);}

int main(int argc, char* argv[])

{

int a,b;

cout<<"输入两个数,求出最大值:" <

cin>>a>>b;

cout<<"最大值为:"<

cin>>a;

return 0;

}

作业2:(1) 输入下列简单C++程序,完成编译、连接、运行,熟悉C++程序的开发过程。#include

using namespace std;

const float PI = 3.1416;

void main()

{

int iType;

float radius, a, b, area;

cout << "图形的类型为?(1-圆形2-长方形3-正方形):";

cin >> iType;

switch(iType)

{

case 1:

cout << "圆的半径为:";

cin >> radius;

area = PI * radius * radius;

cout<<"面积为:"<

break;

case 2:

cout << "矩形的长为:";

cin >> a;

cout << "矩形的宽为:";

cin >> b;

area = a * b;

cout<<"面积为:"<

break;

case 3:

cout << "正方形的边长为:";

cin >> a;

area = a * a;

cout<<"面积为:"<

break;

default:

cout << "不是合法的输入值!"<

}

}

(2) 改写以上程序,要求:编写三个内联函数分别完成1-圆形2-长方形3-正方形的求面积操作。

(3) 改写以上程序,要求:编写三个函数分别完成1-圆形2-长方形3-正方形的求面积操作,以上三个函数分别写在三个文件中。

(4) 思考:可否使用重载函数完成三种形状的求面积操作?

答案:(2) 改写以上程序,要求:编写三个内联函数分别完成1-圆形2-长方形3-正方形的求面积操作。

#include

using namespace std;

const double PI = 3.1416;

inline float cirlearea(float);

inline float rectarea(float);

inline float zrectarea(float);

void main()

{

int iType;

float radius, a, b, area;

cout << "图形的类型为?(1-圆形2-长方形3-正方形):";

cin >> iType;

switch(iType)

{

case 1:

cout << "圆的半径为:";

cin >> radius;

area = cirlearea(radius);

cout<<"面积为:"<

break;

case 2:

cout << "矩形的长为:";

cin >> a;

cout << "矩形的宽为:";

cin >> b;

area = a * b;

cout<<"面积为:"<

break;

case 3:

cout << "正方形的边长为:";

cin >> a;

area = a * a;

cout<<"面积为:"<

break;

default:

cout << "不是合法的输入值!"<

}

}

float cirlearea(float r)

{

float area;

return area = PI * r * r;

}

float rectarea(float a,float b)

{

float area;

return area = a * b;

}

float zrectarea(float a)

{

area = a * a;

}

(3) 改写以上程序,要求:编写三个函数分别完成1-圆形2-长方形3-正方形的求面积操作,以上三个函数分别写在三个文件中。

#include

using namespace std;

const double PI = 3.1416;

inline float cirlearea(float,float);

inline float rectarea(float,float);

inline float zrectarea(float,float);

void main()

{

int iType;

float radius, a, b, area;

float (*carea)(float,float);

cout << "图形的类型为?(1-圆形2-长方形3-正方形):";

cin >> iType;

switch(iType)

{

case 1:

carea=cirlearea;

cout << "圆的半径为:";

cin >> radius;

area = (*carea)(radius,a=0);

cout<<"面积为:"<

break;

case 2:

carea=rectarea;

cout << "矩形的长为:";

cin >> a;

cout << "矩形的宽为:";

cin >> b;

area = (*carea)(a,b);

cout<<"面积为:"<

break;

case 3:

carea=zrectarea;

cout << "正方形的边长为:";

cin >> a;

area = (*carea)(a,a);

cout<<"面积为:"<

break;

default:

cout << "不是合法的输入值!"<

}

}

float cirlearea(float r,float def)

{

float area;

return area = PI * r * r;

}

float rectarea(float a,float b)

{

return area = a * b;

}

float zrectarea(float a,float def)

{

float area;

return area = a * a;

}

作业3:

(1)设计一个类CRectangle,要求如下所述:

a. 该类中的私有成员变量存放Rectangle的左上角x,y和它的长、宽,并且它们的默认值都是10。

b. 通过函数设置其长和宽,并确保长和宽在(0,50)范围之内。

c. 定义求它的周长的函数Perimeter。

#include

using namespace std;

class Rect

{

private:

int length;

int width;

int perim;

public:

Rect()

{

length =10;

width =10;

}

Rect(int length,int width)

{

this->length = length;

this->width = width;

}

void setLength(int length)

{

if(length >0 && length <50)

{

this->length = length;

}

else

{

cout<<"INPUT ERROR!"<

}

}

void setWidth(int width)

{

if(width >0 && width <50)

{

this->width = width;

}

else

{

cout<<"INPUT ERROR!"<

}

}

float permi()

{

return length*width;

}

};

int main()

{

Rect a;

a.setLength(20);

a.setWidth(20);

cout<

cin.get();

return 0;

}

(2)在实验任务一的基础上,要求有如下成员函数。

a. Move:从一个位置移动到另一个位置。

b. Size:改变矩形的大小。

c. Where:返回矩形左上角的坐标值。

d. Area:计算面积。

clase CRectangle

{

public:

void Move(int dx,int dy){left+=dx;top+=dy;};

void Size(int newW,int newH){width=newW;height=newH;};

void Where(int &x,int &y){x=left;y=top;};

int Area(){return(width*height);};

private:

int left,top;//矩形的左上角横坐标和纵坐标

int width,height;//矩形的宽度和高度

};

作业4:声明一个CPU类,要求:

(1)包含主频(frequency),字长(wordlength),CPU倍频系数(coefficient)属性,其中字长为枚举型enum cpu_wordlen={W16,W32,W64,W128,W256}, frequency是单位为GHz的实数,coefficient为浮点型数据。两个公有成员函数run和stop分别表示CPU的运行与停止。

(2)请在构造函数(带参数和不带参数)、拷贝构造函数、析构函数、run和stop函数体给出相应的提示(输出提示字符串,例如“the CPU is running!”)。

(3)说明并实现这个类,观察构造函数、拷贝构造函数和析构函数的调用顺序。

主函数内容如下所示:

int main()

{

double x=3.2,y=4.5;

CPU mycpu;

mycpu.run();

mycpu.stop();

CPU hiscpu(x,W64,y);

hiscpu.run();

hiscpu.stop();

CPU hercpu(hiscpu);

hercpu.run();

hercpu.stop();

return 0;

}

答案:

#include

using namespace std;

enum cpu_wordlen{W16,W32,W64,W128,W256};

class CPU

{

public:

CPU()

{

frequency=0;

wordlength=W16;

coefficient=0;

cout<<"frequency: "<

cout<<"calling the constructor without parameters!"<

}

CPU(float f,cpu_wordlen l,float c)

{

frequency=f;

wordlength=l;

coefficient=c;

cout<<"frequency: "<

cout<<"calling the constructor with parameters!"<

}

CPU(CPU &C)

{

frequency=C.frequency;

wordlength=C.wordlength;

coefficient=C.coefficient;

cout<<"calling the copy constructor!"<

}

~CPU()

{

cout<<"calling the deconstructor!"<

}

void run(){

cout<<"CPU is running!"<

}

void stop(){

cout<<"CPU stops!"<

}

private:

double frequency;

enum cpu_wordlen wordlength;

double coefficient;

};

int main()

{

double x=3.2,y=4.5;

CPU mycpu;

mycpu.run();

mycpu.stop();

CPU hiscpu(x,W64,y);

hiscpu.run();

hiscpu.stop();

CPU hercpu(hiscpu);

hercpu.run();

hercpu.stop();

return 0;

}

作业5:

声明一个学生信息类:

要求有学生的基本信息(自定),以及显示和设置这些信息的接口(公有成员函数),要求定义构造函数(带参数和不带参数)和析构函数以及复制构造函数。并进行测试。

(2)执行下列程序,观察结果,并给出所有对象的构造、复制构造和析构函数的调用顺序。#include

class point

{ int x,y;

public:

point(int a,int b)

{x=a;y=b;

cout<<"calling the constructor function."<

}

point(point &p);

friend point move(point q);

~point(){cout<<"calling the destructor function.\n";}

int getx() {return x;}

int gety() {return y;}

};

point::point(point &p)

{x=p.x; y=p.y;

cout<<"calling the copy_initialization constructor function.\n";

}

point move(point q)

{cout<<"OK!\n";

int i,j;

i=q.x+10;

j=q.y+20;

point r(i,j);

return r;

}

void main()

{ point m(15,40),p(0,0);

point n(m);

p=move(n);

cout<<"p="<

}

答案:

#include

#include

using namespace std;

class Student

{

public:

Student(char*, int, bool);

Student(const Student&);

~Student();

Student& operator =(const Student&);

void print();

private:

char* name;

int age;

bool sex;

int len;

};

Student::Student(char* name, int age, bool sex)

{

len = strlen(name);

this->name = new char[len+1];

strcpy(this->name, name);

this->age = age;

this->sex = sex;

}

Student::Student(const Student& stu)

{

len = strlen(https://www.doczj.com/doc/4515300860.html,);

this->name = new char[len+1];

strcpy(this->name, https://www.doczj.com/doc/4515300860.html,);

this->age = stu.age;

this->sex = stu.sex;

}

Student::~Student()

{

len = 0;

delete[] name;

}

Student& Student::operator =(const Student& stu)

{

len = strlen(https://www.doczj.com/doc/4515300860.html,);

this->name = new char[len+1];

strcpy(this->name, https://www.doczj.com/doc/4515300860.html,);

this->age = stu.age;

this->sex = stu.sex;

return *this;

}

void Student::print()

{

cout << name << '\t';

if (sex) cout << "男";

else cout << "女";

cout << '\t' << age << endl;

}

int main()

{

Student s1("张三", 20, true);

Student s2(s1);

Student s3 = s1;

s1.print();

s2.print();

s3.print();

return 0;

}

(2)

M: point(int a,int b)构造,point(point &p)复制

P:point(int a,int b)构造,move(point q) ,gety(),getx() N:point(point &p)复制,

R:point(int a,int b)构造,point(point &p)复制

~point()析构,~point()析构

~point()析构

作业6:

1.设计一个解决王婆卖瓜问题的程序。王婆卖瓜,每卖一个瓜,需记录该瓜的重量,还要记录所卖出的总重量和总个数。同时还允许退瓜。设计一个具有静态数据、函数成员的watermelon类。

实现提示:西瓜类中,设计3个数据成员(重量weight、总重量total_weiht、总个数total_number)。因为不论西瓜是否存在,总重量total_weiht和总个数total_number这两个数据总是要保留的,因此这两个数据要申明为静态数据成员。

成员函数:卖瓜用构造函数模拟,退瓜用析构函数模拟,瓜重用显示disp()成员函数模拟。为了用不与特定对象相联系的静态成员函数来访问静态数据,还需要定义一个显示总重量和总数的静态成员函数total_disp()。

2.设计一个程序,其中有3个类,即CBank,BBank和GBank,分别为中国银行类、工商银行类和农业银行类。每个类都包含一个私有数据balance,用于存放储户在该行的存款数,另有一个友元函数total用于计算储户在这3家银行中的总存款数。

答案:

1.

#include

#include

class CMelonSale

{

public:

CMelonSale(float vWeight)

{

m_Weight = vWeight;

m_TotalWeight += m_Weight;

m_WeightStore.push_back(m_Weight);

m_TotalNum++;

}

~CMelonSale()

{

m_TotalNum--;

}

static void totalDisP()

{

std::cout<<"The Total Num is"<

std::cout<<"The Total Weight are"<

}

static void showWeight()

{

std::vector::iterator itr;

for (itr = m_WeightStore.begin();itr!=m_WeightStore.end();itr++)

{

std::cout<<*itr<

}

protected:

private:

static int m_TotalNum ;

static float m_TotalWeight ;

float m_Weight;

static std::vector m_WeightStore;

};

int CMelonSale::m_TotalNum = 0;

float CMelonSale::m_TotalWeight = 0.0; std::vector CMelonSale::m_WeightStore ; int main()

{

CMelonSale a(0.6);

CMelonSale b(0.8);

CMelonSale c(0.9);

CMelonSale d(1.1);

CMelonSale::totalDisP();

CMelonSale::showWeight();

return 0;

}

2.

#include

using namespace std;

class CBank

{

private:

float balance;

public:

CBank(float balance = 0)

{

this->balance = balance;

}

friend class user;

};

class BBank

{

private:

float balance;

public:

BBank(float balance = 0)

{

this->balance = balance;

friend class user;

};

class GBank

{

private:

float balance;

public:

GBank(float balance = 0)

{

this->balance = balance;

}

friend class user;

};

class user

{

private:

CBank C;

BBank B;

GBank G;

public:

user(CBank c,BBank b,GBank g)

{

C = c;

B = b;

G = g;

}

void total()

{

cout<

}

};

int main()

{

CBank c(100.1);

BBank b(100.2);

GBank g(100.3);

user u(c,b,g);

u.total();

}

作业7:

1.要求用多文件结构实现该问题(可以使用类向导)。声明一个学生类和一个教师类:

要求有学生和教师的基本信息(自定),以及显示和设置这些信息的接口(公有成员函数),要求定义构造函数(带参数和不带参数)和析构函数以及复制构造函数。并进行测试。

#include

using namespace std;

class Student

{public:

Student(int,char[],char,float);

int get_num(){return num;}

char * get_name(){return name;}

char get_sex(){return sex;}

void display()

{cout<<"num:"<

private:

int num;

char name[20];

char sex;

float score;

};

Student::Student(int n,char nam[],char s,float so)

{num=n;

strcpy(name,nam);

sex=s;

score=so;

}

class Teacher

{public:

Teacher(){}

Teacher(Student&);

Teacher(int n,char nam[],char sex,float pay);

void display();

private:

int num;

char name[20];

char sex;

float pay;

};

Teacher::Teacher(int n,char nam[],char s,float p)

{num=n;

strcpy(name,nam);

sex=s;

pay=p;

}

Teacher::Teacher(Student& stud)

{num=stud.get_num();

strcpy(name,stud.get_name());

sex=stud.get_sex();

pay=1500;}

void Teacher::display()

{cout<<"num:"<

int main()

{Teacher teacher1(10001,"Li",'f',1234.5),teacher2;

Student student1(20010,"kuang",'m',89.5);

cout<<"student1:"<

student1.display();

teacher2=Teacher(student1);

cout<<"teacher2:"<

teacher2.display();

return 0;

}

作业8:1)学生信息管理系统

–创建一个班级学生的信息,班级人数手动输入

–创建一个学生信息类

(2)完善以上程序:加入一个班级类,并测试。

–班级类中包含一个动态对象数组用于存储学生信息,构造函数中根据学生人数确定数组长度–析构函数中删除动态数组

–采用多文件结构

答案:

#include

class Person

{

char name[10];

char sex;

int age;

public:

void input()

{

cout<<"请输入姓名:";

cin>>name;

cout<<"请输入性别:";

cin>>sex;

cout<<"请输入年龄:";

cin>>age;

}

void display()

{

cout<<"姓名:"<

}

};

class Student:public Person

{

char sno[10];

int score;

public:

void input()

{

Person::input();

cout<<"请输入学号:";

cin>>sno;

cout<<"请输入成绩:";

cin>>score;

}

void display()

{

Person::display();

cout<<"学号;"<

}

};

void main()

{

Student s1;

s1.input();

s1.display();

}

作业9:由在校人员类(Person)作为基类派生出学生类(Student):

在校人员类有成员数据:编号(ID)、姓名(name)、性别(sex)、年龄(age),要求有如下成员函数:构造函数、获取编号的函数和输出所有成员的函数。把在校人员类作为基类,通过公有继承,派生学生类,派生类新增成员数据有数学(math)、物理(physical)、英语(english)和C++程序设计(cpp)四门课程以及总成绩(total);新增成员函数有构造函数和输出所有成员的函数。main()完成派生类对象的定义和有关成员函数的测试。

参考程序:

#include

#include

usingnamespacestd;

class Person{

public:

Person(int i,char *n, char s, int a){

ID=i;

name=n;

sex=s;

age=a;

};

……

};

class Student:public Person{

public:

Student(int i,char *n,char s,int a,float m,float p,float e,float c):Person(i,n,s,a){ math=m;

physical=p;

english=e;

cpp=c;

total=math+physical+english+cpp;

}

……

};

void main(){

Person p1(1,"张帅",'M',22);

p1.show();

cout<

Student s1(9901,"林维",'S',21,65,70,75,88);

s1.show();

}

答案:

#include

#include

using namespace std;

class Person

{

public:

Person(int i,char *n, char s, int a)

{

ID=i;

name=n;

sex=s;

age=a;

};

int getID()

{

return ID;

}

v cout<<"ID:"<

cout<<"name:"<

cout<<"oid show(){

sex:"<

cout<<"age:"<

}

private:

int ID;

string name;

char sex;

int age;

};

class Student:public Person

{

public:

Student(int i,char *n,char s,int a,float m,float p,float e,float c):Person(i,n,s,a){

math=m;

physical=p;

english=e;

cpp=c;

total=math+physical+english+cpp;

}

void show(){

Person::show();

cout<<"math:"<

cout<<"physical:"<

cout<<"english:"<

cout<<"cpp:"<

cout<<"total:"<

}

private:

float math,physical,english,cpp,total;

};

void main(){

Person p1(1,"张帅",'M',22);

p1.show();

cout<

Student s1(9901,"林维",'S',21,65,70,75,88);

s1.show();

}

作业10:由学生类、课程类作为基类,共同派生选课类。

1 声明一个学生类,有成员数据:学号、姓名、性别、年龄,要求有如下成员函数:构造函数、输出所有成员的函数。

2 声明一个课程类,有成员数据:课程编号(cnum)、课程名称(cname)、学时数(chour),要求有如下成员函数:构造函数、输出所有成员的函数。

3 将学生类和课程类作为基类,通过公有继承,共同派生选课类,派生类新增成员数据有:成绩(score);新增成员函数有:构造函数、输出所有成员的函数。

4 main()完成派生类对象的定义和有关成员函数的测试。

答案:

#include

#include

using namespace std;

class Student

{

public:

Student(int i,char *n, char s, int a){

No=i;

Name=n;

Sex=s;

Age=a;

};

void show()

{

cout<<"No: "<

cout<<"Name : "<

cout<<"Sex: "<

cout<<"Age: "<

}

private:

int No;

string Name;

char Sex;

int Age;

};

class Lesson

{

public:

Lesson(int no,char *name,int hour){

Cno=no;

Cname=name;

Chour=hour;

}

void show()

{

cout<<"Cno: "<

cout<<"Cname: "<

cout<<"Chour: "<

}

private:

int Cno; string Cname; int Chour;

};

class SL:public Student,public Lesson{

public:

SL(int i,char *n,char s,int a,int no,char *name,int hour, int

score):Student(i,n,s,a),Lesson(no,name,hour){

Score=score;

}

void show()

{

Student::show();

Lesson::show();

cout<<"Score: "<

}

private:

int Score;

};

void main()

{

SL s1(12,"kuangbingshan",’n’,20,911,"c++",25,90);

s1.show();

}

作业11:声明一个Shape抽象类,在此基础上派生出Rectangle和Circle类,二者都有GetArea( )函数计算对象的面积,GetPerim( )函数计算对象的周长。

相关函数如下所示:

void show(shape *p)

{

p->getarea();

p->getperim();

}

void main()

{ shape *p;

rectangle a(3,4,5);

circle b(10);

p=&a;

show(p);

p=&b;

show(p);

}

答案:

#include

#include

class shape

{ public:

virtual void getarea()=0;

virtual void getperim()=0;

};

class rectangle:public shape

{ int a,b,c;

double s,p;

public:

rectangle(int a1,int b1,int c1) {a=a1;b=b1;c=c1;}

void getperim()

{ p=a+b+c; cout<<"周长"<

void getarea()

{ p=(a+b+c)/2.0;

s=sqrt(p*(p-a)*(p-b)*(p-c));

cout<<"面积"<

}

};

class circle :public shape

{ float r,s,p;

public:

circle(float r1) {r=r1;}

void getperim() { p=2*r*3.1415926;cout<<"周长"<

void show(shape *p)

{ p->getarea();

p->getperim();

}

void main()

{ shape *p;

rectangle a(3,4,5);

circle b(10);

p=&a; show(p);

p=&b; show(p);

}

C经典习题答案

1.在类作用域中能够通过直接使用该类的()成员名进行访问。 A. 私有 B. 公用 C. 保护 D. 任何 答案:D 2.小数类型和浮点类型都可以表示小数,正确说法:( ) A. 两者没有任何区别 B. 小数类型比浮点类型取值范围大 C.小数类型比浮点类型精度高 D. 小数类型比浮点类型精度低 答案:C 3.能作为C#程序的基本单位是( )。 A. 字符 B. 语句 C. 函数 D. 源程序文件 答案:B 4. 可用作C#程序用户标识符的一组标识符是( )。 A. void define +WORD B. a3_b3 _123 YN C. for -abc Case D. 2a DO sizeof 答案:B 5.引用类型主要有4种:类类型、数组类型、接口类型和()。 A.对象类型 B.字符串类型 C.委托类型 D.整数类型 答案:C 6.使用Dirctory类的下列方法,可以获取指定文件夹中的文件的是(). A.Exists() B.GetFiles() C.GetDirectories() D.CreateDirectory() 答案:B 7.加载窗体时触发的事件是( )。 A. Click B.Load C.GotFoucs D.DoubleClick

答案:B 8.改变窗体的标题,需修改的窗体属性是( )。 A. Text B. Name C.Title D. Index 答案:A 9.在接口的成员中,不能包含( ). A.属性 B.方法 C.事件 D.常量 答案:D 10.在C#中定义接口时,使用的关键字是( )。 A.interface B.: C.class D.overrides 答案:A 1.当在程序中执行到语句时,将结束所在循环语句中循环体的一次执行。 答案:continue 2.元素类型为double的2行5列的二维数组共占用字节的存储空间。 答案:80 3.C#数组类型是一种引用类型,所有的数组都是从System命名空间的类继承而来的引用对象。 答案:object 4.枚举是从System. 类继承而来的类型。 答案:Enum 5.一般将类的构造方法声明为访问权限。如果声明为private,就不能创建该类的对象。 答案:public或公有 6.类中声明的属性往往具有get()和两个函数。 答案:set() 7.对于方法,参数传递分为值传递和两种。

C语言经典例题和答案

一、求一个任意边长的矩形面积。 #include void main() {int w,h,sum; scanf("%d%d",&w,&h); sum=w*h; printf("area=%d\n",sum); } 二、求一个任意半径的圆的面积及周长。 #define PI 3.14159 #include void main() {float r,area,c; scanf("%f",&r); area=PI*r*r; c=2*PI*r; printf("area=%f\ncircle=%f\n",area,c); } 三、已知:w=5, y=4, z=2, 求表达式:w*y/z的值,并输出。 ##include void main() { int w,y,z,r; w=5; y=4; z=2; r=w*y/z; printf("%5d",r); } 一、从键盘上输入三个数,求出其中的最大值,并输出。 #include void main() {int a,b,c,max; scanf("%d%d%d",&a,&b,&c); max=a; if(max

#include #define PI 3.14159 #include void main() {float a,b,sum; a=30*PI/180; b=60*PI/180; sum=sin(a)+sin(b)+cos(a)+cos(60); printf("total=%f\n",sum); } 三、比较两个数的大小。如果x大于y,则输出:x>y,否则输出:x void main() {int x,y; scanf("%d,%d",&x,&y); if(x>y) printf("x>y\n"); else printf("x void main() {int a,b,c,t; scanf("%d%d%d",&a,&b,&c); if(a>b) { t=b; b=a; a=t; } if(a>c) {t=a; a=c; c=t; } if(b>c) {t=b;b=c;c=t;} printf("%3d%3d%3d\n",a,b,c); }. 二、求自然数1~10之和。。 #include void main()

c和c++经典笔试题及答案

C++/C经典笔试题及答案 C++/C试题 本试题仅用于考查C++/C程序员的基本编程技能。内容限于C++/C常用语法,不涉及数据结构、算法以及深奥的语法。考试成绩能反映出考生的编程质量以及对C++/C的理解程度,但不能反映考生的智力和软件开发能力。 笔试时间90分钟。请考生认真答题,切勿轻视。 一、请填写BOOL , float, 指针变量与“零值”比较的 if 语句。(10分)提示:这里“零值”可以是0, 0.0 , FALSE或者“空指针”。例如 int 变量 n 与“零值”比较的 if 语句为: if ( n == 0 ) if ( n != 0 ) 请写出BOOL flag 与“零值”比较的if 语句: 请写出float x 与“零值”比较的if 语句: 请写出char *p 与“零值”比较的if 语句: char str[] = “Hello” ; char *p = str ; int n = 10; 请计算 sizeof (str ) = sizeof ( p ) = sizeof ( n ) =void Func ( char str[100]) { 请计算 sizeof( str ) = } void *p = malloc( 100 );请计算 sizeof ( p ) = 1、头文件中的 ifndef/define/endif 干什么用? 2、#include 和#include “filename.h” 有什么区别? 3、const 有什么用途?(请至少说明两种) 4、在C++ 程序中调用被 C编译器编译后的函数,为什么要加extern “C”声明? 5 // 第一个 for (i=0; i

C语言练习题(带答案)-绝对经典题目不看后悔

1单选题 1.(A)是构成C语言程序的基本单位。 A、函数 B、过程 C、子程序 D、子例程 2.C语言程序从C开始执行。 A) 程序中第一条可执行语句B) 程序中第一个函数 C) 程序中的main函数D) 包含文件中的第一个函数 3、以下说法中正确的是(C)。 A、C语言程序总是从第一个定义的函数开始执行 B、在C语言程序中,要调用的函数必须在main( )函数中定义 C、C语言程序总是从main( )函数开始执行 D、C语言程序中的main( )函数必须放在程序的开始部分 4.下列关于C语言的说法错误的是(B)。 A) C程序的工作过程是编辑、编译、连接、运行 B) C语言不区分大小写。 C) C程序的三种基本结构是顺序、选择、循环 D) C程序从main函数开始执行 5.下列正确的标识符是(C)。 A.-a1 B.a[i] C.a2_i D.int t 5~8题为相同类型题 考点:标识符的命名规则 (1)只能由字母、数字、下划线构成 (2)数字不能作为标识符的开头 (3)关键字不能作为标识符 选项A中的“-” ,选项B中“[”与“]”不满足(1);选项D中的int为关键字,不满足(3) 6.下列C语言用户标识符中合法的是(B)。 A)3ax B)x C)case D)-e2 E)union 选项A中的标识符以数字开头不满足(2);选项C,E均为为关键字,不满足(3);选项D中的“-”不满足(1); 7.下列四组选项中,正确的C语言标识符是(C)。 A)%x B)a+b C)a123 D)123 选项A中的“%” ,选项B中“+”不满足(1);选项D中的标识符以数字开头不满足(2) 8、下列四组字符串中都可以用作C语言程序中的标识符的是(A)。 A、print _3d db8 aBc B、I\am one_half start$it 3pai C、str_1 Cpp pow while D、Pxq My->book line# His.age 选项B中的“\”,”$” ,选项D中“>”,”#”,”.”,”-”不满足(1);选项C中的while为关键

最新版c语言经典习题100例(最全面)

C 语言习题100 例(最新整理版) 习题目录:(按住Ctrl 点击可以快速跳转到对应页面) 【程序1】 (5) 题目:有1、2、3、4 个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? (5) 【程序2】 (6) 题目:企业发放的奖金根据利润提成。利润(I)低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元 时,低于10万元的部分按10%提成,高于10万元的部分,可可提成7.5%;20万到40万之间时,高于20万元的部分,可提成5%; 40万到60万之间时高于40万元的部分,可提成3%; 60万到100万之间时,高于60万元的部分,可提成1.5%,高于100万元时,超过100万元的部分按1%提成,从键盘输入当月利润I,求应发放奖金总数? (6) 【程序3】 (7) 题目:一个整数,它加上100 后是一个完全平方数,再加上168 又是一个完全平方数,请问该数是多少? (7) 【程序4】 (7) 题目:输入某年某月某日,判断这一天是这一年的第几天? (7) 【程序5】 (8) 题目输入三个整数x,y,z请把这三个数由小到大输出。 (8) 【程序6】 (9) 题目用*号输出字母C的图案。 (9) 【程序7】 (9) 题目:输出特殊图案,请在C环境中运行,看一看,VeryBeautifuI! (9) 【程序8】 (9) 题目:输出9*9 口诀。 (9) 【程序9】 (10) 题目:要求输出国际象棋棋盘。 (10) 【程序10】 (10) 题目:打印楼梯,同时在楼梯上方打印两个笑脸。 (10) 【程序11】 (11) 题目:古典问题:有一对兔子,从出生后第3 个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? (11) 【程序12】 (11) 题目:判断101-200 之间有多少个素数,并输出所有素数。 (11) 【程序13】 (12) 题目:打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个“水仙花数”,因为153=1 的三次方+5的三次方+3的三次方。 (12) 【程序14】 (12) 题目:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5 。 (12) 【程序15】 (13) 题目利用条件运算符的嵌套来完成此题:学习成绩>=90分的同学用A表示,60-89分之间的用B表示,60分以下的用 C 表示。 (13) 【程序16】 (13) 题目:输入两个正整数m和n ,求其最大公约数和最小公倍数。 (13) 【程序17】 (14) 题目:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。14【程序18】 (14)

数据结构(C语言)【经典题库】含参考答案

《数据结构与算法》复习题 选择题 1.在数据结构中,从逻辑上可以把数据结构分为 C 。 A.动态结构和静态结构 B.紧凑结构和非紧凑结构 C.线性结构和非线性结构 D.内部结构和外部结构 2.数据结构在计算机内存中的表示是指 A 。 A.数据的存储结构 B.数据结构 C 3 A 。 7.算法分析的目的是 C ,算法分析的两个主要方面是 A 。 (1)A.找出数据结构的合理性 B.研究算法中的输入和输出的关系 C.分析算法的效率以求改进 C.分析算法的易读性和文档性 (2)A.空间复杂度和时间复杂度 B.正确性和简明性 C.可读性和文档性 D.数据复杂性和程序复杂性 8.下面程序段的时间复杂度是 O(n2) 。 s =0;

for( I =0; inext ==NULL C.head->next ==head D head!=NULL

15.带头结点的单链表head为空的判定条件是 B 。 A.head == NULL B head->next ==NULL C.head->next ==head D head!=NULL 16.若某表最常用的操作是在最后一个结点之后插入一个结点或删除最后一个结点,则采用 D 存储方式最节省运算时间。 A.单链表 B.给出表头指针的单循环链表 C.双链表 D.带头结点的双循环链表17.需要分配较大空间,插入和删除不需要移动元素的线性表,其存储结构是 B 。 20 21 B 。 22 A.删除单链表中的第一个元素 B.删除单链表中的最后一个元素 C.在单链表第一个元素前插入一个新元素 D.在单链表最后一个元素后插入一个新元素 23.与单链表相比,双链表的优点之一是 D 。 A.插入、删除操作更简单

C语言经典例题目解析

1、猴子吃桃子:猴子摘下若干个桃子,第一天吃了桃子的一半多一个,以后每天吃了前一天剩下的一半多一个,到第十天吃以前发现只剩下一个桃子,问猴子第一天共摘了几个桃子 #include main() {int s=1,i; for(i=9;i>=1;i--) s=(s+1)*2; printf("s=%d\n",s); } 2、鸡兔同笼:有若干只鸡兔同在一个笼子里,从上面数,有35个头;从下面数,有94只脚。问笼中各有几只鸡和兔? #include main() {int a,b; for(a=1;a<=40;a++)/* 120只脚如果全是鸡的话60只,但是总头是40,所以循环到40 */ for (b=1;b<=30;b++) /* 同理如果全是兔的话最多120/4=30 所以循环到30 */ {if((a==40-b)&&(a==60-2*b)) /* 同时满足总头数40总脚数120 */ printf("There are %d chichens \nThere are %d rabbits",a,b);} } 3、百钱买百鸡:鸡翁一值钱五,鸡母一值钱三,鸡雏三值钱一。百钱买百鸡,问鸡翁、鸡母、鸡雏各几何? #include main( ) {int cocks,hens,chicks; cocks=0; while(cocks<=19) {hens=0; while(hens<=33) {chicks=100-cocks-hens; if(5*cocks+3*hens+chicks/3==100&&chicks%3==0) printf("%d,%d,%d\n",cocks,hens,chicks); hens=hens+1;} cocks=cocks+1;}} #include main() {int x,y,z; for(x=0;x<=20;x++) for(y=0;y<=33;y++) {z=100-x-y; if(15*x+9*y+z==300) printf("x=%d y=%d z=%d\n",x,y,z); } }

C经典例题

东风冷雪提供 /* 1.0用函数模板实现任何两个简单类型数据交换,并给出实例加以验证!(请先预习教材函数模板相关知识) */ #include using namespace std; template void change(T*x,T*y) { T temp; temp=*x; *x=*y; *y=temp; } int main() { int a,b; float c,d; cout<<"输入二个整数a,b :"; cin>>a>>b; change(&a,&b); cout<<"二个整数交换结果为:"<>c>>d; change(&c,&d); cout<<"二个小数交换结果:"< using namespace std; inline void p(char a) { if('0'>s;

p(s); return 0; } /*3.0 编写三个名为add的重载函数,分别实现两个整数、 两个实数和两个复数相加。*/ #include using namespace std; struct complex { int r_real; int r_imagine; }; typedef struct complex comp; comp e,f; int add(int x,int y) { return x+y; } double add(double x,double y) { return x+y; } void add(comp e,comp f) { int z1,z2; z1=e.r_real+f.r_real; z2=e.r_imagine+f.r_imagine; cout<<"二个复数相加的结果为"<>a>>b; cout<<"a+b="<>c>>d; cout<<"a+b="<>e.r_real>>e.r_imagine; cout<<"输入第二个复数的实部与虚部 "; cin>>f.r_real>>f.r_imagine; add(e,f);

最新版c语言经典习题100例(最全面)

C语言习题100例(最新整理版) 习题目录:(按住Ctrl点击可以快速跳转到对应页面) 【程序1】 (5) 题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? (5) 【程序2】 (6) 题目:企业发放的奖金根据利润提成。利润(I)低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可可提成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成 1.5%,高于100万元时,超过100万元的部分按1%提成,从键盘输入当月利润I,求应发放奖金总数? (6) 【程序3】 (7) 题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少? (7) 【程序4】 (7) 题目:输入某年某月某日,判断这一天是这一年的第几天? (7) 【程序5】 (8) 题目:输入三个整数x,y,z,请把这三个数由小到大输出。 (8) 【程序6】 (9) 题目:用*号输出字母C的图案。 (9) 【程序7】 (9) 题目:输出特殊图案,请在c环境中运行,看一看,VeryBeautiful! (9) 【程序8】 (9) 题目:输出9*9口诀。 (9) 【程序9】 (10) 题目:要求输出国际象棋棋盘。 (10) 【程序10】 (10) 题目:打印楼梯,同时在楼梯上方打印两个笑脸。 (10) 【程序11】 (11) 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? (11) 【程序12】 (11) 题目:判断101-200之间有多少个素数,并输出所有素数。 (11) 【程序13】 (12) 题目:打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个“水仙花数”,因为153=1的三次方+5的三次方+3的三次方。 (12) 【程序14】 (12) 题目:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。 (12) 【程序15】 (13) 题目:利用条件运算符的嵌套来完成此题:学习成绩>=90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示。 (13) 【程序16】 (13) 题目:输入两个正整数m和n,求其最大公约数和最小公倍数。 (13) 【程序17】 (14) 题目:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。 (14) 【程序18】 (14)

C经典编程练习题

C++经典编程例题(1) 1、(已验证!)计算铁路运费。已知从甲地到乙地,每张票托运行李不超过50公斤时,按每公斤0.13元,超过50公斤,超过部分按每公斤0.2元计算。输入行李重量w,计算运费y. #include using namespace std; void main() { float money=0,weight; cout<<"请输入货物重量(单位:千克):"; cin>>weight; if (weight<0) cout<<”数据错误!”< 50) money = 50 * 0.13 + (weight - 50) * 0.2; cout<<"\n总费用是:"< #include using namespace std; void main() { double a,b,c,p,x1,x2,D; cout<<"请输入3个数:"<

D=b*b-4*a*c; if (D<0) cout<<"方程无解!"<0) { p=-b/(2*a); x1=p+sqrt(D)/(2*a); x2=p-sqrt(D)/(2*a); cout<<"方程有两个不同的实根。"<>n; for (i=1;i<=n;i++) s=i*s; cout<

100个经典c语言例题(带答案)

100个经典c语言例题(带答案) 经典C源程序100例- -1 经典C源程序100例【程序1】题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?1.程序分析:可填在百位、十位、个位的数字都是1、2、3、4。组成所有的排列后再去掉不满足条件的排列。 2.程序源代码:m... C语言经典程序100例 2009-02-26 19:44 | (分类:默认分类) 经典C源程序100例- - 1 经典C源程序100例 【程序1】 题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? 1.程序分析:可填在百位、十位、个位的数字都是1、2、3、4。组成所有的排列后再去掉不满足条件的排列。 2.程序源代码: main() { int i,j,k; printf("\n"); for(i=1;i<5;i++) /*以下为三重循环*/ for(j=1;j<5;j++) for (k=1;k<5;k++) { if (i!=k&&i!=j&&j!=k) /*确保i、j、k三位互不相同*/ printf("%d,%d,%d\n",i,j,k); } } ============================================================== 【程序2】 题目:企业发放的奖金根据利润提成。利润(I)低于或等于10万元时,奖金可提10%;利润高 于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可可提 成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于 40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成1.5%,高于 100万元时,超过100万元的部分按1%提成,从键盘输入当月利润I,求应发放奖金总数? 1.程序分析:请利用数轴来分界,定位。注意定义时需把奖金定义成长整型。

C语言经典例题和答案

一、求一个任意边长得矩形面积。 #include <stdio。h〉 void main() {int w,h,sum; scanf("%d%d",&w,&h); sum=w*h; printf(”area=%d\n”,sum); } 二、求一个任意半径得圆得面积及周长、 #definePI 3、14159 #include <stdio。h> void main() {floatr,area,c; scanf(”%f",&r); area=PI*r*r; c=2*PI*r; printf("area=%f\ncircle=%f\n”,area,c); } 三、已知:w=5, y=4, z=2, 求表达式:w*y/z得值,并输出、 ##include〈stdio.h> void main() { int w,y,z,r; w=5; y=4; z=2; r=w*y/z; printf(”%5d”,r); } 一、从键盘上输入三个数,求出其中得最大值,并输出。 #include 〈stdio、h> void main() {int a,b,c,max; scanf("%d%d%d”,&a,&b,&c); max=a; if(max

#define PI 3.14159 #include <math。h> void main() {float a,b,sum; a=30*PI/180; b=60*PI/180; sum=sin(a)+sin(b)+cos(a)+cos(60); printf("total=%f\n”,sum); } 三、比较两个数得大小。如果x大于y,则输出:x>y,否则输出:x〈y。#include<stdio。h> void main() {int x,y; scanf(”%d,%d”,&x,&y); if(x〉y) printf("x〉y\n”); else printf(”x〈y\n”); } 一、输入a、b、c三个值,按从小到大排序输出。 #include 〈stdio。h〉 void main() {int a,b,c,t; scanf("%d%d%d",&a,&b,&c); if(a〉b) { t=b; b=a; a=t; } if(a〉c) {t=a; a=c; c=t; } if(b>c) {t=b;b=c;c=t;} printf("%3d%3d%3d\n",a,b,c); }、 二、求自然数1~10之与。。 #include 〈stdio.h> void main() {int i,sum;

C笔试题_经典50题(含答案)教学提纲

uanji 内测/月考 类型:(笔试)范围:内测/月考 日期: 时长:1小时 总分数:100 分 姓名: 准考证号: 证件号码:

理论部分 注意:考试结束试卷必须交回,答案填写在答题卡上

( )关键字用于在C#中从派生类中访问基类的成员。(选一项) A、new B、super C、this D、base C#程序可以依据()来进行方法重载。(选一项) A、不同的参数个数 B、不同的参数名称 C、不同的返回值 D、不同的方法名称 C#中的方法重写使用关键字(选一项) A、override B、overload C、static D、inherit C#中关于委托,下面说法正确的是(选一项) A、委托是一种类的成员 B、委托必须定义在类中 C、定义委托需要使用delegate关键字 D、委托是一种数据类型 System.String类的()方法不能删除字符串中的空格。(选一项) A、Replace() B、Trim() C、Remove() D、EndsWith() 关于抽象类下面说法错误的是(选一项) A、抽象类可以包含非抽象方法 B、含有抽象方法的类一定是抽象类 C、抽象类不能被实例化 D、抽象类可以是密封类 关于接口的使用,说法错误的是(选一项) A、接口可以作为参数进行传递 B、接口可以作为方法的返回值 C、接口可以实例化 D、同时实现多个接口是变相实现了多重继承 下列泛型集合声明正确的是(选一项) A、List f = new List() B、List f = new List() C、List f = new List() D、List f = new List 下列关于C#索引器理解正确的是(选一项) A、索引器的参数必须是两个或两个以上 B、索引器的参数类型必须是整数型

C语言编程练习题绝对经典!(DOC)

马克思手稿中有一道趣味数学题:有30个人,其中有男人、女人和小孩,在一家饭馆里吃饭 共花了50先令,每个男人各花3先令,每个女人各花2先令,每个小孩各花1先令,问男人、女人和小孩各有几人? 解方程组 编写程序,采用穷举法求出结果。 编写程序,根据以下公式求e 的值。要求用两种方法计算: 1) for 循环,计算前50项 2)while 循环,直至最后一项的值小于10-4 从键盘中输入一个数字(不限位数),用循环语句编程判断并输出这个数字的位数。 猴子吃桃子问题。猴子第一天摘下若干个桃,当即只一半,又多吃一个。第二天早上又将剩下 的一半吃掉一半,双多吃一个。以后每天早上都吃了前天剩下的一半零一个,到第10天早上 只剩下最后一个桃。问第一天摘了几个桃。 编程打印九九乘法表 青年歌手参加歌曲大奖赛,有10个评委打分,试编程求选手的平均得分(去掉一个最高分和 一个最低分)。 从键盘中输入一个数字(可以包含小数点,其位数在60位以下,求其整数的有效位数,如输入 0123.456,返回值为整数有效位数为3) 1) 输入数据为浮点型,不用数组,不用字符串,只有变量的算术运算实现此功能。 2) 使用数组来进行编程。 使用数组,编写一个十进制正整数转换为任意进制数的转换工具。 (大进制向小进制的转换。(方法是相除去余) 10进制327转八进制: 327/8 = 40 余数为7 40/8 = 5 余数为0 于是八进制数为507(第一位5是最后的商)) 使用数组,编写一个任意进制正整数转换为十进制的转换工具。(以2,10进制互转为例,其 他请举一反三: 二进制数1101转十进制: 1×2的三次幂+1×2的二次幂+0×2的一次幂+1×2的零次幂=8+4+0+1=13) 10个小孩围成一圈分糖果,老师顺次分给每个人的糖块数为12,2,8,22,16,4,10,6, 14,20。然后按下列规则调整,所有小孩同时把自己的糖果分一半给右边的小孩,糖块数变为 奇数的人,再向老师补要一块,问经过多少次调整后,大家的糖块一样多,且每人多少块。 11111111!2!3!4!5!! e n ≈++++++??????+

C语言经典例题及答案(精心整理)

#include void main() {int w,h,sum; scanf("%d%d",&w,&h); sum=w*h; printf("area=%d\n",sum); } 二、求一个任意半径的圆的面积及周长。 #define PI 3.14159 #include void main() {float r,area,c; scanf("%f",&r); area=PI*r*r; c=2*PI*r; printf("area=%f\ncircle=%f\n",area,c); } 三、已知:w=5, y=4, z=2, 求表达式:w*y/z的值,并输出。 ##include void main() { int w,y,z,r; w=5; y=4; z=2; r=w*y/z; printf("%5d",r); #include void main() {int a,b,c,max; scanf("%d%d%d",&a,&b,&c); max=a; if(max #define PI 3.14159 #include void main() {float a,b,sum; a=30*PI/180; b=60*PI/180; sum=sin(a)+sin(b)+cos(a)+cos(60);

C语言经典算法题目及答案

题目:有1、2、3、4 个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? 1.程序分析:可填在百位、十位、个位的数字都是1、2、3、4。组成所有的排列后再去 掉不满足条件的排列。 2.程序源代码:main() { int i,j,k; printf("\n"); for(i=1;i<5;i++) /* 以下为三重循环*/ for(j=1;j<5;j++) for (k=1;k<5;k++) { if (i!=k&&i!=j&&j!=k) printf("%d,%d,%d\n",i,j,k); } } 【程序2】 题目:企业发放的奖金根据利润提成。利润(I)低于或等于10万元时,奖金可提10%;利润 高 于10万元,低于20 万元时,低于10万元的部分按10%提成,高于10万元的部分,可可提成7.5%; 20 万到40 万之间时,高于20 万元的部分,可提成5%; 40 万到60 万之间时高于 40 万元的部分,可提成3%; 60万到100 万之间时,高于60 万元的部分,可提成 1.5%,高于 100万元时,超过100万元的部分按1%提成,从键盘输入当月利润I,求应发放奖金总数? 1.程序分析:请利用数轴来分界,定位。注意定义时需把奖金定义成长整型。 2.程序源代码: main() { long int i; int bonus1,bonus2,bonus4,bonus6,bonus10,bonus; scanf("%ld",&i); bonus1=100000*0.1;bonus2=bonus1+100000*0.75; bonus4=bonus2+200000*0.5; bonus6=bonus4+200000*0.3; bonus10=bonus6+400000*0.15; if(i<=100000) bonus=i*0.1; else if(i<=200000) bonus=bonus1+(i-100000)*0.075; else if(i<=400000) bonus=bonus2+(i-200000)*0.05; else if(i<=600000) bonus=bonus4+(i-400000)*0.03;

c语言经典笔试题(非常全)

1. 用预处理指令#define 声明一个常数,用以表明1年中有多少秒(忽略闰年问题) #define SECONDS_PER_YEAR (60 * 60 * 24 * 365)UL 2. 写一个“标准”宏MIN,这个宏输入两个参数并返回较小的一个。 #define MIN(A,B) ((A) <= (B) (A) : (B)) 4. 嵌入式系统中经常要用到无限循环,你怎么样用C编写死循环呢 这个问题用几个解决方案。我首选的方案是: while(1) { } 一些程序员更喜欢如下方案: for(;;) { } 第三个方案是用 goto Loop: ... goto Loop; 5. 用变量a给出下面的定义 a) 一个整型数(An integer) b) 一个指向整型数的指针(A pointer to an integer) c) 一个指向指针的的指针,它指向的指针是指向一个整型数(A pointer to a pointer to an integer) d) 一个有10个整型数的数组(An array of 10 integers) e) 一个有10个指针的数组,该指针是指向一个整型数的(An array of 10 pointers to integers) f) 一个指向有10个整型数数组的指针(A pointer to an array of 10 integers) g) 一个指向函数的指针,该函数有一个整型参数并返回一个整型数(A pointer to a function that takes an integer as an argument and returns an integer) h) 一个有10个指针的数组,该指针指向一个函数,该函数有一个整型参数并返回一个整型数( An array of ten pointers to functions that take an integer argument and return an integer ) 答案是: a) int a; 关键字static的作用是什么 这个简单的问题很少有人能回答完全。在C语言中,关键字static有三个明显的作用: 1). 在函数体,一个被声明为静态的变量在这一函数被调用过程中维持其值不变。 2). 在模块内(但在函数体外),一个被声明为静态的变量可以被模块内所用函数访问,但不能被模块外其它函数访问。它是一个本地的全局变量。 3). 在模块内,一个被声明为静态的函数只可被这一模块内的其它函数调用。那就是,这个函数被限制在声明它的模块的本地范围内使用。 7.关键字const是什么含意 const int a; int const a;

C语言经典例题(带答案)

C语言复习题纪实解答(有好方法的互相交流!) 1.题: #include "stdio.h" main() { float i,s=0; for(i=3;i<=10;i++) { s=s+(i+2)*(i+3)/(i+4); } printf("s=%.2f",s); } 2.题: #include "stdio.h" void main() {int score; scanf("%d",&score); switch(score/5) { case 20: case 19: case 18:printf("A\n");break; case 17: case 16: case 15:printf("B\n");break; case 14: case 13: case 12:printf("C\n");break; case 11: case 10: case 9: case 8: case 7: case 6: case 5: case 4: case 3: case 2: case 1: case 0:printf(" D I`m so sorry your IQ==0 \n");break; default:break; } }

3.题:(if语句) #include "stdio.h" main() { int x,y; scanf("%d",&x); if(x<-5) y=x; if(x>=-5&&x<=0) y=x+1; if(x>0&&x<=5) y=x-1; if(x>5) y=2*x; printf("y= %d\n",y); } 4.题: 有谁会第四题给我发来。 我真的不会啊!!!! 5.题: 一、 #include "stdio.h" void main() { int max_value(int a[3][3]); int i,j,a[3][3]={3,8,-2,5,6,10,4,9,18}; for(i=0;i<3;i++)

相关主题
文本预览
相关文档 最新文档