文档库 最新最全的文档下载
当前位置:文档库 › C语言程序设计复习

C语言程序设计复习

C语言程序设计复习
C语言程序设计复习

C语言程序设计复习

一)C语言的结构

1。程序的构成,main函数和其他函数。

2。头文件、数据说明、函数的开始和结束标志。

3。源程序的书写格式。

例:C语言中的所有关键字必须小写

顺序结构、选择结构和循环结构

4。C语言的风格。

(二)数据类型及其运算

1。C的数据类型(基本类型、构造类型、指针类型、空类型)及其定义方法。

C语言中允许的基本数据类型: 整型、实型、字符型

例:类型说明语句

char w; int x; float y; double z;

则表达式 w*x+z-y的结果类型?

在C语言中,5种基本数据类型的存储空间长度的排列顺序为:char

在C程序中,若未在函数定义时说明函数类型,则函数默认的类型为:extern

2。C运算符的种类、运算优先级和结合性。

例:运算符中优先级最高的为

A.&&

B..?:

C.!=

D.||

3。不同类型数据间的转换与运算。

例若变量a是int类型,并执行了语句:a=’A’+1.6 则:a的值是字符’A’的ASCII值加上1

4。C表达式类型(赋值表达、算术表达式、关系表达式、逻辑表达式、条件表达式、逗号表达式)和求值规则。

例:若有以下定义语句char c1=’b’, c2=’d’;

printf(“%d,%c\n”,c2-c1,c2-‘a’+’A’);则输出结果是2 D。例:已知x=36, ch=’B’,y=0则(x>=y&&ch<’C’&&!y)的值是:1

(三)基本语句

1。表达式语句,空语句,复合语句。

例:表达式7!=6的值是:1

d--; 是合法的赋值语句

2。数据的输入与输出,输入输出函数的调用。

例:printf(“%d”,(a=6)&&(b= -6));的输出结果是:1

*以下程序段的输出结果是

main()

{

int k=10;

printf("k=%d,k=%o,k=%x\n",k,k,k);

}

结果是k=10,k=12,k=A

例2:int a=10; printf(“%d\n”,a++); 则输出结果是:10 例3:main()

{ char m;

m=‘A’+32; printf("%c\n",m);

}

程序运行后的输出结果是:a

例:main()

{int a, b, c, t, ;

scanf(“%d,%d,%d”,&a,&b,&c);

t=c; c=b;b=a;a=t;

printf(“%d,%d,%d\n”,a,b,c);

}

如果运行程序从键盘中输入:7,8,9

则输出的结果为:9,7,8

例:#include

main()

{char a,b;

a='o';b='u';

putchar(a);putchar(b);

运行结果:

ou

例:m=‘A’+32; printf("%c\n",m); 输出结果是a

3。复合语句。

{ }

例:复合语句在语法上被认为是一个语句,

空语句的形式是: ;

4。goto语句和语句标号的使用。

(四)选择结构程序设计

1。用if语句实现选择结构。

例:main()

{ int a=6,b=5,c=3,d=2;

if (a>b>c)

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

else if ( (c-1 >= d) = =1)

printf("%d\n", d+1);

else

printf("%d\n", d+2);

}

执行后输出结果是:3

例:main()

{ int a=1,b=3,c=5;

if (c=a+b) printf("yes\n");

else printf("no\n");

}

程序运行后的输出结果是:yes

2。用switch语句实现多分支选择结构。3。选择结构的嵌套

(五)循环结构程序设计

1。for循环结构。

例:#include "stdio.h"

main()

{ int i,j,k;

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

{for(j=1;j<4-i;j++)

printf(" ");

for(k=1;k<=2*i-1;k++) printf("%c",'B'+i-1); printf("\n");}

结果: B

CCC

DDDDD

2。while和dowhile循环结构。

例:int k=0

while(k=1)

k++;

while 循环执行的次数是:无限次

3。continue语句和break语句。

break语句:用于直接中断最内层循环

4。循环的嵌套。

(六)数组定义和引用

1。一维数组和多维数组的定义、初始化和引用。例:int x[10]={1,2,3};

则数组x在内存中所占字节数为:20

例:main()

{ int m[][3]={1,4,7,2,5,8,3,3,3};

int i,j,k=2;

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

{ printf("%d ",m[k][i]); }

}

执行后输出结果是:3,3,3

2。字符串与字符数组。

main()

{ char s[]="ijkdef";

s[3]=‘\0';

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

}

程序的输出结果是ijk

(七)函数

1。库函数的正确调用。

2。函数的定义方法。

一个C源程序必须有且只能有一个主函数,

一个C源程序可以含零个或多个子函数

C源程序的基本结构是函数

函数的定义不可以嵌套,但函数的调用可嵌套3。函数的类型和返回值。

4。形式参数与实在参数,参数值的传递。

例:实参可以是常量、变量、或表达式,

形参可以是常量、变量或表达式,

形参应与其对应的实参类型一致

实参数组名与形参数组名必须一致

例:main()

{int a,b,c;

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

c=max(a,b);

printf("Max is%d",c);

max(int x,int y)/ 定义有参函数max / {

int z;

z=x>y?x∶y;

return(z);

运行情况如下:

从键盘输入5,6则输出的结果为:6

例:main()

float a,b,t;

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

if(a>b)

{t=a;a=b;b=t;}

printf("%5.2f,%5.2f",a,b);

作用:输入两个实数,按代数值由小到大的次序输出这两个数。5。函数的正确调用,嵌套调用,递归调用。

6。局部变量和全局变量。

7。变量的存储类别(自动、静态、寄存器、外部),变量的作用域和生存期。

8。内部函数与外部函数。

例:各个函数在文件中的位置为:任意

(八)指针

1。指针与指针变量的概念,指针与地址运算符。

例:符号’&’是__地址__运算符,&a是指: a在内存中的地址

2。变量、数组、字符串、函数、结构体的指针以及指向变量、数组、字符串、函数、结构体的指针变量。通过指针引用以上各类型数据。

3。用指针作函数参数。

例:int a[10]={1,2,3,4,5,6,7,8,9,10},*p=&a[3],b;

b=p[4];

b中的值是:8

例2;main()

{ int a=1, *b, **c;

c=&b; b=&a;

……

}

程序在执行了c=&b;b=&a;语句后,表达式:**c的值是:变量a 中的值

例:

1. 定义如下变量:

int n=10;

则下列循环的输出结果是

while (n>7)

{ n--;

printf(“%d\n”,n);

}

A) 10 B) 9 C) 10 D) 9

