文档库 最新最全的文档下载
当前位置:文档库 › 13机制本科C语言程序设计复习资料

13机制本科C语言程序设计复习资料

13机制本科C语言程序设计复习资料
13机制本科C语言程序设计复习资料

1. 计算定期存款本利之和

设银行定期存款的年利率rate 为2.25%,并已知存款期为n 年,存款本金为capital 元,试编程计算n 年后的本利之和deposit 。要求定期存款的年利率rate 、存款期n 和存款本金capital 均由键盘输入。 2. 编写一个C 程序,求a 、b 、c 、d 四个数中的最大者。

3.输入4个整数,要求按由小到大顺序输出。得到正确结果后,修改程序使之按由大到小顺序输出。

4.根据以下函数关系,对输入的每个x 值,计算出相应的y 值。

#include

#include void main() { float x,y; scanf("%f",&x);

if ( )

y= ;

else if ( )

y= ;

else printf("x=%f,y=%f",x,y); }

相关知识点:if 语句的嵌套;数学函数的调用方式。 5. 写程序实现以下函数:

??

?

??>-≤≤-<=)10(113)101(12)1(x x x x x x y

用scanf 函数输入x 的值,求y 值。运行程序,输入x 的值(分别为x<1、1≤x<10、x>10三种情况),检查输出的y 值是否正确。

6. 编写程序,要求对输入的数字1~7转换成文字星期几,对其它数字不转换。例如,输入5时,程序应该输出Friday 。

7. 程序 求1+…+100,填空,实现该功能。

#include void main() {

int s,i;

s=0; /* 第5行 */ for( ) s=s+i;

printf("1+...+100=%d\n",s); }

8. 若输入12345,分析输出结果是多少?上机验证。

#include void main( )

{ long data;

scanf("%ld",&data);

431

0≤≤≤≤x x

当x 取其他值时

while(data)

{ printf("%ld,",data%10);

data=data/10;

}

}

9. 填空完成程序,程序输入一批考试分数,用 1作为结束标志,若输入大于100分,则提示重新输入,然后计算最高分、最低分与平均分。请调试、检查程序中的错误,并改正之。

#include

void main( )

{ int mark;

int n=0, sum=0 ;

int max=0 , min=100 ;

for ( ; ; )

{ scanf("%d", &mark);

if ( mark > 100 )

{ printf(" Mark > 100 , Please reinput \n ");

___________;

}

if ( mark==-1)

___________;

n ++ ;

sum=sum + mark ;

if(___________ )

max = mark ;

if(___________)

min = mark ;

}

sum=sum/ n ;

printf("max =%d , min = %d, aver = %d \n", max , min , sum);

}

10程:输入20个1~90的整数,分类统计1~30、31~60、61~90的数各有多少个?

编程点拨:

(1)count1计1~30的个数,count2计31~60的个数,count3计61~90的个数。

(2)用for循环20次实现该程序的功能:输入一个整数x,判断该数所在的范围,若x是1~30,则count1加1;

若x是31~60,则count2加1;若x是61~90,则count3加1。

(3)最后,输出统计的结果。

#include

void main( )

{ int count1=0,count2=0,count3=0;

int i,x;

printf(“Please input 20 numbers:”);

for(i=0;i<20;i++)

{ scanf(“%d”,&x);

………/*补充完成程序*/

}

/* 输出统计结果*/

……………

}

补充完成该程序。

11.编程:素数是除了1和其本身以外,不能被其他自然数整除的自然数。从键盘输入一个数,判断该数是不是素数?

编程点拨:

a)输入这个数x。

b)用for循环2~x-1,用2~x-1的每一个数去除x,若有一个数整除x,则说明x不是素数;否则,x就是

素数。

c)最后,将判断结果输出。

#include

void main( )

