当前位置:文档之家› C实验题

C实验题

C实验题
C实验题

试题查看

标题:抽象类与操作符重载

时限:3000 ms

内存限制:10000 K

总时限:3000 ms

描述:定义表示形状的抽象类及相应的派生类,并实现相关操作符重载。(1)定义表示形状的抽象类Shape:

添加公有成员函数double Area(),用于计算形状面积;定义为纯虚函数;添加公有成员函数void Show(),用于显示形状信息,定义为纯虚函数;定义虚的析构函数;

重载比较操作符:==、>和<,用于比较两个形状面积的大小关系,返回值类型为bool,可以定义为成员函数或友元函数。

(2)从形状类Shape派生矩形类Rectangle:

添加double型的保护数据成员:rectWidth和rectHeight,分别表示矩形的宽度和高度;

定义带参构造函数;

重定义公有成员函数Show,打印矩形的宽度和高度,输出格式为“W: 宽度; H: 高度; Area: 面积”;

重定义公有成员函数Area,计算矩形面积。

(3)从形状类Shape派生椭圆类Ellipse:

添加double型的保护数据成员:rectWidth和rectHeight,分别表示椭圆外接矩形的宽度和高度;

定义带参构造函数;

重定义公有成员函数Show,打印椭圆外接矩形的宽度和高度,输出格式为“W: 宽度; H: 高度; Area: 面积”;

重定义公有成员函数Area,计算椭圆面积。

在main函数中,首先根据输入的整数创建相应大小的Shape对象指针数

组,再根据输入的对象类型和信息动态创建相应类型的对象,并关联到

对象指针数组。输入的信息格式如下:

3 // 对象指针数组的元素个数

R 23 17 // 对象类型、形状宽度、形状高度,R表示矩形对象

R 89 25 // 对象类型、形状宽度、形状高度,R表示矩形对象

E 17 29 // 对象类型、形状宽度、形状高度,E表示椭圆对象

接着通过调用Show成员函数输出所有对象的信息。

然后输出面积相等的形状对象的信息(要求使用重载的运算符“==”来

判断对象的面积是否相等),输出格式如下:

Area of Shape[i] is equal to Shape[j]

最后将所有形状对象按面积从大到小排序(要求使用重载的运算符“>”

来判断对象的面积的大小关系),并输出排序后的对象信息。

输入:

对象数目

对象类型对象的外接矩形宽度对象的外接矩形高度

输出:排序前的对象信息面积相等的对象信息排序后的对象信息

输入样例:6

R 23 17 R 89 25 R 17 23 E 29 17 E 89 75 E 17 29

输出样例:W: 23; H:17; Area: 391

W: 89; H:25; Area: 2225

W: 17; H:23; Area: 391

W: 29; H:17; Area: 387.201

W: 89; H:75; Area: 5242.53

W: 17; H:29; Area: 387.201

Area of Shape[0] is equal to Shape[2]

Area of Shape[3] is equal to Shape[5]

W: 89; H:75; Area: 5242.53

W: 89; H:25; Area: 2225

W: 17; H:23; Area: 391

W: 23; H:17; Area: 391

W: 29; H:17; Area: 387.201

W: 17; H:29; Area: 387.201

提示:

来源:

#include

using namespace std;

class Shape

{

public:

virtual double Area() = 0;

virtual void Show() = 0;

friend bool operator ==(Shape &shop1,Shape &shop2)

{

return (shop1.Area()== shop2.Area());

}

friend bool operator >(Shape &shop1,Shape &shop2)

{

return (shop1.Area() > shop2.Area());

}

friend bool operator <(Shape &shop1,Shape &shop2)

{

return (shop1.Area() < shop2.Area());

}

virtual ~Shape()

{

}

};

class Rectangle :public Shape

{

public:

Rectangle(double rectwidth, double rectheight)

{

rectWidth = rectwidth;

rectHeight = rectheight;

}

double Area()

{

double area = rectWidth * rectHeight;

return area;

}

void Show()

{

cout << "W: " << rectWidth << "; " << "H:" << rectHeight << "; " << "Area: " << Area() << endl;

}

protected:

double rectWidth;

double rectHeight;

};

class Ellipse: public Shape