9 8 9 8

8 7 8 7

7 6 2. 在C语言中,while语句中的条件为__________时,结束该循环。

A) 0 B) 1 C) true D) 非0

3. 若k为整型,以下while循环__________次。

int k=10;

while (k=0) k=k-1;

A) 10次 B) 无限循环

C)一次不执行 D) 执行一次

4若x和y代表整型数,以下表达式中不能正确表示数学关系|x-y|<10的是

A) abs(x-y)<10B) x-y>-10&& x-y<10

C) @(x-y)<-10||!(y-x)>10D) (x-y)*(x-y)<100 1.有以下程序

main()

{

int a=3,b=4,c=5,d=2;

if(a>b)

if(b>c)

printf("%d",d++ +1);

else

printf("%d",++d +1);

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

}

程序运行后的输出结果是

A) 2 B) 3 C) 43 D) 44

2.若变量已正确定义,要求程序段完成求5!的计算,不能完成此操作的程序段是

A) for(i=1,p=1;i<=5;i++) p*=i;

B) for(i=1;i<=5;i++){ p=1; p*=i;}

C) i=1;p=1;while(i<=5){p*=i; i++;}

D) i=1;p=1;do{p*=i; i++; }while(i<=5);

3.以下能正确定义二维数组的是

A) int a[][3];B) int a[][3]=2{2*3};

C) int a[][3]={}; D) int a[2][3]={{1},{2},{3,4}

(7)设有定义:int n1=0,n2,*p=&n2,*q=&n1;,以下赋值语句中与n2=n1;语句等价的是

A)*p=*q;B)p=q;C)*p=&n1;D)p=*q;

(8)若有定义:int x=0,*p=&x;,则语句printf("%d\n",*p);的输出结果是

A)随机值B)0C)x的地址D)p的地址

(9)设函数fun的定义形式为

void fun(char ch,float x){…}

则以下对函数fun的调用语句中,正确的是

A)fun("abc",3.0);B)t=fun(’D’,16.5);

10. 执行下面的程序后,a的值为

main()

{ int a,b;

for (a=1,b=1;a<=100;a++)

{ if (b>=20) break;

if (b%3==1)

{ b+=3;

continue;

}

b-=5;

}

printf(“a=%d”,a);

}

A) 7 B) 8 C) 9 D) 10

15. 表达式__________是满足:当c的值为1、3、5三个数时值为“真”,否则值为“假”的表达式

A) (c=1)||(c=3)||(c=5) B) (c!=1)&&(c!=3)&&(c!=5)

C) (c==1)&&(c==3)&&(c=5) D) (c==1)||(c==3)||(c==5)

16. 若变量已正确说明,则以下程序段输出为__________

a=10;b=50;c=30;

if (a>b)

a=b,b=c;

c=a;

A) a=10 b=50 c=10 B) a=10 b=30 c=10

C) a=50 b=30 c=10 D) a=50 b=30 c=50

17.已知字母A的ASCII码为65。以下程序运行后的输出结果

是【2】。

main()

{char a,b;

a=’A’+’5’-’3’;b=a+’6’-’2’;

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

}

2、以下不能定义为用户标识符的是()。

A) MAIN B) _HJ C) 2ong D) LINE1

18、下列符号中用来表示C语言中的回车换行的是()。

A) \r B) \n C) \b D) \t

19、如有如下定义:int a=1,则语句printf(“%d,%d”, a, a++);的运行结果为()。

A) 1, 1 B) 1, 2 C) 2, 2 D) 2, 1

20、已知ch为字符型变量,下面表达式中正确的是()。

A)ch=’\xff ’ B) ch=’\ff ’ C) ch=’ ff ’ D)

ch=” ff ”

21、以下能正确定义一维数组的是()。

A) int a[5]={0,1,2,3,4,5}; B) int a[5]=”

