文档库 最新最全的文档下载
当前位置:文档库 › C++训练题答案

C++训练题答案

C++训练题答案
C++训练题答案

C++训练题

第一部分选择填空

1.下列变量名中,合法的是( C )。

A. 3Student

B. #3Student

C. _3_Student

D. _3-Student

2.下列标识符中,不合法的用户标识符为( C )。

A. _float

B. double8

C. a$b

D. Funny

(解答:标识符由字母、数字、下划线组成,且第一个字符必须为字母或下划线)

3.以下所列的C++语言常量中,错误的是( D )。

A.…\97? B.…\x61? C.“int” D. 98e0.98

4.属于合法的C++语言长整型常量的是( A )。

A.0L B.345 C.(long)5454 D.2e3 (解答:C是表达式)

5.下列变量定义中合法的是( A )。

A.short _a=1-.1e-1; B.double b=1+5e2.5;

C.long do=0xfdaL;D.float a=1-e-3;

6.若int y=18; y+=y/=y-14;则执行完这两个语句后,y的值是( D )

A.4 B.9 C.18 D.8

7. 设int y=18; y*=y+=y-=8;则表达式执行完后变量y的值为 ( A )

A.400 B.300 C.200 D.504

8.设int a=3,b=4,c=5;则执行完下列语句:a*=16+(b++)-(++c);后,a的值是( B )。A.48 B.42 C.45 D.60

9.C++语言中有以下三个逻辑运算符 &&, ||, !, 从高到低优先级顺序为( C )。A.!, ||, && B.&&, !, || C.!, && , || D.||, &&, !

10. Y能被4整除但不能被100整除,或Y能被400整除,正确描述这一逻辑关系的逻辑表达式是( C )

A.Y%4==0 || Y%100!=0 && Y%400==0 B.Y%4==0 | Y%100!=0 & Y%400==0

C.Y%4==0 && Y%100!=0 || Y%400==0 D.Y%4==0 & Y%100!=0 | Y%400==0

11.设int a=3,b=4,c=5;则下面的表达式中值为0的是( D )。