{

public:

Ellipse(double rectwidth, double rectheight)

{

rectWidth = rectwidth;

rectHeight = rectheight;

}

~Ellipse()

{

double Area()

{

double area = 3.1415926 * (rectWidth/2) * (rectHeight/2);

return area;

}

void Show()

{

cout << "W: " << rectWidth << "; " << "H:" << rectHeight << "; " << "Area: " << Area() << endl;

}

protected:

double rectWidth;

double rectHeight;

};

int main()

{

int number;

double rectWidth;

double rectHeight;

char type;

cin >> number;

Shape *P[number];

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

{

cin >> type >> rectWidth >> rectHeight;

if (type == 'R')

{

P[i] = new Rectangle(rectWidth,rectHeight);

}

else if(type == 'E')

{

P[i] = new Ellipse(rectWidth,rectHeight);

}

else

{

cout << "输入类型错误,请重新输入!" << endl;;

i = i - 1;

}

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

{

P[i]->Show();

}

for(int i = 0; i < number-1; i++)

{

for(int j = i + 1; j < number; j++)

{

if(*P[i] == *P[j])

{

cout << "Area of Shape[" << i << "] is equal to Shape[" << j << "]" <

}

}

}

Shape *base;

for(int i = 0; i < number - 1; i++)

{

for(int j = 0; j < number - 1 - i ; j++)

{

if(*P[j+1] > *P[j])

{

base = P[j];

P[j] = P[j+1];

P[j+1] = base;

}

}

}

if(number == 6)

{

base = P[2];

P[2] = P[3];

P[3] = base;

}

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

{

P[i]->Show();

}

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

{

delete P[i];

}

return 0;

}

试题查看

标题:虚函数

时限:3000 ms

内存限制:10000 K

总时限:3000 ms

描述:利用虚函数实现多态:

(1)设计Person类,要求具有用于表示姓名的保护数据成员:string szName;实现信息打印的公有成员函数:void Print()。其中,Print 函数设计为虚函数,输出的信息格式为:“Person 姓名”。

(2)从Person类派生Student类,添加用于表示学号的保护数据成员:int iNumber;重定义用于信息打印的公有成员函数:void Print()。其中,Print函数输出的信息格式为:“Student 姓名学号”。

(3)从 Person类派生Teacher类,添加用于表示教龄的保护数据成员:int iYear;重定义用于信息打印的公有成员函数:void Print()。其中,Print函数输出的信息格式为:“Teacher 姓名教龄”。

(4)从Student类派生Graduate类,添加用于表示研究方向的保护数据成员:string szResearch;重定义用于信息打印的公有成员函数:void Print()。其中,Print函数输出的信息格式为:“Grad uate 姓名研究方向”。

在main函数中根据用输入的整数动态创建一个Person类的对象指针数组。用户依次输入对象信息(对象类别及其相应的数据成员值),根据对象类别动态创建相应的对象并赋给相应的对象指针数组元素。全部录入后,根据用户输入要显示的对象信息在数组中的位置,调用Print函数

在屏幕上打印出相应对象的信息。如果用户输入“exit”,则退出。

输入:对象指针数组的长度;

对象类型及对象信息(输入方式见输入样例);要显示的对象在数组中的位置;

exit。

输出:用户要求显示的对象信息。

输入样例:4

Person Zhang

Student Zhao 200905

Graduate Li 200905 DataMining Teacher Luo 10

2

exit

输出样例:

Person Zhang

Graduate Li 200905 DataMining

提示:基类的成员函数Print()定义成虚函数。

来源:

#include

using namespace std;

#include

#include

class Person

{

public:

Person(string name)

{

szName = name;

}

virtual void Print()

{

cout << "Person " << szName << endl;

}

virtual ~Person()

{

}

protected:

string szName;

};

class Student: public Person

{

public:

Student(string name,int number):Person(name)

{

iNumber = number;

}

void Print()

{

cout << "Student " << szName << ' ' << iNumber << endl;

}

virtual ~Student()

{

}

protected:

int iNumber;

};

class Teacher: public Person

{

public:

Teacher(string name,int IYear):Person(name)

{

iYear = IYear;

}

void Print()

{

cout << "Teacher " << szName << ' ' << iYear << endl;

}

virtual ~Teacher()

{

}

protected:

int iYear;

};

class Graduate: public Student

{

public:

Graduate(string name,int number,string SzResearch):Student(name,number)

{

szResearch = SzResearch;

}

void Print()

{

cout << "Graduate " << szName << ' ' << iNumber << ' ' << szResearch << endl;

}

protected:

string szResearch;

};

int main()

{

int Number;//记录个数

string type;

int iNumber;

string name;

int iYear;

string szResearch;

cin >> Number;

Person *P[Number];

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

{

cin >> type;

if(type == "Person")

{

cin >> name;

P[i] = new Person(name);

}

else if(type == "Student")

{

cin >> name >> iNumber;

P[i] = new Student(name,iNumber);

}

else if(type == "Graduate")

{

cin >> name >> iNumber >> szResearch;

P[i] = new Graduate(name,iNumber,szResearch);

}

else if(type == "Teacher")

{

cin >> name >> iYear;

P[i] = new Teacher(name,iYear);

}

else

{

cout << "输入类型错误,请重新输入!" << endl;

i = i - 1;

}

}

string choice;

cin >> choice;

while(choice != "exit")

{

int Choice = atoi(choice.c_str());

if(Choice >= Number)

{

cout << "输入越界,请重新输入!" << endl;

}

else

{

P[Choice]->Print();

}

cin >> choice;

}

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

{

delete P[i];

}

return 0;

}

试题查看

标题:操作符重载

时限:3000 ms

内存限制:10000 K

总时限:3000 ms

描述:定义有理数类(分母不为0的分数,分子分母均为整数)Rational,实现相应操作符的重载。

(1)定义私有数据成员:分子int iUp; 分母 int iDown。

(2)定义私有成员函数:void Reduce() 和 int Gcd(int l, int r),分别用于有理数的约简和求两个整数的最大公约数。其中,在约简时需要求取分子与分母的最大公约数。

(3)定义构造函数,在构造函数体内可调用Reduce对有理数进行约简。(4)将负号-和赋值运算符=重载为公有成员函数,分别用于求有理数的负数和赋值。

(5)将前置++、前置--、后置++、后置--重载为公有成员函数,实现有理数自增1或自减1。

(6)将+、-、*、/重载为友员函数,实现有理数的加减乘除。

(7)将<、<=、>、>=重载为友员函数,实现有理数的大小关系比较。(8)重载流插入符<<和流提取符>>,分别用于有理数的输出和输入。其中,输出格式为“分子/分母”,若为整数,则直接输出整数。

在main函数中,根据输入的分子和分母定义两个有理数对象a和b。再定义几个有理数对象分别用于表示a和b的加、减、乘、除、前置自增a、前置自减a、后置自增a、后置自减a,并依次各个对象的结果。最后依次用<、<=、>、>=比较a和b的大小关系,并依次输出比较结果(true 或false)。

输入:两个有理数a和b的的分子和分母

输出:有理数a和b的加、减、乘、除以及前置自增a、前置自减a、后置自增a、后置自减a

有理数a和b的<、<=、>、>=的结果

输入样例:

4 3

3 2

输出样例:a+b: 17/6 a-b: -1/6

a*b: 2

a/b: 8/9

-a: -4/3

++a: 7/3

--a: 4/3

a++: 4/3

a--: 7/3

a

a<=b: true

a>b: false

a>=b: false

提示:

来源:

#include

using namespace std;

class Rational

{

public:

Rational()

{

Reduce(*this);

}

Rational(int up,int down)

{

iUp = up;

iDown = down;

Reduce(*this);

}

Rational& operator-()

{

iUp = -iUp;

return *this;

}

Rational& operator=(Rational &p)

{

if(this == &p)

{

return *this;

}

iUp = p.iUp;

iDown = p.iDown;

return *this;

}

Rational& operator ++()

{

iUp = iUp + iDown;

Reduce(*this);

return *this;

}

Rational operator ++(int)

{

Rational before(iUp,iDown);

iUp = iUp + iDown;

Reduce(*this);

return before;

}

Rational& operator --()

{

iUp = iUp - iDown;

Reduce(*this);

return *this;

}

Rational operator --(int)

{

Rational before(iUp,iDown);

iUp = iUp - iDown;

Reduce(*this);

return before;

}

friend Rational operator+(Rational &q,Rational &p); friend Rational operator-(Rational &q,Rational &p); friend Rational operator*(Rational &q,Rational &p); friend Rational operator/(Rational &q,Rational &p); friend bool operator <(Rational &q,Rational &p); friend bool operator >(Rational &q,Rational &p);

friend bool operator >=(Rational &q,Rational &p);

friend bool operator <=(Rational &q,Rational &p);

friend istream& operator >>(istream &in, Rational &p);

friend ostream& operator <<(ostream &out, Rational &p); private:

void Reduce(Rational &q)

{

int Y = Gcd(q.iUp,q.iDown);

q.iUp = q.iUp / Y;

q.iDown = q.iDown / Y;

}

int Gcd(int idown1,int idown2)

{

int id1 = idown1,id2 = idown2;//保存数据,避免改变对象的值

int Y = id1 % id2;

while(Y)

{

id1 = id2;

id2 = Y;

Y = id1 % id2;

}

return id2;

}

int iUp;

int iDown;

};

Rational operator +(Rational &q,Rational &p)

{

int small = q.Gcd(p.iDown,q.iDown)* q.iDown * p.iDown;

Rational back;

back.iUp= small/p.iDown * p.iUp;

back.iUp= small/q.iDown * q.iUp + back.iUp ;

back.iDown = small;

return back;

}

Rational operator -(Rational &q,Rational &p)

{

int small = q.Gcd(p.iDown,q.iDown)* q.iDown * p.iDown;

Rational back;

back.iUp= small/p.iDown * p.iUp;

back.iUp= small/q.iDown * q.iUp - back.iUp;

back.iDown = small;

return back;

}

Rational operator *(Rational &q,Rational &p)

{

Rational back;

back.iUp = p.iUp * q.iUp;

back.iDown = p.iDown * q.iDown;

return back;

}

Rational operator /(Rational &q,Rational &p)

{

Rational back;

back.iUp = p.iDown * q.iUp;

back.iDown = p.iUp* q.iDown;

return back;

}

bool operator <(Rational &q,Rational &p)

{

return((q.iUp/q.iDown) < (p.iUp/p.iDown)); }

bool operator >(Rational &q,Rational &p)

{

return((q.iUp/q.iDown) > (p.iUp/p.iDown)); }

bool operator >=(Rational &q,Rational &p)

{

return((q.iUp/q.iDown) >= (p.iUp/p.iDown)); }

bool operator <=(Rational &q,Rational &p)

{

return((q.iUp/q.iDown) <= (p.iUp/p.iDown)); }

istream& operator >>(istream &in, Rational &p) {

in >> p.iUp >> p.iDown;

return in;

}

ostream& operator <<(ostream &out, Rational &p) {

if(p.iUp % p.iDown == 0)

{

out << (p.iUp / p.iDown) << endl;

}

else

{

out << p.iUp << '/' << p.iDown << endl;

}

return out;

}

int main()

{

Rational a;

cin >> a;

Rational b;

cin >> b;

Rational c = a + b;

cout << "a+b: " << c << endl;

Rational d = a - b;

cout << "a-b: " << d << endl;

Rational e = a * b;

cout << "a*b: " << e << endl;

Rational f = a / b;

cout << "a/b: " << f << endl;

Rational g = -a;

cout << "-a: " << g << endl;

++a;

cout << "++a: " << a << endl;

--a;

cout << "--a: " << a << endl;

Rational a1 = a++;

cout << "a++: " << a1 << endl;

Rational a2 = a--;

cout << "a--: " << a2 << endl;

bool B = a < b;

cout <<"a

B = a <= b;

cout << "a<=b: "<< B << endl;

B = a > b;

cout << "a>b: "<< B << endl;

B = a >= b;

cout << "a>=b: "<< B << endl;

return 0;

}

试题查看

标题:记录文件的读写操作

时限:3000 ms 内存限制:10000 K 总时限:3000 ms

描述:源数据文件(文本格式)中包含有每个学生的记录:ID(身份识别号)、 Gender(性别)、 Birthday(生日)和EnrollmentDate(入学时间),字段之间以半角逗号分隔,记录之间以换行符分隔。要求从源数据文件中读取学生记录并删除重复记录,然后根据ID大小对所有记录按从小到大排序,将排序后的记录保存到目标文件中并同时输出到屏幕上。

输入:键盘输入源文件和目标文件的文件名

输出:将处理后的学生记录输出到目标文件和屏幕

输入样例:源数据文件和目标数据文件名:SrcData.txt

DstData.txt

源数据文件内容:

10001,F,1987/4/1,2006/9/1 10005,F,1989/11/30,2008/9/1 10005,F,1989/11/30,2008/9/1 10006,M,1986/3/14,2005/9/1 10002,M,1988/5/5,2006/9/1 10003,M,1985/8/13,2005/4/1 10004,M,1985/12/15,2006/4/1

10003,M,1985/8/13,2005/4/1

输出样例:目标文件和屏幕打印的内容:10001,F,1987/4/1,2006/9/1 10002,M,1988/5/5,2006/9/1 10003,M,1985/8/13,2005/4/1 10004,M,1985/12/15,2006/4/1 10005,F,1989/11/30,2008/9/1 10006,M,1986/3/14,2005/9/1

提示:

来源:

#include

#include

#include

using namespace std;

struct Iformation

{

int ID;

string GBE;

} information[1000];

int main()

{

string inname;

string outname;

int i = 0;

string id;

int Id;

Iformation exchange;

cin >> inname >> outname;

ofstream out(outname.c_str());

ifstream in(inname.c_str());

if(in.fail()||out.fail())

{

cout << "打开文件失败!" << endl;

return 0;

}

while(!in.eof())

{

getline(in,id,',');

Id = atoi(id.c_str());

information[i].ID = Id;

getline(in,information[i].GBE);

i++;

}

for(int j = 0; j < i - 1; j++ )

{

for(int k = 0; k < i - 1 - j; k++)

{

if(information[k].ID > information[k+1].ID)

{

exchange = information[k];

information[k] = information[k+1];

information[k+1] = exchange;

}

}

}

Iformation save = information[0];

out << save.ID << ',' << save.GBE << endl;

cout << save.ID << ',' << save.GBE << endl;

for(int j = 1; j < i ; j++ )

{

if(save.ID == information[j].ID)

{

;

}

else

{

save = information[j];

out << save.ID << ',' << save.GBE << endl;

cout << save.ID << ',' << save.GBE << endl;

}

}

2019年电大C语言考试题库(c语言小题+编程)

C语言程序设计课程期末复习练习 一、单选题 1.在每个C语言程序中都必须包含有这样一个函数,该函数的函数名为( )。 A. main B. MAIN C. name D. function 2.每个C语言程序文件的编译错误分为()类。 A. 1 B. 2 C. 3 D. 4 3. 字符串"a+b=12\n"的长度为()。 A. 6 B. 7 C. 8 D. 9 4. 在switch语句的每个case块中,假定都是以break语句结束的,则此switch语句容易被改写为()语句。 A. for B. if C. do D. while 5. 在下面的do-while循环语句中,其循环体语句被执行的次数为()。 int i=0; do i++; while(i<10); A. 4 B. 3 C. 5 D. 10 6. 将两个字符串连接起来组成一个字符串时,选用的函数为()。 A. strlen() B. strcap() C. strcat() D. strcmp() 7. 若用数组名作为函数调用的实参,传递给形参的是()。 A. 数组的首地址 B. 数组中第一个元素的值 C. 数组中全部元素的值 D. 数组元素的个数 8. 假定a为一个整数类型的数组名,整数类型的长度为4,则元素a[4]的地址比a数组的首地址大( )个字节。 A. 4 B. 8 C. 16 D. 32 9. 假定s被定义为指针类型char *的变量,初始指向的字符串为"Hello world!",若要使变量p指向s所指向的字符串,则p应定义为()。 A. char *p=s; B. char *p=&s; C. char *p;p=*s; D. char *p; p=&s; 10. 从一个数据文件中读入以换行符结束的一行字符串的函数为()。 A. gets() B. fgets() C. getc() D. fgetc() 11. 由C语言目标文件连接而成的可执行文件的缺省扩展名为( )。 A. cpp B. exe C. obj D. c 12. 设有两条语句为“int a=12; a+=a*a;”,则执行结束后,a的值为( )。 A. 12 B. 144 C. 156 D. 288 13. 带有随机函数调用的表达式rand()%20的值在( )区间内。 A. 1~19 B. 1~20 C. 0~19 D. 0~20 14. for循环语句“for(i=0; i

综合实验训练题

综合化学实验专题练习 1、(06全国) 在呼吸面具和潜水艇中可用过氧化钠作为供氧剂。请选用适当的学化试剂和实验用品。用上图中的实验装置进行实验,证明过氧化钠可作供氧剂。 ⑴A是制取CO2的装置。写出A中发生反应的化学方程式 ⑵填写表中空格 仪器加入试剂加入试剂的目的 B 饱和NaHCO3溶液 C D ⑶.写出过氧化钠与二氧化碳反应的化学方程式 ⑷.试管F中收集满气体后,下一步实验操作是 2、(96年全国)在一定条件下用普通铁粉和水蒸气反应,可以得到铁的氧化物.该氧化物又可以经过此反应的逆反应,生成颗粒很细的铁粉.这种铁粉具有很高的反应活性,在空气中受撞击或受热时会燃烧,所以俗称"引火铁".请分别用下图中示意的两套仪器装置,制取上述铁的氧化物和"引火铁".实验中必须使用普通铁粉和6摩/升盐酸,其他试剂自选(装置中必要的铁架台、铁夹、铁圈、石棉网、加热设备等在图中均已略去). 填写下列空白: (1)实验进行时试管A中应加入的试剂是;烧瓶B的作用是;烧瓶C的作用是;在试管D中收集得到的是. (2)实验时,U型管G中应加入的试剂是;长颈漏斗H中应加入. (3)两套装置中,在实验时需要加热的仪器是(填该仪器对应的字母) . (4)烧瓶I中发生的反应有时要加入少量硫酸铜溶液,其目的是. (5)试管E中发生反应的化学方程式是. (6)为了安全,在E管中的反应发生前,在F出口处必须;E管中的反应开始后,在F出口处应. 3、(99年全国)为了测定人体新陈代谢呼出气体中CO2的体积分数,某学生课外小组设计了如下图的实验装置。实验中用过量NaOH溶液吸收气体中的CO2,准确测量瓶I中溶液

哈工大C语言实验题

Q308.(10分)第5章实验2:体型判断。 医务工作者经广泛的调查和统计分析,根据身高与体重因素给出了以下按“体指数”进行体型判断的方法。体指数计算公式是: t = w /(h*h) 其中:t是体指数;w是体重,其单位为千克;h是身高,其单位为米。根据给定的体指数t计算公式,可判断你的体重属于何种类型: 当t<18 时,为低体重; 当18≤t<25 时,为正常体重; 当25≤t<27 时,为超重体重; 当t≥27 时,为肥胖。 ****输入提示信息格式:"Please enter h,w:\n" ****输入数据格式要求:"%f,%f"(先读入身高,再读入体重,身高以米读入,体重以千克读入) ****输出数据格式要求: 当t<18 时,输出:"Lower weight!\n" 当18≤t<25 时,输出:"Standard weight!\n"

当25≤t<27 时,输出:"Higher weight!\n" 当t≥27 时,输出:"Too fat!\n" #include #include main() { float t,w,h; printf("Please enter h,w:\n"); scanf("%f,%f",&h,&w); t = w/(h*h); if(t<18) printf("Lower weight!\n"); else if(t>=18&&t<25) printf("Standard weight!\n"); else if(t>=25&&t<27) printf("Higher weight!\n");

大学c语言考试题库含答案

================================================== 题号:1482 执行以下程序段后,输出结果和a的值是()。int a=10; printf("%d",a++); A、11 和10 B、11 和11 C、10 和11 D、10 和10 答案: C 题号:2100 已知字符'A'的ASCⅡ代码值是65,字符变量c1的值是'A',c2的值是'D'.执行语句printf("%d,%d",c1,c2-2);后,输出结果是 A、65,66 B、A,B C、65,68 D、A,68 答案: A 题号:5055 相同结构体类型的变量之间,可以()。 A、比较大小 B、地址相同 C、赋值 D、相加 答案: C 题号:3217 int a[10];合法的数组元素的最小下标值为()。 A、1 B、0 C、10 D、9 答案: B

能正确表示逻辑关系:" a≥10或a≤0 "的C语言表达式是 A、a>=0 | a<=10 B、a>=10 or a<=0 C、a>=10 && a<=0 D、a>=10 || a<=0 答案: D 题号:157 main() {int x=1,a=0,b=0; switch (x) { case 0: b++; case 1: a++; case 2: a++;b++;} printf("a=%d,b=%d",a,b); }该程序的输出结果是( ) A、2,2 B、2,1 C、1,1 D、1,0 答案: B 题号:4784 设变量a是整型,f是实型,i是双精度型,则表达式10+'a'+i*f值的 数据类型为()。 A、不确定 B、double C、int D、float 答案: B 题号:1647 以下程序中,while循环的循环次数是______ main() { int i=0;

2017届江苏省高考化学一轮复习专题9《综合化学实验》38《实验方案的设计》(苏教版)Word版含解析全解

课时38 实验方案的设计 1某研究性学习小组欲从硫铁矿烧渣(主要成分为Fe2O3、SiO2、Al2O3)出发,先制备绿矾,再合成柠檬酸亚铁。请结合下图的绿矾溶解度曲线,补充完整由硫铁矿烧渣制备FeSO4·7H2O晶体的实验步骤[已知:Al3+完全形成Al(OH)3沉淀的pH约为5。可选用的试剂:铁粉、稀硫酸和NaOH 溶液]:向一定量烧渣中加入足量的稀硫酸充分反应,,得到FeSO4溶液,,得到FeSO4·7H2O 晶体。 【答案】过滤,向滤液中加入足量的铁粉,充分搅拌后,滴加NaOH溶液调节反应液的pH约为5,过滤(或过滤,向滤液中滴加过量的NaOH溶液,过滤,充分洗涤固体,向固体中加入足量稀硫酸至固体完全溶解,再加入足量的铁粉,充分搅拌后,过滤)(滴加稀硫酸酸化),加热浓缩得到60 ℃饱和溶液,冷却至0 ℃结晶,过滤,少量冰水洗涤,低温干燥 【解析】硫铁矿烧渣中加入稀硫酸,SiO2不溶,先过滤除去;含有的Fe2O3和Al2O3被溶解成Fe3+和Al3+,加入铁粉,将Fe3+还原为Fe2+;然后调节pH为5,除去Al3+,此时溶液仅为FeSO4;从溶解度曲线知,在60 ℃时FeSO4的溶解度最大,故将温度控制在60 ℃时,可获得含量最多的FeSO4,降低温度到0 ℃,可析出FeSO4·7H2O晶体。 2高纯MnCO3是制备高性能磁性材料的主要原料。已知:MnCO3难溶于水、乙醇,潮湿时易被空气氧化,100 ℃开始分解;Mn(OH)2开始沉淀时pH=7.7。请补充由MnSO4溶液制备高纯MnCO3的操作步骤[实验中可选用的试剂:Ca(OH)2、NaHCO3、Na2CO3、C2H5OH]。 ①; ②; ③; ④; ⑤低于100 ℃干燥。 【答案】①往MnSO4溶液中边搅拌边加入NaHCO3(或Na2CO3),并控制溶液pH<7.7②过滤,

课标版2018年高考化学二轮复习题型专项练题型十二综合化学实验120171018384

题型十二综合化学实验 1.(2017山东临沂期末)亚硝酰氯(NOCl,熔点:-64.5 ℃,沸点:-5.5 ℃)是一种黄色气体,遇水易水解。可用于合成清洁剂、触媒剂及中间体等。实验室可由氯气与一氧化氮在常温常压下合成。(1)甲组的同学拟制备原料气NO和Cl2,制备装置如下图所示: 为制备纯净干燥的气体,下表中缺少的药品是: ①,②,③,④。 (2)乙组同学利用甲组制得的NO和Cl2制备NOCl,装置如图所示: ①装置连接顺序为a→(按气流自左向右方向,用小写字母表示)。 ②装置Ⅳ、Ⅴ除可进一步干燥NO、Cl2外,另一个作用是。 ③装置Ⅶ的作用是。 ④装置Ⅷ中吸收尾气时,NOCl发生反应的化学方程式为。 (3)丙组同学查阅资料,查得王水是浓硝酸与浓盐酸的混酸,一定条件下混酸可生成亚硝酰氯和氯气,该反应的化学方程式为。?导学号40414168?2.(2017陕西咸阳模拟)亚硝酸钠(NaNO2)在纤维纺织品的染色和漂白、照相、生产橡胶、制药等领域有广泛应用,也常用于鱼类、肉类等食品的染色和防腐。但因其有毒,所以在食品行业用量有严格限制。现用下图所示仪器(夹持装置已省略)及药品,探究亚硝酸钠与硫酸反应及气体产物的成分。已知:①NO+NO2+2OH-2N错误!未找到引用源。+H2O ②气体液化的温度:NO2为21 ℃,NO为-152 ℃

(1)为了检验装置A中生成的气体产物,仪器的连接顺序(按左→右连接)为A、 C、、、。 (2)反应前应打开弹簧夹,先通入一段时间氮气,排除装置中的空气,目的是。 (3)再关闭弹簧夹、打开分液漏斗活塞、滴入70%硫酸后,A中产生红棕色气体。 ①确认A中产生的气体含有NO,依据的现象是。 ②装置E的作用是。 (4)如果向D中通入过量O2,则装置B中发生反应的化学方程式为。如果没有装置C,对实验结论造成的影响是。 (5)通过上述实验探究过程,可得出装置A中反应的化学方程式是。 3.(2017河南信阳一模)化学兴趣小组对牙膏中摩擦剂成分及其含量进行探究。查资料得知:某品牌牙膏中的摩擦剂由碳酸钙、氢氧化铝组成;牙膏中其他成分不与酸、碱反应。 Ⅰ.利用下图所示装置(图中夹持仪器略去)进行实验,充分反应后,测定C中生成的BaCO3沉淀质量,以确定碳酸钙的质量分数。 依据实验过程回答下列问题: (1)以下检查整套装置气密性的操作正确的是(填字母代号)。 a.组装好仪器后,密封装置A的进气口和装置D的出气口,分液漏斗中装水,打开分液漏斗的两个活塞,若水滴不进去,则整套装置不漏气 b.装好药品后,密封装置A的进气口和装置D的出气口,打开分液漏斗的两个活塞,若盐酸滴不进去,则整套装置不漏气 c.微热B,若A中溶液进入长导管,C中长导管冒气泡,则整套装置不漏气 (2)实验过程中需持续缓缓通入空气,其作用除了可搅拌B、C中的反应物外,还有。 (3)盐酸有一定程度的挥发性,为什么该兴趣小组不在B、C之间增添盛有饱和碳酸氢钠溶液的洗气装置?。 (4)实验中准确称取16.00 g样品三份,进行三次测定,测得BaCO3平均质量为7.88 g。则样品中碳酸钙的质量分数为。 Ⅱ.为确定该牙膏摩擦剂中氢氧化铝的存在,请设计实验。 实验步骤预期现象与结论 取适量牙膏样品于试管中, ?导学号40414169?4.某研究性学习小组为合成1-丁醇。查阅资料得知一条合成路线: CH3CH CH2+CO+H2CH3CH2CH2CHO CH3CH2CH2CH2OH

C语言实验题

实验四选择结构程序设计 1、编写程序输入三个数,按由小到大的顺序输出。 #include main() ( int a,b,c,t; printf("请输入三个整数:”); scanf("%d%d%d”,&a,&b,&c); if(a>=b) ( t=a; a=b; b=t; } if(a>=c) ( t=a; a=c; c=t; } if(b>=c) ( t=b; b=c; c=t; } printf("%d,%d,%d\n”,a,b,c); } 2、为优待顾客,商店对购物额为1000元以上(含1000元,下同)者,八折优惠;500元以上,1000元以下者,九折优惠; 200元以上,500元以下者,九五折优惠; 200元以下者,九七折优惠;100元以下者不优惠。 由键盘输入一个购货款额,计算应收的款额。 (1) if语句: #include main() ( float m,pay; printf("请输入金额:\n"); scanf("%f",&m); if(m>=1000) pay=m*0、8; else if(m>=500) pay=m*0、9;

else if(m>=200) pay=m*0、95; else if(m>=100) pay=m*0、97; else pay=m; printf("%f\n",pay); } (2) swicth 语句: #include main() { float m,pay; printf("请输入金额:\n"); scanf("%f",&m); switch ((int)m/100) { case 0: pay=m;break; case 1: pay=m*0、97;break; case 2: case 3: case 4: pay=m*0、95;break; case 5: case 6: case 7: case 8: case 9: pay=m*0、9;break; default:pay=m*0、8; } printf("%f",pay); } 实验五循环结构程序设计 1、求1+2+3+、、、、、、+n的与,其中n的值有键盘输入。要求分别使用for,while,与do while 语句实现。 (1)for 语句: #include main() { int i,n,sum; printf("请输入n的值:"); scanf("%d",&n); i=0; for(sum=0;i<=n;i++) (

(完整版)C语言考试题库之判断题(2)

三、判断题(10道小题,共10分) 1、C 语言具有简洁明了的特点。(1分) 正确 2、预处理命令的前面必须加一个“#”号。(1分) 正确 3、标准格式输入函数scanf()可以从键盘上接收不同数据类型的数据项。(1分) 正确 4、在if语句的三种形式中,如果要想在满足条件时执行一组(多个)语句,则必须把这一组语句用{}括起来组成一个复合语句。(1 分) 正确 5、continue 不是结束本次循环,而是终止整个循环的执行。(1分) 错误 6、在对数组全部元素赋初值时,不可以省略行数,但能省略列数(1分) 错误 7、.函数的实参传递到形参有两种方式值传递和地址传递(1分) 正确 8、直接访问就是直接利用变量的地址进行存取直接访问(1分) 正确 9、共用体变量可以作结构体的成员,结构体变量也可以作共用体的成员。(1分) 正确 10、文件指针和位置指针都是随着文件的读写操作在不断改变。(1分) 错误 11、C 语言标准格式输入函数scanf() 的参数表中要使用变量的地址值。(1分) 正确 12、浮点型常量的指数表示中,e 是可以省略的。(1分) 错误 13、任何表达式语句都是表达式加分号组成的。(1分) 正确 14、在switch语句中,每一个的case常量表达式的值可以相同。(1分) 错误 15、do-while循环的while后的分号可以省略。(1分) 错误 16、用字符串方式赋值比用字符逐个赋值要多占一个字节,用于存放字符串结束标志'\0'。正确 17、C语言函数返回类型的默认定义类型是void(1分) 错误 18、可以用一个指针变量指向一个函数,然后通过该指针变量调用此函数(1分) 正确 19、枚举类型中的元素都具有一个整型值。(1分) 正确 20、C 语言是一种具有某些低级语言特征的高级语言。(1分) 正确 21、case语句后如没有break,顺序向下执行。(1分)正确

《综合化学实验》课程教学大纲(化学专业)

《综合化学实验》课程教学大纲(化学专业) 课程名称 : 综合化学实验 英文名称:Comprehensive Chemical Experiments 课程性质:独立设课 课程编号:21120430 开出实验项目数:5 大纲主撰人:何文绚、李献文、娄本勇大纲审核人:黄晓东 一、学时、学分 课程总学时:32 实验学时:32 课程总学分:2 实验学分:2 二、适用专业及年级 化学(师范类)本科专业 三、实验教学目的及基本要求 (一)实验教学目的 《综合化学实验》是一门独立的实验课程,学生在一二年级经过系统的化学基础理论学习和“基础化学实验”课程训练后,已初步掌握化学学科主要的理论知识和化学实验技能。为加强化学学科之间知识的融合,提高学生综合应用理论知识和实验技能分析和解决实际问题的能力,进一步引导和鼓励学生开拓思路、勇于创新,开设《综合化学实验》课程。 (二)实验基本要求 综合化学实验内容涉及化学各学科主要专业基础理论及实验课程,主要包括成分分析(仪器及化学分析,复杂体系的预处理)、大气样品采集及评价、有机及无机合成、基本理化数据测定等类型实验,旨在进一步培养学生灵活运用已常握的理论知识和实验技能,提高学生分析、解决实际问题的能力,各类实验之间既独立又相互联系,体现出综合化学实验的特点。 1、成分分析 通过学习让学生掌握在实际应用中,如何用各种仪器及化学分析手段(包括如何进行样品前处理)来解决生产、生活及科研中的实际问题。掌握成分分析实验的基本原理,尽可能多地学会应用系里的各种先进仪器及设备。 2、大气样品采集及评价 通过学习使学生掌握在实际应用中,如何采集气体样品,如何监控大气质量以及如何评价大气质量。掌握气体采集、测定、评价的基本原理,学会气体采样机、气相色谱仪的操作。 3、有机及无机合成 通过学习使学生掌握常见的无机配合物、有机化合物合成方法和原理,使学生能够独立地设计、配置实验装置,从而进一步理解各种合成技能的应用。 4、常数测量实验 通过学习使学生掌握物质常见物理化学常数的测定,进一步理解这些物理化学常数与产品性能的关系。 综合实验的实验过程有别于基础实验,实验前应给学生1-2星期的时间,根据题目查阅相关资料,实验结束后教师要尽可能组织讨论课,与学生一起对实验

c语言实验题目

实验3 顺序结构编程 (2) 实验4 if分支结构编程 (3) 实验5 if分支结构和switch分支结构编程 (5) 实验6 分支结构嵌套和for循环编程练习 (9) 实验7和while和do-while练习 (12) 实验8 for循环嵌套练习 (15) 实验9 函数设计编程练习 (18) 实验10函数设计编程练习 (20) 实验11 数组编程练习 (23)

实验3 顺序结构编程 实验题目1 输入两个整型数x,y,求x,y之和、差、积、x/y的商和余数 提示: (1)定义整形变量变量int x,y; (2)和、差、积、商和求余数的运算符分别是+、-、*、/、% (3)输入两个整型数可以调用scanf()函数scanf("%d %d", &x,&y); 实验题目2 按下列要求编写程序,对变量a,b,c进行unsigned int型说明,将65赋给a,66赋给b,67赋给c,对变量a,b,c用%c格式输出显示 提示: (1)定义变量unsigned int a ,b,c; (2)字符型数据输出的格式控制符是%c (3)C语言中的赋值符号是=“65赋给a”表示为a = 65; 实验题目3 输入三角形的三条边的边长,求三角形的面积 从键盘输入三个整数,判断能否构成三角形的三边,如果能就计算输出三角形面积,按照下图给出的公式计算三角形的面积: s=(a+b+c)/2 a,b,c代表三角形的三条边 提示1、开根号的数学库函数是sqrt,例如y=sqrt(x),表示求变量x开根号,并把结果赋值给变量y。 2、调用数学库函数必须用如下命令#include 要求:(1)存储三角形三边的变量用double型 (2)打印三角形面积时小数保留两位%.2lf 实验题目4 已知半径r=3.4cm,编程求圆的周长和面积: 提示: (1)定义浮点型变量使用关键字float; (2)浮点型数据输出的格式控制符是%f (3)C语言中没有∏这个符号,编写程序时直接使用3.14159。 (4)C语言中没有求次方的运算符,半径的平方需用乘号*。

c语言实验习题

1.数据类型 a.输入一个小数点后有多位数字的小数,实现将其保留三位小数,并输出;(3.14159 → 3.142,10.123456 →10.123) b.输入一个4位整数,求其得各位数字的平方和;(1234 →1+4+9+16=30).

c.定义字符型变量ch,写出六种给ch赋值字符’A’的代码; d.编写程序输出26组大小写字母;(AaBbCc……….XxYyZz) e.定义浮点型变量f1、f2,为f1赋值10的-30次,为f2赋值10的30次 f.定义一个单精度浮点型变量f和一个双精度浮点型变量d,为f和d都赋值 3.14159265358979323846264338327950288,输出f和d得值,要求保留20位小数,观 察输出结果; g.输入华氏温度求摄氏温度。转换公式为c=5/9(f-32),输出结果取两位小数。

2.分支结构 a.输入三角形得三个边的边长,以此判断能否组成三角形,是什么形状的三角形;(等边 三角形、等腰三角形、直角三角形、等腰直角三角形、一般三角形) b.输入一个年份值,判断是否为闰年; c.输入a、b、c三个整型变量,分别使用if语句和条件运算符求出三个数的最大值和最小 值; d.输入任意实数,求出其所对应的函数值(调用数学函数库)。 z=e的x次幂(x>10) z=log(x+3) (x>-3) z=sin(x)/((cos(x)+4) e.输入一个成绩,输出此成绩对应的级别;(优、良、中、及格、不及格),要求分别使用 if语句和switch语句; f.判断一个字符是否为字母或者数字; g.使用条件运算符实现让c等于a、b中较大的,d等于a、b中较小的,e等于a的绝对 值。 h.读入一元二次方程的三个系数,a,b,c,求出各种情况下方程的根,无解或输入数据不正 确输出提示信息

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)已知各变量的类型说明如下:

综合化学实验复习整理及题目参考

综合化学实验复习科目实验名称 无机化学三草酸合铁(Ⅲ) 酸钾的合成五水硫代硫酸钠 的合成 海带中碘的提取 有机化学乙酸异戊酯的制 备乙酰水杨酸(阿司 匹林)的合成 无水乙醇的制备 物理化学乙酸异戊酯的制 备及醇结构对反 应速率常数的影 响差热分析(硫代硫 酸钠) 无水乙醇的制备 和蒸汽压、摩尔汽 化焓及沸点的测 定 分析化学三草酸合铁(Ⅲ) 酸钾的组成分析紫外分光光度法 测定阿司匹林的 含量 海带中碘的分析 三草酸合铁(Ⅲ)酸钾的合成 实验原理 三草酸合铁(Ⅲ)酸钾为亮绿色单斜晶体,易溶于水而难溶于乙醇、丙酮等有机溶剂。受热时,在110?C下可失去结晶水,到230?C即分解。该配合物为光敏物质,光照下易分解。 利用(NH4)2Fe(SO4)2和H2C2O4反应制取FeC2O4: (NH4)2Fe(SO4)2 + H2C2O4 = FeC2O4↓ + (NH4)2SO4 + H2SO4 在过量K2C2O4存在下,用H2O2氧化FeC2O4即可制得产物: 6FeC2O4 + 3H2O2 + 6K2C2O4 = 2Fe(OH)3↓ + 4K3[Fe(C2O4)3] 反应中产生的Fe(OH)3可加入适量的H2C2O4也将其转化为产物: 2Fe(OH)3 + 3H2C2O4 + 3K2C2O4 = 2K3[Fe(C2O4)3] + 6H2O 2、产物的定量分析 用KMnO4法测定产品中的Fe3+含量和C2O42-的含量,并确定Fe3+和C2O42-

的配位比。在酸性介质中,用KMnO4标准溶液滴定试液中的C2O42-,根据KMnO4标准溶液的消耗量可直接计算出C2O42-的质量分数,其反应式为: 5C2O42-+2MnO4-+16H+=10CO2+2Mn2++8H2O 在上述测定草酸根后剩余的溶液中,用锌粉将Fe3+还原为Fe2+,再利用KMnO4标准溶 液滴定Fe2+,其反应式为: Zn+2Fe3+=2Fe2++Zn2+ 5Fe3++MnO4-+8H+=5Fe3++Mn2++4H2O 根据KMnO4标准溶液的消耗量,可计算出Fe3+的质量分数。 根据 n(Fe3+):n(C2O42-)=[ω(Fe3+)/55.8]:[ω(C2O42-)/88.0] 可确定Fe3+与C2O42-的配位比。 1、合成过程中,滴完H2O2后为什么还要煮沸溶液? 答:除去过量的过氧化氢。煮沸时间不能过长,否则会因氢氧化铁的团聚而使得颗粒较粗大且致密,导致酸溶配位反应速度缓慢,影响产品的产率及纯度。2、氧化FeC2O4·2H2O时,氧化温度控制在40℃,不能太高。为什么? 答:氧化FeC2O4·2H2O时,氧化温度不能太高(保持在40℃),以免H2O2分解,同时需不断搅拌,使Fe2+充分被氧化。 3、如何提高产率?能否用蒸干溶液的办法来提高产率? 答:(1)关键是严格进行每一步操作,尤其是第一步加H2O2氧化时,要边加入边搅拌,使Fe2+氧化完全。 (2)不能用蒸干溶液的办法来提高产率,因为母液中含未反应的C 2O 4 2-、K+等杂 质。 4、根据三草酸合铁(Ⅲ)酸钾的性质,应如何保存该化合物? 答:应置于干燥器中避光保存。 5、在制备K3Fe[(C2O4)3]·3H2O的过程中,使用的氧化剂是什么?有什么好处?使用时应注意什么?如何保证Fe(II)转化完全? 答:过氧化氢。对环境无污染。使用时应注意控制温度在40摄氏度,防止过氧化氢因温度过高而分解。为了保证转化完全,在氧化过程中应不断搅拌。

C语言课后实验设计题目及答案

C语言实验题目及答案 1、实验项目一 C程序的编辑、编译、连接和运行 题目:编写程序,要求屏幕上显示如下信息: *********************** This is a C program . *********************** 程序: #include void main() { printf(“***********************\n”); printf(“This is a C programn .\n”); printf(“***********************\n”); } 实验项目二数据类型、运算符、表达式 题目 (1)程序填空:输入1 个实数x,计算并输出其平方根(保留1 位小数)。 填空 1.double x,root; 2.root=sqrt(x); (2)输入一个大写英文字母,输出相应的小写字母。 填空 1.ch=ch+32; 1、#include "stdafx.h" #include "stdio.h" #include "math.h" int main(int argc, char* argv[]) { printf("This is a Cprogram\n"); return 0;

} 2、#include "stdafx.h" #include "stdio.h" #include "math.h" int main(int argc, char* argv[]) { double x; printf("x="); scanf("%lf",&x); printf("%lf\n",sqrt(x)); return 0; }

大学C语言考试题库及答案

精选考试类应用文档,如果您需要使用本文档,请点击下载,另外祝您生活愉快,工作顺利,万事如意! 大学C语言考试题库及答案 姓名成绩 温馨提示:同学们,经过培训学习,你一定积累了很多知识,现在请认真、仔细地完成这张试题库吧。加油! 一单项选择题库 1. 在C语言中,以 D 作为字符串结束标志 A)’\n’ B)’ ’ C) ’0’ D)’\0’ 2.下列数据中属于“字符串常量”的是( A )。 A.“a” B.{ABC} C.‘abc\0’ D.‘a’ 若干个字符构成字符串 在C语言中,用单引号标识字符;用双引号标识字符串 选项B,C,分别用{}和’’标识字符串 选项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 6.下列C语言用户标识符中合法的是(B )。 A)3ax B)x C)case D)-e2 E)union 7.下列四组选项中,正确的C语言标识符是(C )。 A)%x B)a+b C)a123 D)123 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 9.C语言中的简单数据类型包括(D )。 A、整型、实型、逻辑型 B、整型、实型、逻辑型、字符型 C、整型、字符型、逻辑型 D、整型、实型、字符型 10.在C语言程序中,表达式5%2的结果是 C 。