012345”;

C) char a[ ]=”012345”; D) char

a[5]={0,1,2,3,4,5};

22、以下语句中能正确定义变量并赋初值的是()。

A)char c=65; B) float f=f+1.1; C) double

x=12.3e3.6; D) int m=n=2.0;

23、在执行下列程序时输入:1357924,则程序的运行结果为()。

main( )

{ int x, y;

scanf(“%2d%2d”,&x,&y);

printf(“%2d”,x*y); }

A) 13 B) 1357 C) 74 D) 741

在一个C程序中main函数可以在任何地方出现。

24、putchar 函数的作用是___向终端输出一个字符__。

25、设x为int型变量,执行以下语句,x=10; x+=x-=x-x; x

的值为____20______。

26、若定义x和y为double型变量,则表达式x=1, y=x+5/2

的值是____3.0______。

27、若t为double型变量,表达式t=1, t+5, t++的值是

____1.0_____。

28假定w,x,y,z和m均为int型变量,如下程序执行后m的值为___2____。

w=2; x=3; y=4; z=5;

m=(w

m=(m

m=(m

29、若有以下程序

main()

{ int a=4,b=3,c=5,t=0;

i f(a

i f(a

p rintf("%d %d %d\n",a,b,c);

}

执行后输出结果是 5 0 3 。

高级语言程序设计综合复习资料-考试必备

C语言程序设计综合复习资料 要求掌握的章节: 第1章、第3章~第8章、 第10章(前4节)、第11章(前6节)重点章节: 第3章~第8章、第10章(前4节) 难点章节: 第8章、第10章(前4节) 考试题型: ①选择题(填空题)(20%) ②读程序题(40%) ③编程序题(40%)第1章C语言概述一、选择题 1.能将高级语言编写的源程序转换为目标程序 的软件是 A)汇编程序B)编辑程序C)解释程序D)编译程序 2.在一个C程序中 A)main函数必须出现在所有函数之前B)main 函数可以在任何地方出 现 C)main函数必须出现在所有函数之后D)main 函数必须出现在固定位 置 3.C语言中用于结构化程序设计的三种基本结 构是 A)顺序结构、选择结构、循环结构B)if、switch、break C)for、while、do-whileD)if、for、continue 4.C语言程序的基本单 位是 A)函数B)过程C)子例程 D)子程序 二、填空题 1.C语言程序总是从函 数开始执行。 2.C语言是种面向 _____的程序设计语言, 其程序的基本单位是。. 3.C语言中的函数由、 两部分组成。 4.结构化程序设计中所 规定的三种基本控制结 构是、和。 第3章数据类型、运 算符与表达式 一、选择题 1.下列关于C语言用户 标识符的叙述中正确的 是 A)用户标识符中可以出 现下划线和中划线(减 号) B)用户标识符中不可以 出现中划线,但可以出现 下划线 C)用户标识符中可以出 现下划线,但不可以放在 用户标识符的开头 D)用户标识符中可以出 现下划线和数字,它们都 可以放在用户标识符的 开头 2.C语言中基本数据类 型有 A)整型、实型、逻辑型 B)整型、字符型、逻辑 型 C)整型、实型、字符型 D)整型、实型、字符型、 逻辑型 3.在计算机中,一个字 节所包含二进制位的个 数是 A)2B)4C)8D)16 4.用8位无符号二进制 数能表示的最大十进制 数为 A)127B)128C)255D) 256 5.在计算机系统中,存 储一个汉字的国标码所 需要的字节数为 A)1B)2C)3D)4 6.在C语言中,char 型数据在内存中的存储 形式是 A)原码B)补码C)反 码D)ASCII码 7.十六进制数100转换 为十进制数为 A)256B)512C)1024D) 64 8.十六进制数7A转化 成八进制数是 A)123B)122C)173D)17 2 9.十进制数32转化成十 六进制数是 A)20B)ffC)10D)21 10.与十进制数511等 值的十六进制数为 A)1FFB)2FFC)1FED)2F E 11.以下选项中可作为C 语言合法整数的是 A)10110BB)0386C) 0XffaD)x2a2 12.以下选项中合法的实 型常数是 A)5E2.0B)E-3C).2E0D) 1.3E 13.依据C语言的语法 规则,下列()是用户定 义的合法标识符。 A)intB)INTC)jin#2D)8f 14.依据C语言的语法 规则,下列合法标识符是 A)ElseB)elseC)user$2D )5_examp 15.以下不正确的字符常 量是 A)'8'B)'\xff'C)'\887'D)'' 16.以下不正确的字符常 量是 A)'\0'B)'\xgg'C)'0'D)'a' 17.以下选项中不合法的 八进制数是 A)01B)077C)028D)00 18.下列运算符优先级最 高的是 A) B)+C)&&D)!= 19.若有说明: chars1='\067',s2='1';则 变量s1,s2在内存中各占 的字节数是。 A)11B)41C)31D)12 20.以下不能定义为用户 标识符的是 A)scanfB)VoidC) _3com_D)inte 21.在C语言中,可以 作为用户标识符的一组 标识符是 A)voiddefineWORDB)a s_b3_224Else C)Switch-wercaseD)4b DOSIG 22.若有:intx=1,n=5;则 执行语句x%=(n%2)后, x的值为 A)3B)2C)1D)0 23.设所有变量均为整 型,则表达式 (a=2,b=5,a++,b++,a+b) 的值是