A.?b?&&?a? B.a<=b C.a||b+c&&b-c D.!((a

12.设int a,b,c;a=10||0;b=(-1)&&(-2);c=!300;赋值后,变量a,b,c的置为( A )。A.1,1,0 B.0,1,0 C.0,1,1 D.1,0,0

13.若变量c为char类型,则能正确判断出c为小写字母的表达式是( D )。

A.(c>=?a?)||(c<=?z?) B.?a?<=c<=?z?

C.(?a?<=c)and(?z?>=c) D.(c>=?a?)&&(c<=?z?)

14.定义char ch=?A?; 然后执行语句ch=(ch>=?A?&&ch<=?Z?)?(ch+32):ch; 则ch的值是( B )。

A.A B.a C.Z D.z

(解答:字符…0?的值为48,…1?的值为49 , …A?的值为65, …a?的值为97,要记住)

15.设int a=9,b=8,c=7,d=6,e; e=(a

16.与if(!m)x=10; 等价的语句是( B )。

A.if(m!=0)x=10; B.if(m==0)x=10; C.if(m!=1)x=10;D.if(m==1)x=10; 17.与while(!m) return; 等价的语句是( B )。

A.while(m!=0) return; B.while(m==0) return;

C.while(m!=1) return; D.while(m==1) return;

18.int data[ ]={20,37,6,92,45,55,16,77,89}, i=7; int *ptr=data; 则对数组元素不正确的引用是( A )。

A.data[9] B.ptr[i] C.*(&data[i]) D.data[ptr-data]

19.int data[ ]={20,37,6,92,45,55,16,77,89}, i=7; int *ptr=data; 则*(ptr+6),ptr[i],*(&data[i]),data[ptr-data]的值分别是( C )。

A.16,16,77,20 B.55,55,77,16C.16,77,77,20 D.55,77,16,20

20.若数组定义为: char a[]= “Hello";则数组 a所占的空间为( B )

A.5个字节 B.6个字节 C.7个字节 D.8个字节

21. 不能把字符串“Monday”赋给数组week的语句是( D )

A.char week[10]={…M?,…o?,…n?,…d?,…a?,…y?,…\0? };

B.char week[10]={ “Monday”};

C.char week[10]; strcpy(week, “Monday”);

D.char week[10]; week=“Monday”;

22.以下数组定义中不正确的是( B )

A.int a[ ][3]={{1,1,1},{2,2,2}}; B.int b[3][ ]={{1,1,1},{2,2,2}};

C.int c[3][3]= {{1,1,1},{2,2,2}}; D.int d[3][3]={0};

23. 若有定义 static int a[3][2]={2,3,4,5,6,7}; 则表达式*a[2]的值是( D )

A.3 B.4 C.5 D.6

24.若定义int x;下列那句能将x的值赋为10。( D )

A.int const *p=&x; *p=10; B.int *p; *p=10;

C.const int *p=&x; *p=10; D.int *const p=&x; *p=10;

25.若int x, y=2, *p=&x; 则与x=y;等价的语句是( D )

A.p=y; B.x=*p; C.x=&p; D.*p=*&j; 或*p=y;

26.若static int a[10]={1,2,3,4,5,6,7,8,9}; char *p=a;则不移动指针p,且通过指针p引用值为8的数组元素的表达式是( D )

A.p[8] B.*p+8 C.*(p+8) D.*(p+7)或p[7]

练习:若char a[]=”Student”,*p; p=a; 则*(p+3)的值是( D )

A.u B.S C.e D.d

27.Fun函数且已有定义,它的原型为void fun(long *x,int &y);对变量long y=5L;int x=10;则以下函数调用合法的是( A )。

A.fun(&y,x); B.fun(&y,&x); C.fun(&x,y); D.fun(y,&x); 28.设函数fun已有定义,它的原型为void fun(char *ch, double &d);又定义变量char a[]=”Quick!”; double b=3; 则以下函数调用合法的是( A )。

A.fun(a,b); B.fun(a,&b); C.fun(a[],b); D.fun(a[],&b);

29.有下列结构声明与结构数组定义

struct Student { char name[8]; int age;int score; };

Student a[4]={ "Li",18,78,"Sun",19,86,"Zhao",20,95,"Ma",17,62};

则能在屏幕上显示字母h的语句是( D )

A.cout<

B. cout<

C.cout<

D. cout<

30. 有下列结构声明与结构数组定义

struct Student { char name[8]; int age;int score; };

Student a[4]={ "Li",18,78,"Sun",19,86,"Zhao",20,95,"Ma",17,62}; Student *p=a;

则能在屏幕上显示字母Sun的语句是( D )

A.cout<<*(p+2).name;

B. cout<<(p+2)->name;

C.cout<<(p+1).name;

D. cout<<(p+1)->name;

解答:cout<<(p+1)->name;或cout<<(*(p+1)).name;或cout<

第二部分填空题

31.假定一结构类型的声明为struct student{ char name[20];int score[5];}; 则在Turbo C++3.0开发环境下,该结构类型的大小为: 30 。 (注:1*20+2*5)

32.假定一结构类型的声明为 struct Node{double a[8];char *p;}; 则在Turbo C++3.0开发环境下,该结构类型的大小为: 66

33.假定一结构类型的声明为 struct Node{int a[8];Node *p;}; 则在Turbo C++3.0开发环境下,该结构类型的大小为: 18

解答:在Turbo C++3.0中,不管什么类型的指针,指针的大小都是2

34.要在屏幕上显示"Hello,world!"应执行语句cout<<_ "\"Hello,world!\""_

35. 有定义语句:static char a[]=”week”, b[]={…w?, …e?, …e?, …k?}; 则a 的元素个数是 5 ,b的元素个数是 4 。

36. 若定义:int a[ ][3]={ {1,1,1},{2,2},{3} }; 则a的元素个数是 9 。37.已知数组的定义为int a[10]; 则a的元素个数是 10 ,最大下标是 9 , 最小下标是 0 。

38.char ch[][6]={“One”,“Two”,“Three”,“Four”, “Five”};则*(ch+2)的值为Three , ch[2]的值为 Three , **(ch+2) 的值为 T , *ch[2]的值为 T 39.int a[ ]={10,20,30,40,50,60,70}; 则数组a的元素个数可由操作符sizeof 通过表达式 sizeof(a)/sizeof(a[0]) 或 sizeof(a)/sizeof(int) 计算出来。

40.要申请一块容纳n个double型数据的动态空间,使指针p指向这个动态空间,则语句可写为double *p=new double[n];释放p所指向的动态空间的语句为 delete [] p;。

41.在一个C/C++源文件中,若要定义一个只允许本源文件中调用的函数,则该函数使用的存储类别是 static (请回顾auto、static、extern的作用域、可见性、生命期)42.已知数组的定义为char a[100]; 则a的元素个数是 100 ,最大下标是 99 。43.设a是一个整型数组,则a+1所指向对象地址比a的大 2 字节。

44.int a[10]; int *p=a; p++; 则p 所指向对象地址比a 的大 2 字节。

45. int *p=new int[10]; 要使引用r 代表指针p , 则r 应定义为 int * &r=p;

46.假定一个参数说明为int &x ,则进行函数调用时,它是对应 实参 的别名。

47. char *a=”Morning !”; char *&r=a; 则*r 的值为 ?M ? , r 的值为”Morning !”

48. 有程序段如右,设整数x 已定义,

x 大于10,程序段中for 语句的循环

体是: y++; ,则循环体将被重复

执行 x-9 次后正常结束。

49. 在for 语句中,假定循环被执行次数为n ,

则for 语句头中的<表达式1>共被计算 1 次,

<表达式2>共被计算 n+1 次,<表达式3>共被计算 n 次,

50. 设int i=0; while(i++<=100) cout<<”$”;

则循环体将被重复执行 101 次后正常结束。

练习:int i=100,y=0; while(i--) y++; 则运行后y 的值为 100

51. int i=100;若do 循环的尾为while(i--); 则循环体将被重复执行 101 次后正常结束。

练习:int i=0,y=0; do{ y++; }while(i++<=100); 运行后y 的值是 102

52. 算术表达式XY X Y

X ++22对应的C++表达式为 (x*x+2*y)/(x+sqrt(x*y)) ;

53.C++的三类预处理指令是:(1)#include 包含指令,(2)#define 宏定义指令,(3) 条件编译指令 。

54.continue 语句只能用在 循环 语句中;break 语句既能用在__循环___语句中,也能用在 switch 语句中。

当程序执行到 break 语句时,将结束本层循环类语句或 switch 语句的执行。

55.若有宏定义#define M(a) a*a 则当int x=2时,执行M(x+2)得到的值是 8 。

56. 有以下程序段:#define M(a,b) a*b

int a=1,b=2,c=-3; cout<

则该程序段执行后,屏幕显示的结果为 10

练习:宏#define M(a) a*a 语句int a=16, b=2, c=1; a/=M(b+c)/M(b+c); 结果是 2 。

57. 全局变量和静态变量没有赋初值时,将由系统自动置为 0 , 局部 变量没有初始化时,其值不确定(即为随机值)。

58. 重载函数至少应在 参数 个数、类型或顺序上有所不同。

59. 一个变量的指针实质就是该变量的 地址 ,所谓数组的指针是指 数组的起始地址 。

60.在函数的调用过程中,实参传递给形参有 值 传送与传 地址 两种方式。在进行函数调用时,若是值传送将把实参的 值 传给形参,形参的变化不会影响实参;若是传地址方式,则把实参的 地址 传递给形参,此时形参的变化会影响实参的变化,使形参与实参具有相同的值。

第三部分程序题

1.下列程序求2*4+4*6+6*8+……+98*100的值。请在横线上补足所缺语句。

#include"iostream.h"

void main ( )

{

long n, s;

s=0;

for( n=2;n<=98;n+=2 )

s+=n*(n+2);

cout<<"result="<

}//结果: result=166600

//提示:根据题意,结合循环体语句,确定循环变量的初始值、终止值、步长

2.以下程序求表达式1*3+3*5+5*7+……+97*99之值。请在横线上填充语句,以实现程序的功能。

#include"iostream.h"

void main ( )

{

long n, sum=0;

for( n=1;n<=97;n+=2 )

sum+=n*(n+2);

cout<<"result="<

}//result=161651

3.以下程序求表达式3*5+5*7+……+199*201之值。请在横线上填充语句,以实现程序的功能。

#include"iostream.h"

void main ( )

{

long n, sum=0;

for( n=3;n<=199;n+=2 )

sum+=n*(n+2);

cout<<"result="<

}//result=1353297

4.下列程序求1!+3!...+n!的值,其中n为不大于11的奇数。请填空完善程序。

#include"iostream.h"

long jc(int x);

void main()

{ int k,n;

long s=0;

cin>>n;

if(n>11||n%2==0) return;

for(k=1; k<=n; k+=2) {

cout<

s+=jc(k);

}

cout<<"result:"<

}//n=11时结果为40284827

//求整数x的阶乘

long jc(int x)

{ int i;

long d=1;

for(i=1; i<=x; i++)

d*=i;

return d;

}

//提示:对这类题型,记住“求整数x的阶乘”这个函数,并学会怎样调用它。

5.下列程序打印右图所示的由字母组成的三角形图案,请在横线上补足所缺语句部分。

#include

void fill(char c,int n);

void main()

{

for(int i=1; i<=8; i++){

fill(' ',8-i);

fill( i+64, 2*i-1 );

cout <

}

}

void fill(char ch, int n)

{

for(int i=0;i

}

//问题:fill是干什么的?

//提示:对这类题型,记住“fill”这个函数,并学会怎样调用它。

6.下列程序打印右图所示的三角形图案,请在横线上补足所缺语句。#include

void fill(char c,int n);

void main()

{

for(int i=5; i>0; i--){

fill(' ',5-i);

fill('#', 2*i-1 );

A BB

B CCCC

DDDDDDD

EEEEEEEEE

FFFFFFFFFFF

GGGGGGGGGGGGG

HHHHHHHHHHHHHHH ###############

#############

###########

#########

#######

#####

###

#

cout <

}

}

void fill(char c, int n)

{

for(int i=0;i

}

7.下列程序求数组元素的最大值。请补足所缺语句。

#include"iostream.h"

int fun (int *p,int n)

{ int max=*p;

for(int i=0;i

if(max<*(p+i)) max=*(p+i);

return max;

}

void main()

{ int a[ ]={1,2,3,4,5,10,9,8,7,6};

int n;

int max;

n= sizeof(a)/sizeof(*a);

max=fun ( A , n );

cout<<"Max="<

}

8. 阅读下列程序。程序运行时,从键盘输入203 303;则屏幕上输出结果为:303 203 请问fun( )函数的功能是什么?交换两整数

#include"iostream.h"

void fun(int &x, int &y)

{ int temp;

temp=x; x=y; y=temp;

}

void main ( )

{ int a,b;

cin>>a>>b;

fun(a,b);

cout<

}

9.阅读下列程序。程序运行时,从键盘输入203 303;则屏幕上输出结果为:303 203 请问fun( )函数的功能是什么?两整数从大到小排序

#include"iostream.h"

void fun(int *x, int *y)

{ int *temp;

if(*x<*y){*temp=*x; *x=*y; *y=*temp;}

}

void main ( )

{ int a,b;

cin>>a>>b;

fun(&a,&b);

cout<

}

//问题:若把fun()函数的参数改为引用,程序如何修改?

10. 下列程序输出结果是多少?fun()函数的功能是什么? 648, 求整数各位数字的积#include"iostream.h"

long fun(long x)

{

long mm=1;

while(x){

mm*=x%10;

cout<

x/=10;

}

return mm;

}

void main()

{

long data=1998;

long result;

result=fun(data);

cout<

}

//问题:求一个整数各位数字的和,如何写函数?

11. 写出下列函数实现的功能(用数学表达式描述)。 X*Y

double fun( double x, int y)

{

int i;

double z=x;

for(i=1;i

return z;

}

//问题:求x的y次方,如何写函数?

12. 写出下列函数实现的功能。 1+2+3+…+n long fun(int n)

{

long s=0;

int i;

for(i=1;i<=n;i++)

s+=i;

return s;

}

13. 写出下列程序实现的功能。打印命令行参数

#include"iostream.h"

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

{

int i;

for(i=0;i

cout<

}

14. 下列程序的执行结果是 19

#include"iostream.h"

int fun(char *str)

{

char *p=str;

while(*p) p++;

return p-str;

}

void main()

{

cout<

}

15. 下列程序的执行结果是 22

#include"iostream.h"

void main()

{

int a[2][3]={

{11,12,13},

{21,22,23}

};

cout<

}

16. 下列程序的执行结果是 0

#include"iostream.h"

void main()

{

int a[2][3]={

(11,12,13),

(21,22,23)

};

cout<

}

17.编写程序,求1908到2008之间有多少个素数(包括1908和2008)。[答] (程序仅供参考)

#include"iostream.h"

#include"math.h"

//判明素数函数prime

//判断整数n是否为素数。是:返回1,否:返回0

int prime(int n)

{ int k=sqrt(n);

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

if(n%i==0) return 0;

return 1;

}

void main()

{ int m=0;

for(int i=1908;i<=2008;i++)

if(prime(i)) {

cout<

m++;

}

cout<<"number of prime: "<

}

18. 编写程序,求1908到2008之间所有素数的和(包括1908和2008)。[答] (程序仅供参考)

#include"iostream.h"

#include"math.h"

//判明素数函数prime

int prime(int n)

{ int k=sqrt(n);

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

if(n%i==0) return 0;

return 1;

}

void main()

{ long m=0;

for(int i=1908;i<=2008;i++)

if(prime(i)) m+=i;

cout<<"the sum of prime: "<

}

19.编写程序,求从1900年开始到2050年为止一共有多少个闰年。

[答] (程序仅供参考)

#include"iostream.h"

//判明闰年: year是闰年:返回1, year不是闰年:返回0

int LeapYear(int year)

{ if( (year%4==0 && year%100!=0) || year%400==0 )

return 1;

else

return 0;

}

void main()

{ int leap=0;

for(int y=1908; y<=2008; y++)

if(LeapYear(y)) {

cout<

leap++;

}

cout<<"number of leap year: "<

}

20.已知Fibobacci数列数学定义:F(0)=0; F(1)=1; F(n)=F(n-1)+F(n-2), n>1。编写程序,求Fibonacci数列的第20项(不计F(0)项)。

[答] (程序仅供参考)

#include"iostream.h"

//求Fibobacci第n项

long fib(int n)

{ if(n==0) return 0;

else if(n==1) return 1;

long f1=0, f2=1, f;

for(int i=1; i

f=f1+f2;

f1=f2;

f2=f;

}

return f;

}

void main()

cout<

}

21. 已知Fibobacci数列数学定义:F(0)=0; F(1)=1; F(n)=F(n-1)+F(n-2), n>1。编写程序,求Fibonacci数列的第20项(F(0)项也计算在内)。

[答] (程序仅供参考)

#include"iostream.h"

//求Fibobacci第n项

long fib(int n)

{ if(n==0) return 0;

else if(n==1) return 1;

long f1=2, f2=1, f;

for(int i=1; i

f=f1+f2;

f1=f2;

f2=f;

}

return f;

}

void main()

{ int n=20;

cout<

}

22.编写程序,求Fibonacci数列的大于888的最小项。

[答] (程序仅供参考)

#include"iostream.h"

//Fibobacci

long fib(int n)

{

if(n<3) return 1;

long f1=0, f2=1, f;

for(int i=1; i

f=f1+f2;

f1=f2;

f2=f;

}

return f;

}

void main()

{

while(fib(n)<888) n++;

cout<

}

23.从键盘输入k个浮点数并存入数组a中。求最大数和最小数。求除最大数和最小数外所有数的和。要求打印所求结果。

[答] (程序仅供参考)

#include"iostream.h"

void main()

{

int k;

cout<<"k: "; cin>>k; //输入k值

double *a=new double[k]; //因为数组大小是从键盘输入的,所以要动态建立数组a

for(int i=0;i

cout<<"data:"; cin>>a[i]; //输入k个数据

}

double max=a[0],min=a[0],sum=0;

for(i=0;i

if(max

if(min>a[i]) min=a[i]; //求最小数

sum+=a[i]; //求最和

}

sum-=max; sum-=min; //修正和值

cout<<"max: "<

<<"min: "<

<<"sum: "<

delete []a;

}

24.从键盘输入k个浮点数并存入数组a中。将该数组逆序存放并输出。如输入的数组项为3.0,5.0,2.0,6.0,则逆序存放为6.0,2.0,5.0,3.0。

[答] (程序仅供参考)

#include"iostream.h"

void main()

{

int k;

cout<<"k: "; cin>>k; //输入k值

double *a=new double[k]; //建立动态数组a

for(int i=0;i

cout<<"data:"; cin>>a[i]; //输入k个数据

}

double temp;

for(i=0;i

temp=a[i];

a[i]=a[k-1-i];

a[k-1-i]=temp;

}

for(i=0;i

cout<

}

/*-------------也可以写一个逆序函数--------------------------- void rev_double(double *c,int n)

{

int i,j;

double k;

for(i=0,j=n-1; i

k=c[i]; c[i]=c[j]; c[j]=k;

}

}

-----------------------------------------------------------*/

25.从键盘输入一个字符串,去掉该字符串中的所有空格,然后输出。

[答] (程序仅供参考)

#include"iostream.h"

void main()

{

char *str=new char[1024];

cout<<"请输入字符串: "; //提示

cin.getline(str,1024); //输入

//以下7句去悼所有空格

char *p1, *p2;

p1=str;

while(*p1 && *p1!=' ') p1++;

p2=p1;

while(*p2)

{

if(*p2!=' ')

{

*p1++=*p2;

}

p2++;

*p1='\0';

cout<

delete [] str;

}

26.用汉语大写输入一个数,存入一字符串变量(动态分配内存)。用阿拉伯数字输入一个数,存入一整型变量。把该整形变量的值转换为字符串,插入到上述字符串变量的最前面。[答] (程序仅供参考)

#include "iostream.h" //cin和cout的定义在此文件中

#include "string.h" //strcpy()原型在此文件中

#include "stdlib.h" //itoa()原型在此文件中

void insert(char *s1, char *s2); //s2插在s1前面

void main(void)

{

char * upp=new char[1024];

int num;

cout<<"请输入汉字大写数据: "; //提示输入

cin>>upp; //输入

cout<<"请输入整数: "; //提示输入

cin>>num; //输入

char * temp=new char[1024];

itoa(num, temp ,10); //整数转换为字符串

insert(upp, temp);

cout<

delete [] temp;

delete [] upp;

}

//s2插在s1前面

void insert(char *s1, char *s2)

{

char *p=new char[strlen(s1)+1];

strcpy(p,s1);

strcpy(s1,s2);

strcpy(s1+strlen(s2),p);

delete [] p;

}

27.任意输入四个不大于20的整数,打印图1所示的柱形图,柱形的高度用$的个数表示,如,若输入的整数为10,则柱高为10个$。

$

$ $

$ $ $

$ $ $ $

$ $ $ $

----------------

3 2 5 4

图1

[答] (程序仅供参考)

#include "iostream.h" //cin和cout的定义在此文件中

void draw(int * data, int n);

void main(void)

{

const int n=4;

int num[4]; //存放输入的n个数

cout<<"请输入4个整数: ";

for(int i=0;i>num[i];\

draw(num, n);

}

int findmax(int *data, int n)

{

int max=data[0];

for(int i=0; i

{

if(max

}

return max;

}

//输出柱形图

void draw(int * data, int n)

{

int max=findmax(data, n);

for(int row=max;row>0;row--)

{

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

{

if(data[i] >=row) cout<<"$ ";

else cout<<" ";

}

cout<

}

cout<<"--------------------\n";

for(int i=0;i

}

有机化学实验思考题答案

1、蒸馏有何应用?恒沸混合物能否用蒸馏法分离? 2、在蒸馏装置中,把温度计水银球插至液面上或温度计水银球上端在蒸馏头侧管下限的水平线以上或以下,是否正确?为什么? 3、蒸馏前加入沸石有何作用?如果蒸馏前忘记加沸石,能否立即将沸石加至将近沸腾的液体中?当重新进行蒸馏时,用过的沸石能否继续使用? 1、答:蒸馏过程主要应用如下: (1)分离沸点有显著区别(相差30℃以上)的液体混合物。 (2)常量法测定沸点及判断液体的纯度。 (3)除去液体中所夹杂的不挥发性的物质。 (4)回收溶剂或因浓缩溶液的需要而蒸出部分的溶剂。 恒沸混合物不能用蒸馏法分离。 2、答:都不正确。温度计水银球上端应与蒸馏头侧管的下限在同一水平线上,以保证在蒸馏时水银球完全被蒸气所包围,处于气液共存状态,才能准确测得沸点。 3、答:蒸馏前加入沸石的作用是引入气化中心,防止液体过热暴沸,使沸腾保持平稳。如果蒸馏前忘记加沸石,决不能立即将沸石加至将近沸腾的液体中,因为这样往往会引起剧烈的暴沸泛液,也容易发生着火等事故。应该待液体冷却至其沸点以下,再加入沸石为妥。当重新进行蒸馏时,用过的沸石因排出部分气体,冷却后孔隙吸附了液体,因而可能失效,不能继续使用,应加入新的沸石。 1、测定熔点时,若遇下列情况将产生什么结果? (1)熔点管壁太厚。

(2)熔点管不洁净。 (3)样品未完全干燥或含有杂质。 (4)样品研得不细或装得不紧密。 (5)加热太快。 2、为什么要求熔点的数据要有两个以上的重复?要达到此要求,操作上须注意些什么? 3、两个样品,分别测定它们的熔点和将它们按任何比例混合后测定的熔点都是一样的,这说明什么? 1、答:结果分别如下: (1)熔点管壁太厚,将导致所测熔点偏高。 (2)熔点管不洁净,将导致所测熔点偏低,熔程变宽。 (3)样品未完全干燥或含有杂质,将导致所测熔点偏低,熔程变宽。 (4)样品研得不细或装得不紧密,将导致所测熔点偏高,熔程变宽。 (5)加热太快,将导致熔点偏高。 2、答:为了减少误差。要达到此要求,不可将已测样品冷却固化后再作第二次测定。每次应更换新的样品管,重新测定。 3、答:这说明两个样品是同一化合物。 1、重结晶一般包括哪几个步骤?各步骤的主要目的是什么?

c语言试题及答案

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

量子力学思考题及解答

1、以下说法是否正确: (1)量子力学适用于微观体系,而经典力学适用于宏观体系; (2)量子力学适用于η不能忽略的体系,而经典力学适用于η可以忽略的体系。 解答:(1)量子力学是比经典力学更为普遍的理论体系,它可以包容整个经典力学体系。 (2)对于宏观体系或η可以忽略的体系,并非量子力学不能适用,而是量子力学实际上已 经过渡到经典力学,二者相吻合了。 2、微观粒子的状态用波函数完全描述,这里“完全”的含义是什么? 解答:按着波函数的统计解释,波函数统计性的描述了体系的量子态。如已知单粒子(不考虑自旋)波函数)(r ? ψ,则不仅可以确定粒子的位置概率分布,而且如粒子的动量、能量等其他力学量的概率分布也均可通过)(r ? ψ而完全确定。由于量子理论和经典理论不同,它一般只能预言测量的统计结果,而只要已知体系的波函数,便可由它获得该体系的一切可能物理信息。从这个意义上说,有关体系的全部信息显然已包含在波函数中,所以说微观粒子的状态用波函数完全描述,并把波函数称为态函数。 3、以微观粒子的双缝干涉实验为例,说明态的叠加原理。 解答:设1ψ和2ψ是分别打开左边和右边狭缝时的波函数,当两个缝同时打开时,实验说明到达屏上粒子的波函数由1ψ和2ψ的线性叠加2211ψψψc c +=来表示,可见态的叠加不是概率相加,而是波函数的叠加,屏上粒子位置的概率分布由222112 ψψψ c c +=确定,2 ψ中 出现有1ψ和2ψ的干涉项]Re[2* 21* 21ψψc c ,1c 和2c 的模对相对相位对概率分布具有重要作用。 4、量子态的叠加原理常被表述为:“如果1ψ和2ψ是体系的可能态,则它们的线性叠加 2211ψψψc c +=也是体系的一个可能态”。 (1)是否可能出现)()()()(),(2211x t c x t c t x ψψψ+=; (2)对其中的1c 与2c 是任意与r ? 无关的复数,但可能是时间t 的函数。这种理解正确吗? 解答:(1)可能,这时)(1t c 与)(2t c 按薛定谔方程的要求随时间变化。

c语言复习题(有答案)●

思考题 不仅要会做这些题,更重要的是要掌握其相关知识点一、一般填空题 1-1、调用fopen函数打开一文本文件,在“打开模式”这一项中,为输出(写)而打开需填入【1】. 1-2、调用fopen函数打开一文本文件,在“打开模式”这一项中,为追加而打开需填入【1】. 1-3、fopen函数的原形在头文件【1】中. 1-4、getchar函数的原形在头文件【1】中. 1-5、sqrt函数的原形在头文件【1】中. 1-6、如果函数不要求带回值,可用【1】来定义函数返回值为空. 答案:w或w+;a或a+;stdio.h ; stdio.h ; math.h ;void . 2-1、字符串“\1011234\\at”的长度(字符数)是【1】. 2-2、字符串“abc\103\\bcd”的长度(字符数)是【1】. 2-3、字符串“1\\t\x43\abx44”的长度(字符数)是【1】. 2-4、“a“在内存中占【1】个字节. 2-5、‘a’在内存中占【1】个字节. 2-6、“\71“在内存中占【1】个字节. 2-7、一维数组下标的最小值是【1】;数组char a[]=“china” ;在内存应占【1】个字节。 答案:8; 8; 9; 2;1;2 ;0;6. 3-1、设x=(5>1)+2, x的植为【1】. 3-2、表达式‘B’+15+‘\x41’+011+0x10的值是【1】. 3-3、表达式‘b’+5+‘\x42’+011+0x10的值是【1】. 答案:3;171;194; 4-1、假设所有变量都为整型,表达式(a=2,b=5,a>b?a++:b++,a+b)的值是【1】. 4-2、if(!a)中的表达式!a等价于【1】. 4_3、已知a=1,b=2,c=3,执行if(a>b>c) b=a;else b=c;a=4;b=8;后,b的值是【1】. 答案:8;a==0;8; 5-1、若所用变量都已定义,下列程序段的执行结果是【1】. for(i=1;i<=5;i++);printf(“OK\n”); 5-2、执行语句char s[3]=”ab”,*p;p=s;后,*(p+2)的值是【1】. 5-3、若有以下定义和语句:int a[4]={0,1,2,3},*p; p=&a[2]; ,则*--p的值是【1】. 5-4、下列程序的输出结果是【1】,main(){int a=011;printf(“%d\n”,++a);} 答案:OK;’\0’;1;10 6-1、若宏定义为:#define y(x) 2+x, 则表达式a=3*y(3)的值为【1】. 6-2、若宏定义为:#define y(x) 2+x, 则表达式a=4*y(2)的值为【1】. 6-3、若宏定义为:#define y(x) 2/x, 则表达式a=4+3*y(3)的值为【1】. 答案:9;10;6 . 二、单项选择题 1-1、若以"a+"方式打开一个已存在的文件,则以下叙述正确的是()。 A:文件打开时,原有文件内容不被删除,位置指针移到文件末尾,可作添加和读操作 B:文件打开时,原有文件内容不被删除,位置指针移到文件开头,可作重写和读操作 C:文件打开时,原有文件内容被删除,只可作写操作 D:以上各种说法皆不正确 1-2、若执行fopen函数时发生错误,则函数的返回值是()。

(完整版)分析化学实验思考题答案

分析化学实验思考题答案

实验二滴定分析基本操作练习 1.HCl和NaOH标准溶液能否用直接配制法配制?为什么? 由于NaOH固体易吸收空气中的CO2和水分,浓HCl的浓度不确定,固配制HCl和NaOH 标准溶液时不能用直接法。 2.配制酸碱标准溶液时,为什么用量筒量取HCl,用台秤称取NaOH(S)、而不用吸量管和分析天平? 因吸量管用于标准量取需不同体积的量器,分析天平是用于准确称取一定量的精密衡量仪器。而HCl的浓度不定, NaOH易吸收CO2和水分,所以只需要用量筒量取,用台秤称取NaOH即可。 3.标准溶液装入滴定管之前,为什么要用该溶液润洗滴定管2~3次?而锥形瓶是否也需用该溶液润洗或烘干,为什么? 为了避免装入后的标准溶液被稀释,所以应用该标准溶液润洗滴管2~3次。而锥形瓶中有水也不会影响被测物质量的变化,所以锥形瓶不需先用标准溶液润洗或烘干。 4.滴定至临近终点时加入半滴的操作是怎样进行的? 加入半滴的操作是:将酸式滴定管的旋塞稍稍转动或碱式滴定管的乳胶管稍微松动,使半滴溶液悬于管口,将锥形瓶内壁与管口接触,使液滴流出,并用洗瓶以纯水冲下。 实验三 NaOH和HCl标准溶液的标定 1.如何计算称取基准物邻苯二甲酸氢钾或Na2CO3的质量范围?称得太多或太少对标定有何影响? 在滴定分析中,为了减少滴定管的读数误差,一般消耗标准溶液的体积应在20—25ml 之间,称取基准物的大约质量应由下式求得: 如果基准物质称得太多,所配制的标准溶液较浓,则由一滴或半滴过量所造成的误差就较大。称取基准物质的量也不能太少,因为每一份基准物质都要经过二次称量,如果每次有±0.1mg的误差,则每份就可能有±0.2mg的误差。因此,称取基准物质的量不应少于0.2000g,这样才能使称量的相对误差大于1‰。 2.溶解基准物质时加入20~30ml水,是用量筒量取,还是用移液管移取?为什么?因为这时所加的水只是溶解基准物质,而不会影响基准物质的量。因此加入的水不需要非常准确。所以可以用量筒量取。 3.如果基准物未烘干,将使标准溶液浓度的标定结果偏高还是偏低? 如果基准物质未烘干,将使标准溶液浓度的标定结果偏高。 4.用NaOH标准溶液标定HCl溶液浓度时,以酚酞作指示剂,用NaOH滴定HCl,若NaOH 溶液因贮存不当吸收了CO2,问对测定结果有何影响? 用NaOH标准溶液标定HCl溶液浓度时,以酚酞作为指示剂,用NaOH滴定HCl,若NaOH 溶液因贮存不当吸收了CO2,而形成Na2CO3,使NaOH溶液浓度降低,在滴定过程中虽然其中的Na2CO3按一定量的关系与HCl定量反应,但终点酚酞变色时还有一部分NaHCO3末反应,所以使测定结果偏高。 实验四铵盐中氮含量的测定(甲醛法)

(完整版)C语言试题及答案解析

C语言 一、选择题(第题2分,共20分) 1.一个C程序的执行是从 A 。 A) 本程序的main函数开始,到main函数结束 B) 本程序文件的第一个函数开始,到本程序文件的最后一个函数结束 C) 本程序文件的第一个函数开始,到本程序main函数结束 D) 本程序的main函数开始,到本程序文件的最后一个函数结束 2.若x、i、j、k都是int型变量,则计算下面表达式后,x的值为 C 。 x=(i=4,j=16,k=32) A) 4 B) 16 C) 32 D) 52 3.设C语言中,一个int型数据在内存中占2个字节,则unsigned int 型数据的取值范围为 C 。 A) 0~255 B) 0~32767 C) 0~65535 D) 0~2147483647 4.设有说明:char w; int x; float y; double z;则表达式w*x+z-y值的数据类型为 D 。 A) float B) char C) int D) double 5. putchar函数可以向终端输出一个 D 。 A) 整型变量表达式 B) 实型变量值 C) 字符串 D) 字符或字符型变量值 6. printf函数中用到格式符%5s,其中数字5表示输出的字符串占用5列。如果字符串长度大于5,则输出按方式 B ;如果字符串长度小于5,则输出按方式 C 。 A) 从左起输出该字符串,右补空格 B) 按原字符长从左向右全部输出 C) 右对齐输出该字符串,左补空格 D) 输出错误信息 7.判断char型变量ch是否为大写字母的正确表达式是 C 。 A) ‘A’<=ch<=‘Z’ B) (ch>=‘A’)&(ch<=‘Z’) C) (ch>=‘A’)&&(ch<=‘Z’) D) (‘A’<= ch)AND(‘Z’>= ch) 8.已知int x=10,y=20,z=30;以下语句执行后x,y,z的值是 B 。 if(x>y) z=x; x=y; y=z; A) x=10, y=20, z=30 B) x=20, y=30, z=30 C) x=20, y=30, z=10 D) x=20, y=30, z=20 9.以下程序段______C__. x=-1; do{ x=x*x; } while(!x); A)是死循环 B)循环执行二次 C)循环执行一次 D)有语法错误 10.以下正确的描述是___B____. A)continue语句的作用是结束整个循环的执行

