第一篇:语言及程序设计要点总结
第二章 微处理器的结构
1.8086微处理器的内部结构及功能 2.8086的段式存储结构
段地址+偏移量地址=存储单元的物理地址
或者,段寄存器的值*16+偏移地址=存储单元的物理地址
3.段寄存器,通用寄存器,指针与变址寄存器,标志寄存器
(1)段寄存器通常和哪些寄存器配合形成物理地址 ds:Bx si di ss:bp(2)有哪些寄存器可以作为地址指针,访问存储单元
4.寻址方式(1)寻址方式的概念(2)寻址方式的分类
(3)各寻址方式中对于寄存器的限制(4)各类寻址方式的格式
(5)有哪些用于存储器访问的寻址方式
Mov ax,val
mov ax,[bx] mov ax,[si]
mov ax,[bx][si] 第三章 指令及寻址方式(参照课件)
1.汇编语句格式:
[标号]
操作符
操作数
[;注释] 2.标号的概念以及其三个属性 Seg offset type 3.伪指令:
(1)符号定义伪指令:EQU
(2)数据定义伪指令:DB,DW,DD(3)段定义伪指令:SEGMENT、ENDS、ASSUME、END(4)代码定位伪指令ORG
4、运算符
(1)分析算符:SEG,OFFSET,SIZE,TYPE, LENGTH(2)组合算符:PTR 5.指令语句与伪指令语句的区别 6.数据段、堆栈段、代码段的用途
第四章 指令及程序设计
一、顺序结构
1.数据传送指令:MOV、PUSH、POP、XCHG、XLAT、LEA 2.算数运算指令:ADD、ADC、INC、SUB、SBB、DEC、NEG、CMP
MUL、IMUL、DIV、IDIV 3.逻辑运算指令:TEST、OR、AND、NOT、XOR 4.移位指令:(SHL、SHR、SAL、SAR、ROL、ROR、RCL、RCR)逻辑左移/右移,算数左移/右移,循环左移/右移,带进位的循环左移/右移;以及移位指令对于CF、OF标志位的影响
二、分支结构
1.无条件转移指令
jmp 2.有条件的转移指令(1)Jc/jnc
Jo/jno Jz/jnz Jp/jnp Js/jns(2)Ja jbe(3)Jg jl 3.分支程序编写
三、循环结构
1.循环控制指令LOOP 2.循环程序编写(两种控制方式 CX)
四、子程序结构
1.子程序定义伪指令、调用指令、返回指令 2.子程序设计中对于堆栈操作的要求 3.子程序的设计
五、综合程序设计
例:求内存中三组数据中最小值。(1)子程序
(2)求最小值.循环
分支
第二篇:语言及程序设计要点总结
第三章 微型计算机结构
1.8086的段式存储结构
段地址+偏移量地址=存储单元的物理地址
或者,段寄存器的值*16+偏移地址=存储单元的物理地址
2.段寄存器,通用寄存器,指针与变址寄存器,标志寄存器
(1)段寄存器通常和哪些寄存器配合形成物理地址 ds:Bx si di ss:bp(2)有哪些寄存器可以作为地址指针,访问存储单元
3.寻址方式(1)寻址方式的概念(2)寻址方式的分类
(3)各寻址方式中对于寄存器的限制(4)各类寻址方式的格式
(5)有哪些用于存储器访问的寻址方式
Mov ax,val
mov ax,[bx] mov ax,[si]
mov ax,[bx][si](6)段跨越
第四章 汇编语言(参照课件)
1.汇编语句格式:
[标号]
操作符
操作数
[;注释] 2.标号的概念以及其三个属性 Seg offset type 3.伪指令:
(1)符号定义伪指令:EQU
(2)数据定义伪指令:DB,DW,DD(3)段定义伪指令:SEGMENT、ENDS、ASSUME、END(4)代码定位伪指令ORG
4、运算符
(1)分析算符:SEG,OFFSET,SIZE,TYPE, LENGTH(2)组合算符:PTR 5.指令语句与伪指令语句的区别
6.数据段、堆栈段、代码段的用途
第五章 顺序结构程序设计
1.数据传送指令:MOV、PUSH、POP、XCHG、XLAT、LEA 2.算数运算指令:ADD、ADC、INC、SUB、SBB、DEC、NEG、CMP
MUL、IMUL、DIV、IDIV 3.逻辑运算指令:TEST、OR、AND、NOT、XOR 4.移位指令:(SHL、SHR、SAL、SAR、ROL、ROR、RCL、RCR)逻辑左移/右移,算数左移/右移,循环左移/右移,带进位的循环左移/右移;以及移位指令对于CF、OF标志位的影响
第六章 分支结构程序设计
1.无条件转移指令
jmp 2.有条件的转移指令(教材P102)(1)Jc/jnc
Jo/jno Jz/jnz Jp/jnp Js/jns(2)Ja jbe(3)Jg jl 3.分支程序编写
第七章 循环结构程序设计
1.循环控制指令LOOP、LOOPE/Z、LOOPNE/NZ以及他们的控制条件(对CF、ZF的判断)2.循环程序编写
3.串操作
ds:si es:di si di +-1/2
第八章 子程序设计
1.子程序定义伪指令、调用指令、返回指令 2.子程序设计中对于堆栈操作的要求 3.子程序的设计
第十二章 输入与输出中断
1.IN、OUT、INT指令的指令格式 2.CPU与外设之间的接口信号 3.CPU与外设之间的数据传送方式 4.CPU响应硬件可屏蔽中断的条件 5.8086/8088的中断类型的分类
6.中断向量表、中断向量的概念
7、硬件中断和软件中断的区别
一 选择
20分
10-20道 二 判断改错
20分
10道 三
简答
20分
3-4道
四
程序分析
20分
3-4道 五
程序设计
20分
2道*10分
循环+分支+子程序
类似:求内存中三组数据中最小值。(1)子程序
(2)求最小值.N
循环
分支
第三篇:《C语言及程序设计》在线作业答案
一、单选题(共 15 道试题,共 75 分。)V 1.合法的C语言标识符是()。A.abc B.2ab C._a1 D./n
满分:5 分
2.有两个字符数组a、b,则以下正确的输入
语句是()。A.gets(a,b);B.“scanf(”“%s%s”“,a,b);” C.“scanf(”“%s%s”“,a,b);” D.“gets(”“a”“),gets(”“b”“);”
满分:5 分
3.若运行以下程序时,从键盘输入25,13,10回车,则输出结果为()。
main(){inta1,a2,a3;scanf(“%d%d%d”,a1,a2,a3);printf(“a1+a2+a3=%
dn”,a1+a2+a3);} A.a1+a2+a3=48 B.a1+a2+a3=25 C.a1+a2+a3=10 D.不确定值
满分:5 分
4.以下为一维整型数组a的正确说明是
()。A.inta(10);B.“intn=10,a[n];” C.“intn;scanf(”“%d”“,n);” D.“#defineSIZE10;inta[SIZE];inta[n];”
满分:5 分
5.以下能对二维数组a进行正确初始化的语句是()。
A.inta[2][]={{1,0,1},{5,2,3}};B.“inta[][3]={{1,2,3},{4,5,6}};” C.“inta[2][4]={{1,2,3},{4,5},{6}};” D.“inta[][3]={{1,0,1},{},{1,1}};”
满分:5 分
6.函数rewind(fp)的作用是:使文件位置
指针()。A.重新返回文件的开头 B.返回到前一个字符的位置
C.指向文件的末尾
D.自动移至下一个字符的位置
满分:5 分
7.以下叙述中不正确的是()
A.在C程序中,调用函数时,只能把实参的值传送给形参,形参的值不
能传送给实参
B.在C程序的函数中,最好使用全局变量 C.在C程序中,形参只是局限于所在函数 D.在C程序中,函数名的存储类别为外部
满分:5 分
8.以下程序段()。intx=1,y=4;printf(x B.输出:x=1 C.输出:y=1 D.输出:y=4 满分:5 分 9.下列四组选项中,均是不合法的用户标识符的选项是______。 A.AP_0do B.floatgoto_A C.b-agotoint D._123tempINT 满分:5 分 10.已知字母A的ASCII码为(65)10,变量ch1为字符型,则执行语句 ch1='A'+'6'-'3';后,ch1中的值为()。 A.D B.68 C.一个不确定的值 D.C 满分:5 分 11.若x为float型变量,则以列程序段结果是()x=1234.6789;printf(“%- 2.1f”,x); A.输出格式描述符的域宽度不够,不能输 出 B.输出为1234.7 C.输出为1234.6 D.输出为-1234.6 满分:5 分 12.sizeof(float)是()。A.双精度型表达式 B.一个整型表达式 C.一个函数调用 D.一个不合法的表达式 满分:5 分 13.071^052的结果是() A.32 B.16 C.23 D.22 满分:5 分 14.若有定义:intx=7;floata=2.5,b=4.7;则表达式a+x%3*(int)(a+b)%2/4 的值是()。 A.2.5 B.2.75 C.3.5 D.0 满分:5 分 15.有下列语句和赋值语句:(1)charstr[]=”iamaboy.”(2)charstr [12]=”iamaboy.”(3)char*p=”iamaboy.”(4)p=”iamaboy.”下列说法正 确的是()A.只有(1)、(2)正确 B.只有(3)、(4)正确 C.只有(1)、(3)、(4)正确 D.只有(3)正确 满分:5 分 1c2c 3 D4d5b6a 7b8c9c 10a 11B12B13A14A15B 二、判断题(共 5 道试题,共 25 分。)V 1.声明语句int a[]={0};可以对 一维数组a进行正确初始化。 A.错误 B.正确 T满分:5 分 2.在c语言中,函数形参的存储类型是自 动类型的变量 A.错误 B.正确 F 满分:5 分 3.函数必须有返回值,否则不能使用函数 A.错误 B.正确 F 满分:5 分 4.已知int a[]={1,2,3,4},y,*p=&a[1];则执行语句y(*--p)++;变量y的值是3。 A.错误 B.正确 F 满分:5 分 5.C语言fread()函数的功能是从文件fp中读取n个字符存入指定的内存 。A.错误 B.正确 T 满分:5 分 第一章 程序设计算法概述 一.选择题 (一)基本概念 1、一个C语言程序总是从()。 A、主过程开始执行 B、主 函数开始执行 C、子程序开始执行 D、主 程序开始执行 【答案】B 2、下面四个选项中,均是C语言关键字的选项是()。 A、auto enum include B、switch typedef continue C、signed union scanf D、if struct type 【答案】B 3、下面四个选项中,均是合法整型常量的选项是()。 A、160-0xffff 01B、-0xcdf 01a 0xe C、-01 986,012 0668 D、-0x48a 2e5 0x 【答案】A 4、以下不正确的C语言标识符是()。 A、int B、a_1_2 C、ab1exe D、_x 【答案】A 5、以下是正确的C语言标识符是()。 A、#define B、_123 C、%d D、n 【答案】B 6、下列四组选项中,均不是C语言关键字的选项是()。 A、define IF type B、getc char printf C、include scanf case D、while go pow 【答案】A 7、下列不属于C语言关键字的是()。 A、default B、register C、enum D、external 【答案】D 8、合法的C语言标识符是()。 A、ab&c B、2ab C、_a1 D、/n 【答案】C 9、下列四组选项中,均是不合法的用户标识符的选项是______。 A、A P_0 do B、float goto _A C、b-a goto int D、_123 temp INT 【答案】C 二.填空题 1.在C语言中的实型变量分为两种类型,它们是 和。 【答案】单精度型(或float型) 双精度型(或:double型) 2.C语言规定,可执行程序的开始执行点是。 【答案】程序中的main()函数 3.C语言中三中基本的程序结构 是 、和。 【答案】顺序结构;分支(选择)结构;循 环结构 4.一个C源程序必须包含一个。 【答案】main函数 5.在C语言中,char型数据在内存中的存 储形式是。 【答案】ASCII码 6.用计算机实现算法的过程称 为。 【答案】程序设计 7.C源程序的基本单位是。 【答案】函数 8.int型数据(2byte)可表示的数值范围 为。 【答案】-32768—32767 9.C语言的标识符只能由三种字符组成,它们是 【答案】字母、数字、下划线 三.判断题:(正确:T;错误:F) 1.在C程序中main函数必须位于程序的最 前面 【答案】F 2.C语言本身没有输入输出语句 【答案】T 3.一个C源程序可由一个或多个函数组成 【答案】T 4.在C程序中,注释说明只能位于一条语 句的后面 【答案】F 四.简答-完善程序-分析程序 1、c语言程序的总体结构是怎样的。 【答案】 一个完整的c语言程序,是由一个、且只能由一个main()函数(又称主函数)和若 干个其他函数结合而成的,或仅由一个 main()函数构成。 2、c语言程序的基本单位是什么?它的结构 又如何? 【答案】 函数是c语言程序的基本模块单元。 任何函数(包括主函数main())都是由函数说明和函数体两部分组成。其一般结构如 下: [函数类型] 函数名(函数参数表) { 说明语句部分; 执行语句部分;} 3、主函数main()在程序中的地位如何。程序总是从哪个函数开始执行,到哪个函数执 行完后结束? 【答案】 main()函数的作用相当于其他高级语言中的主程序;其他函数的作用相当于子程序。 一个c语言程序,总是从main()函数开始执行,而不论其在程序中的位置。当主函数执行完毕时,亦即程序执行完毕。习惯上,将主函数main()放在最前头。 4、C语言用户标识符的定义方式是什么? 【答案】 c语言规定标识符只能由字母、数字和下划线3种字符组成,且第一个字符必须为字母或下划线,同时c语言还规定标识符不能为 c语言的关键字。 5、说明算法可以采用哪几种控制结构组合。 【答案】 算法的控制结构给出了算法的基本框架,不仅决定了算法中各操作的执行顺序,也直接反映了算法的设计是否符合结构化原则。一个算法一般可以用顺序、选择、循环三种基本控制结构,通过顺序或嵌套组合而成。 6、算法的基本特征是什么? 【答案】 一个算法,一般应具有以下几个基本特征。可行性、确定性、有穷性、一个输入、零个 或多个输出。 7、常见的过程设计工具有哪些?为什么可以N-S图代替传统的程序流程图? 【答案】 常见的过程设计工具有:程序流程图、N-S图、PAD图和HIPO图。为了避免流程图在描述程序逻辑时的灵活性,提出了用方框图来代替传统的程序流程图,通常也把这种图 称为N-S图。 8、“在源文件的一行上可以有多条预处理命令”是否正确,为什么? 【答案】 通常,预处理命令位于源文件的开头,也可以写在函数与函数之间;不能在一行上写多条预处理命令:宏名一般习惯用大写字母表示,以便与变量名相区别,但这并非规定,也可用小写字母。 五.程序设计题 1.已知三角形的三边长,求其面积。假设输入的三边能构成三角形,三角形的面积公式 为: Area=,其中S=(a+b+c)/2。 【参考答案】 #include “math.h” Main() { Float a,b,c,s,area; Printf(“请输入三角形的三边:”); Scanf(“%f,%f,%f”,&a,&b,&c); S=(a+b+c)/2.0; Area=sqrt(s*(s-a)*(s-b)*(s-c)); Printf(“三角形的三边为:%7.2f, %7.2f, %7.2fn”,a,b,c); Prinft(“三角形的面积为:%7.2fn”,area); } 2.编写程序读入3个双精度数,求它们的平均值,并保留此平均值小数点一位,对小数点后第二位进行四舍五入,并输出结果。 【参考答案】 #include “stdio.h” mian() { double x,y,z; double aver; long temp; printf(“n请输入三个双精度数:” scanf(“%lf%lf%lf”,&x,&y,&z); aver=(x+y+z)/3; temp=aver*10; temp=(aver*10-temp)*2+temp; aver=temp/10.0;); printf(“n平均值为:%.1lf”,aver); } 3.输入两个整数,求出它们的商数和余数并 进行输出。 【参考答案】 #include “stdio.h” main() { int x,y; int shang ,yu; printf(“n请输入两个整数:”); scanf(“%d%d”,&x,&y);” shang=x/y; yu=x%y; printf(“%d%d的商为:%d,余数为%d”,x,y,shang,yu); } 第二章 数据类型、运算符与表达式 一.选择题 1、若num、a、b和c都是int型变量,则执行表达式num=(a=4,b=16,c=32)后num的值为()。 A、4B、16 C、32 C D、52 【答案】C 2、若有变量说明:int a=0,b=0,c=0;,以下符合C语言语法的赋值表达式是()。 A、a=9+b+c=a+9 B、a=9+b;c=a+9; C、a=(9+b,b++) D、a=9+b++=a+7 【答案】C 3、若有以下类型说明语句:char a;int b;float c;double d;则表达式a*b-2*d+c的结果类型为()。 A、float B、char C、int D、double 【答案】D 4、下面四个选项中,均是合法浮点数的选 项是()。 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 【答案】B 5、下面四个选项中,均是合法转义字符的选项是()。 A、''' '' 'n' B、'' ' 17' '“' C、' 18' 'f' 'xab' D、' ' '101' 'xlf' 【答案】A 6、下面正确的字符常量是()。 A、'X17' B、'80' C、'' D、”n“ 【答案】C 7、下面四个选项中,均是正确的数值常量或字符常量的选项是()。 A、0.0 0f 8.9e '&' B、”a“ 3.9E-2.5 1e1 '”' C、'3' 011 0xFF00 0a D、+001 0xabcd 2e2 50.【答案】D 8、已知字母A的ASCII码为(65)10,变量ch1为字符型,则执行语句ch1='A'+'6'-'3';后,ch1中的值为()。 A、D B、68 C、一个不确定的值 D、C 【答案】A 9、若有定义:int x=7;float a=2.5,b=4.7;则表达式a+x%3*(int)(a+b)%2/4的值是()。 A、2.500000 B、2.7500000 C、3.500000 D、0.000000 【答案】A 10、sizeof(float)是()。 A、双精度型表达式 B、一个整型表达式 C、一个函数调用 D、一个不合法的表达式 【答案】B 11、设int类型的数据长度为2个字节,则unsigned int类型数据的取值范围是()。 A、0~25 5B、0~65535 C、-32768~+32767 D、-256~+255 【答案】B 12、若有以下定义:int m=7,n=12;则能得到值为3的表达式是()。 A、n%=(m%=5) B、n%=(m-m%5) C、n%=m-m% 5D、(n%=m)-(m%=5) 【答案】D 13、若有说明:int a=1,b=2,c=3,d=4;则表达式a A、4B、C、D、1 【答案】D 14、putchar函数可以向终端输出一个()。 A、整型变量值 B、实型变量值 C、字符串 D、字符或字符型变量值 【答案】D 15、若运行以下程序时,从键盘输入25,13,10<回车>,则输出结果为()。 main() { int a1,a2,a3; scanf(“%d%d%d”,&a1,&a2,&a3); printf(“a1+a2+a3=%dn”,a1+a2+a3); } A、a1+a2+a3=48 B、a1+a2+a3=25 B、a1+a2+a3=10 D、不确定值 【答案】D 16.若有定义int a=2,b=9,k;k=a+b++/a++;则k的值是() A、6.5 B、7 C、6 D、8 【答案】C 17.标有/* */语句的输出结果为() int x=20; printf(“%d,%o,%x”,x,x,x);/* */ A、20,20,20 B、20,24,14 C、20,14,24 D、20,024,14 【答案】B 18.若x为float型变量,则以列程序段结果 是()。 x=1234.6789; printf(“%-2.1f”,x); A、输出格式描述符的域宽度不够,不能输出 B、输出为1234.7 C、输出为1234.6 D、输出为-1234.6 【答案】B 19.下列语句中,符合语法的语句式()。 A、a+b=3 B、a=7 C、a=c+b+3=6; D、a=8,b=a+7; 【答案】D 20.C语言中,逻辑“真”等价于()。 A、大于零的数 B、大于零的整数 C、非零的数 D、非零的整数 【答案】C 21.已知字母a的ASC||的十进制代码为97,则执行下列语句后输出为()。 Char a=„a‟; a--; printf(“%d,%cn”,a+„2‟-„0‟,a+„3‟-„0‟); A、a,c B、a—运算不合法,故有语法错误 C、98,c D、)格式描述和输出项不匹配,输出无定值 【答案】C 22.对于条件表达式(M)?(a++):(a--),其中的表达式M等价于()。 A、M= =0 B、M= =1 C、M!=0 D、M!=1 【答案】C 23.在x值处于-2到2,4到8时值为“真”,否则为“假”的表达式是()。 A、(2>x>-2)||(4>x>8) B、((x<=-2)||(x>=2)||((x>4)||(x>=8)) C、(x<2)&&(x>=-2)&&(x>4)&&(x<8) D、(x>-2)&&(x>4)||(x<8)&&(x<2) 【答案】D 24.定义a为整型,下列表达式a=3>6的运行后,a的值为()。 A、0 B、1 C、3 D、表达式错误 【答案】A 25.若使用下述程序段将整数12和浮点数13.6分别赋给变量a和b,那么输入应该式 ()。 int a;float b; scanf(“a=%d,b=%f”,&a,&b); A、12 13.6 B、a=12, b=13.6 C、12, 13.6 D、a=12 b=13.6 【答案】B 26.以下程序段()。 int x=1,y=4; printf(x A、输出控制格式错误 B、输出:x=1 C、输出:y=1 D、输出:y=4 【答案】C 27.下面程序的输出是()。 main() { int x=10,y=3; printf(“%dn”,y=x%y); } A、0 B、1 C、3 D、不 确定的值 【答案】B 二.填空题 1.若有定义int m=5,y=2;,则执行表达式y+=y-=m*=y后y的值是____ __。 【答案】-16.2.能表达“10 【答案】x>10&&x>200||x<0 3.表达整型变量a能被3整除但不被5整除的表达式是____ __。 【答案】a%3==0&&a%5!=0 4.C语言中唯一的三元运算符是。 【答案】? 5.设有:int a=1,b=2,c=3,则!(a>b)&&!c|| 1的值为。 【答案】1 6. Sizeof(float)是。 【答案】一个整型表达式 7.当m=2,n=1,a=1,b=2,c=3时,执行完d =(m=a!=b)&&(n=b>c)后;n的值为 ,m的值为。 【答案】0 1 8.设I,J和K是int型变量,且I=3,J=4,K=5,则表达式!((I 是。 【答案】0 9.判断char型变量c1是否为小写字母的正确表达式为。 【答案】(c1>= ’a’)&&(c1<= ’z’) 10.若a=5,b=2,c=1,则表达式a-b 【答案】0 11.若a是int型变量,且a的初值是6,则计算表达式a+=a-=a*a后a的值__ ____。 【答案】-60 12.假设x=5,y=6,则表达式x++*++y的值为 ______。 【答案】35 13.x2/(3x+5)的C表达式为。 【答案】x*x/(3*x+5) 14.若有说明:int m=5,y=2;则执行表达式y+=y-+m*=y后的y值是 【答案】y=-16 15.在C语言中,表示逻辑“真”值用 【答案】非0数字 16.若w=1,x=2,y=3,z=4,则条件表达式w 【答案】1 17.若a是int型变量,则计算表达式a = 25/3%3后a的值为。 【答案】 2 18.C语言提供的三种逻辑运算符是 、和。 【答案】 && ||! 19.设ch是char类型变量,其值是A,则 表达式ch=(ch>='A'&&ch<='Z')?(ch+32):ch的值 是。 【答案】 a 20.若有定义:int a=8,b=5,c;,执行语句c=a/b+0.4;后,c的值为。 【答案】 2 21.设a=3,b=4,表达式a>b?b:a的值 是。 【答案】 3 22.表达式(int)3.6*3的值为。 【答案】9 23.标有/* */语句的输出结果为。 int x=20; printf(“%d,%o,%x”,x,x,x);/* */ 【答案】20,24,14 24.如果x、i、j和k都是int型变量,则计算表达式x=(i=4,j=16,k=32)后,x的值为 ______。 【答案】32 三.判断题:(正确:T;错误:F) 1.当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实 型数值 【答案】F 2.在C程序中,逗号运算符的优先级最低 【答案】T 3.在C程序中,APA和apa是两个不同的变量 【答案】T 4.如果a和b类型相同,在计算了赋值表达式a=b后b中的值将放入a中,而b中的值 保持不变。 【答案】T 5.在C程序中,%是只能用于整数运算的运算符。 【答案】T 6.代数式2lnxcosx/3x,正确的c语言表达式是2*log(x)*cos(x)/(3*x) 【答案】T 7.sizeof(float)是一个整型表达式 【答案】T 8.有变量说明:int a=0,b=0,c=0;则表达式a=9+b++=a+7是符合c语言语法的赋值表达 式。 【答案】F 四.简答-完善程序-分析程序 1、c语言中不同数据类型的数据在运算是采用的规则是什么? 【答案】 c语言中,各类数值型数据在进行混合运算时,不同类型的数据要先转换成同一类型,然后进行运算。转换的规则为:总是转换为精度更大的数据类型,字符数据转换为整数,short型转为int型,float型数据在运算时转换成双精度型,以提高运算精度。 2、字符(char)型数据在微机内存中以什么形 式存储? 【答案】 将一个字符常量放到一个字符变量中,实际上并不是把该字符本身放到内存单元中去,而是将该字符的ASCII码值放到存储单元 中。 3、数据处理的最小单位是什么? 【答案】 数据处理的最小单位是数据项;由若干数据项组成数据元素;而数据是指能够被计算机识别、存储和加工处理的信息载体;数据结构是指数据之间的相互关系和数据运算。 4、若变量a是int类型,分析在执行了语句:a='A'+1.056;后a的值多少? 【答案】 在赋值表达式中,赋值符右边的值的类型会自动转换成赋值符左边的变量的类型。在本题中,先用“A”的ASCII码(65)值加上1.056得到66.056,将其强制转换成int型,实数的小数部分全部清除保留证书部分。所 以a的值为66。 5、c语言的基本类型数据有哪几种? 【答案】 [signed]char;unsigned char;[signed]short[int];unsigned short[int];[signed]long[int];unsigned long[int];float; double. 6、分析下面程序的执行过程,给出输出结 果。 main() { int a=5,b=4,c=6,d; printf(“%d\n”,d=a>c?(a>c?a:c):(b)); } 【答案】 本题最重要的语句在于d=a>c?(a>c?a:c):(b)),首先运算括号内的式子a>c?a:c,它的值是c的值6,即式子化成d=a>c?6:4。显然a=c,所以将4赋给d。 7、分析下面程序的执行过程,给出输出结 果。 main() { int a=4,b=8,c; c=(“b==a)&&(a+b!=20); printf(”%d,%d,%d\n",a,b,c); } 【答案】 如果在表达中出现多种运算符时,一定要按照他们的优先级别进行运算,否则其结果可能会产生错误。本题中,由于赋值表达中式c=(a/b==a)&&(a+b!=20)中有两个括号,而且两个括号是进行逻辑与运算。当第1个括号内的值为假时,不管后面括号内的值是否为假,两个括号内的值进行逻辑与(&&)运算时,其结果肯定为假。所以结果为:4,8,0 第三章 程序控制结构 一.选择题 1.对下面的程序说法正确的是(main() {int x+3,y=0,z=0; if(x=y+z) printf(“****”); else)。 printf(“####”); } A、有语法错误,不能通过编译 输出为**** C、输出为# # # # 通过编译,但是不能运行 【答案】C 2.程序的结果为() main() { int a=3,b=4,t=1; if(a>b) B、D、 实验三:单精度的有效数字为7位,双精度的有效数字为16位。实验四:x=3.600000,i=3 当以浮点型输出时,小数点默认为6位; int b=-1; 1111 1111 1111 1111; p=(i++)+(i++)+(i++);备注:i=5,在Turbo C中把5作为表达式中所有的i值,因此三个5相加得15,再求出表达式的值后在实现自加三次得8; q=(++j)+(++j)+(++j);备注:j=5,同上,j先自加三次得8,再将8作为表达式中所有的j值,因此三个8相加的24; i+=i*=i+6;备注:+号比复合运算符高级,先算;再从右向左计算; k=(j=++i,i+=j,i+=5);备注:逗号也是一种运算符,从左向右算,左后得到的值为k得值; t 作用是跳过8列;b 作用是退一列;ddd 代表1到3位八进制数 (101)8=(65)10; a=12赋值运算符优先级低于算术运算符 a*=5 a等于12*5=60 a+=a-=a*=a 结果为0 从右到左 实验五:进制间的转换 双精度也是用%f输出,但长整型要用%ld输出。long n=1234567长整型有32位 比普通整型多一倍 当未规定小数点后的位数时,系统自动输出6位小数。Printf(“%e”,123.456);会输出1.23456e+02 ,其中小数点也算一位 scanf(“%d%d%d”,&a,&b,&c);使用scanf函数时不要丢掉&,输入形式由双引号内的形式决定; printf(“%d,%d,%dn”,a,b,c);} 输出的形式由双引号内的形式决定。#include 实验六:不完全运算: c=(a 实验七:do{„„}while(n)do 循环体语句 while(表达式);先执行循环体语句,再判断表达式,“真”,继续执行,“加”结束循环;当输入0时 循环结束 while(1){„„}由于表达式为真,为避免循环体语句不断循环下去,循环体语句中必有break。 while((d/=10)>9); 空操作 :当表达式的 值为真时,不执行任何操作 1.对于整型变量x,与while(!x)等价的是(B) A.while(x!=0) B.while(x==0) C.while(x!=1) D.while(~x) 6.以下程序段运行后变量n的值为(D)int i=1,n=1;for(;i<3;i++) { 当表达式为真时,不做任何操作(空操作) continue; 当表达式为真时,跳过n=n+i n=n+i; } A.4 B.3 C.2 D.1 所谓“水仙花数”是指一个3位数,其各位数字立方和等于该数本身。例如,153是一水仙花数,因为153=13+53+33。 课本例6.9 求100~200间的全部素数 # include main() { int m,k,i,n=0; for(m=101;m<=200;m=m+2) { k=sqrt(m); for(i=2;i<=k;i++) if(m%i==0)break;if(i>=k+1){printf(“%d ”,m);n=n+1;} if(n%10==0)printf(“\n”); } printf(“\n”); } 实验八:用起泡法对10个数排序(由小到大) main() { int a[11]; int i,j,t; printf(“input 10 numbers :n”); for(i=1;i<11;i++) scanf(“%d”,&a [i]); printf(“n”); for(j=1;j<=9;j++) for(i=1;i<=10-j;i++) if(a[i]>a[i+1]){t=a [i];a [i]=a [i+1];a[i+1]=t;} printf(“the sorted numbers :n”); for(i=1;i<11;i++) printf(“%d ”,a[i]); } 8.若有定义int a [ ] [ 3 ]={1,2,3,4,5,6,7,8,9};则表达式sizeof(a)/sizeof(a[0])的值为(A) A、3 B、4 C、5 D、9 5.若有定义int a[2][3];则对数组元素的非法引用是(D)A.a[0][1/2] B.a[1][1] C.a[4-4][0] D.a[0][3] 1/2==0 107、以下数组定义中,正确的是(B)A、int a[2][3]={1,2,3,4,5,6,7};B、int a[ ][ ]={{1,2,3},{4,5,6}, {7,8,9}};C、int a[2][ ]={1,2,3,4,5,6};D、int a[ ][4]={6} 实验九:scanf函数以空格结束一个字符串的输入,而gets函数以回车结束 4.以下程序结束后屏幕输出(B) char str[]=“abcd”;printf(“%d”,strlen(str)); 代表一个字节? A.4.B.5 C.6 D.7 补充:若题目问:“分配多少空间给数组str[],则结果为4个,包括一个结束标识符‘ ’” 实验十:scanf(“%f,%f”,&a,&b);输入20,30 逗号不要忘了 2.已知char a;使用scanf()函数输入一个字符给变量a,不正确的函数调用是(B)A.scanf(“%d”,&a); B.scanf(“%lf”,&a); C.scanf(“%c“,a); D.scanf(”%u”,&a); 整型和字符型可互相转换,但浮点型不可以 用选择法对数组中10个整数按由小到大排序。所谓选择法就是先将10个数中最小的数与a[0]对换;再将a[1]到a[9]中最小的数与a[1]对换„„每比较一轮,找出一个未经排序的数中最小的一个。共比较9轮。 void sort(int array[],int n) {int i,j,k,t; for(i=0;i {k=i; for(j=i+1;j if(array[j] t=array[k]; array[k]=array[i]; array[i]=t;}} main() {int a[10],i; printf(“enter the arrayn”); for(i=0;i<10;i++) scanf(“%d”,&a[i]); sort(a,10); printf(“the sorted array:n”); for(i=0;i<10;i++) printf(“%d”,a[i]); printf(“n”); } 1.若有以下函数定义: int fun(){ static int k=0;return ++k;} 以下程序段运行后屏幕输出为(D)int i; for(i=1;i<=5 i++) fun();printf(“%d”,fun()); 第六次调用 A.0 B.C.5 D.6 自增自减运算符比关系运算符高级,自增自减运算符属于算术运算符 *p=&a(该星号只起标识作用,没有特殊意义,标识p为指针变量。表达式对指针变量附值) 定义指针变量p后,*p 中的星号为指针运算符,整个表达式表示指针变量所指向的变量 数组变量赋值:scanf(“%c”,a);注意区分他们的区别 但&a 和a都是地址 整型变量赋值:scanf(“%d”,&a); 让语言更有演讲的魅力 写作演讲稿,在语言上应注意以下问题。 要口语化,通俗易懂。听众能否听懂,要看演讲者是不是讲得好,更要看演讲稿是不是写得好。演讲稿写完后,要念一念,听一听,看是不是“上口”“入耳”。如果使用的语言,讲出来谁也听不懂,演讲就失去了听众,也就失去了演讲的意义。这就需要进一步修改演讲稿。 要生动感人。好的演讲稿,语言要生动。怎样使语言生动呢?可以用名言格言增强说服力。还可以运用幽默、风趣的语言,增强表现力。这样,可以使演讲的气氛轻松和谐,吸引听众。 回看历史 振兴中华 敬爱的老师、亲爱的同学: 大家好!今天我演讲的题目是《回看历史 振我中华》。 历史的风,吹翻起六十八年前的那一页。在我的眼前,历历浮现出,那冰雪覆盖的1935年,那悲痛岁月里的冷嗖嗖的日子。日本帝国主义大肆张开它的魔爪,伸向了我中华的心脏:华北大地;而此时,卑怯可笑的国民党政府,却居然畏于帝国主义的淫威,准备成立“冀察政务委员会”,来满足一时的苟且偷安。 我感到了卖国者的卑鄙与可耻。 中华民族,你,陷于内忧外困之中,你的尊严倍受挑畔,你的躯体将被蹂躏。 在这样的时刻,我们总是默默企盼:企盼奇迹诞生;在这样的时刻,我们总是默默祈祷:祈祷我们的民族,能够转危为安,能够走出泥泞与困境,驱散开这漫漫的黑云。而让我,让我们所有中国人最感骄傲的事情是:我们从来没有失望过一次。在倍受屈辱的民族的背后,总有我们中华的优秀儿女挺身而起。1935年12月9日,在中国共产党的领导下,6000愤怒的北平人们走上街头,高举着正义的旗帜,奔走呼告,勇敢地向卑鄙的暴虐宣战,向怯弱的卖国宣战。 我为你们感到骄傲,我们优秀的中华儿女,你们是我们民族的灵魂,我们民族的脊梁;如果,如果我们的民族没有你们,它的生命将是如何的暗淡,它将会走向何等可怕的深渊啊!你们以坚毅不挠的行动,告诉所有的居心可怕的人们:中国人是不可辱的,中华民族是不可辱的。中国人将为国而声、为国而战、甚至为国而死。 我也知道了,中国因你们而精彩。你们使我想起了,志在维新、视死如归的谭嗣同;你们使我想起了,抛妻别子、不惮前驱的林觉民;你们使我想起了,东渡扶桑、救国救民的秋瑾;你们使我想起了,弃医从文、疗救民心的鲁迅;你们使我想起了所有为我们中华的独立崛起,探索着、痛苦着并奉献着的人们。使我想起了,陈毅元帅如是说,“南国烽烟正十年,此头须向国门悬,后死诸君多努力,捷报飞来当纸钱。”从鸦片战争、中法战争到中俄战争,从《南京条约》《北京条约》到《马关条约》,重若苦 海的苦难,漫漫修远的长路,并没有使东方巨人从此消亡的缘故,正是因为有你们啊,我们民族最可爱的人,正是你们这些以天下事为已任的仁人志士,所组成浴血奋战洪流,揽起狂澜,吹响起我们民族的历史的新的纪元。 虽然,我们古老的中国像一艘搁浅的大船,尽管沉重,尽管缓慢,但依然还坚挺着前进的风帆。同学们,为国而声、为国而战、甚至为国而死,才是一个人最大的骄傲;谁如果在心里没有自己的祖国,谁就不属于人类。 同学们,当你驻足于雄伟蜿蜒的万里长城之上,当你止步于滚滚东去的黄河之边,当你静立在烟波浩渺的渤海之滨,当你注视着冉冉升起的五星红旗之时,你的心中是否感慨难平,是否热情奔涌?同学们,切莫以为只有生在乱世才好为国分忧。欲报国何须生于乱世,又何止在沙场上拼杀?同学们,我们是初开的鲜花,我们是初升的太阳,我们的战场便是这足下的土地,用我们百倍的努力,学得知识、学得能力,然后用自己强健的双手开创一片辉煌的事业。如果我们每一个人都能如此,都能把自己事业与理想,和我们的民族相融,那么我们的中华民族将以昂然身姿挺立于世界民族之林将指日可待。 让我们为振兴我们的中华拼搏吧。要知道振兴中华是我们每位同学义不容辞的职责,是历史赋予我们的神圣使命。告诉自己吧,我们的心属于祖国。 为祖国自豪 尊敬的老师,亲爱的同学们: 你们好! 今天,站在这里,我要说的,是我们的祖国。 中国是什么? 是世界版图上的一只公鸡,许许多多的国家中的一个,仅此而已。(点明了中国的版图形状,以及她是世界众多国家中的普通一员。) 但——祖国是什么? 是哺育我们的母亲,长江黄河便是她的乳汁;是微笑着、看着我们成长的母亲,天边的朝阳便是她扬起的脸庞。(点明了祖国是哺育我们成长的母亲。) 生活在祖国的怀抱中,我们为祖国深深自豪。 我们自豪她的美丽——泰山、黄山,长江、黄河,风光无限,气势宏伟;青藏高原是世界的屋脊;一望无垠的草原延伸到天边,茂盛的森林藏满了秘密;桂林的山水秀遍天下,峨眉的山峰峻拔又神奇;九寨沟、张家界„„都是祖国绘制的迷人画卷。(小作者通过对泰山、黄山,长江、黄河,青藏高原,草原,桂林山水等景物的具体描绘,突出了祖国的美丽。) 我们自豪她的智慧——悠久的历史,灿烂的文化。美丽如诗的汉字是祖先智慧的结晶,是字,也是画;诗词的音韵,元曲的调子,响了千百年。“万物皆药”,中医以它的博大精深,感染了世界。长城、故宫、天坛,从历史中走来,向未来走去,走向国际,走向每一个人。(通过对汉字,诗词,中医;以及长城、故宫、天坛,等事物的具体描绘,突出了祖国的历史悠久,文化灿烂。) 我们自豪她的进步——太阳每一次从东方升起,她都在发生着变化。从收音机、电视机,到电脑、汽车,到飞机、飞船。“神舟”五号飞天的一刹那,多少国人流下激动的泪水!直至不久前成功发射的“神舟”七号,这些进步堆砌了多少人的呕心沥血,凝聚了多少人的智慧。祖国向世界宣告:我们不再是“东亚病夫”,我们正在进步、正在崛起。(通过对神舟”五号,“神舟”七号等现代高科技的描述,突出了祖国的巨大进步。) 当然,我们的祖**亲也曾受到巨大的耻辱。一次又一次的侵略战争象鞭子抽打着她孱弱的身躯,浩劫后的圆明园无声地哭诉。枪林弹雨,荆棘遍地,祖国被踩在脚下。可是一切都阻挡不了祖国前进的步伐。睁开眼睛,祖国将给世界展露新的辉煌!(回顾了祖国屈辱的历史,也提出了“一切都阻挡不了祖国前进的步伐”的这一结论。) 未来,我们要为祖**亲做的还有很多。我们要让祖**亲,永远屹立在世界的顶端!(表明了自己甘愿为祖**亲而奋斗的雄心!) 我的演讲完毕,谢谢大家! 愿长征精神与中华民族同在敬爱的老师,亲爱的同学们: 大家好!今天我演讲的题目是《愿长征精神与中华民族同在》。 敲响那一排排铜质的编钟,浑厚而清亮的左音右韵由远及近,穿越五千年悠悠岁月和六十年缤纷花季,在河之洲,水之湄,山之阳,海之滨,泛起层层涟漪,响起阵阵回声,在亿万炎黄子孙的心中凝结一个主题:祖**亲! 正是这千千万万的赤红的爱国之心,撑起了我们民族的脊梁,祖国的希望;正是他们,在自己的“今天”,用满腔的热血,才使得我们今天的中国人昂首挺胸,挺立在国际的前端。 74年前的那个血色的黄昏,当最后一声马蹄声消失在去峡北的征途上,这个曾经创造过世界奇迹——万里长城的民族又开始用他们的双脚走出一座移动的万里长城,那就是长征。还记得老师曾经问我这样一个问题:你能说出多少红军面临的困难?那一刻,我仿佛看到了卢沟桥的炮火中不断落进滚滚大江里青年战士的身躯、陷进沼泽的小战士拼命挣扎却不断下沉的手臂、老班长远望着战友们走出草地而自己却慢慢倒下时闭上的眼睛。红军长征所面临的困难是说不完的,而他们面临的最大困难其实就是死亡,但是,他们的理想和信念却走向永生! 在这个世界上,没有哪一位作家能写出如此磅礴的巨作,没有哪一位诗人能写出如此壮烈的诗片,也没有哪一位导演能拍出如此感天动地的电影。 70年后的今天,这个曾经用双脚走出世界奇迹的民族又用自己的双手创造着中华民族伟大复兴的新的世界奇迹: 公元2001年7月13日,国际奥委会主席萨马兰奇宣布北京获得2008年奥运会的主办权! 公元2005年10月17日,神舟六号载人飞船圆满成功! 公元2006年5月20日,举世瞩目的三峡大坝顺利竣工! 公元2006年7月3日,青藏铁路全线贯通,开创了人类历史上客运列车穿越“世界屋脊”的新纪元!真的,我时常庆幸能生长在这个伟大的国度,这个和平的年代,属于这个光荣的民族。 但我也清楚地知道,实现中华民族伟大复兴的新长征之路既时光明的,也是曲折的,可能要走30年,50年,甚至更长。但是我们会走下去,坚定不移的走下去!同学们,要知道我们的祖国叫中国,我们的名字叫中国人,我们的精神叫长征精神,让我们将长征精神唱响在河之洲,水之湄,山之阳,海之滨吧! 愿长征精神与中华民族同在!谢谢大家!第四篇:程序设计要点总结
第五篇:演讲稿语言及范例