C语言程序设计试题及答案

C语言程序设计 一、选择题(共40分,每小题2分) 1、以下叙述不正确的是(D) A、一个C源程序可由一个或多个函数组成 B、一个C源程序必须包含一个main函数 C、C程序的基本组成单位是函数 D、在C程序中,注释说明只能位于一条语句的后面 2、下列四个选项中,是不合法的用户标识符的选项是(B) A、abc B、12AC C、sun D、A 3、设有语句inta=4;则执行了语句a+=a-=a*a后,变量a的值是(A) A、-24 B、0 C、4 D、16 4、下列运算符中优先级最高的是(B) A、< B、+ C、&& D、== 5、在C语言中,运算对象必须是整型数的运算符是(A) A、% B、/ C、%和/ D、+ 6、以下关于运算符的优先顺序的描述正确的是(C) A、关系运算符<算术运算符<赋值运算符<逻辑与运算符 B、逻辑与运算符<关系运算符<算术运算符<赋值运算符 C、赋值运算符<逻辑与运算符<关系运算符<算术运算符 D、算术运算符<关系运算符<赋值运算符<逻辑与运算符 7、在C语言中,如果下面的变量都是int类型,则输出的结果是(C) sum=pad=5;pAd=sum++,pAd++,++pAd; printf(“%d\n”,pad); A、7 B、6 C、5 D、4 8、x、y、z被定义为int型变量,若从键盘给x、y、z输入数据,正确的输入语句是(B)

A、INPUTx、y、z; B、scanf(“%d%d%d”,&x,&y,&z); C、scanf(“%d%d%d”,x,y,z); D、read(“%d%d%d”,&x,&y,&z); 9、假定从键盘输入23456<回车>,下面程序的输出结果是:(C)voidmain() {intm,n; scanf(“%2d%3d”,&m,&n); printf(“m=%dn=%d\n”,m,n); } A、m=23n=45 B、m=234n=56 C、m=23n=456 D、语句有错误 10、若运行时,给变量x输入12,则以下程序的运行结果是(A)main() {intx,y; scanf(“%d”,&x); y=x>12?x+10:x-12; printf(“%d\n”,y); } A、0B、22C、12D、10 11、C语言中while和do-while循环的主要区别(A) A、do-while的循环体至少执行一次 B、while的循环控制条件比do-while的循环控制条件严格 C、do-while允许从外部转到循环体内 D、do-while的循环体不能是复合语句 12、以下对二维数组的正确说明的语句是(C) A、inta[3][] B、floata(3,4) C、doublea[3][4] D、floata(3)(4) 13、以下程序的输出结果是(C) main()

语言程序设计复习题

《C语言程序设计》复习题库 1、计算下面公式的值。T=1/1!+1/2!+1/3!+……+1/m! 当m=5时的结果(按四舍五入保留3位小数)。(注:所有变量用float数据类型定义!)答案:1.717 #include main() {float T,m,i,n; T=0; for(m=1;m<=5;m++) {n=1; for(i=1;i<=m;i++) {n=n*i;} T=T+(1/n);} printf("%.3f",T);} 2、程序填空:用*号输出字母C的图案。 #include "stdio.h" #include "conio.h" main() { _____________ printf(" *\n"); _____________ _____________ getch(); } 3、8232和9678,它们的个、十、百、千各位数字之和是15的倍数,8+2+3+2=15,9+6+7+8=30。编写程序,求四位数的所有奇数中,这样的数(各位数字之和是15的倍数)的总和。(注:所有变量用long数据类型定义!) 答案:1533459 #include main() {long a,b,c,d,s,n; s=0; for(n=1000;n<=9999;n++) {if(n%2==1) {a=n/1000%10; b=n/100%10; c=n/10%10; d=n%10; if((a+b+c+d)%15==0) s=s+n;} }

printf("%ld",s);} 4、/*下面程序的功能是:计算并输出700以内的最大的10个能被13或者17整除的自然数之和。请改正程序中的错误,并运行,最后给出程序运行的正确结果。(注:只有一处错误!)*/ 答案:6591 #include void main() { int total=0, mc=1, k=700; 改成mc=0 int pm[10],count=0; while( (k>=2) && mc<=10 ) { if ((k%13==0) || (k%17==0)) { pm[mc] = k; mc++; } k--; } for( k=1;k<=10;k++ ) total += pm[k-1]; printf(" %d\n",total); } 5求x = 1+1/5+1/7+1/9+…的近似值,直到最后一项的绝对值小于10-5为止。 5、#include 6、#include 7、main() 8、{ 9、 float x,t; 10、x=1,t=5; 11、do 12、{x=x+1/t; 13、t=t+2;}while(abs(1/t)>0.0001); 14、printf("%f",x); 15、} 16、 6、计算如下公式的A20值。 A1=1, A2=1/(1+A1), A3=1/(1+A2), A4=1/(1+A3), ......(按四舍五入保留10位小数)。答案:0.6180339850 #include main() { double n,x; x=1; for(n=2;n<=20;n++) x=1/(1+x);