(完整版)思考题及习题2参考答案

第2章思考题及习题2参考答案 一、填空 1. 在AT89S51单片机中,如果采用6MHz晶振,一个机器周期为。答:2μs 2. AT89S51单片机的机器周期等于个时钟振荡周期。答:12 3. 内部RAM中,位地址为40H、88H的位,该位所在字节的字节地址分别为 和。答:28H,88H 4. 片内字节地址为2AH单元最低位的位地址是;片内字节地址为A8H单元的最低位的位地址为。答:50H,A8H 5. 若A中的内容为63H,那么,P标志位的值为。答:0 6. AT89S51单片机复位后,R4所对应的存储单元的地址为,因上电时PSW= 。这时当前的工作寄存器区是组工作寄存器区。答:04H,00H,0。 7. 内部RAM中,可作为工作寄存器区的单元地址为 H~ H。答:00H,1FH 8. 通过堆栈操作实现子程序调用时,首先要把的内容入栈,以进行断点保护。调用子程序返回指令时,再进行出栈保护,把保护的断点送回到,先弹出的是原来中的内容。答:PC, PC,PCH 9. AT89S51单片机程序存储器的寻址范围是由程序计数器PC的位数所决定的,因为AT89S51单片机的PC是16位的,因此其寻址的范围为 KB。答:64 10. AT89S51单片机复位时,P0~P3口的各引脚为电平。答:高 11. AT89S51单片机使用片外振荡器作为时钟信号时,引脚XTAL1接,引脚XTAL2的接法是。答:片外振荡器的输出信号,悬空 12. AT89S51单片机复位时,堆栈指针SP中的内容为,程序指针PC中的内容为 。答:07H,0000H 二、单选 1. 程序在运行中,当前PC的值是。 A.当前正在执行指令的前一条指令的地址 B.当前正在执行指令的地址。 C.当前正在执行指令的下一条指令的首地址 D.控制器中指令寄存器的地址。 答:C 2. 判断下列哪一种说法是正确的?