{ int i, x;

printf("Enter one natural integer: ");

scanf("%d ",&x);

for(i=2;i

……………

}

12.编程:显示所有的水仙花数。谓水仙花数,是指一个3位数,其各位数字立方和等于该数字本身。例,153是水仙花数,因为153=13+53+33。有两种解题思路,选择其中之一编程实现:

13.调试下列程序,使之具有如下功能:输入10个整数,按每行3个数输出这些整数,最后输出10个整数的平均值。写出调试过程。

#inclue

#define N 10

void main( )

{ int i,a[N],av;

for(i=0;i

scanf("%d",a[i]);

for(i=0;i

{ printf("%d",a[i]);

if(i%3==0)

printf("\n");

}

for(i=0;i!=N;i++)

av+=a[i];

printf("av=%f\n",av);

}

14.有一个3行4列的距阵,现要求编程求出其中最大的那个元素的值,以及它所在的行号与列号。程序的初始说明和输出语句如下所示,请补充完成该程序。

#include

void main( )

{ int i, j, row, colum, max;

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

……

printf(" Max = %d, Row = %d, Colum = %d \n", max, row, colum);

}

15. 数组中已存互不相同的10个整数,从键盘输入一个整数,输出与该值相同的数组元素下标。

编程点拨:

①输入要查找的变量x的值;

②使用循环将输入的数和数组元素逐个进行比较,若找到,则提前退出循环;

③根据循环是正常结束还是提前结束来判断是否找到x。

部分源代码:

#include

void main( )

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

/*输入x变量的值*/

for ( i=0; i<10; i++ ) printf("%4d",a[i]);

printf("\n");

/* 循环查找与x相等的元素*/ if ( )

printf("%d\n",i); /* 输出查找结论,输出下标值*/

else

printf("Not found %d\n",x);

}

16.编写程序,任意输入10个从大到小的整数数列,然后输入一个整数插入到数列中,使数列保持从大到小的顺序。

部分源代码:

#include

#define N 11

void main()

{ int i,j,a[N];

printf(“Please input 10 numbers:”);

for (i=0; i

scanf(“%d”,&a[i]); /*乱序输入10个整数*/

……

}

相关知识:①比较排序法、选择排序法和冒泡排序法;②数据元素的插入。

17.输入十个互不相同的整数并存在数组中,找出最大元素,并删除。

18. 以下程序的功能是:从键盘上输入若干个学生的成绩,统计计算出平均成绩,并输出低于平均分的学生成绩,用输入负数结束输入。请填空:

#include

void main( )

{ float x[1000], sum=0.0, ave, a;

int n=0, i;

printf ("Enter mark : \n") ;

scanf("%f", &a);

while (a>=0.0 && n<1000)

{ sum+= ;

x[n]= ;

n++;

scanf("%f", &a);

}

ave= ;

printf ("Output : \n");

printf ("ave = %f\n", ave);

for (i=0; i

if ( )

printf("%f\n", x[i]);

}

19.综合编程题:打印如下杨辉三角形

1

1 1

1 2 1

1 3 3 1

1 4 6 4 1

1 5 10 10 5 1

编程点拨:

杨辉三角形有如下特点:

①只有下半三角形有确定的值;

②第一列和对角线上的元素值都是1;

③其它元素值均是前一行同一列元素与前一行前一列元素之和。

20.调试下列程序,使之具有如下功能:任意输入两个字符串(如:“abc 123”和“china”),并存放在a,b两个数组中。然后把较短的字符串放在a数组,较长的字符串放在b数组。并输出。

#include

#include

void main()

{ char a[10],b[10];

int c,d,k,ch;

scanf("%s",&a);

scanf("%s",&b);

printf("a=%s,b=%s\n",a,b);

c=strlen(a);

d=strlen(b);

if(c>d)

for(k=0;k

{ ch=a[k];a[k]=b[k];b[k]=ch;}

printf("a=%s\n",a);

printf("b=%s\n",b);

}

21.阅读下面的程序,然后回答后面的问题:

#include

#include

void main( )

{ char s1[80], s2[40];

int i = 0, j = 0;

printf(" \n Please input string1:");

scanf("%s", s1);

printf(" \n Please input string2:");

scanf("%s", s2);

while (s1[i]!= '\0' )

i++;

while (s2[j]!= '\0' )

s1[i++]=s2[j ++];

s1[i]= '\0';

printf("\n New string: %s", s1);

}

编辑、运行该程序,然后分别输入Country 和side。请问:

①程序执行的结果是什么?

②该程序的功能是什么?

22.填空完成程序,使其功能是对从键盘上输入的两个字符串进行比较,然后输出两个字符串中第一个不相同字符的ASCII码之差。例如:输入的两个字符串分别为abcdefg和abceef,则输出为-1。程序如下:

#include

void main ( )

{ char str1[100],str2[100];

int i,s;

printf("\n Input string 1:\n");gets(str1);

printf(“\n Input string 2:\n”);gets(str2);

i= (1) ;

while((str1[i]==str2[i])&&(str1[i]!= (2) ))

i++;

s= (3) ;

printf("%d\n",s);

}

23.填空完成程序,使其的功能是统计从终端输入字符中每个大写字母的个数。用#号作为输入结束标志。程序如下:

#include

#include

void main ( )

{ int num[26],i; char c;

for (i=0;i<26;i++) num[i]=0;

while ( (1)!= '#') /* 统计从终端输入的大写字母个数*/

if (isupper(c)) num[c-65] (2);

for (i=0;i<26;i++) /* 输出大写字母和该字母的个数*/

if (num[i])printf("%c:%d\n",i (3),num[i]);

}

24.编写程序,输入字符串s1和s2以及插入位置f,在字符串s1中的指定位置f处插入字符串s2。如:输入"BEIJING"、"123"和位置3,则输出:"BEI123JING123"。

25.阅读程序,注意在调试时F11和F10的区别,还要注意函数调用过程中形参、实参的关系。

#include

void main()

{ int x=10,y=20;

void swap (int ,int);

printf("(1)in main :x=%d,y=%d\n",x,y);

swap(x,y);

printf("(4)in main :x=%d,y=%d\n",x,y);

}

void swap (int m,int n)

{ int temp;

printf("(2)in main :m=%d,n=%d\n",m,n);

temp=m;m=n;n=temp;

printf("(3)in main :m=%d,n=%d\n",m,n);

}

26.下列程序是实现求素数的,请填空完成该程序,并上机运行测试。

#include

#include

void main()

{ int m;

; /* 申明求素数函数*/

printf("Please input a data m=:");

scanf("%d",&m);

; /* 调用求素数函数*/

}

void prime(int n)

{ int i,k;

k=sqrt(n);

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

if (___________;)

break;

if(___________)

printf("This is a prime number");

else printf("This isn’t a prime number");

}

27.下列程序的功能是从键盘上输入的若干个数并求出最大值。请填空完成该程序。

#include

void main( )

{ int i;

int s[10], max;

/* Findmax()函数的申明*/

;

printf("Input 10 number : \n");

/* 输入10个数据到s数组中*/

;

/* 调用Findmax函数*/

;

for (i=0;i<10; i++)

printf("%4d", s[i]);

printf("\nthe max is %d ",max);

}

int Findmax( int x[ ], int n ) { int max,i; ___________; for ( i=1; i

28. 下列程序的功能是从键盘上输入的若干个数按升序排序。请填空完成该程序。

#include void main( ) { int i , k; float s[100], j ; printf(" Input number : \n"); for (i=0; scanf("%f",&j); i++)

s[i]=j; _________;

for (k=0; _________; k++)

printf( "%f", s[k]); printf("\n");

}

void sort(float x[ ], int n ) { int i, j, temp,min; for ( i=0; i

min=j; if(min!=i) { temp=x[i]; x[i]=x[min]; x[min]=temp; } }

}

29. 编写程序,实现由主函数输入m 、n ,按下述公式计算并输出n

m C 的值。

)!

(!!

n m n m C n m -=

提示:定义一个求阶层的函数,然后在主函数中调用三次即可求得。

30.上机调试程序,观察静态局部变量在调用过程中的变化。

#include

void main( )

{ int i ;

int f(int);

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

printf( "(%d):% d\n", i,f(i));

printf(" \n");

}

int f ( int n)

{ static int j = 1;

j = j * n;

return( j );

}

31.上机验证以下程序的运行结果

#include

void main()

{ int i,a[]={1,2,3},*p;

p=a;/*将数组a首地址赋给指针p*/

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

printf("%d,%d,%d,%d\n",a[i],p[i],*(p+i),*(a+i));

}

32.编写程序,使之具有如下功能:用指针法输入12个数,然后按每行4个数输出。

33.编写下列程序的sum函数和swap函数,使之具有如下功能:任意输入2个数,调用两个函数分别求:⑴2个数的和,⑵2个数交换值。

#include

void main( )

{ int a,b,c,*p=&c;

void sum(int ,int ,int *);

void swap(int * ,int * );

scanf("%d,%d",&a,&b);

sum(a,b,p);

swap(&a,&b);

printf("sum=%d\n",c);

printf("a=%d,b=%d\n",a,b);

}

void sum(int a,int b,int *c)

{

}

void swap(int *a,int *b)

{

}

34.下面的程序是用来从键盘输入是个整数,然后求出其中的最小值。填写空缺部分。

#include

int table[10];

void lookup(int *t,int *a,int n)

{ int k;

*a=t[0];

for(k=1;k

if( ) *a=t[k];

}

void main()

{ int k,min,*p=&min;

for (k=0;k<10;k++)

scanf("%d",table+k);

lookup( , ,10);

printf("min=%d\n",min);

}

35.编程题:已知一个整型数组a[5],其各元素值为4,6,8,10,12。使用指针求该数组元素之积。

36. 阅读下面的程序。

void main()

{

char a[]="I am a boy.",b[20], *p1,*p2;

int i;

p1=a;p2=b;

for( ; *p1!=’\0’;p1++,p2++)

*p2=*p1;

p2=’\0’;

printf("string a is:%s\n",a);

printf("string b is:");

for(i=0;b[i]!=’\0’;i++)

printf("%c",b[i]);

}

编辑、运行该程序,然后分别输入Country 和side。请问:

①程序执行的结果是什么?

②该程序的功能是什么?

37.以下是一个编写input()和output()函数输入,输出5个学生的数据记录;请在空白处填上适当的语句。#include

#define N 5

struct student

{ char num[6];

char name[8];

int score[4];

} stu[N];

void input(struct student stu[])

{ int i,j;

for(i=0;i

{

printf("\n请输入%d个学生中第%d个的信息:\n",N ,i+1);

printf("学号:");

scanf("%s", );

printf("姓名:");

scanf("%s", );

for(j=0;j<3;j++)

{

printf("成绩%d:",,j+1);

scanf("%d", );

}

printf("\n");

}

}

void print(struct student stu[])

{

int i,j;

printf("----------------------------------------\n");

printf("\n学号姓名成绩1 成绩2 成绩3\n");

printf("----------------------------------------\n");

for(i=0;i

{

printf("%-6s%-10s",stu[i].num,stu[i].name);

for(j=0;j<3;j++)

printf("%-8d", );

printf("\n");

}

printf("----------------------------------------\n"); }

void main()

{

input( );

print(stu);

}

物理光学总复习复习课程

物理光学总复习

一、选择题 1.E=E0exp(-i(wt-kz))和E=E0(-i(wt+kz))描述的是相反(沿+z或-z方向)传播的光波。 2.牛奶在自然光照时呈白色,由此可以肯定牛奶对光的散射主要是米氏散射。 3.早上或晚上看到太阳是红颜色,这种颜色可以用瑞利散射解释。 4.拍摄薄雾景色时,可在照相机物镜前加上红色滤光片,其原因可以用瑞利散射解释。 5.天空呈蓝色,这种现象可以用(瑞利散射)解释。 6.对右旋圆偏振光, ? ? ? ? ? ? -i 1 2 2 逆着光传播的方向看,E顺时针方向旋转)。对 左旋圆偏振光,( ? ? ? ? ? ? i 1 2 2 逆着光传播的方向看,E逆时针方向旋转)。 7.根据光强度的物理意义,光波的强度正比于振幅的平方(E2)。8光波的能流密度S正比于(电场强度E和磁场强度H)。 9琼斯矩阵 ? ? ? ? ? ? 1 表示的是沿x轴方向振动的线偏振光标准归一化琼斯矢量形式。 10.光在介质中传播时,将分为o光和e光的介质属于单轴晶体。 11.光束经过乌拉斯敦棱镜后,出射光只有一束,入射光应为线偏振光或入射光束锥角大于偏振棱镜的有效孔径。 12.劈尖的干涉属于等厚干涉,对反射光的干涉,若(不)考虑半波损失,其棱线总是处于暗纹(亮纹)位置。 13.如果线偏振光的光矢量与1/4玻片光轴夹角为45°,那么该线偏振光通过1/4玻片后一定是圆偏振光。

14.一束自然光自空气射向一块平板玻璃,设入射光等于布儒斯特角θB,则在界面的反射光为线偏振光(完全偏振光)。 15.对于完全非偏振光,其偏振度为P=(IM-Im)/(IM+Im)=0;对于完全偏振光,其偏振度为P=(IM-Im)/(IM+Im)=1。 16.线偏振片通过玻片后,一定是线偏振光,只是振动面的方位较入射光转过了2 。 17.在晶体中至少存在4个(单轴晶体),5个(双轴晶体)方向,当强度E沿这些方向时,E与相应的电位移矢量D的方向相同。 18.四个复数exp[-i(wt-kz)]、exp[+i(wt-kz)]、exp[-i(kz-wt)]、exp[+i(kz-wt)]表示的是同一列光波。 19.对于单轴晶体中的o光而言,以下说法正确的是O光:E//D,k//s;e光:E 与D有夹角α,E不平行D。 20.斯托克斯参量表示法描述的光部分、完全非偏振光。 21.喇曼散射和瑞利散射的主要区别在于散射光和入射光波长不同。 22.菲涅尔衍射和夫琅和费衍射的区别条件是观察屏到衍射屏距离Z1与衍射孔的线度之间的相对大小。当λ=0.633um,孔径线度为2mm时,菲涅尔衍射区域是Z1>>1cm(Z1>>3cm为夫琅和费衍射)。 23.为表征椭圆偏振,必要的三个独立量是(振幅α1、α2和位相差δ,或长短轴a、b和表明椭圆取向的ψ角)。 24.由光密介质射向光疏介质的能量入口处和返回能量的出口处不在同一点,相隔大约(半个波长)。

C语言程序设计第四版第六章答案_谭浩强

1、用筛选法求100之内的素数。解: #include #include int main() {int i,j,n,a[101]; for (i=1;i<=100;i++) a[i]=i; a[1]=0; for (i=2;i int main() {int i,j,min,temp,a[11]; printf("enter data:\n"); for (i=1;i<=10;i++)

{printf("a[%d]=",i); scanf("%d",&a[i]); } printf("\n"); printf("The orginal numbers:\n"); for (i=1;i<=10;i++) printf("%5d",a[i]); printf("\n"); for (i=1;i<=9;i++) {min=i; for (j=i+1;j<=10;j++) if (a[min]>a[j]) min=j; temp=a[i]; a[i]=a[min]; a[min]=temp; } printf("\nThe sorted numbers:\n"); for (i=1;i<=10;i++) printf("%5d",a[i]); printf("\n"); return 0; } 3、求一个3×3的整型矩阵对角线元素之和。解: #include int main() { int a[3][3],sum=0; int i,j; printf("enter data:\n"); for (i=0;i<3;i++) for (j=0;j<3;j++) scanf("%3d",&a[i][j]); for (i=0;i<3;i++) sum=sum+a[i][i]; printf("sum=%6d\n",sum);

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

1.6 编写一个程序,输入a、b、c 三个值,输出其中最大值。 课后习题答案完整版 第一章 1.5 请参照本章例题,编写一个C 程序,输出以下信息: ************************** Very Good! ************************** 解:mian() {int a,b,c,max; printf( “请输入三个数a,b,c:\n ” ); scanf( “%d,%d,%”d ,&a,&b,&c); C语言程序设计第三版谭浩强 解: mian() {printf( ”); “************************** printf( “”X “ n” ); printf( “Very Good!” \ n”); printf( “”X “ n” ); printf( “************************** ); max=a; if(max

{char #include c1='a',c2='b',c3= 'c',c4= ' \101 ',c5= ' 116'; printf( “a%cb%c n”,c1,c2,c 3); printf( “ b%c %c” ,c4,c5); } 解: aa 口bb 口口口cc 口口口口口口abc A 口N 3.7 要将"China" 译成密码,译码规律是:用原来字母后面的第 4 个字母代替原来的字母.例如,字母"A" 后面第 4 个字母是"E" . "E"代替"A"。因此,"China"应译为"Glmre" 。请编一程序,用赋初值的方法使cl 、c2、c3、c4、c5 五个变量的值分别为, ' C'、h'、i '、n'、a'经过运算,使cl、c2、c3、c4、c5分别变为'G'、' I '、' m >' r'、’ e',并输出。main() { char c1=' C' ,c2=' h' ,c3= ' i ' ,c4= ' n' ,c 5=' a' ; c1+=4; c2+=4; c3+=4; c4+=4; c5+=4; printf(" 密码是%c%c%c%c%c\n",c1,c2,c3,c4,c5); } 运行结果: 密码是GImre 3.9 求下面算术表达式的值。 解: 1 )x+a%3*(int)(x+y)%2/4

完整word版单片机C语言应用程序设计第五版马忠梅课后习题答案

第一章单片机由哪几部分组成?、80511可P2P0和个8位并行I/O口(其中8位中央处理器CPU、片内振荡电器及其时钟电路,4,个中断优先级)个中断源(具有2位定时器/计数器,5 用于外部存储器的扩展),2个16 全双工串行口,布尔处理器。单片机有多少个特殊功能寄存器?它们可以分为几组,各完成什么主要功能?、80512 表P7 1-3个特殊功能寄存器,在物理 上是分散在片内各功能部件中,在数218051单片机内部有答:中,以便能使用统一的直接寻址方式80H~FFH学上把它们组织在内部数据存储器地址空间来访问。这些特殊功能寄存器颁 在以下各个功能部件中:主要完;DPH两个8位寄存器组成)PSW、SP、DPTR(由DPL和(1)CPU:ACC、B、成运算和逻辑判断功能;完成中断管理IP、IE;(2)中断系统:完成 定时或者计数功能、TH1;TCOM、TL0、TH0、TL1(3)定时器/计数器:TMOD、口带有可选的纵向拓展I/O完成I/O口功能,其中部分P1P0、、P2、P3(4)并行I/O口:功能。主要完成数据的串行发送和接收SBUF、PCON5)串行口:SCON、(、决定程序执行顺序的寄存器是哪几个?它是几位寄存器?是否为特殊功能寄存器?它的3 内容是什么信息?它的内容是下一条 将要执行的不是特殊功能寄存器,它是16位寄存器,是程序计数器PC,程序的地址的用途是什么?它由哪几个特殊功能寄存器组DPTRDPTR是什么特殊功能寄存器?4、成?位)和8DPL (数据指针低是16位数据指针寄存器,它由两个8位特殊功能寄存器DPTR位地址,作地址寄存器用,可寻址外部16DPTR用于保存DPH(数据指针高8位)组成,数据存储器,也可寻址程序存储器。线?它们和单片机对外的地址总线和数据总线有什么关系?地址的引脚有多少I/O5、8051 总线和数据总线各是多少位?线可以在外扩存储器时分时复根I/OP0口8I/O8051单片机的40个引脚中有32根口线,和P3.6位地址总线,P2口作为高8用作为外部存储器的低8位地址 总线和8位数据总线,位。16位,数据总线为8P3.7分别作为外部存储器的写和读控制线。地址总线单片机堆栈的最大容量不能超过多少字8051、什么是堆栈?堆栈指针SP的作用是什么? 6 节?堆栈是数据寄存器的一部分,这一部分数据的存取是按照先入后出、后入先出的原则进行的。堆栈指针SP在启用堆栈之前是用来决定堆栈的位置。如在8051芯片复位后,SP的值为07H,则决定了堆栈从08H开始设置。修改SP值可以使堆栈设置在内部RAM的其它部分。在堆栈启 用之后,SP指向堆栈顶部,即由SP来决定数据读出和存入堆栈的地址。8051单片机内部用作 数据区的RAM的容量为128个字节,前8个字节要用来作为工作寄存器R0-R7。堆栈可以从08H开始设置直到7FH,共120个字节。但这只是最大可能的容量。一般情况下,内部RAM还要分出一部分作一般的数据区,或者还要用其中的位寻址区来用于位操作,等等。所以,8051 的堆栈区是比较小的,使用时要注意到这个限制。 8、8051内部RAM低128字节可分为几个区域?其中通用寄存器区的字节地址范围为多少?如何实现寄存器组的切换?可位寻址区的字节地址和位地址范围分别为多少? 8051内部RAM的低128字节可以分为通用寄存器区、位寻址区、便签(工作或者堆栈RAM)1 中的个字节。设置PSW区和特殊功能寄存器区。通用寄存器区的地址从00H到1FH共3212816个字节RS1可以切换当前通用寄存器组。位寻址区地址从20H到2FH共位RSO和127. 0到位,占用地址8051单片机对外有几条专用控制线?其功能是什么?9、,高电位有效,当有条专用控制线。它们是复位信号线RST一般的说法是8051单片机有4,低电平有效,当此复位信号从此线输入时,使单片机复位。访问外部存贮器控制信号EA先使用片单片机全部使用外部指令存贮器,而当此控制线为高电平时,控制线为低电平时,1000H(地址为,在4KB范围之外,才使用指令存贮器FFFFH内的4KB指令存贮器(0000H-)和外部地址锁存器允PSEN-FFFFH)。另有两条输出控制:外部程序存贮器的读选通信号。前者是低电平有效,在读外部程 序存贮器时使用。后者是高电平有效,在锁存ALE许信号P0口输出的低8位地址时使用。端必须怎样处理?为什么?10、8031的/EA为有效时,/EA访问内部ROM,当端是访问外部程序

c语言程序设计第二章课后参考答案

第二章:C程序的基本结构 一、单项选择题 1、以下不是C语言的特点的是________。 A)语言的表达能力强B)语言定义严格 C)数据结构系统化 D)控制流程结构化 2、TC编译系统提供了对C程序的编辑、编译、连接和运行环境,以下可以不在该环境下进行的环节是________。 A)编辑和编译 B)编译和连接 C)连接和运行D)编辑和运行 3、以下不是二进制代码文件是________。 A)标准库文件 B)目标文件C)源程序文件 D)可执行文件 4、下面个选项组中,均属于C语言关键字的一组是________。 A)auto,enum,include B)switch,typedef,continue C)signed,union,scanf D)if,struct,type 5、下面四组字符串中,都可以用作C语言标识符的是________。 A)print B)I \am C)signed D)if _maf scanf 3mf ty_pr mx_2d mx_ a.f x1# aMb6 AMB A&B 5XY 6、以下不属于流程控制语句的是_________。 A)表达式语句 B)选择语句 C)循环语句 D)转移语句 7、下面描述中,不正确的是________。 A)C语言的函数体由一系列语句和注释组成。 B)注释内容不能单独写在一行上。 C)C程序的函数说明部分包括对函数名、函数类型、形式参数等的定义和说明。 D)scanf和printf是标准库函数而不是输入和输出语句。 8、下面描述中,正确的是________。 A)主函数的花括号必须有,而子函数中的花括号是可有可无的。 B)一个C程序行只能写一个语句。 C)主函数是程序启动时的唯一入口。 D)函数体包含了函数说明部分。 二、填空题 1、一个完整的C程序至少要有一个________函数。(主函数) 2、标准库函数不是C语言本身的组成部分,它是由__________提供的功能函数。(编译系统) 3、C语言是以________为基本单位、整个程序由________组成。(函数函数) 4、常用的标准库函数有数学函数、字符函数和字符串函数、动态分配函数、随机函数和________函数等几个大类。(输入输出) 5、标准库函数存放在________文件中。(函数库) 6、目标程序文件的扩展名是________。(.obj) 7、程序连接过程是将目标程序、________或其它目标程序连接装配成可执行文件。(库函数) 8、因为源程序是________类型文件,所以用具有文本编辑功能的任何编辑软件程序完成编辑。(文本)