Java语言程序设计基础篇前三章课后习题要点

第1章计算机、程序和Java概述 1.1(显示三条消息)编写程序,显示Welcome to Java、Welcome to Computer Science和Programming is fun。 程序: 显示: 1.2(显示五条消息)编写程序,显示Welcome to Java五次 程序: 显示: 1.3(显示图案)编写一个程序,显示下面的图案:

程序: 显示: 1.4(打印表格)编写程序,显示以下表格: 程序: 显示:

1.5(计算表达式)编写程序,显示(9.5x4.5- 2.5x3)/(45.5- 3.5)的结果 程序: 显示: 1.6(数列求和)编写程序,显示1+2+3+4+5+6+7+8+9的结果 程序: 显示: 1.7(近似求π)可以使用以下公式计算π: Π=4x(1-1/3+1/5-1/7+1/9-1/11+1/13+...) 编写程序,显示4x(1-1/3+1/5-1/7+1/9-1/11+1/13...)的结果。在程序中用1.0代替1 程序: 显示:

第2章基本程序设计 2.1(将摄氏温度转换为华氏温度)编写程序,从控制台读入double型的摄氏温度,然后将其转换华氏温度,并显示结果。转换公式如下所示: Fahrenheit-=(9/5)*celsius+32 (华氏度=(9/5)*摄氏度+32) 程序: 显示: 2.2(计算圆柱体的体积)编写程序,读入圆柱体的半径和高,并使用下列公式计算圆柱体的体积 面积=半径x半径xπ 体积=面积x高 程序: 显示:

2.3(将英尺转换为米)编写程序,读入英尺数,将其转换为米数并显示结果。一英尺等于0.305米。 程序: 显示: 2.4(将磅转换为千克)编写程序,将磅数转换为千克数。程序提示用户输入磅数,然后转换成千克并显示结果。1磅等于0.454千克。 程序: 显示: 2.5(财务应用程序:计算小费)编写一个程序,读入一笔费用与酬金率,就算酬金和总钱数。例如,如果用户读入10作为费用,15%作为酬金率,计算结果显示酬金为$1.5,总费用为$11.5. 程序:

【汇编语言程序设计】试题及答案合集

《汇编语言程序设计试题及答案》合集 汇编语言程序设计试题及答案 1.对于有符号的数来说,下列哪个值最大(D) A:0F8H B:11010011B C:82 D:123Q 2.下列有关汇编语言中标号的命名规则中,错误的是(D) A:通常由字母打头的字符、数字串组成 B:标号长度不能超过31个字符 C:?和$不能单独作为标号 D:.号不可位于标号首 3.8088/8086存储器分段,每个段不超过(D ) A.64K个字 B.32K个字节 C.1兆个字节 D.64K个字节 4.寻址指令MOV CX, [BX + DI + 20]使用的是哪一种寻址方式(B)A:寄存器寻址B:相对基址变址寻址 C:变址寻址D:基址变址寻址 5.若AX= - 15要得到AX=15应执行的指令是(A ) A.NEG AX B.NOT AX C.INC AX D.DEC AX 6.8086/8088系统执行传送指令MOV时( A) A.不影响标志位 B.影响DF方向标志 C.影响SF符号标志 D.影响CF进位标志 7.若要求一个操作数中的若干位维持不变,若干位置?1?,可以使用(B)A:NOT B:OR C:AND D:XOR 8.下列指令中段默认为堆栈段的是( C) A.MOV AX,[BX+SI+10] B.ADD AX,ES:[SI] C.SUB [BX],[BP][DI] D. MOV DX,[1000H] 9.关于8086/8088微机系列,下列说法哪个是正确的(D) A:一个存储单元由16个二进制位组成,简称字。

B:当存储一个字数据时,低字节放高地址位,高字节放低地址位。 C:在内存空间中,可以无限分配段,且段的大小不受限制。 D:段与段之间可以邻接,也可以重叠。 10.下列关于堆栈的说法,错误的是(D) A:以?先入后出?为原则。 B:栈区最高地址单元的前一个单元为栈底。 C:运行中SP寄存器动态跟踪栈顶位置。 D:压栈和弹出都是以字节为单位。 11.表示过程定义结束的伪指令是( A) A.ENDP B.ENDS C.END D.ENDM 12.BUF1 DB 3 DUP(0,2 DUP (1,2),3) COUNT EQU $-BUF1 符号COUNT等价的值是( B) A.6 B.18 C.16 D.9 13.下列标志位中,可以用来判断计算结果正负的是(B) A:PF B:SF C:DF D:OF 14.下列指令正确的是( CD) A. MOV [100H], [BX] B.MOV DS, ES C. ADD V[BX], CX D.MOV AX, 34H 15.下列哪个寄存器是属于指针寄存器(C) A:SI B:DX C:SP D:ES 二、填空题 (每小题4 分,共 20 分) 1.下列程序段求数组FLD的平均值,结果在AL中。请将程序填写完整(不考虑溢出) FLD DW 10, -20, 30, -60, -71, 80, 79, 56 _LEA SI,FLD______ MOV CX, 8 XOR AX, AX