C语言练习题(带答案)

一、单项选择题 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 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。 A)2.5 B)2 C)1 D)3 11.如果int a=3,b=4;则条件表达式"a

实验思考题参考答案

实验思考题参考答案 实验Fe(OH)3胶体的制备、破坏、分离 1.常压过滤时滤纸为什么要撕去一角?答:使滤纸紧贴玻璃漏斗,有利于排出滤纸与玻璃漏斗之间气泡,形成液柱。 2.抽滤时剪好的滤纸润湿后略大于布氏漏斗的内径、或剪的不圆周边凸出部分贴在布氏漏斗内壁上,对抽滤有何影响?为什么?答:会造成漏虑。滤纸大于布氏漏斗内径会造成滤纸折叠,不能紧贴布氏漏斗。 3.抽滤时,转移溶液之前为什么要先稍微抽气,而不能在转移溶液以后才开始 抽气?答:使滤纸紧贴布氏漏斗,以免造成漏虑。 4. 沉淀物未能铺满布氏漏斗底部、滤饼出现裂缝、沉淀层疏松不实,对抽干效果有什么影响?为什么?如何使沉淀抽得更干爽?答:固液分离效果不好;漏气使压差变小;用药勺铺平、压实沉淀物再抽滤。 由胆矾精制五水硫酸铜 1.结晶与重结晶分离提纯物质的根据是什么?如果被提纯物质是NaCl 而不是CuSO4·5H2O,实验操作上有何区别? 答:根据物质溶解度随温度变化不同。NaCl 的溶解度随温度变化很小不能用重结晶的办法提纯,要用化学方法除杂提纯。 2.结晶与重结晶有何联系和区别?实验操作上有何不同?为什么? 答:均是利用溶解度随温度变化提纯物质;结晶浓缩度较高(过饱和溶液),重结晶浓缩度较低(饱和溶液),且可以进行多次重结晶。结晶一般浓缩到过饱和溶液,有晶膜或晶体析出,冷却结晶;重结晶是在近沸状态下形成饱和溶液,冷却结晶,不允许浓缩。