C语言程序设计(谭浩强)第四版-课后答案

第一章程序设计和C语言【第15页】 1-5 #include int main ( ) { printf ("**************************\n\n"); printf(" Very Good!\n\n"); printf ("**************************\n"); return 0; } 1-6 #include int main() {int a,b,c,max; printf("please input a,b,c:\n"); scanf("%d,%d,%d",&a,&b,&c); max=a; if (max #include int main() {float p,r,n; r=0.1; n=10; p=pow(1+r,n); printf("p=%f\n",p); return 0; }

3-2-1 #include #include int main() {float r5,r3,r2,r1,r0,p,p1,p2,p3,p4,p5; p=1000; r5=0.0585; r3=0.054; r2=0.0468; r1=0.0414; r0=0.0072; p1=p*((1+r5)*5); // 一次存5年期 p2=p*(1+2*r2)*(1+3*r3); // 先存2年期,到期后将本息再存3年期 p3=p*(1+3*r3)*(1+2*r2); // 先存3年期,到期后将本息再存2年期 p4=p*pow(1+r1,5); // 存1年期,到期后将本息存再存1年期,连续存5次 p5=p*pow(1+r0/4,4*5); // 存活期存款。活期利息每一季度结算一次 printf("p1=%f\n",p1); // 输出按第1方案得到的本息和 printf("p2=%f\n",p2); // 输出按第2方案得到的本息和 printf("p3=%f\n",p3); // 输出按第3方案得到的本息和 printf("p4=%f\n",p4); // 输出按第4方案得到的本息和 printf("p5=%f\n",p5); // 输出按第5方案得到的本息和 return 0; } 3-2-2 #include #include int main() {double r5,r3,r2,r1,r0,p,p1,p2,p3,p4,p5; p=1000; r5=0.0585; r3=0.054; r2=0.0468; r1=0.0414; r0=0.0072; p1=p*((1+r5)*5); // 一次存5年期 p2=p*(1+2*r2)*(1+3*r3); // 先存2年期,到期后将本息再存3年期 p3=p*(1+3*r3)*(1+2*r2); // 先存3年期,到期后将本息再存2年期 p4=p*pow(1+r1,5); // 存1年期,到期后将本息存再存1年期,连续存5次

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

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

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

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

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