C++语言程序设计试题试题和答案

C 语言程序设计试卷 ,C++语言程序设计试题及答案 一、单项选择题(每题1分,共20分) 1. C语言规定:在一个源程序中,main函数的位置( C )。 A. 必须在最开始 B. 必须在系统调用的库函数的后面 C. 可以任意 D. 必须在最后 2. 下面四个选项中,均是合法浮点数的选项是( B )。 A. +1e+1 5e-9.4 03e2 B. -.60 12e-4 -8e5 C. 123e 1.2e-.4 +2e-1 D. -e3 .8e-4 5.e-0 3. 若a=-14,b=3,则条件表达式 a

汇编语言程序设计复习2(带答案)1

汇编语言程序设计练习题2 一、单项选择题(答案BDDBA BDADC CCAC CBBDA BDADA BCCB ) 1、使计算机执行某种操作的命令是( ) A.宏指令 B.指令 C.伪指令 D.语句 2、某存储单元的物理地址是12345H,可以作为它的段地址有()。 A.2345H B.12345H C.12340H D.1234H 3、8088/8086存储器分段,每个段不超过() A.64K个字 B.32K个字节 C.1兆个字节 D.64K个字节 4、计算机能直接识别并执行的语言是( ) A.汇编语言 B.机器语言 C.高级语言 D.低级语言 5. 8086/8088系统执行传送指令MOV时() A.不影响标志位 B.影响DF方向标志 C.影响SF符号标志 D.影响CF进位标志 6、以下各个指令中正确的是()。 A. MOV CS, DX B. MOV DS, BP C. IN 20H,AL D. MOV AH, BX 7、下列对OUT指令的叙述正确的是()。 A. 实现从端口中读出数据 B. 能直接访问的端口范围是0~1KB C. 能访问的端口为64KBit D. 只能用DX做为间接寻址的寄存器 8、已有汇编语句“V AR EQU 1220H”,则语句“mov AX, V AR”中源操作数的寻址方式为()。 A. 立即寻址 B. 直接寻址 C. 寄存器间接寻址 D. 基址寻址 9、与MOV BX,OFFSET DATA1指令完全等效的指令是()。 A.MOV BX,DATA1 B.LDS BX,DATA1 C.LES BX,DATA1 D.LEA BX,DATA1 10、下列指令中段默认为堆栈段的是() A.MOV AX,[BX+SI+10] B.ADD AX,ES:[SI] C.SUB BX,[BP][DI] D. MOV DX,[1000H] 11、已知DS=2000H,ES=1000H, SI = 0800H,内存10880H开始的两个单元中存放5678H,内存20880H开始的两个单元中存放8765H,则语句“LEA BX,[SI+80H]”执行后BX 的值为()。 A. 5678H B. 1000H C. 0880H D. 8765H 12、汇编结束语句有()种格式,为()。

程序设计基础(知识点)

第三部分程序设计基础 3.1 程序、程序设计、程序设计语言的定义 ⑴程序:计算机程序,是指为了得到某种结果而可以由计算机等具有信息处理能力的装置执行的代码化指令序列,或者可以被自动转换成代码化指令序列的符号化指令序列或者符号化语句序列。 ⑵程序设计:程序设计是给出解决特定问题程序的过程,是软件构造活动中的重要组成部分。程序设计往往以某种程序设计语言为工具,给出这种语言下的程序。程序设计过程应当包括分析、设计、编码、测试、排错等不同阶段。 ⑶程序设计语言:程序设计语言用于书写计算机程序的语言。语言的基础是一组记号和一组规则。根据规则由记号构成的记号串的总体就是语言。在程序设计语言中,这些记号串就是程序。程序设计语言有3个方面的因素,即语法、语义和语用。 3.2 高级语言和低级语言的概念及区别 ⑴高级语言:高级语言(High-level programming language)是高度封装了的编程语言,与低级语言相对。

它是以人类的日常语言为基础的一种编程语言,使用一般人易于接受的文字来表示(例如汉字、不规则英文或其他外语),从而使程序编写员编写更容易,亦有较高的可读性,以方便对电脑认知较浅的人亦可以大概明白其内容。 ⑵低级语言:低级语言分机器语言(二进制语言)和汇编语言(符号语言),这两种语言都是面向机器的语言,和具体机器的指令系统密切相关。机器语言用指令代码编写程序,而符号语言用指令助记符来编写程序。 ⑶区别: 高级语言:实现效率高,执行效率低,对硬件的可控性弱,目标代码大,可维护性好,可移植性好低级语言:实现效率低,执行效率高,对硬件的可控性强,目标代码小,可维护性差,可移植性差 了解知识:CPU运行的是二进制指令,所有的语言编写的程序最终都要翻译成二进制代码。越低级的语言,形式上越接近机器指令,汇编语言就是与机器指令一一对应的。而越高级的语言,一条语句对应的指令数越多,其中原因就是高级语言对底层操作进行了抽象和封装,

汇编语言程序设计