3.水浴浓缩速度较慢,开始时可以搅拌加速蒸发,但临近结晶时能否这样做? 答:搅拌为了加快水分蒸发;对于利用晶膜形成控制浓缩程度,在邻近结晶时不能搅拌。否则无法形成晶膜。 4.如果室温较低,你准备采用什么措施使热过滤能顺利进行?答:预热漏斗、 分批过滤、保温未过滤溶液。 5.浓缩和重结晶过程为何要加入少量H2SO4?答:防止防止Fe3+水解。 粗盐提纯 1.为什么说重结晶法不能提纯得到符合药用要求的氯化钠?为什么蒸发浓缩时 氯化钠溶液不能蒸干? 答:NaCl 的溶解度随温度变化很小不能用重结晶的办法提纯,药用氯化钠不仅要达到纯度要求,还要符合药用要求。不能浓缩至干NaCl 溶液,是为了除去KCl。 2.用化学法除去SO42-、Mg2+ 、Ca2+的先后顺序是否可以倒置过来?为什么? 答:不能,除杂要求为除去杂质引入的离子必须在后续的除杂过程中除去,先除去Mg2+ 、Ca2+后除SO42-,无法除去Ba2+。 3.用什么方法可以除去粗盐中不溶性杂质和可溶性杂质?依据是什么? 答:不溶性杂质用过滤方法;可溶性杂质用化学方法除杂。依据:溶度积。 醋酸解离度和电离常数测定 1.不同浓度的HAc 溶液的溶解度α是否相同?为什么?用测定数据说明弱电解质解离度随浓度变化的关系。 答:不同,因K a,θ AH 。c↑,α↓。 c 2.测定不同浓度的HAc 溶液的pH 值时,为什么按由稀到浓的顺序?答:平衡块,减小由于润洗不到位而带来的误差。