a2=50; x=a1-a2; printf(″x=%d\n″,x); } 【解答】运行结果为:x=50 2.输入下面程序并运行。 main() { int a1,a2,x; a1=10; a2=20; x=a1*a2; printf(″a1=%d,a2=%d\n″,a1,a2); printf(″x=%d\n″,x); } 【解答】运行结果为:a1=10,a2=20 x=200 3.输入下面程序并运行。 #include <> main() { printf("******\n"); printf(" *****\n"); printf(" ****\n"); printf(" ***\n"); printf(" **\n"); printf(" *\n"); } 【解答】运行结果为:****** ***** **** *** ** *

光学原理复习(13级)

一. 解释概念 1.高斯光束的准直距离 答:一般认为基模高斯光束在瑞利长度200/z w πλ= 围是近似平行的,因此也把瑞利距离长度称为准直距离。 2.相速度和群速度 答:a.等相面沿其法线向前推进的速度——相速度 b.等幅平面的传播速度,这个速度称为群速度。 3.左旋圆偏振光 答:满足2220 x y E E E +=,E y 比E x 的相位落后π/2,sin δ <0 ,称为左旋圆偏振光。 4.倏逝波 答:全反射时,光波不是绝对地在界面上被全部返回第一介质,而是透入第二介质大约一个波长的深度,并沿着界面流过波长量级距离后重新返回第一介质,再沿反射方向射出。这个沿第二介质表面流动的波就称为倏逝波。 5.电磁波的能量密度和能流密度 答:a.能量密度是单位体积电磁场的能量。 b.能流密度是单位时间垂直通过单位面积的电磁能。 6.等倾干涉和等厚干涉 答:a.凡入射角(倾角)相同的光,形成同一干涉条纹。因此把这种干涉称为等倾干涉。 b.等厚干涉是由平行光入射到厚度变化均匀、折射率均匀的薄膜上、下表面而形成的干 涉条纹.薄膜厚度相同的地方形成同条干涉条纹,故称等厚干涉. 7.时谐电磁波 答:所谓时谐波是指空间每点的振动是时间变量的谐函数的波。 8.空间频谱 答:傅氏变换F (f x , f y ) 也称为f ( x , y ) 的空间频率谱,简称空间频谱。 9.受挫全反射 答:对介质2中透射场的任何干扰都会直接影响全反射光的强弱。 10.负折射率介质 答:电场、磁场和波矢三者之间构成左手关系的非常规材料(也就是折射率为负的材料), 现在也称为左手材料(left-handed materials ,简称LHM ) ,或负折射率介质。 11.非定域干涉 答:在两束光的叠加区,到处都可以观察到干涉条纹, 只是不同地方条纹的间距、形状不 同而已。这种在整个光波叠加区,随处可见干涉条纹的干涉, 称为非定域干涉。 12.相干长度 答:波长宽度为Δλ的光源,能够产生干涉条纹的最大光程差,称为相干长度。 13.驻波 答:两个频率相同,振动方向相同而传播方向相反的相干光波,在同一直线上沿相反方向传 播时,叠加而形成的波就叫做驻波。