汇编语言程序设计 一、选择题 (共72题) 1、 用于指针及变址寄存器的有()。 A、 AX,BX,CX,DX B、 SP,BP,IP C、 CS,DS,SS D、 PSW 考生答案:B 2、 完成把汇编语言源程序模块转换为目标模块的程序是()。 A、 编辑程序 B、 汇编程序 C、 连接程序 D、 调试程序 考生答案:B 3、 指令JMP FAR PTR DONE中的寻址方式属于()。 A、 段内转移直接寻址 B、 段内转移间接寻址 C、 段间转移直接寻址 D、 段间转移间接寻址 考生答案:C 4、 对于下列程序段: AGAIN:MOV AL,[SI]

MOV ES:[DI],AL INC SI INC DI LOOP AGAIN 也可用()指令完成同样的功能。 A、 REP MOVSB B、 REP LODSB C、 REP STOSB D、 REPE SCASB 考生答案:A 5、 在程序执行过程中,IP寄存器中始终保存的是()。 A、 上一条指令的首地址 B、 下一条指令的首地址 C、 正在执行指令的首地址 D、 需计算有效地址后才能确定地址 考生答案:B 6、 在汇编语言程序的开发过程中使用宏功能的顺序是()。 A、 宏定义,宏调用 B、 宏定义,宏展开 C、 宏定义,宏调用,宏展开 D、 宏定义,宏展开,宏调用 考生答案:C 7、 CPU要访问的某一存储单元的实际地址称()。 A、 段地址

偏移地址 C、 物理地址 D、 逻辑地址 考生答案:C 8、 AND、OR、XOR、NOT为四条逻辑运算指令,下面解释正确的是()。 A、 指令XOR AX,AX执行后,AX内容不变,但设置了标志位 B、 指令OR DX,1000H执行后,将DX最高位置1,其余各位置0 C、 指令AND AX,OFH执行后,分离出AL低四位 D、 NOT AX,执行后,将AX清0 考生答案:C 9、 完成对CL寄存器的内容乘以2的正确操作是()。 A、 ROL CL,1 B、 MUL 2 C、 SHL CL,1 D、 SHR CL,1 考生答案:C 10、 检查两个无符号数的关系,若要实现AL≥BL时分支去LOP1处,那么在“CMP A L,BL”指令后应跟的分支指令是()。 A、 JE LOP1 B、 JAE LOP1 C、 JC LOP1 D、 JGE LOP1 考生答案:B 11、 已知变量VAR为字型,则TYPEVAR=()。

C语言程序设计 复习题库

一、填空 1. break 语句通常用于switch // 循环中。 2. C 语言对数组下标的引用一般从0 开始。 3. C 语言中,一个函数一般由两个部分组成,它们是函数首部和函数体。 4. C 标准库函数中,字符串的处理函数包含在string.h 头文件中,数学函数包含在 math.h 头文件中。 5. C 程序的运行需要经过编译和链接两步进行。 6. C 程序中用/**/ 括起来的内容是程序的注释语句。 7. C 语言函数是由函数首部和函数体两部分组成。其中,函数首部包括函数类型、函数 名和函数参数。 8. C 语言提供的三种逻辑运算符是& ,// ,!。 9. C 语言源程序经过编译后,生成文件的后缀名是.c 。 10. C 语言源程序经过连接后,生成文件的后缀名是.exe 。 11. C 语言中,关系表达式和逻辑表达式的值是1//0 。 12. C 语言中的标识符只能由三种字符组成,他们是字母,数字,下划线。 13. C 语言中的每条基本语句以;作为结束符,每条复合语句以} 作为结束符。 14. C 语言中函数返回值的类型是由函数类型决定的。 15. C 源程序的基本单位是函数。 16. int a = 2, b = 3; 表达式 a > b ? a ++ : ++ b 的值为 4 。 17. int x=1,y=1,z=1; x+=y+=z; 则表达式xb>c 的值是0 。 19. 定义一个指针p,它指向一个有 6 个整型元素的一维数组,定义语句为int *p=a[6] ; 。 20. 定义一个指针数组p ,它有 4 个元素,每个指针指向一个整型数据,定义语句为int *p[4]; 。 21. 赋值语句是由= 加上一个分号构成。 22. 构成数组的各个元素必须具有相同的类型。 23. 关系表达式x+y>5 的相反表达式为x+y !>5 。 24. 函数strlen("1234\0xy") 的值为:9 。 25. 函数的形参在未被调用前不分配空间,函数形参的数据类型要和实参相同。 26. 函数体用{ 开始,用} 结束。 27. 结构化设计中的三种基本结构是顺序,选择,循环。

(完整版)《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.表达式 表达式是由常量、变量、函数,通过运算符连接起来而形成的一个算式。一个常量,一个变量或一个函数都可以看成是一个表达式。 表达式的种类有: 算术表达式、关系表达式、逻辑表达式、赋值表达式、字位表达式、强制类型转换表达式、逗号

实验一基础汇编语言程序设计