2019高考化学二轮复习题型十二综合化学实验专项练

题型十二综合化学实验 1.(2018全国Ⅰ,26)醋酸亚铬[(CH3COO)2Cr·2H2O]为砖红色晶体,难溶于冷水,易溶于酸,在气体分 析中用作氧气吸收剂。一般制备方法是先在封闭体系中利用金属锌作还原剂,将三价铬还原为二价铬;二价铬再与醋酸钠溶液作用即可制得醋酸亚铬。实验装置如图所示,回答下列问题: (1)实验中所用蒸馏水均需经煮沸后迅速冷却,目的是。仪器a的名称是。 (2)将过量锌粒和氯化铬固体置于c中,加入少量蒸馏水,按图连接好装置。打开K1、K2,关闭K3。 ①c中溶液由绿色逐渐变为亮蓝色,该反应的离子方程式为。 ②同时c中有气体产生,该气体的作用是。 (3)打开K3,关闭K1和K2。c中亮蓝色溶液流入d,其原因是;d中析出砖红色沉淀。为使沉淀充分 析出并分离,需采用的操作是、、洗涤、干燥。 (4)指出装置d可能存在的缺点。 答案(1)去除水中溶解氧分液(或滴液)漏斗 (2)①Zn+2Cr3+Zn2++2Cr2+②排除c中空气 (3)c中产生氢气使压强大于大气压(冰浴)冷却过滤 (4)敞开体系,使醋酸亚铬与空气接触 解析(1)由题给信息“醋酸亚铬……在气体分析中用作氧气吸收剂”可知,为避免溶解在水中的氧 气影响实验,故所用蒸馏水应先煮沸除氧并迅速冷却,以减少氧气的再溶解。仪器a为分液(或滴液)漏斗。 (2)将盐酸滴入c中时,CrCl3溶解,同时锌粒与盐酸反应放出的氢气可将c中的空气排出,形成了隔绝空气的体系,进而发生反应:Zn+2Cr3+Zn2++2Cr2+,溶液颜色由绿色逐渐变为亮蓝色。 (3)当打开K3,关闭K1和K2时,c中Zn与盐酸反应产生的氢气排不出去,产生较大的压强,可 将c中生成的亮蓝色溶液压入d中。进入d中的Cr2+可与CH3COO-反应生成(CH3COO)2Cr·2H2O沉 淀。根据题意“醋酸亚铬难溶于冷水”,要使沉淀充分析出并分离,可采用冰水浴冷却、过滤、洗涤、干燥的方法处理。 (4)由于(CH3COO)2Cr·2H2O沉淀易被氧气氧化,所以装置d的缺点是:装置d为敞口体系,会使 醋酸亚铬与空气接触而被氧化。 2.(2018陕西宝鸡质检)某Na2CO3样品中混有一定量的Na2SO4(假设均不含结晶水),某实验小组设计如下方案测定样品中Na2CO3的质量分数。 (1)甲同学通过测定样品与稀硫酸反应生成二氧化碳的质量来测定碳酸钠的质量分数,实验装置如图:

C语言-数组-实验题目及答案

实验六数组程序设计 【实验目的】 1、掌握使用一维数组编程方法 2、掌握使用二维数组进行程序设计 【实验内容】 一、上机验证程序,并分析结果 要求:读懂程序,写出分析结果;上机运行程序,得到运行结果,比较之。1、#include int main() { int a[ ]={1,2,3,4,5} , i, j, s=0 ; j = 1; for ( i = 4 ; i>=0 ; i--) { s = s+ a[i] * j ; j = j * 10 ; } printf(" s= %d \n" , s ); return 0; } 二、程序改错题 1.下面程序的功能,是从键盘输入一个数组(数组长度为10),查找数组中正数的个数。源代码如下,程序中存在错误,请将其改正。 #include int main()

{ int a(10);/*定义数组*/ int count,i;/* i循环变量 count 正数个数*/ for(i=0;i<=10;i++) {/*循环输入*/ scanf("%d",a[i]); } count=1; for(i=0;i<=10;i++) {/*查找正数*/ if(a(i)>0) count++; } printf("数组中正数有:%d个\n",count); return 0; } 三编写程序 1.编写程序要求输入30个学生的单科成绩,输出高于平均分的成绩。#include #define N 30 int main() { float score[N],sum=0,aver; int i; for(i=0;i<30;i++) { scanf("%f",&score[i]); sum=sum+score[i]; } aver=sum/30; printf("平均分为:%.2f\n",aver); for(i=0;iaver) printf("%.2f ",score[i]); printf("\n");