《C语言程序设计》课后习题答案(第四版)谭浩强

第1章程序设计和C语言1 1.1什么是计算机程序1 1.2什么是计算机语言1 1.3C语言的发展及其特点3 1.4最简单的C语言程序5 1.4.1最简单的C语言程序举例6 1.4.2C语言程序的结构10 1.5运行C程序的步骤与方法12 1.6程序设计的任务14 1-5 #include int main ( ) { printf ("**************************\n\n"); printf(" Very Good!\n\n"); printf ("**************************\n"); return 0; } 1-6#include int main() {int a,b,c,max; printf("please input a,b,c:\n"); scanf("%d,%d,%d",&a,&b,&c); max=a; if (max

2.5结构化程序设计方法34 习题36 第章最简单的C程序设计——顺序程序设计37 3.1顺序程序设计举例37 3.2数据的表现形式及其运算39 3.2.1常量和变量39 3.2.2数据类型42 3.2.3整型数据44 3.2.4字符型数据47 3.2.5浮点型数据49 3.2.6怎样确定常量的类型51 3.2.7运算符和表达式52 3.3C语句57 3.3.1C语句的作用和分类57 3.3.2最基本的语句——赋值语句59 3.4数据的输入输出65 3.4.1输入输出举例65 3.4.2有关数据输入输出的概念67 3.4.3用printf函数输出数据68 3.4.4用scanf函数输入数据75 3.4.5字符数据的输入输出78 习题82 3-1 #include #include int main() {float p,r,n; r=0.1; n=10; p=pow(1+r,n); printf("p=%f\n",p); return 0; } 3-2-1 #include #include int main() {float r5,r3,r2,r1,r0,p,p1,p2,p3,p4,p5; p=1000;