资本论思考题及答案

1.劳动价值论的核心内容是什么? 商品二因素,即使用价值和价值,使用价值是商品的自然属性,具有不可比较性。价值是一般人类劳动的凝结,是商品的社会属性,它构成商品交换的基础。劳动具有二重性,即具体劳动和抽象劳动,它们是生产商品同一劳动的两个方面,不是两次劳动,也不是各自独立两种劳动。具体劳动是特定具体形式的劳动,创造不同质的使用价值;抽象劳动是无差别的人类劳动,创造的是同质的价值。劳动二重性决定商品二因素。 2.货币是怎样产生的?货币流通规律的内容。 货币的本质是固定充当一般等价物的特殊商品,体现了商品生产者之间的社会经济关系。货币是长期商品交换发展的结果,是价值形式的完成形态。货币产生经历了简单、扩大、一般和货币价值形式发展阶段。简单的或偶然的价值形式:指某种商品价值是偶然地、简单地通过另一个商品的使用价值表现出来。扩大的价值形式指某种商品的价值形式通过一系列商品使用价值表现出来。扩大价值形式比简单价值形式更充分反映价值性质,扩大的相对价值形式只是由简单的相对价值表现的总和。一般的价值形式:是指一切商品价值通过一种商品使用价值表现出来。形式上看一般价值形式是扩大的价值形式的颠倒,但处于一般价值形式的商品已发生本质变化,它是作为社会价值的代表存在,但时间和地点不固定。货币形式:指一般等价物固定在黄金、白银上,商品的价值是通过金、银来表现。金银天然不是货币,但货币天然是金银,这是由金银本身的特点决定的。金银作为货币这种特殊商品,是价值的直接体现物,具有双重使用价值,一方面是自然性质决定的使用价值,另一方面是社会职能决定的使用价值。前两阶段属于买卖同一的直接交换;后两阶段属于以特殊商品为媒介的买卖分开交换。货币流通规律:流通中的货币需要量与待售商品价格总额成正比;与同一单位货币的流通速度成反比。流通中的货币需求量=待售商品价格总额/同一单位货币流通速度。 3.为什么说劳动二重性是理解政治经济学的枢纽?(1)分析了抽象劳动是创造价值源泉,为劳动价值理论奠定了科学的基础(2)揭示了剩余价值源泉是工人剩余劳动创造,为阐明剩余价值来源提供了理论依据(3)说明了资本有机构成、资本再生产等理论,为其经济理论创造了前提条件。 4.怎样理解“物的人格化和人格的物化的对立”? 商品内在的使用价值和价值的对立,私人劳动同时必须表现为直接社会劳动的对立,特殊的具体的劳动同时只是当作抽象的一般的劳动的对立,物的人格化和人格的物化的对立,——这种内在的矛盾在商品形态变化的对立中取得了发展的运动形式。因此,这些形式包含着危机的可能性,但仅仅是可能性。这种可能性要发展为现实,必须有整整一系列的关系,从简单商品流通的观点来看,这些关系还根本不存在。 5.在新时期如何深化对劳动和劳动价值论的认识?(一)劳动二重性学说把劳动分成具体劳动和抽象劳动两个方面。 在《资本论》中,马克思认为劳动的二重性决定了商品的二重性,劳动是价值的实体,是创造价值的唯一源泉,从而创立了劳动价值论。劳动二重性学说第一次把生产商品的劳动区分为具体劳动和抽象劳动两个方面。他把这种撇开了具体形式的一般的人类劳动称为抽象劳动。抽象劳动也形成商品价值,是劳动的社会属性,反应了人与人之间的关系。 (二)劳动价值论指明人类的劳动是价值的唯一源泉。 正是马克思创立了劳动二重性学说,才科学地回答了什么劳动创造价值的问题,才使劳动价值理论有了坚实的科学的基础。价值的实体是人类的抽象劳动,价值的唯一源泉是劳动--这是马克思的劳动价值理论的基本点所在。马克思认为,只要承认一切物质财富都必须经过人的劳动才形成,就必然会承认体现人与人之间经济关系的商品的价值,其唯一的源泉是人类的劳动。

C语言试题与答案