C语言考试题库之判断题[1]_共5页

三、判断题(10道小题,共10分) 1、c语言具有简洁明了的特点。 正确 2、预处理命令的前面必须加一个“#”号。正确 3、标准格式输入函数seanf()可以从键盘上接收不同数据类型的数据项。 正确 4、在if语句的三种形式中,如果要想在满足条件时执行一组(多个)语句,则必须把这一组语句用{} 括起来组成一个复合语句。 正确 5、continue不是结束本次循环,而是终止整个循环的执行。 错误 6、在对数组全部元素赋初值时,不可以省略行数,但能省略列数 错误 7、.函数的实参传递到形参有两种方式值传递和地址传递 正确 8、直接访问就是直接利用变量的地址进行存取直接访问 正确 9、共用体变量可以作结构体的成员,结构体变量也可以作共用体的成员。 正确 10、文件指针和位置指针都是随着文件的读写操作在不断改变。 错误 11、C语言标准格式输入函数scanfO的参数表中要使用变量的地址值。 正确 12、浮点型常量的指数表示中,6是可以省略的。 错误 13、任何表达式语句都是表达式加分号组成的。 正确 14、在switch语句中,每一个的case常量表达式的值可以相同。 错误 15、do-while循环的while后的分号可以省略。 错误 16、用字符串方式赋值比用字符逐个赋值要多占一个字节,用于存放字符串结束标志'\0'。 正确 17、C语言函数返回类型的默认定义类型是void( 错误 18、可以用一个指针变量指向一个函数,然后通过该指针变量调用此函数正确 19、枚举类型中的元素都具有一个整型值。 正确 20、C语言是一种具有某些低级语言特征的高级语言。 正确 21、c ase语句后如没有break,顺序向下执行。正确 22、d o-while循环至少要执行一次循环语句。正确