标准C语言程序设计第五版课后练习题答案

课后练习题答案 Chapter 1 1.1×√×√√×√××√ 1.2b c 1.3ad 1.4semicolon printf math、h \n Chapter 2 2、1 ×√××√√×√××√× 2、2 typedef 255 external const Chapter 3 3、1 ×√××√√×××√√√ 3、2 integer modula 6 logical sizeof paratheses typeconversion precedence 3、3 F F T F F F 3、4 F T T T F 3、5 (b) (c) 3、6 0 -2 7 10、25 false 3 3 1 3、10 0 1 1 1 1 3、11 d } 100 3、12 110 111 3、13 1 3、14 200 3、15 x<=y 3、16 TRUE 3、19 2 1 4 3、20 -40 40 Chapter 4 4、1 ×√√√√√××√√√× 4、2 %hd %x ctype、h %l %*d [^] blank 6 - %e 4、4 (a) scanf(“%d %c %d”, &a, &b, &c); (b)scanf(“%d %f %s”, &a, &b, &c); (c) scanf(“%d-%d-%d”, &a, &b, &c); (d) scanf(“%d %s %d”, &a, &b, &c);

4、5 (a)10x1、230000 (b)1234x 1、23 (c)1234 456、000000 (d) “123、40 ” (e) 1020 1222(乱码) 4、7 (a)1988 x (b)乱码 (c)120 乱码 (d)乱码 x 4、8 (a)1275 -23 5、740000 (b) 1275 -235、740000 (c) 0 0、000000 (d) 1275xxxx-235、74 (e)Cambridge (f)1275 Cambridge 4、10 1988 无无 Chapter 5 5、1 √×√××××××√ 5、2 && switch break if-else x=y 5、4 (a)x = 2; y = 0; (b) x = 1; y = 0; 5、5 (a) if (grade <= 59) if (grade >= 50) second = second + 1; (b) if (number > 100) printf(“out of range”); else if (number < 0) printf(“out of range”); else sum = sum + number; (c) if (T > 200) printf(“admitted”); else if (M > 60) {if (M > 60) printf(“admitted”);} else printf(“not admitted”); 5、6 F T F T 5、8 (a) x > 10 (b) (x != 10)||(y ! = 5) || (z >= 0) (c) (x + y != z) || (z > 5) (d) (x > 5) || (y != 10) || (z >= 5) 5、9 (a) x = 5; y = 10; z = 1 (b) x = 5; y = 10; z = 1 (c) x = 5; y = 0; z =0 (d) 无变化 5、10 (a) x= 0; y = 2; z = 0; (b) x = 1; y = 2; z = 0; 5、12 8 5、13 Delhi Bangalore END 5、14 2 4 4 8 5、15 0 0 2 5、16 25 5、17 Number is negative 5、18 ABC