大学C语言考试题库 第1章 C语言概述习题 1. 单项选择题 (1) C 语言是在 B 语言的基础上产生的。 A. A B. B C. D D. E (2) 在 C 语言中,每个语句必须以 D 结束。 A. 回车符 B. 冒号 C. 逗号 D. 分号 (3) 标识符和关键字间,要用 C 隔开。 A. 回车符 B. 冒号 C. 空格 D. 分号 (4) 用 C 语言编写的源文件经过编译,若没有产生编译错误,则系统将( B )。 A. 生成可执行目标文件 B. 生成目标文件 C. 输出运行结果 D.自动保存源文件 (5) 下列说法中正确的是( B )。 A. 由于 C 源程序是高级语言程序,因此一定要在 TC 软件中输入 B. 由 C 源程序是字符流组成,因此可以作为文本文件在任何文本编辑的软件中输入 C. 由于C 程序是高级语言程序,因此输入后即可执行 D. 由于 C 程序是高级语言程序,因此它由命令组成 (6) 下列说法中正确的是( A )。 A. C 语言程序由主函数和 0 个或多个函数组成 B. C 语言程序由主程序和子程序组成 C. C 语言程序由子程序组成 D. C 语言程序由过程组成 (7) 下列说法中错误的是( D )。 A. 主函数可以分为两个部分:主函数说明部分和主函数体 B. 主函数可以调用任何非主函数的其他函数 C. 任何非主函数可以调用其他任何非主函数 D. 程序可以从任何非主函数开始执行 2. 填空题 (1) C 语言只有 32 个关键字和 9 种控制语句。 (2) C 语言是一种“中级语言”,既具有高级语言的特点又具有低级语言的特点;既适合于开发系

化工实验思考题答案

化工基础实验思考题答案 实验一流体流动过程中的能量变化 1、实验为什么要使高位水槽的水保持溢流? 答:保持溢流可使流体稳定流动,便于读数,同时伯努利方程只在流体稳定流动时才适用。 2、操作本实验装置应主意什么? 答:1)开启电源之前,向泵中灌水 2)高位水槽水箱的水要保持溢流 3)赶尽玻璃管中气泡 4)读数时多取几组值,取平均值 实验二流体流动形态的观察与测定 1、在实验中测定的雷诺数与流动形态的关系如何?如果出现理论与实际的偏差,请分析理由 答:1)层流时,理论与实际符合 2)过渡流测量值与理论值稍有偏差 偏差分析:(1)孔板流量计的影响 (2)未能连续保持溢流 (3)示踪管未在管中心 (4)示踪剂流速与水的流速不一致 2、本实验中的主意事项有那些? 答:(1)保持溢流 (2)玻璃管不宜过长 (3)示踪管在中心

实验三节流式流量计性能测定实验 1、你的实验结果可以得到什么结论? 答:流速较大或较小时,流量系数C并不稳定,所以性能并不很好 2、实验中为什么适用倒置U型管? 答:倒置的U形管作压差计,采用空气作指示液,无需重新装入指示液,使用方便 实验四连续流动反应器实验流程图 1、测定停留时间分布函数的方法有哪几种?本实验采用的是哪种方法? 答:脉冲法、阶跃法、周期示踪法和随机输入示踪法。本实验采用脉冲示踪法。 2、模型参数与实验中反应釜的个数有何不同,为什么? 答:模型参数N的数值可检验理想流动反应器和度量非理想流动反应器的返混程度。当实验测得模型参数N值与实际反应器的釜数相近时,则该反应器达到了理想的全混流模型。若实际反应器的流动状况偏离了理想流动模型,则可用多级全混流模型来模拟其返混情况,用其模型参数N值来定量表征返混程度。 3、实验中可测得反应器出口示踪剂浓度和时间的关系曲线图,此曲线下的面积有何意义? 答:一定时间内示踪剂的总浓度。 4、在多釜串联实验中,为什么要在流体流量和转速稳定一段时间后才能开始实验? 答:为使三个反应釜均能达到平衡。 实验五换热器传热系数的测定 1、实验误差主要来源那几个方面? 答:1)读数不稳定

c语言试题及答案 ()

第1章 C语言概述习题 1. 单项选择题 (1) C 语言是在 B 语言的基础上产生的。 A. 回车符 B. 冒号 C. 逗号 D. 分号 (2) 在 C 语言中,每个语句必须以 D 结束。 A. 回车符 B. 冒号 C. 逗号 D. 分号 (3) 标识符和关键字间,要用 C 隔开。 A. 回车符 B. 冒号 C. 空格 D. 分号 (4) 用 C 语言编写的源文件经过编译,若没有产生编译错误,则系统将( B )。 A. 生成可执行目标文件 B. 生成目标文件 C. 输出运行结果 D.自动保存源文件 (5) 下列说法中正确的是( B )。 A. 由于 C 源程序是高级语言程序,因此一定要在 TC 软件中输入 B. 由 C 源程序是字符流组成,因此可以作为文本文件在任何文本编辑的软件中输入 C. 由于C 程序是高级语言程序,因此输入后即可执行 D. 由于 C 程序是高级语言程序,因此它由命令组成 (6) 下列说法中正确的是( A )。 A. C 语言程序由主函数和 0 个或多个函数组成 B. C 语言程序由

主程序和子程序组成 C. C 语言程序由子程序组成 D. C 语言程序由过程组成 (7) 下列说法中错误的是( D )。 A. 主函数可以分为两个部分:主函数说明部分和主函数体 B. 主函数可以调用任何非主函数的其他函数 C. 任何非主函数可以调用其他任何非主函数 D. 程序可以从任何非主函数开始执行 2. 填空题 (1) C 语言只有 37 个关键字和 9 种控制语句。 (2) C 语言是一种“中级语言”,既具有高级语言的特点又具有低级语言的特点;既适合于开发系统软件又适合于编写应用程序。 (3) 每个源程序有且只有一个主函数,系统总是从该函数开始执行C语言程序。 (4) 在 C 语言程序中允许出现的字符集是 ASCII码字符集。 (5) C 语言的程序中有特殊含义的英语单词称为保留字。 (6) C 语言标识符的长度是前 8 位有效。 (7) C 语言中,标识符的定义规则是以字母或下划线为开头。 (8) C 语言程序的注释可以出现在程序中的任何地方,它总是以 /* 符号作为开始标记,以 */ 符号作为结束标记。

第三章思考题及答案

第三章思考题 刚体一般是由n (n 是一个很大得数目)个质点组成。为什么刚体的独立变量却不是3n 而是6或者更少 何谓物体的重心他和重心是不是 总是重合在一起的 试讨论图形的几何中心,质心和重心重合在一起的条件。 简化中心改变时,主矢和主矩是不是也随着改变如果要改变,会不会影响刚体的运动 已知一匀质棒,当它绕过其一端并垂直于棒的轴转动时,转动惯量为23 1 ml ,m 为棒的质量,l 为棒长。 问此棒绕通过离棒端为l 41且与上述轴线平行的另一轴线转动时,转动惯量是不是等于2 24131?? ? ??+l m ml 为什么 如果两条平行线中没有一条是通过质心的,那么平行轴定理式(3.5.12)能否应用如不能,可否加以修改后再用 在平面平行运动中,基点既然可以任意选择,你觉得选择那些特殊点作为基点比较好好处在哪里又在(3.7.1)及()两式中,哪些量与基点有关哪些量与基点无关 转动瞬心在无穷远处,意味着什么 刚体做平面平行运动时,能否对转动瞬心应用动量矩定理写出它的动力学方程为什么 当圆柱体以匀加速度自斜面滚下时,为什么用机械能守恒定律不能求出圆柱体和斜面之间的反作用力此时摩擦阻力所做的功为什么不列入是不是我们必须假定没有摩擦力没有摩擦力,圆柱体能不能滚 圆柱体沿斜面无滑动滚下时,它的线加速度与圆柱体的转动惯量有关,这是为什么但圆柱体沿斜面既滚且滑向下运动时,它的线加速度则与转动惯量无关这又是为什么 刚体做怎样的运动时,刚体内任一点的线速度才可以写为r ω?这时r 是不是等于该质点到转动轴的垂直距离为什么 刚体绕固定点转动时,r ω ?dt d 为什么叫转动加速度而不叫切向加速度又()r ωω??为什么叫向轴加速度而不叫向心加速度 在欧勒动力学方程中,既然坐标轴是固定在刚体上,随着刚体一起转动,为什么我们还可以用这种坐标系来研究刚体的运动 欧勒动力学方程中的第二项()21I I -y x ωω等是怎样产生的它的物理意义又是什么 第三章思考题解答 答:确定一质点在空间中得位置需要3个独立变量,只要确定了不共线三点的位置刚体的位置也就确定了,故须九个独立变量,但刚体不变形,此三点中人二点的连线长度不变,即有三个约束方程,所以