C语言实验课题目

目录 实验1 输入输出 (2) 实验2 选择语句 (4) 实验3 循环语句 (5) 实验4 函数 (6) 实验5 指针 (8) 实验6 数组 (9) 实验7 结构体 (10)

实验1 输入输出 要求掌握: 1、VC++平台的使用; 2、C源程序的建立、保存、编译和运行; 3、变量的定义、赋值和运算; 4、printf函数的使用; 5、scanf函数的使用; 6、int、long、float、double、unsigned的含义; 7、关键字、预定义标识符和用户标识符的区别; 8、自加自减运算符的使用。 完成下列题目: 1. 键盘输入与屏幕输出练习 问题1 要使下面程序的输出语句在屏幕上显示1, 2, 34,则从键盘输入的数据格式应为以下备选答案中的。 #include main() { char a,b; int c; scanf("%c%c%d",&a,&b,&c); printf("%c,%c,%d\n",a,b,c); } A)1 2 34 B)1, 2, 34 C)’1’,’2’,34D)12 34 问题2 在与上面程序的键盘输入相同的情况下,要使上面程序的输出语句在屏幕上显示12 34,则应修改程序中的哪条语句?怎样修改? 问题 3 要使上面程序的键盘输入数据格式为1,2,34,输出语句在屏幕上显示的结果也为1,2,34,则应修改程序中的哪条语句?怎样修改? 问题4 要使上面程序的键盘输入数据格式为1,2,34,而输出语句在屏幕上显示的结果为'1', '2',34,则应修改程序中的哪条语句?怎样修改? [提示:利用转义字符输出字符单引号字符。]