C语言详解(第五版)第二章程序设计项目答案

C语言详解(第五版)程序设计项目答案第二章 1.编写一个程序,以每英里0.35的费率计算一个售货员的里程偿还金。程序中要求与用户进行如下方式的交互。 #include #include int main(void) {float mile_1,mile_2,miles,consume,payment; printf("MILEAGE REIMBURSEMENT CALCULATOR\n"); printf("Enter begainning odometer reading>\n"); scanf("%f",&mile_1); printf("Enter endding odometer reading>\n"); scanf("%f",&mile_2); printf("Enter consume per mile>\n"); scanf("%f",&consume); miles=mile_2-mile_1; payment=miles*consume; printf("You traveled%f miles.At%f per mile,your reimbursement is%f",miles,consume,payment); system("pause"); return(0); } 2.编写一个程序,用于辅助设计水力发电大坝。提示用户输入大坝高度,以及水流量。如果水由重力所做的功有90%转化为电能,测算会有多少M瓦的功率。 #include #include int main(void) {double density,weight,gravitational_acceleration, efficiency,height,water_flow_rate,work,electricity_power; printf("Please type in the density of water>"); scanf("%lf",&density); printf("Please type in the gravitational_acceleration>"); scanf("%lf",&gravitational_acceleration); printf("Please type in the height of the water>"); scanf("%lf",&height); printf("Please type in the efficiency of the transformation\nfrom water to electricity>"); scanf("%lf",&efficiency); printf("Please type in the water_flow_rate>"); scanf("%lf",&water_flow_rate); weight=density*water_flow_rate; work=weight*height*gravitational_acceleration; electricity_power=work*efficiency/1000000; printf("The electric energy production is%fW",electricity_power); system("pause"); return0; }

光学复习资料波动光学部分

光学复习资料(波动光学部分)

————————————————————————————————作者:————————————————————————————————日期:

一、双光束干涉: 1. 如图所示,折射率2 1.2n =的油滴落在3 1.5n =的平板玻璃上,形成一上表面近似于球面的油膜测得油膜中心最高处的高度 1.1m d m μ=,用600nm λ=的单色光垂直照射油膜,求: (1) 油膜周边是暗环还是明环? (2) 整个油膜可看到几个完整暗环? 解:(1)因为光在油膜的上下表面反射时,均发生半波损失,故光程差: 22n d δ= 在油膜的边缘处,0d =,故0δ=,为亮纹。 (2)产生暗纹的条件是()22212 n d j λ δ==+,(j 为整数), 故 222211 3.922 m n d n d j λ λ= - ≤-= 所以暗环最高级3j =,整个油膜可以看到4个完整暗环。 2. 如图所示,这是一种利用干涉条纹的移动来测量气体折射率的原理性结构。在双缝之一1S 后面置放一长度为l 的透明容器,待测气体徐徐注入容器而使空气逐渐排出,在此过程中,观察者视场中的条纹就将移动,人们可由条纹移动的方向和数目,测定气体的折射率。 (1)若待测气体的折射率大于空气折射率,试预测干涉条纹怎样移动? (2)设l 为2cm ,光波长为589.3nm ,空气折射率为1.000276;往容器内充以氯气,观测到条纹移动了20个,求待测氯气的折射率。 2 n m d λ 3 n S 1 S 2 S P l