C语言思考题

1、机器语言:机器语言及其指令是计算机能够直接识别的执行的一组二进制代码。一条机器指令通常由操作码和操作数两部分构成。 2、汇编指令:是机器语言的符号化表示MOV 3、汇编语言:由汇编指令、汇编伪指令及汇编语言的语法规则组成。 4、汇编语言源程序:用汇编语言编写的程序 5、汇编程序:把汇编语言源程序翻译成目标程序的加工程序MASM 6、二、十、十六进制转换(掌握<256)练习1:117=(1110101)B练习2:1000 1011 B=(139)D练习3:1011 1000 0000 0101 B=(B805)H 7、机器数:是指计算机中的数据,可以分为无符号数和有符号数字长为N位时无符号数表示范围0≤N≤2N-1 当N=8时0≤N≤255 8、原码(8位):最高位为符号位(正数用0表示,负数用1表示),其他位为数值位 如X=+45=+0010 1101B [X]原=0010 1101B 如X=-45=-0010 1101B [X]原=1010 1101B 9、补码(8位):正数的补码与原码相同,负数的补码是将符号位取1,数值位逐位取反,未位加1。如X=+45=+0010 1101B [X]补=0010 1101B 如X=-45=-0010 1101B [X]补=1101 0011B 10、补码运算:是指对一个补码表示的数按位求反后再在末尾加1,可以得到与此数相应的符号相反的数的补码。例、已知[117]补=0111 0101B,[-117]补=1000 1011B,对[117]补作补码运算。解:因为[117]补=0111 0101B,按位求反后得1000 1010B,末尾加1得1000 1011B=[-117]补。[X+Y]补=[X]补+[Y]补[X-Y]补=[X]补+[-Y]补 12、BCD码:BCD码用4位二进制数表示1位十进制数。常用8421BCD码例:写出十进制314所对应的BCD码 13、8086/8088CPU:16位微处理器和16位数据总线,20位地址总线(寻址空间为1MB)。8088微处理器内部16位数据,外部8位数据,也称准16位机。8086/8088CPU的组成(功能方面):运算器、控制器、寄存器组 14、寄存器是CPU内部临时存放数据的部件,速度比内存快。(1)数据寄存器4个16位寄存器AX,BX,CX,DX,每个寄存器还可以拆成2个8位寄存器使用。 AX累加器:算术运算寄存器,用于存放操作数或运算结果。I/O指令中通过AX与外部交换数据。在乘除运算中指定存放被乘数与被除数,系统功能调用号。AX累加器可以分为AH、AL分别使用。 BX基址寄存器:可作为通用寄存器使用。在计算内存地址是,常作基址寄存器,作为通用寄存器还可以分为BH、BL分别使用。 CX数据寄存器:可作为通用寄存器使用。在循环和串操作指令中作隐含计数器。作为通用寄存器还可以分为CH、CL分别使用。 DX数据寄存器:可作为通用寄存器使用。在I/O操作中,DX用来存放I/O端品地址。在乘除法运算中与AX组合一起存放双字型数据。作为通用寄存器还可以分为DH、DL 分别使用。 (2)变址寄存器(2 个16位):SI 源变址寄存器.DI 目的变址寄存器 BP基址寄存器:用于存放栈中的操作数的偏移地址。SP堆栈指针寄存器:用来指示栈顶的当前位置(偏移地址)。 IP 指令指针寄存器(程序计数器):用于存放下一条指令所在偏移地址。与CS配合,用来确定程序中下一条指令的物理地址。 15、PSW程序状态字寄存器(标志寄存器):8088微处理器使用16位中的9位设置了9个标志。标志位SF、OF、CF、ZF的含义0010 1001B+1110 1000B=1 0001 0001B CF=1 OF=0 SF=0 ZF=0 16、段地址寄存器:段表示一块内存空间(大小可变),最大为64K字节,最小为16字

大学物理实验思考题答案

实验一:用三线摆测物体的转动惯量 1. 是否可以测摆动一次的时间作周期值?为什么? 答:不可以。因为一次测量随机误差较大,多次测量可减少随机误差。 2. 将一半径小于下圆盘半径的圆盘,放在下圆盘上,并使中心一致,讨论此时三线摆的周期和空载时的周期相比是增大、减小还是不一定?说明理由。 答:当两个圆盘的质量为均匀分布时,与空载时比较,摆动周期将会减小。因为此时若把两盘看成为一个半径等于原下盘的圆盘时,其转动惯量I0小于质量与此相等的同直径的圆盘,根据公式(3-1-5),摆动周期T0将会减小。 3. 三线摆在摆动中受空气阻尼,振幅越来越小,它的周期是否会变化?对测量结果影响大吗?为什么? 答:周期减小,对测量结果影响不大,因为本实验测量的时间比较短。 [实验二] 金属丝弹性模量的测量 1. 光杠杆有什么优点,怎样提高光杠杆测量的灵敏度? 答:优点是:可以测量微小长度变化量。提高放大倍数即适当地增大标尺距离D或适当地减小光杠杆前后脚的垂直距离b,可以提高灵敏度,因为光杠杆的放大倍数为2D/b。 2. 何谓视差,怎样判断与消除视差? 答:眼睛对着目镜上、下移动,若望远镜十字叉丝的水平线与标尺的刻度有相对位移,这种现象叫视差,细调调焦手轮可消除视差。 3. 为什么要用逐差法处理实验数据? 答:逐差法是实验数据处理的一种基本方法,实质就是充分利用实验所得的数据,减少随机误差,具有对数据取平均的效果。因为对有些实验数据,若简单的取各次测量的平均值,中间各测量值将全部消掉,只剩始末两个读数,实际等于单次测量。为了保持多次测量的优越性,一般对这种自变量等间隔变化的情况,常把数据分成两组,两组逐次求差再算这个差的平均值。 [实验三]

C语言试题及答案

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

A. I、II和III B. I、III和IV C. II、III和IV D. 以上都正确 8. 需求分析阶段最重要的技术文档是( b )。 - A. 设计说明书 B. 需求规格说明书 C. 可行性分析报告 D. 用户手册 9. 以下关于数据流图的说法错误的是( c )。 A. 数据流图舍去了具体的物质,只剩下数据的流动、加工处理和存储 B. 数据流图是用作结构化分析的一种工具 C. 传统的数据流图中主要由加工、数据源点/终点、数据流、控制流、数据存储组成 D. 数据流图的绘制采用自上向下、逐层分解的方法 10. 数据字典是软件需求分析阶段的最重要工具之一,其最基本的功能是( c )。 A. 数据库设计 B. 数据通信 C. 数据定义 D. 数据维护 11. 需求分析阶段的研究对象是( b )。 ¥ A. 系统分析员要求 B. 用户要求 C. 软硬件要求 D. 系统要求 12. 结构化方法的基本原则是( b )。 A. 模块化 B. 抽象与分解 C. 信息隐蔽 D. 逐步求精 13. 耦合度最高的是(b)耦合。 A. 环境 B. 内容 C. 控制 D. 数据 14. 内聚程度较低的是( a )内聚。 A. 偶然 B. 通讯 C. 顺序 D. 时间 15. 对一个程序来说,组成系统的模块数目( b ),则开发成本越小。 A. 越多 B. 越少 C. 顺序 D. 时间> 16. 画软件结构图时应注意调用关系只能是(B )。 A. 从下到上 B. 从上到下 C. 从左到右 D. 从右到左 17. 程序流程图中的箭头代表( b )。 A. 数据流 B. 控制流 C. 顺序流 D. 调用 18. 软件测试是软件质量保证的重要手段,下述( B )是软件测试的最基础环节。

相关文档