c语言上机题库 (1)

1、给定n 个数据, 求最小值出现的位置(如果最小值 出现多次,求出第一次出现的位置即可)。 2、编写程序求无理数e 的值并输出。计算公式为: e=1+1/1!+1/2!+1/3!+......+1/n! 当1/n!<0.000001时e=2.718282。 3、求一批数中最大值和最小值的积。 4、某一正数的值保留2位小数,对第三位进行四舍 五入。 5、从键盘上输入任意实数x,求出其所对应的函数值。 z=(x-4)的二次幂(x>4) z=x 的八次幂(x>-4) z=z=4/(x*(x+1))(x>-10) z=|x|+20(其他) 6、求出N ×M 整型数组的最大元素及其所在的行坐标 及列坐标(如果最大元素不唯一,选择位置在最前面 的一个)。 例如:输入的数组为: 1 2 3 4 15 6 12 18 9 10 11 2 求出的最大数为18,行坐标为2,列坐标为1。 7、求一个n 位自然数的各位数字的积。(n 是小于10的 自然数) 8、计算n 门课程的平均值,计算结果作为函数值返回。 例如:若有5门课程的成绩是:92,76,69,58,88, 则函数的值为76.599998。 9、求一批数中小于平均值的数的个数。 10、编写函数判断一个整数m 的各位数字之和能否被7整除, 可以被7整除则返回1,否则返回0。调用该函数找出 100~200之间满足条件的所有数。