解:(1) 条纹向上移动。 (2) 光程差变化为: 1 20 δλ = () 20 n n l δ=- 根据题意, 12 δδ = 解得 20 1.000865 n n l λ =+= 3. 如图所示的劳埃德镜装置中,各物理量的数值分别为:2 a cm =,3 b m =,5 c cm =, 0.5 e mm =。光波的波长为589.3nm λ=。试求: (1) 屏上条纹间距; (2)屏上的总条纹数。 解:(1) 劳埃德镜为双光束干涉,两个光源的间距为:2 d e = 条纹间距为: 1.77 a b c y r mm d d λ λ ++ ?=== (2) 干涉区域的线度为: () 1221 21 tan tan y y y Oy Oy c b b αα ==- =+- a e c b S O

C语言程序设计第四版第七章答案-谭浩强

第七章函数 7.1写两个函数,分别求两个整数的最大公约数和最小公倍数,用主函数调用这两个函数,并输出结果两个整数由键盘输入。 maxyueshu(m,n) int m,n; { int i=1,t; for(;i<=m&&i<=n;i++) {if(m%i==0&&n%i==0) t=i; } return(t); } minbeishu(m,n) int m,n; {int j; if(m>=n) j=m; else j=n; for(;!(j%m==0&&j%n==0);j++); return j; } main() {int a,b,max,min; printf("enter two number is: "); scanf("%d,%d",&a,&b); max=maxyueshu(a,b); min=minbeishu(a,b); printf("max=%d,min=%d\n",max,min); } 7.2求方程的根,用三个函数分别求当b2-4ac大于0、等于0、和小于0时的根,并输出结果。从主函数输入a、b、c的值。 #include"math.h" float yishigen(m,n,k) float m,n,k; {float x1,x2; x1=(-n+sqrt(k))/(2*m); x2=(-n-sqrt(k))/(2*m); printf("two shigen is x1=%.3f and x2=%.3f\n",x1,x2); } float denggen(m,n) float m,n; {float x; x=-n/(2*m); printf("denggen is x=%.3f\n",x); }

C语言程序设计教程第三版(李凤霞)习题答案

教材习题答案 第一章 习题 一、单项选择题 1. C 2. B 3. B 4. C 5. D 6. A 7. C 8. A 二、填空题 1. 判断条件 2. 面向过程编程 3. 结构化 4. 程序 5. 面向对象的程序设计语言 6. 基本功能操作、控制结构 7. 有穷性 8. 直到型循环结构 9. 算法 10.可读性 11.模块化 12.对问题的分解和模块的划分

习题 一、单项选择题 1. B 2. D 3. C 4. B 5. A 6. A 7. B 8.C 二、填空题 1. 主 2. C编译系统 3. 函数、函数 4. 输入输出 5. 头 6. .OBJ 7. 库函数 8. 文本 第三章 习题 一、单项选择题 1. D 2. B 3. A

5. C 6. D 7. D 8. B 9. B 10.C 11.A 12.D 13.C 14.C 15.C 16.A 17.C 18.C 19.C 20.D 21.A 22.D 23.D 24.D,A 25.D 26.A 27.B 二、填空题 1. 补码 2. 308 10 - ±

~)308 10 ,15 —6 2. 308 10 - ± (~)308 10 ,15

6 3. 逻辑 4. 单目,自右向左 5. 函数调用 6. a 或 b ( 题目有错 , 小括号后面的 c<=98 改成( c>=97&&c<=98 )就可以得到所给的答案了) 7.

8. 65 , 89 第四章 习题 一、单项选择题 1. D 2. C 3. D 4. A 5. D 6. B 7. A 8. C 9. B 10.B 二、填空题 1. 一

(完整版)《C语言程序设计》基本知识点

《C语言程序设计》教学基本知识点 第一章C语言基本知识 1.C源程序的框架 尽管各个C源程序的功能千变万化,但框架是不变的,主要有:编译预处理、主函数()、函数n()等,主函数的位置不一定在最前面,可以在程序的中部或后面,主函数的名字固定为main。 2.C语言源程序的书写规则: (1)C源程序是由一个主函数和若干个其它函数组成的。 (2)函数名后必须有小括号,函数体放在大括号内。 (3)C程序必须用小写字母书写。 (4)每句的末尾加分号。 (5)可以一行多句。 (6)可以一句多行。 (7)可以在程序的任何位置加注释。 3.语句种类 语句是程序的基本成分,程序的执行就是通过一条条语句的执行而得以实现的,根据表现形式及功能的不同,C语言的基本语句可以分为五大类。 (1)流程控制语句 流程控制语句的功能是控制程序的走向,程序的流程有三种基本结构:顺序结构、分支结构和循环结构,任何复杂的程序都可以由这三种基本结构复合而成。其中后两种结构要用特定的流程控制语句实现。 (2)表达式语句 表达式语句的形式是:表达式;,即表达式后跟一分号“;”,分号是语句结束符,是一个语句必不可少的成分。表达式和表达式语句的区别在于表达式代表的是一个数值,而表达式语句则代表一种动作。最常见的表达式语句是赋值语句。 (3)函数调用语句 函数调用语句实际上也是一种表达式语句,形式为:在一次函数调用的小括号后面加上一个分号。 (4)空语句 空语句的形式就是一个分号,它不代表任何动作,常常作为一个意义转折点使用。 (5)复合语句 复合语句从形式上看是多个语句的组合,但在语法意义上它只相当于一个语句,在任何单一语句存在的地方都可以是复合语句。注意复合语句中最后一个语句末尾的分号不能少。复合语句右大括号后面没有分号。 4.运算符 用来表示数据各种操作的符号称为运算符。运算符实际上代表了一种类型数据的运算规则。不同的运算符具有不同的运算规则,其操作的数据类型必须符合该运算符的要求,运算结果的数据类型也是固定的。 根据参加操作的数据个数多少,可以将C语言的运算符分为单目运算符,双目运算符和三目运算符(三目运算符只有条件运算符一个)。 根据运算对象和运算结果的数据类型可分为算术运算符、关系运算符、逻辑运算符等。 5.表达式 表达式是由常量、变量、函数,通过运算符连接起来而形成的一个算式。一个常量,一个变量或一个函数都可以看成是一个表达式。 表达式的种类有: 算术表达式、关系表达式、逻辑表达式、赋值表达式、字位表达式、强制类型转换表达式、逗号

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