实验一基础汇编语言程序设计 实验目的 1.学习和了解TEC-XP十六位机监控命令的用法; 2.学习和了解TEC-XP十六位机的指令系统; 3.学习简单的TEC-XP十六位机汇编程序设计。 实验内容 1.使用监控程序的R命令显示/修改寄存器内容、D命令显示存储器内容、E命令修改存储器内容; 2.使用A命令写一小段汇编程序,U命令反汇编刚输入的程序,用G命令连续运行该程序,用T、P命令单步运行并观察程序单步执行情况。 3.学习联机使用TEC-XP教学试验系统和仿真终端软件。 实验要求 在使用该教学机之前,应先熟悉教学机的各个组成部分及其使用方法。 实验步骤 1.关闭电源,将大板上的COMl口与PC机的串口相连; 2.接通电源,在PC机上运行PCEC.EXE文件,设置所用PC机的串口为“l”或“2”,其它的设置一般不用改动,直接回车即可; 3.置控制开关为001110(连续、内存读指令、组合逻辑、16位、联机),开关拨向上方表示“1”,拨向下方表示“0”,“X”表示任意。其它实验相同; 4.按一下“RESET”按键,再按一下“START”’按键,主机上显示: 5.用R命令查看寄存器内容或修改寄存器的内容 1.用R命令查看寄存器或修改寄存器内容 1)在命令行提示符状态下输入: R↙;显示寄存器的内容 注:寄存器的内容在运行程序或执行命令后会发生变化。

2)在命令行提示符状态下输入: R R0↙;修改寄存器R0的内容,被修改的寄存器与所赋值之间可以无空格, 也可有—个或数个空格 主机显示: 寄存器原值:xxxx 在后面输入新的值0036 再用R命令显示寄存器内容,则R0的内容变为0036。 2.用D命令显示存储器内容 在命令行提示符状态下输入: D 2000↙ 会显示从2000H地址开始的连续128个字的内容; 连续使用不带参数的D命令,起始地址会自动加128(即80H)。

语言程序设计》试题四及答案

《C语言程序设计》试题四 一、单项选择题。(每题1分,共20分) 1. C程序的基本单位是:() A.子程序 B.程序 C.子过程 D.函数 2.在C语言中,非法的八进制是:() A.016 B.018 C.017 D.02 3. 不是C语言实型常量的是:() A.55.0 B.0.0 C.55.5 D.55e2.5 4 .字符串“xyzw”在内存中占用的字节数是:() A.6 B.5 C.4 D.3 5. 若已定义f,g为double类型,则表达式:f=1,g=f+5/4的值是:() A.2.0 B.2.25 C.2.1 D.1.5 D.1.5 D.1.5 D.1.5 6. 若有语句char c1=`d`,c2=`g`;printf(“%c,%d\n”,c2-`a`,c2-c1);则输出结果为:() (a的ASCII码值为97) A.M,2 B.G,3 C.G,2 D.D,g 7. 使用语句scanf(“a=%f,b=%d”,&a,&b);输入数据时,正确的数据输入是:() A.a=2.2,b=3 B.a=2.2 b=3 C.2.2 3 D.2.2,3 8.表示关系12<=x<=y的C语言表达式为:() A.(12<=x)&(x<=y) B. (12<=x)&&(x<=y) C. (12<=x)|(x<=y) D.(12<=x)||(x<=y) 9.设x=1,y=2,m=4,n=3,则表达式x>y?x:mc4)后,s,t的值为:() A.1,2 B.1,1 C.0,1 D.1,0 12. 语句for(a=0,b=0;b!=100&&a<5;a++)scanf(“%d”,&b); scanf最多可执行次数为:() A.4 B.6 C.5 D.1 13. 对于for(s=2;;s++)可以理解为:()

C++语言程序设计复习资料

第1章 C++语言概述 1.2 单选题 1.下列关于面向对象概念的描述中,错误的是(C)。 A.面向对象方法比面向过程方法更加先进 B.面向对象方法中使用了一些面向过程方法中没有的概念 C.面向对象方法替代了结构化程序设计方法 D.面向对象程序设计方法要使用面向对象的程序设计语言 2.下列各种高级语言中,不是面向对象的程序设计语言是(D)。 A.C++ B.Java C.VB D.C 3.下列关于类的描述中,错误的是(A )。 A.类就是C语言中的结构类型 B.类是创建对象的模板 C.类是抽象数据类型的实现 D.类是具有共同行为的若干对象的统一描述体 4.下列关于对象的描述中,错误的是(C )。 A.对象是类的一个实例 B.对象是属性和行为的封装体 C.对象就是C语言中的结构变量 D.对象是现实世界中客观存在的某种实体 5.下列关于C++程序中使用提取符和插入符的输入/输出语句的描述中,错误的是(C )。 A.提取符是对右移运算符(>>)重载得到的 B.插入符是对左移运算符(<<)重载得到的 C.提取符和插入符都是双目运算符,它们要求有两个操作数 D.提取符和插入符在输入/输出语句中不可以连用 1.3 填空题 1.C++语言具有面向对象方法中要求的三大特性:封装性、继承性和多态性。 2.C++程序中,有且仅有一个主函数。 3.C++程序是由类和函数组成的。 4.C++源程序的扩展名是cpp。 5.使用插入符进行标准输出文件输出时,使用的输出流对象名是cout 。 1.4 上机调试下列程序,并分析输出结果 1. #include void main() { int i,j; cout<<"Enter i j: "; cin>>i>>j; cout<<"i="<

相关文档 最新文档