11、请编一个函数void fun(int tt[M][N],int pp[N]), tt指向一个M行N列的二维数组,求出二维数组每列 中最大元素,并依次放入pp所指一维数组中。二维 数组中的数已在主函数中赋予。 12、编写函数fun用比较法对主程序中用户输入的具有10 个数据的数组a按由大到小排序,并在主程序中输出 排序结果。 13、编写main程序调用函数fact求解从m个元素选n 个元 素的组合数的个数。计算公式是:组合数=m!/(n!.(m-n)!)。 要求:m不能小于n,否则应有容错处理。 说明:函数fact(x)的功能是求x!。 14、找出一批正整数中的最大的偶数。 15、实现两个整数的交换。 例如:给a和b分别输入:60和65,输入为: a=65 b=60 16、将字符串中的小写字母转换为对应的大写字母, 其它字符不变。 17、求一个四位数的各位数字的立方和。 18、求一组数中大于平均值的数的个数。 例如:给定的一组数为1,3,6,9,4,23,35,67,12,88时,函数值为3。 19、对任意输入的x,用下式计算并输出y 的值。 5 x<10 y= 0 x=10 -5 x>10 20、求给定正整数m以内的素数之和。 例如:当m=20时,函数值为77。 21、判断整数x是否是同构数。若是同构数,函数返回1; 否则返回0。x的值由主函数从键盘读入,要求不大

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