实验5 数据类型和表达式
C语言实验五实验报告——数组
C语言实验五实验报告——数组一、实验目的:1.了解数组的概念和基本使用方法;2.掌握一维数组和二维数组的定义、初始化、赋值及基本运算实现;二、实验内容与方法1.理论部分数组是一些具有相同类型的数据元素按一定顺序排列组合而成的集合,在程序设计中它是一个变量列表,由若干相同数据类型的元素组成。
通常用一个名字和一个下标来表示,下标可理解为数组元素在数组中的位置编号。
数组的特点:数组是根据顺序排列的元素的集合;所有的元素必须是相同类型。
数组的定义方法:1. 定义数组,数组元素类型 + 数组名[元素的个数];2. 元素的个数必须是整型常量或变量,定义时必须明确、指定元素的个数;3. 声明一个数组时,除了要指定数组的类型外,还要指定数组的名称;4. 数组定义完后,需要对其中的每个元素进行初始化。
可以在定义数组时赋初值,也可以通过赋值符号,对数组元素逐个进行赋值。
数组的初始化:1. 元素个数之间用逗号分开,最后1个元素后无逗号;2. 支持部分元素初始化;3. 定义和初始化可以一步完成。
二维数组数组可分为一维和多维数组。
一维数组可以看作是包含多个元素的向量,而二维数组可以看做是包含了多个一维数组的矩阵。
二维数组有行号和列号,因此,它同样需要两个下标。
数组元素类型数组名[行数][列数];数组元素类型数组名[ ][ ] = { {元素1, 元素2, ……}, {元素1, 元素2, ……}, ……{元素1, 元素2, ……}}2.实验代码**问题1:**定义一个一维数组a,包含有5个元素,分别为1,2,3,4,5;**问题2:**定义一个一维数组a,接收用户从键盘输入的5个数值,分别打印存储的各个元素。
三、实验结果与分析结果分析:定义了一个5个元素的一维数组a,并初始化了各个元素的值,其元素分别为1,2,3,4,5.循环遍历一遍数组a,并打印数组元素。
程序执行正常。
3.针对问题3:定义一个二维数组a,由4行3列组成,每个元素初始化为0,打印存储的各个元素;程序运行结果如下:四、实验总结:该实验主要是通过对C语言数组的理论知识和基本操作进行练习,加深了对数组的了解和掌握。
实验报告_实验2 数据类型与表达式
实验报告_实验 2 数据类型与表达式(学生学号__姓名)一、实验目的:1、熟悉基本数据类型(int、char、float、double)占用的字节数和存储形式,能够定义基本数据类型的变量,使用这些类型的数据;2、掌握字符数据的存储形式及其与整数的运算,能正确理解“字符数据”与“字符串”的区别与联系,熟悉常用转义字符的使用;3、熟悉字符常量与一般常量的定义、使用;4、掌握算术运算符(重点是/和%)、自增(++)和自减(--)运算符的使用,能够构建正确的表达式,并输出其结果;5、理解不同类型数据之间运算时的类型转换规则,掌握强制类型转换的方法。
二、实验内容1、(基础题)用sizeof运算符可以得到各种类型数据占用存储单元长度,利用数据间的关系和不同控制符,可以得到查看数据的存储形式。
回答下列问题:(1)sizeof运算符如何使用?它的操作数可以是类型关键字吗?答:可用sizeof(类型名或数据) 来获取该类型数据所占字节数。
可以。
(2)整数的占用长度与其数值大小有关吗?答:有。
(3)字符串中’\’’、’\n’、’\t’的功能各是什么?答:单引号,换行,水平制表。
(4)字符串的一个英文字母占几个字节?一个汉字占几个字节?尾部还有什么字符?答:1个字节;4个字节;结束符‘\0’。
(5)整数的存储形式是什么?答:二进制补码。
2、(基础题)字符数据以整数方式(ASCII)存储的,可以与整数进行+、-运算,既可以用“字符”方式输出,也可以用“整数”方式输出。
回答下列问题:(1)字符数据在内存中是以什么方式存储的?答: ASCII码。
(2)字符数据与整型数据能相互赋值、运算吗?如何以“整数”方式和“字符”方式输出字符?答:能,整数:”%d”,字符:”%c”。
(3)大小写字母的ASCII有什么关系?(如:’G’与’g’)答:ASCII码相差32。
(4)如何由’A’、’a’分别得到后续的大写字母、小写字母?答:’A+1’,’a+1.’(5)字符间的距离如何计算?由一字符能分别得到ASCII比它小5、大10的两个字符吗?若能,如何得到?答:两个ASCII码绝对值相减,’a’-5,’a’+10.(6)说明“C”与’c’的联系与区别,能否写成”dog”、’boy’?答:”C”字符串,’c’字符,能.3、(基础题)符号常量与常变量(即用const关键字定义)的使用:回答问题:(1)写出用符号常量定义PI的格式;#define PI(2)写出用“常变量”方式定义PI值的语句。
华南农业大学C语言程序设计实验指导书参考答案
华南农业大学c语言程序设计上机指导书参考答案上级实验参考答案#include stdio.h#includemath.hint main(){ int i;double a, b;for(i=0;i<=100000;++i){a=sqrt(i+100);b=sqrt(i+168);if((int)a==ceil(a)&&(int)b==ceil(b))printf(%d\n,i);}}实验2基本数据类型、运算和表达式一、实验目的1)掌握C语言数据类型,熟悉如何定义一个整型和实型的变量,以及对它们赋值的方法。
2)掌握不同的类型数据之间赋值的规。
3)学会使用C的有关算术运算符,以及包含这些运算符的表达式,特别是自加++)和自减--)运算符的使用。
4)进一步熟悉C程序的编辑、编译、连接和运行的过程。
二、实验内容1 / 561.变量的定义[题目1117:变量定义,按要求完成程序]下面给出一个可以运行的程序,但是缺少部分语句,请按右边的提示补充完整缺少的语句。
void main(){int a, b;/*定义整型变量a和b*/int i, j;/*定义实型变量i和j */a=5;b=6;i=3.14;j=i*a*b;printf(a=%d,b=%d,i=%f,j=%f\n, a, b, i,j);}[具体操作步骤]1)将代码补充完整;2)在TC或VC++上运行通过;3)在JudgeOnline实验系统上提交;2.赋值表达式与赋值语句[题目1118:赋值表达式与赋值语句,写出程序运行结果]阅读下面程序,写出运行结果:voidmain()2 / 56{float a;int b, c;char d, e;a=3.5;b=a;c=330;d=c;e='\\';printf(%f,%d,%d,%c,%c, a,b,c,d,e);}运行结果为:3.500000,3,330,J,\[提示]赋值语句具有类型转换的功能,但可能会改变数据。
实验五 半加器和全加器
实验五半加器和全加器实验五半加器和全加器一、实验目的1(掌握组合逻辑电路的分析和设计方法。
2(验证半加器、全加器、奇偶校验器的逻辑功能。
二、实验原理使用中、小规模集成门电路分析和设计组合逻辑电路是数字逻辑电路的任务之一。
本实验中有全加器的逻辑功能的测试,又有半加器、全加器的逻辑设计。
通过实验要求熟练掌握组合逻辑电路的分析和设计方法。
实验中使用的二输入端四异或门的电路型号为74LS86,四位二进制全加器的型号为74LS83A,其外引线排列及逻辑图如下:14 13 12 11 10 9 8VCC=1 =174LS86=1 =1GND1 2 3 4 5 6 774LS86引脚排列16 15 14 13 12 11 10 9C C GND B AΣ 44011 BΣ4174LS83AA 2A Σ AB V Σ B 4333CC221 2 3 4 5 6 7 874LS83引脚排列74LS83A是一个内部超前进位的高速四位二进制串行进位全加器,它接收两个四位二进制数(A~A,B~B),和一个进位输入(C),并对每一位产生二进制和14140 (Σ~Σ)输出,还有从最高有效位(第四位)产生的进位输出(C)。
该组件有144越过所有四个位产生内部超前进位的特点,提高了运算速度。
另外不需要对逻辑电平反相,就可以实现循环进位。
三、实验仪器和器件1(实验仪器(1)DZX-2B型电子学综合实验装置(2)万用表(MF47型)2(器件(1)74LS00(二输入端四与非门)(2)74LS86(二输入端四异或门)(3)74LS83(四位二进制全加器)(4)74LS54(双二双三输入端与或非门)四、实验内容1(设计用纯与非门组成的半加器,分析、验证其逻辑功能;解:?根据设计任务列出真值表输入输出A B Y C0 0 0 00 1 1 01 0 1 01 1 0 1?根据真值表写出逻辑表达式C=AB Y,AB,AB?对逻辑表达式进行化简Y =A?B C=AB?根据所用逻辑门的类型将化简后的逻辑表达式整理成符合要求的形式Y =A?B= C=AB,AB AAB,BAB?根据整理后的逻辑表达式画出逻辑图? Y2 & 接A 逻=AB Y? 辑1& & YY 1 接电Y=A AB 电2平 ? B 平& Y=B AB ?3 Y3 显Y=A?B 示 ? & C=AB C图5-1 半加器设计参考图?根据逻辑图装接实验电路,测试其逻辑功能并加以修正表5-1’(验证) 表5-1(分析)输入输出输入逐级输出Y B C B A B Y C A B YYYY C 1 2 3A 0 1 A 0 1 0 0 0 0 0 0 1 1 1 0 00 0 1 0 0 0 0 1 1 0 0 1 1 1 0 1 01 1 1 0 0 1 1 0 1 0 1 0 1 0 1 1 01 1 0 1 1 1 0 1 1 0 1 卡诺图Y= A?B C=AB 2(设计用异或门组成半加器,并测试其逻辑功能; 解:???步骤同上?根据所用逻辑门的类型将化简后的逻辑表达式整理成符合要求的形式Y =A?B C= AB,AB?根据整理后的逻辑表达式画出逻辑图?根据逻辑图装接实验电路,测试其逻辑功能并加以修正表5-2输入输出接接=1 A Y ? 逻电A B Y C 辑平显电0 0 0 0 平示 B ? C ? & & 0 1 1 0 图5-2测量由异或门组成的半加器的逻辑功能 1 0 1 01 1 0 12(设计用74LS54、74LS86、74LS00组成全加器,并测试其逻辑功能;解:?根据设计任务列出真值表输入输出 ?根据真值表写出逻辑表达式 Y C A B C 00 0 0 0 0 Y,ABC,ABC,ABC,ABC00000 1 0 1 0C,ABC,ABC,ABC,ABC00001 0 0 1 01 1 0 0 1 ?对逻辑表达式进行化简0 0 1 1 0,,,,,,,,Y,AB,ABC,AB,ABC,A,BC,A,BC0 1 1 0 1 00001 0 1 0 1 ,,,,,,,A,BC,A,BC,A,B,C0001 1 1 1 1,,,,,,C,ABC,C,AB,ABC,AB,A,BC0000?根据所用逻辑门的类型将化简后的逻辑表达式整理成符合要求的形式,, Y,A,B,C0,, C,AB,A,BC0?根据整理后的逻辑表达式画出逻辑图?根据逻辑图装接实验电路,测试其逻辑功能并加以修正表5-3接电平显示 C 输入输出 Y A B CY C 074LS00 & 0 0 0 0 0 ? 0 1 0 1 0 ?1 0 0 1 0 ?1 =1 =11 1 0 0 1 & & & & 0 0 1 1 0 1/2 74LS860 1 1 0 1 ? ? ? ? ? ? ? 1 0 1 0 1 ? A B C0 1 1 1 1 1 74LS54 接逻辑电平图5-34(分析四位二进制全加器74LS83A的逻辑功能;接电平显示Σ Σ Σ Σ 4321接接电“0” CC4 0 FAFAFAFA4 3 2 1 平或显“1” ? ? 示 ? ?74LS83A A/AA/AB/BB/B24 13 24 24接逻辑电平图5-4 分析四位二进制全加器74LS83A的逻辑功能表5-4输出输入C=0 C=1 00B/BA/A B/B A/A ΣΣΣΣCΣΣΣΣC24 2413131 2 3 4 4 1 2 3 4 4 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 1 0 1 0 0 0 1 1 0 0 0 0 1 0 1 0 1 0 0 0 1 1 0 0 0 0 1 1 0 1 0 1 0 1 1 0 1 0 0 1 0 0 0 1 0 10 1 1 0 1 0 0 1 0 1 1 1 1 1 0 0 0 0 0 1 0 1 1 0 1 1 1 1 0 0 0 0 0 1 0 11 1 0 0 1 0 1 1 0 1 0 1 1 0 0 0 0 1 0 1 0 1 1 0 1 0 1 0 0 1 1 1 1 1 0 0 0 0 0 1 1 0 1 0 1 1 1 1 0 0 0 0 0 1 1 0 1 1 0 0 1 0 1 1 0 1 0 1 1 1 0 00 0 1 0 1 1 0 1 0 1 1 1 0 1 1 0 0 1 1 0 1 0 1 1 1 1 1 0 1 0 0 1 1 0 1 01 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1*5(用加法器74LS83A实现BCD码和余三码之间的相互转换。
VFP实验报告
实验报告学院:专业:年级:姓名:学号:实验室号:计算机号:实验日期:年月日指导教师签字:成绩:报告退发 (订正、重做)实验一:熟悉VFP开发环境(验证性,3学时)一、实验目的1.熟悉VFP集成开发环境;2.项目管理器的使用;3.常用命令的使用;二、实验内容1.在硬盘上新建一个以自己学号命名的文件夹,并将此文件夹设置为默认目录.要使此设置关闭VFP系统后再进入VFP系统时仍然有效该如何保存?2.设置日期格式为年月日格式,年份四位数显示和两位数显示如何设置,以短划线”-”作为日期分隔符,要使以上设置关闭VFP系统后再进入VFP系统时失效该如何保存?3.如何将现在小数点后只保留2位改成保留更多的位数?4.定制工具栏操作:如何将调色板工具栏里的红色添加到常用工具栏里?5.在默认目录下建立“学生成绩管理”项目文件和“学生成绩”数据库.分别在项目中建立数据库和不在项目中建立数据库,比较他们的区别;6.观察上述第5题的操作过程中命令窗口中出现的命令,并指出各命令的作用;7.退出VFP系统的命令是什么?有哪些方法可以退出VFP系统?三、实验环境1.硬件:学生用微机、局域网环境2.软件:Windows 2000中文操作系统、Visual Foxpro 6.0四、实验步骤(描述实验的具体操作步骤和方法,内容见后附的手写材料)五、实验调试与结果分析(描述实验的调试过程,实验中发生的现象、中间结果、最终得到的结果,并进行分析说明,分析可能的误差或错误原因等.内容见后附的手写材料)六、总结(说明实验过程中遇到的问题及解决办法;新发现或个人的收获;未解决/需进一步研讨的问题或建议新实验方法等.内容见后附的手写材料)实验一:熟悉VFP开发环境1. 先在D盘建一个文件夹,并将其命名为092221004.在桌面打开VFP系统,在菜单栏上选择“工具”“选项”,此时跳出一个选项框,选定“文件位置”中的“默认目录”,然后选择“修改”,将其设为“D\092221004”,最后选择“设为默认值” ,“确定”,即可.2. 在桌面打开VFP系统,在菜单栏上选择“工具”“选项”,此时跳出一个选项框,选定“区域”,然后在“日期格式”栏的下拉选项中选择“年月日”;勾选“日期分隔符”和“年份(1998或98)”项,并在“日期分隔符”其后面输入“-”;最后选择“设为默认值” ,“确定”,即可.3. 在桌面打开VFP系统,在菜单栏上选择“工具”“选项”,此时跳出一个选项框,选定“区域”,然后在“小数位数”项输入小数位数的多少,最后选择“设为默认值” ,“确定”,即可.4. 在桌面打开VFP系统,在菜单栏上选择“显示”,此时跳出一个工具栏对话框,勾选“调色板”后选择右边的“定制”,跳出定制工具栏,在“分类”中选定“调色板”,在其右边中选定红色,并将其拖动到主窗口,关闭定制工具栏,最后将其移到常用工具栏下.5. 打开VPF系统,在菜单栏上选择“文件”,在“文件”的下拉栏中选定“新建”弹出新建选框,在左边的“文件类型”中选定“项目”然后点击右边的“新建文件”弹出创建的对话框,在该对话框的项目文件框中键入“学生成绩管理”后点击“保存”.在菜单栏上选择“文件”,在“文件”的下拉栏中选定“新建”弹出新建选框,在左边的“文件类型”中选定“数据库”然后点击右边的“新建文件”弹出创建的对话框,在该对话框的数据库名框中键入“学生成绩”后点击“保存”.区别: 如果是在项目中建立数据库,则命令窗口不会显示命令.6. “CREATE PROJECT”是建立项目文件命令,“CREATE DATABASE”是建立数据库命令,“ MODIFY DATABASE”打开默认目录下的数据库,“MODIEF PROJECT”是打开默认目录下的项目文件7. 退出VFP系统的命令是“Quit”;其他退出VFP系统的方法:方式一:单击应用程序窗口中的“关闭”按纽.方式二:在“文件”菜单中选择“退出”命令.方式三:在命令窗口中键入QUIT命令.方式四:同时按下Alt和F4组合键.方式五:单击应用程序窗口左上角的控制菜单图标,从弹出的菜单中选择“关闭”命令.或者双击控制菜单图标.实验报告学院:专业:年级:姓名:学号:实验室号:计算机号:实验日期:年月日指导教师签字:成绩:报告退发 (订正、重做)实验二:数据类型、函数和表达式(验证性,3学时)一、实验目的1.VFP变量的使用;2.VFP函数的使用;3.VFP表达式的使用;二、实验内容1.熟悉内存变量的命名规则,举例说说正确的内存变量名和不正确的内存变量名,并在命令窗口中加以测试;2.测试两种内存变量的赋值命令(=和STORE),分别给变量赋以不同数据类型的值,用type函数测试其数据类型;3.分别定义一个一维数组和二维数组,并用type函数测试数组元素未赋值时的数据类型及察看未赋值数组元素的值;给同一数组的不同的数组元素赋以不同数据类型的值;4.测试常用的系统函数的用法并观察其结果(有关表的函数除外);5.测试不同数据类型数据为空的值(即用EMPTY()函数进行测试);6.设X=3,Y=10,求Ln|-y|+e xy(1-y)的值;设a=3,b=5,c=2,求ax2+bx+c=0的根;7.求以下逻辑表达式中各个关系表达式的值,并求出逻辑表达式的值:“Z”>[z].AND.(’ABCLL’=‘ABC’.OR.3^2!=LEN([VISUAL FOXPRO]) ) 三、实验环境1.硬件:学生用微机、局域网环境2.软件:Windows 2000中文操作系统、Visual Foxpro 6.0四、实验步骤(描述实验的具体操作步骤和方法,内容见后附的手写部分)五、实验调试与结果分析(描述实验的调试过程,实验中发生的现象、中间结果、最终得到的结果,并进行分析说明,分析可能的误差或错误原因等.内容见后附的手写部分)六、总结(说明实验过程中遇到的问题及解决办法;新发现或个人的收获;未解决/需进一步研讨的问题或建议新实验方法等.内容见后附的手写部分)实验二:数据类型、函数和表达式1. 输入 temp=”How are you?”输入”use 20 to A”?temp 跳出”命令中含有不能识别的短语或关键字”How are you2. 在命令窗口中输入①命令格式一②命令格式二Temp=2*3+5-8 store 0 to X1 X2 Y1 Y2?temp ?X1,X2,Y1,Y25 0 0 0 0?type(’temp’) 所以其数据类型为数值型N3.一维数组:DIMENSION X(3) 二维数组:DIMENSION a(2,3)未赋值时: dimension x(3) 未赋值时: dimension a(2,3)?type (’x(3)’) ?type (’a(2,3)’)L 所以是逻辑型 L赋值时: dimension x(3) 未赋值时: dimension a(2,3)x(1)=2 a(2,3)=’world’x(2)=4 ?a(2,3)store x(1)+x(2) to x(3) world? x(3)64.字符整理函数 ?LEN(’’HELLO’’) 5 C的长度系统测试函数 ?FILE(”student.dbf”) 测试制定文件是否存在数值型函数 ?ABS(-2,0) 2.0 绝对值5.? Empty (0) T6. ① x=3 ② a=3y=10 b=5? loy(abs(-y))+exp(x*y)*(1-sqrt(y)) c=2-23107125253585,2800 ?sqrt (a*(x^2)+b*x+c)6.637.关系表达式逻辑表达式? ”Z”>[z] 例. ”Z”>[z].AND (’ABCLL’=’ABC’.OR.3^2.T. =LEN([VISUAL FOXPRO])? 3^2!=LEN([VISUAL FOXPRO]) .T..T. (’ABCLL’=’ABC’.OR.3^2!=([VISUALFOXPRO])实验报告学院:专业:年级:姓名:学号:实验室号:计算机号:实验日期:年月日指导教师签字:成绩:报告退发 (订正、重做)实验三:表与数据库的基本操作(验证性,6学时)一、实验目的1.数据库的建立,表的建立;2.表的完整形约束、数据库和表的打开关闭;3.表记录的插入、修改和删除;4.表记录的显示以及记录的定位;5.记录的排序,单索引和复合索引的建立,索引的使用方法;6.多工作区的使用,表间关联的建立.二、实验内容1.在“学生成绩”项目中建立“学生成绩”数据库;在学生成绩数据库中建立“学生”、“成绩”、“课程”三个数据库表并输入一些相应的数据;在“学生成绩”项目中建立自由表 ABC.dbf;并将这些表从项目中移出或移入;2.对“学生”表设置如下的约束(字段有效性):学号不能为空,为空时提示信息:“必须输入学号”、奖学金的默认值为200;对课程表设置如下约束(记录有效性):课时>=学分*20;3.对上述三个数据库表进行数据增加、删除(包括逻辑删除和物理删除)和修改操作;4.用菜单的方法进行表记录的定位,指出什么是当前操作记录;5.将学生表的学号设定为主索引,升序排列;成绩表的学号和课程号作为普通索引,在表中要有一个学生有多门课的成绩、多个学生有同一门课的数据的条件下试试这两个字段能否作为主索引;课程表的课程号作为主索引,降序排列并对该表察看索引结果;对学生、成绩、课程三个表建立永久性关系;6.用命令对学生表的学号建立独立索引文件、对成绩表的学号建立非结构化复合索引文件;7.利用数据工作期建立学生表、成绩表和课程表的关联,使得指针在“学生”表的浏览窗口中移动时,在“成绩”的浏览窗口中同步显示与该学号有关的成绩信息、在“课程”表的浏览窗口中同步显示该生相应成绩的课程名的纪录.三、实验环境8.硬件:学生用微机、局域网环境9.软件:Windows 2000中文操作系统、Visual Foxpro 6.0实验三:表与数据库的基本操作1.(1)打开“学生成绩”项目,选定“数据库”后点击右边的“新建”,弹出“新建数据库”对话框,然后选择“新建数据库”,在“创建”对话框中的数据库名中键入“学生成绩”,最后保存.选定“学生成绩”数据库下拉栏中的“表”后点击右边的新建,弹出“新建表”对话框,然后选择“新建表”弹出“创建”对话框,在该框的输入表名栏中键入“学生”后保存,用同样的方法分别建立“成绩”“课程”表.依次选定“学生”“成绩”“课程”表点击右边的“修改”,然后在弹出的对话框中依次分别输入一下数据(2)打开“学生成绩”项目,选定“数据库”下拉栏下的“自由表”后点击右边的新建,弹出“新建表”对话框,选择“新建表”后在弹出的对话框的输入表名栏中输入“ABC”并保存,后在该表随便输入数据后“确定”.要移出则选定该自由表后选择右边的“移去”即可.2.(1) 先选定“学生”表选择右边的“修改”在弹出的表中选择“学号”后选定在“字段有效性”下“规则”后面的,此时弹出“表达式生成器”在该对话框中的“字段”下选定“学号”,在”逻辑”的下拉中选定“<>”,此时在“有效性规则”下的框中有“学号 <>”,然后在此后面加上引号(注意:引号必须是在无输入法的情况下输入),最后选定“确定”(2)先选定“课程”表选择右边的“修改”在弹出的表中选择“课时”后选定在“字段有效性”下“规则”后面的,此时弹出“表达式生成器”在该对话框中的“字段”下选定“课”,在”逻辑”的下拉中选定“>=”,此时在“有效性规则”下的框中有“课时 >=”,然后在此后面加上“学分*20”最后选定“确定”3. 打开“学生表”,点击“显示”菜单中的追加方式,便可对数据进行增加进入表“浏览”窗口,点击“删除”标记栏被逻辑的记录就加上了“删除”标记,如要恢复则点击“删除”标记栏;物理删除:先对删除的记录做逻辑删除,选择“表”“菜单”“彻底删除”,在“系统”中选“是”则记录将被彻底删除在“项目管理器”中选择要修改的表名,单击“修改”,进到“表设计器”进行修改4.在“浏览”窗口中选择“表”的转到记录,即可将指针移动到相应的记录上5.(1)在项目管理器学生成绩点击学生表→显示→表设计器→索引→在索引名处输入"学号"→类型输入主索引→排序为升序→确定(2)以同样的方法将成绩表和课程表进行设置(3)打开数据库设计器在学生表中找到学号→按住学号拖到成绩表中的学号→按住课程表中的课程号→拖到成绩表的课程号中永久关系建立6.(1)在项目管理器学生成绩中选中学生表→在命令窗口输入"Index on 学号To 文件名"→按 Enter键(2)在项目管理器学生成绩中选中学生表→在命令窗口输入"Index on学好TAG文件名→按 Enter键7.窗口数据工作期→别名处点击学生关系→别名处点击成绩→表达式生成器→确定→别名处点击课程关系→关闭窗口实验报告学院:专业:年级:姓名:学号:实验室号:计算机号:实验日期:年月日指导教师签字:成绩:报告退发 (订正、重做)实验四:查询与视图(验证性,6学时)一实验目的1.顺序查询和索引查询的基本方法2.求和,平均数、分类汇总等统计方法3.使用查询设计器建立查询4.用SQL命令完成各种数据库操作二实验内容1.掌握顺序查询命令Locate和索引查询命令seek的使用方法,并针对student表,举例说明之;2.掌握求和命令SUM、求平均值命令AVERAGE的使用方法;并针对student表按专业统计奖学金总和和按学生性别统计奖学金平均值;3.用查询设计器建立查询文件INQUA.QPR.根据表student.dbf和grade.dbf,查询“计算机”专业中男生的各门课程(即要按课程号分组)的平均成绩,显示字段依次为“课程号”和“平均成绩”两列,以两表中的学号字段进行内部连接,,并要求按课程号的升序显示;4.利用set relation 命令建立表间临时关系:子表为student.dbf,父表为grade.dbf,要使得当浏览父表的纪录时子表中相应的记录会跟着联动;并且在命令窗口中输入如下命令观察结果:brow field 学号,student.姓名,student.专业,课程号,成绩5.用SQL命令实现如下查询(在实验步骤中写出相应的命令,在调试和结果分析中对该命令的各个部分进行解释):(1)查询Student表中所有的学生信息;(2)查询Student表中计算机专业的学生的最高奖学金、最低奖学金和平均奖学金;(3)对Student表按专业统计奖学金,即查询按专业分组的各专业的奖学金总和(提示:select 专业,sum(奖学金) as 奖学金合计……)(4)从student表和grade表中查询学生的学号、姓名、课程号、成绩;(5)从student表、grade表和course表中查询学生的学号、姓名、课程名、成绩(提示:……from student,grade,course where student.学号=grade.学号 .and. grade.课程号=course.课程号);实验四:查询与视图1、(1)在学生表中查询定位1981年出生的学生记录在命令窗口输入:USE 学生LOCATE ALL FOR YEAR (出生日期)=1981?RECNO(),FOUND(),EOF()CONTINUE?RECNO(),FOUND(),EOF()(2)在学生表中索引查询金融专业学生的姓名在命令窗口输入:USE 学生INDEX ON 专业 TAG 专业索引SEEK”金融”?姓名2、(1)在学生表中统计计算机专业学生奖学金的总和(2)在学生表中统计男生的平均奖学金在命令窗口分别输入:sum奖学金for专业=”计算机”to奖学金总和average奖学金for性别=.t. to平均奖学金3、(1)在VFP中点击文件→新建→查询→新建文件;(2)在添加视图或视图对话框中选择“学生和“成绩”表→添加→在“连接条件”对话框中单击确定;(3)选择“字段”选项卡在“可用字段”列表框中选取“成绩.课程号”并添加到“选定字段”列表框中.单击“函数和表达式”右侧按钮→在“表达式生成器”对话框生成函数中输入“AVG(成绩.成绩)”→单击确定→在“字段”选项卡中添加到“选定字段”列表框中;(4)选择“筛选”选项卡→选定字段名“学生.专业”、条件“=”,并输入实例“计算机”、逻辑“AND”→选定字段“学生.性别”、条件“=”,并输入实例“.T.”;(5)选择“排序依据”选项卡→在“选定字段”列表框中选取“成绩.课程号”并添加到“排序条件”列表框中;(6)选择“分组依据”选项卡→在“选定字段”列表框中选取“成绩.课程号”并添到“分组字段”列表框;(7)在“查询”菜单中选择“查询去向”→在“查询去向”对话框中选择查询结果的输出去向→“浏览”;(8)单击常用工具栏上的“运行”按钮就可以得到查询结果;(9)保存查询,键入查询文件;(10)关闭查询设计器,结束查询设计4、在命令窗口输入:OPEN DATABASE学生成绩SELECT()UAE学生 ALL AS 学生INDEX ON 学号 TAG学号索引SELECT()USE 成绩SEL RELATION TO 学号 INTO 学生BROWSE FIELDS学号,学生.姓名,学生.专业,课程号,成绩5、(1)SELECT*FROM 学生(2)SELECT MAX(奖学金)AS 最高奖学金;MIN(奖学金)AS最低奖学金;AVG(奖学金)AS平均奖学金;FROM学生WHERE专业=“计算机”(3)SELECT专业,SUM(奖学金)AS奖学金合计FROM学生GROUP BY专业(4)SELECT学生.学号,学生.姓名,成绩.课程号,成绩.成绩FROM学生INNER JION成绩ON学生.学号=成绩.成绩.(5)SELECT学生.学号,姓名,成绩.课程名,成绩;FROM学生,成绩,课程;WHERE学生.学号=成绩.学号 AND 成绩.课程号=课时.课程号实验报告学院:专业:年级:姓名:学号:实验室号:计算机号:实验日期:年月日指导教师签字:成绩:报告退发 (订正、重做)实验五:程序设计基础(验证性,4学时)一实验目的1.选择结构程序设计2.循环结构程序设计3.过程和自定义函数的定义与调用二实验内容1.编写一段利用Messagebox()函数的程序,按钮类型为“是”、“否”、“取消”,图标为询问,默认按钮是“取消”,提示信息为“你真的要进行此操作吗?”,当按下“是”时,系统给出“你选择的是“是”;当按下“否”时,系统给出“你选择的是“否”;当按下“取消”时,系统给出“你选择的是“取消””.这些系统给出的信息也用Messagebox()函数实现,只要一个确定按钮,每次按确定后即退出该程序;2.应用循环结构的命令编写一段程序,运行时在VFP主窗口输出如下图形:****************3.IIF()函数的语法为:IIF(逻辑表达式,表达式1,表达式2)功能:如果逻辑表达式的值为真,则返回表达式1的值,否则返回表达式2的值.和以下程序等价的IIF()函数要如何写(提示:用Y=IIF(逻辑表达式,表达式1,表达式2)的形式表达,其中表达式1或表达式2也可以是IIF()函数)?IF X>0Y=1ELSEIF X=0Y=0ELSEY=-1ENDIFENDIF4.编写一个求面积的程序,其中求各种面积(三角形((底*高)/2)、梯形((上底+下底)*高/2)、圆(3.14*半径^2)、正方形(边长*边长)、矩形面积(长*宽))的过程用过程文件保存,通过主程序调用这些过程文件中的过程实现面积的求解;5.理解参数传递中的按值传递和按地址传递的区别:有以下两个主程序和一个外部过程(文件名为SUBPRG):第一个主程序如下(文件名为AA.PRG)CLEARA=”您好!”DO SUBPRG WITH A? A第二个主程序如下(文件名为BB.PRG)CLEARA=”您好!”DO SUBPRG WITH (A) &&与AV.PRG不同之处就是这里的括号)? A外部过程如下(文件名为SUBPRG):PARAMETER X? XX=”谢谢关照”RETURN分别运行上面的主程序,并察看其结果,说说结果为何不同.6.理解变量作用域:运行以下程序并分析结果.CLEARX=10Y=20DO SUB? X , YRETURNPROCEDURE SUBPRIVATE XX=100Y=30? X , YENDPROC7.编写一个求阶乘的自定义函数,并求1!+2!+3!+…+10!的值.三实验环境1.硬件:学生用微机、局域网环境2.软件:Windows 2000中文操作系统、Visual Foxpro 6.0四实验步骤(描述实验的具体操作步骤和方法,内容见后附的手写部分)五实验调试与结果分析(内容见后附的手写材料)六总结(内容见后附的手写材料)实验五:程序设计基础1、在VFP中点击新建程序新建文件在程序1中输入如下程序:ClearX=messagebox(“你真的要进行此操作吗?”,3+32+512)If x=6Messagebox(“你按下的是“是””)ElseIf x=7Messagebox(“你按下的是“否””)ElseMessagebox(“你按下的是“取消””)EndifEndif2、在程序中输入如下程序:ClearSt=”*******”K=4Do while k>=1?space(4-k)+left(st, 2*k-1)K=k-1End do5. 在程序中输入:Procedure pinput“请输入三角形的高度:”to shinput“请输入三角形的底长:”to sds=sd*sh/2?“三角形的面积:”??sReturnEndprocProcedure tinput“请输入梯形的上底:”to tuinput“请输入梯形的下底:”to tlinput“请输入梯形的高度: to ths=(tu+tl)*th/2?“梯形的面积:”??sReturnEndprocProcedure yinput“请输入圆的的半径:”to yrs=3.14*yr^2?“圆的面积:”??sReturnEndprocProcedure zinput“请输入正方形的边长:”to zx s=x*x?“正方形的面积:”??sReturnEndprocProcedure jinput“请输入矩形的长:”to jxinput“请输入矩形的边宽:”to jys=x*y?“矩形的面积:”??sReturnEndproc7、依次计算1!、2!、3!…..10!在程序中输入如下程序:ClearFor i=1 to10?”fac(“+str(1, 2)+”)=”,fac(i) Endforreturnfunction facparame ters nprivate ip=1for i=1 to n p=p*iendforreturn pendfuncs=0t=1for i=1 to 10 t=t*is=s+tendfor?”s=”, sreturn实验报告学院:专业:年级:姓名:学号:实验室号:计算机号:实验日期:年月日指导教师签字:成绩:报告退发 (订正、重做)实验六:表单控件和面向对象程序设计(综合性,6学时)一实验目的1.表单设计器的操作2.事件的编写3.表单向导的使用4.表单及常用控件(文本框、组合框、列表框、页框等等)的设计二实验内容1.(1)新建一个表,表名为:七律长征.dbf,表的字段只有一个:诗词,字段的长度、数据类型自己根据实际内容确定,每条记录的内容为该诗的一句;(注:诗词为:红军不怕远征难,万水千山只等闲.五岭巍峨腾细浪,乌蒙磅礴走泥丸.金沙水拍云崖暖,大渡桥横铁索寒.更喜岷山千里雪,三军过后尽开颜.)(2)新建一个表单,外形如图:Form1的标题为七律长征;label1的标题为“请背诵毛主席的诗《七律长征》”;label2的标题为“忘记时可点击以下按钮将给出提示”;文本框一个,要求首次运行时不能出现任何诗句(提示:采用在Form1的init 事件中编写如下代码的方法加以实现:go bottom↙ skip,这里↙表示按下Enter键);用命令按钮组做四个命令按钮,第一个按钮的标题是“首句”,第二个为“上一句”,第三个为“下一句”,第四个为“末句”;(3)要求运行时点击“首句”按钮则文本框会出现该诗的第一句,点击“上一句”按钮,则文本框显示当前诗句的上一句(如果记录指针指向第一条记录,则画面上要给出提示:“本局是首句”),点击“下一句”按钮,则文本框显示当前诗句的下一句(如果记录指针指向最后一条记录,则画面上要给出提示:“本局是末句”),点击“末句”按钮则文本框会出现该诗的最后一句.表单保存为:七律长征.scx.2.设计如图所示的表单:要求如下:(1)运行时,当按下按钮1时,按钮1的Enabled属性变为.F.,按钮2的Enabled属性变为.T.;反过来,当按下按钮2时,按钮2的Enabled属性变为.F.,按钮1的Enabled属性变为.T..(2)根据对象引用的规则,要采用到如下这些引用:this.enabled,mandx.enabled(x代表1或2),mandx.enabled(x代表1或2)(3)指出容器控件及容器嵌套层次3.通过表单向导,建立一个一对多表单,以查询学生选修的课程和成绩:其中,父表为student.dbf,子表为grade.dbf.4.新建表单cjcx.scx,界面如下图,要求如下:(1)表单Form1的数据源是grade.dbf,表单上有标签、文本框、按钮、表格等控件,表格中共三列,如上图所示;(2)该表单完成按学号的查询,请编写适当代码实现在点击“查询”按钮后,表格Grid1中显示对应查询学号的各门课程的成绩,文本框Text2中显示对应的平均成绩.5.设计一个迎接2008年北京奥运会倒计时的表单界面如下:Form1的标题为“2008北京奥运会倒计时”,运行时居中;Label1的标题为“今天距北京奥运会开幕还有”,字体为宋体,字号为16,加粗;Text1为只读,字号为16,加粗;Label2标题为“天”,字体为宋体,字号为16,加粗.运行时直接将显示距2008北京奥运会开幕所剩的天数.(提示:2008北京奥运会开幕的日期为2008年8月8日,利用两日期相减,可求出这两个日期之间的天数的方法计算,可将该计算过程写在Form1的Init事件中.思考一下:如果将该过程写在Form1的Load事件中行不?)6.设计一个时钟,画面如下:Form1的标题为“日期时间”,运行时居中;Label1的标题为 =ttoc(datetime()) ,注意要有等号(其中TTOC()函数是将日期时间类型的数据转换成字符型的数据的函数);在表单上添加一个时钟控件;要求运行时时钟会按秒变化.(提示:在时钟控件的Timer事件中编写如下过程:bel1.caption=ttoc(datetime()),Timer1控件的Interval属性设为1000.该属性是指定调用计时器事件的间隔,以毫秒为单位,1000即为1秒,正是题目所要求的)7.表单Form1上有一朵花的图像,单击表单的空白处,该图象将移到单击处.请编写相应的事件代码.8.设计如下的表单:从组合框中选择用户,组合框的数据源为account.dbf的“user”字段;输入密码,输入时不能显现出密码,只能用*代替;单击“确定”时,如果密码正确,则弹出“欢迎登录”消息框,否则弹出“口令不正确,请再试一次”消息框,如果口令三次都不正确,则自动退出该表单(每个用户的密码已经事先存放在account.dbf表的password字段中).account.dbf的内容:三实验环境3.硬件:学生用微机、局域网环境4.软件:Windows 2000中文操作系统、Visual Foxpro 6.0四实验步骤(描述实验的具体操作步骤和方法,内容见后附的手写部分)五实验调试与结果分析(内容见后附的手写材料)六总结(内容见后附的手写材料)。
实验5 sql语句练习——图书馆数据库答案
实验5sql语句练习——图书馆数据库实验5 sql语句练习——图书馆数据库实验目的(1)了解SQL Server数据库的逻辑结构和物理结构;(2)了解表的结构特点;(3)了解SQL Server的基本数据类型;(4)了解空值概念;(5)学会在企业管理器中创建数据库和表;(6)学会使用T-SQL语句创建数据库和表。
(7)学会使用T-SQL语句更新数据。
(7)学会使用T-SQL语句创建多种查询。
实验准备首先要明确,能够创建数据库的用户必须是系统管理员,或是被授权使用CREATE DATABASE语句的用户。
其次创建数据库必须要确定数据库名、数据库大小(最初的大小、最大的大小、是否允许增长及增长方式)和存储数据库的文件。
然后,确定数据库包含哪些表,以及所包含的各表的结构,还要了解SQL Server的常用数据类型,以创建数据库的表。
此外还要了解两种常用的创建数据库、表的方法,即在企业管理器中创建和使用T-SQL的CREATE DA TABASE语句。
实验内容假设有5本书设有一图书馆数据库,其中包括3个表,即图书表、读者表和借阅表。
三个表的结构如图:列名说明数据类型约束说明书号图书唯一的编号定长字符串,长度为10 主键书名图书的名称定长字符串,长度为50 空值作者图书的编著者名定长字符串,长度为30 空值出版社图书的出版社定长字符串,长度为30 空值单价出版社确定的图书的单价浮点型,Float 空值读者表结构假设有10位读者列名说明数据类型约束说明读者号读者唯一的编号定长字符串,长度为10 主键姓名读者姓名定长字符串,长度为8 非空值性别读者性别定长字符串,长度为2 非空值办公电话读者办公电话定长字符串,长度为8 空值部门读者所在部门定长字符串,长度为30 空值列名说明数据类型约束说明读者号读者的唯一编号定长字符串,长度为10 外码,引用读者表的主键书号图书的唯一编号定长字符串,长度为20 外码,引用图书表的主键借出日期借出图书的日期定长字符串,长度为8 非空值归还日期归还图书的日期定长字符串,长度为8 空值主键为:(读者号,图书号)(1)用Sql语句创建图书馆数据库Create database Lab05(2)用Sql语句创建上述3个表create table book(bookId char(10)primary key,bookName varchar(50),bookWriter varchar(30),bookPublish varchar(30),bookPrice float)create table reader(readerId char(10) primary key,readerName varchar(8)not null,readerSex char(2)not null,readerOfficeTel char(8),readerDepartment varchar(30))create table 借阅表(readerId char(10),bookId char(10),checkOutTime char(8),checkInTime char(8),primary key(readerId,bookId),foreign key (readerId) references reader(readerId),foreign key (bookId) references book(bookId),)(3)基于图书馆数据库的3个表,用sql语言完成一下操作:1)为图书表增加一列“ISBN”,数据类型为CHAR(10)alter table book add ISBN char(10)2)为刚添加的ISBN列增加缺省值约束,约束名为ISBNDEF,缺省值为‘7111085949’ALTER TABLE book ADD CONSTRAINT ISBNDEF DEFAULT ('7111085949') FOR ISBN 3)删除图书表中ISBN列增加的缺省值约束alter table book drop ISBNDEF4)删除图书表中新增的ISBN列ALTER TABLE book DROP COLUMN ISBN5)查询全体图书的图书号、书名、作者、出版社和单价select bookId,bookName,bookWriter,bookPublish,bookPricefrom book6)查询全体图书的信息,其中单价打8折,并设置该列的别名为‘打折价’select bookId,bookName,bookWriter,bookPublish,(bookPrice*0.8) as打折价from book7)显示所有借阅者的读者号,并去掉重复行select distinct readerIdfrom 借阅表8)查询所有单价在20—30元之间的图书信息select bookId,bookName,bookWriter,bookPublish,bookPrice,ISBNfrom bookwhere bookPrice between 20 and 309)查询机械工业出版社、科学出版社、人民邮电出版社的图书信息select bookId,bookName,bookWriter,bookPublish,bookPrice,ISBNfrom bookwhere bookPublish in('机械工业出版社' , '科学出版社','人民邮电出版社') 10)查询既不是机械工业出版社、人民邮电出版社、也不是科学出版社出版的图书信息select bookId,bookName,bookWriter,bookPublish,bookPrice,ISBNfrom bookwhere bookPublish not in('机械工业出版社' , '科学出版社','人民邮电出版社') 11)查询姓名的第二个字符是’建’,并且只有2个字的读者的读者号及姓名select readerId,readerNamefrom readerwhere readerName like '_建'12)查询姓名不是以‘王’、‘张’或‘李’开头的所有读者的读者号及姓名【方式一】查询出来的结果有问题!select readerId,readerNamefrom readerwhere readerName not in ('王%','张%','李%')【方式二】select readerId,readerNamefrom readerwhere readerName not in(select readerNamefrom readerwhere readerName like'王%'or readerName like'张%'or readerName like'李%' )13)查询无归还日期的借阅信息select book.bookId,book.bookName,reader.readerId,reader.readerName,借阅表.checkOutTime as 借书时间,借阅表.checkInTime as 还书时间from 借阅表,book,readerwhere 借阅表.bookId = book.bookIdand 借阅表.readerId = reader.readerIdand 借阅表.checkInTime is null14)查询机械工业出版社图书的平均价格、最高价、最低价select avg(bookPrice)as 平均价格,max(bookPrice) as 最高价,min(bookPrice) as 最低价from bookwhere bookPublish = '机械工业出版社图书'15)查询读者的基本信息及借阅情况select reader.readerId,reader.readerName ,借阅表.bookId,book.bookName,book.bookPublishfrom reader , 借阅表,bookwhere reader.readerId = 借阅表.readerIdand book.bookId = 借阅表.bookIdand 借阅表.readerId ='1000000007'16)查询至少借阅过1本机械工业出版社出版的图书的读者的读者号、姓名、书名及借阅本数,并按借阅本书多少降序排列select r.Rno,Rname,count(borrow.Bno) 借阅册数from borrow,b,rwhere b.bno=borrow.bno and press='机械工业出版社' and borrow.rno=r.rnogroup by r.rno,Rnameorder by count(borrow.Bno) desc17)查询与‘王小平’的办公电话相同的读者的姓名/* 使用“自连接方式”求解*/select b.readerName,b.readerId,a.readerOfficeTelfrom reader a, reader bwhere a.readerName like '王小平'and a.readerOfficeTel = b.readerOfficeTel/*18)查询所有单价小于平均单价的图书的书号、书名及出版社select bookId,bookName,bookPublish,bookPricefrom bookwhere bookPrice <(select avg(bookPrice) as averagePricefrom book)19)查询‘科学出版社’的图书单价比‘机械工业出版社’最高单价还高的图书书名及单价select bookId,bookName,bookPublish,bookPricefrom bookwhere bookPublish like '科学出版社' and bookPrice >(select max(bookPrice)from bookwhere bookPublish = '机械工业出版社')20)查询‘科学出版社’的图书中单价比‘机械工业出版社’最低单价高的图书书名及单价select bookId,bookName,bookPublish,bookPricefrom bookwhere bookPrice <(select max(bookPrice)from bookwhere bookPublish = '机械工业出版社')and bookPublish like '科学出版社'21)创建机械工业出版社图书的视图CREATE VIEW 机械工业出版社ViewASSELECT bookId,bookName,bookPriceFROM bookWHERE bookPublish = '机械工业出版社'22)创建一个借阅统计视图,名为CountView,包含读者的读者号和总借阅本数CREATE VIEW CountViewASSELECT readerId as 读者号,count(*) as 总借阅本数FROM 借阅表GROUP BY readerId23)创建一个借阅统计视图,名为CountView10,包含借阅总本数打于2的读者号和总借阅本数CREATE VIEW 借阅统计视图ViewASSELECT readerId as 读者号,count(*) as 总借阅本数FROM 借阅表GROUP BY readerIdHA VING COUNT(*) >2。
c语言第二部分 实验内容
三、实验内容
1.阅读并输入如下程序,查看运行结果,并分析其功能。 # include "stdio.h" main ( ) { int a, b, c, s ; a = 5; b = 4; c = 6; s = (a+b+c)/ 3; printf (" a = %d, b = %d, c = %d \n, s = %d ", a, b, c, s) ; }
C语言程序设计实验·设计·习题
2.下面是一正方形面积的计算程序,通过输入不同的边长,求 出不同的面积。输入此程序并试运行。 注意:程序中含有输入语句,运行时将会停留在另一窗口中等待 输入数据。 # include"stdio.h" main ( ) { int r, s ; scanf (" %d ",&r) ; s= r*r; printf (" s = %d ", s) ; } 3.在Turbo C中调试并修改以下C程序中的错误。
C语言程序设计实验·设计·习题
三、实验内容
1.改正书中所给的相关程序的错误。 2.程序填空。 (1)按程序中注释的要求填输出语句。 (2)要求运行时必须按如下格式输入数据,请填空。 3.程序编译成功,只是说明没有语法错误,但并不一定能得出 正确结果,因为有可能存在编程逻辑错误。这时,我们需要跟踪变量、 调试程序,找出问题所在。调试的一般方法有: (1)单步跟踪:选择Run菜单下的Step命令,也可以直接按快捷键 F7(可跟踪进函数、过程)或快捷键F8,这样可以每条语句单独运行。 (2)运行至光标处:先将光标移至目标语句,然后选择Run菜单下 的Go to Cursor命令,或按快捷键F4,这样可以连续运行从开始到光 标处的一段程序。
实验5、空间分析基本操作
实验五、空间分析基本操作一、实验目的1. 了解基于矢量数据和栅格数据基本空间分析的原理和操作。
2. 掌握矢量数据与栅格数据间的相互转换、栅格重分类(Raster Reclassify)、栅格计算-查询符合条件的栅格(Raster Calculator)、面积制表(Tabulate Area)、分区统计(Zonal Statistic)、缓冲区分析(Buffer) 、采样数据的空间内插(Interpolate)、栅格单元统计(Cell Statistic)、邻域统计(Neighborhood)等空间分析基本操作和用途。
3. 为选择合适的空间分析工具求解复杂的实际问题打下基础。
二、实验准备预备知识:空间数据及其表达空间数据(也称地理数据)是地理信息系统的一个主要组成部分。
空间数据是指以地球表面空间位置为参照的自然、社会和人文经济景观数据,可以是图形、图像、文字、表格和数字等。
它是GIS所表达的现实世界经过模型抽象后的内容,一般通过扫描仪、键盘、光盘或其它通讯系统输入GIS。
在某一尺度下,可以用点、线、面、体来表示各类地理空间要素。
有两种基本方法来表示空间数据:一是栅格表达; 一是矢量表达。
两种数据格式间可以进行转换。
空间分析空间分析是基于地理对象的位置和形态的空间数据的分析技术,其目的在于提取空间信息或者从现有的数据派生出新的数据,是将空间数据转变为信息的过程。
空间分析是地理信息系统的主要特征。
空间分析能力(特别是对空间隐含信息的提取和传输能力)是地理信息系统区别与一般信息系统的主要方面,也是评价一个地理信息系统的主要指标。
空间分析赖以进行的基础是地理空间数据库。
空间分析运用的手段包括各种几何的逻辑运算、数理统计分析,代数运算等数学手段。
空间分析可以基于矢量数据或栅格数据进行,具体情况要根据实际需要确定。
空间分析步骤根据要进行的空间分析类型的不同,空间分析的步骤会有所不同。
通常,所有的空间分析都涉及以下的基本步骤,具体在某个分析中,可以作相应的变化。
《C语言程序设计》实验报告(实验1-12)
《C语言程序设计》实验报告(实验1-12)《C语言程序设计》实验报告20XX~20XX学年第二学期班级姓名学号指导教师实验一实验项目名称:C程序的运行环境和运行C程序的方法所使用的工具软件及环境:Visual C++ 一、实验目的:1.了解在Visual C++ 环境下如何xx、编译、连接和运行一个C程序; 2.通过运行简单的C程序,初步了解C 源程序的特点。
二、预习内容:教材《C语言程序设计教程》第1章。
三、实验内容:1. 在Visual C++ 环境下输入并运行下面的程序:#include int main( ) {printf("This is a C program.\\n"); return 0; }2. 在Visual C++ 环境下输入下面的程序(有语法错误),编译、连接、调试该程序,直至程序无语法错误,然后运行程序,并观察分析运行结果。
#include int main( ) {int a,b,sum a=3; b=4; sun=a+b;print(“%d+%d=%d\\n”,a,b,sum); return 0; }四、实验结果:1. 运行结果(或截图):This is a C program.Press any key to continue- 1 -2. (1) 改正后的源程序:#include int main( ) {int a,b,sum; a=3; b=4; sum=a+b;printf(\ return 0; }(2) 运行结果(或截图):3+4=7五、思考题:1. 一个C程序上机的步骤有哪些?答:上级输入与xx源程序—对原程序进行编译–与库函数链接–运行可执行的目标程序。
2. 组成C程序的基本单位是函数,一个函数包括哪几个部分?答:一个函数包括两部分:分别为函数头或函数首部和函数体。
成绩指导教师签名实验二实验项目名称:数据类型、运算符和表达式所使用的工具软件及环境:Visual C++ 一、实验目的:1.掌握整型、实型与字符型这三种基本类型的概念;2.掌握常量及变量的使用方法;3. 掌握基本算术运算符及其表达式的使用方法;4. 掌握++、--运算符、赋值运算符及其表达式的使用方法。
C语言程序设计实验答案解析
-前言-/*非常感谢度娘以及各位网上C语言高手的支持,才能让敝人完成此文档的整理。
本文档集合了本人、度娘、众网友的力量,其中代码的正确率约为90%(不正确的有标注)。
为回报度娘及众网友的帮助,本文档免费下载。
*//*配“电子科技大学出版社(周信东主编)”的C语言程序设计实验*//*努力吧,骚年以及学妹们!*//*整理ed by 口玉刀一 of GUET.*/=====================实验一 C语言程序初步=====================1.----------------------------已知a=5,b=4,c=6,求出s并换行#include"stdio.h"main(){int a,b,c,s;a=5;b=4;c=6;s=(a+b+c)/3;printf("a=%d,b=%d,c=%d\n,s=%d",a,b,c,s);}2.-------------------------------输入一个数字求他的平方#include<stdio.h>main(){int r,s;scanf("%d",&r);s=r*r;printf("s=%d\n",s);}3.--------------------------------(1)#include<stdio.h>main(){printf(" *\n");printf("***\n");printf(" *\n");}(2)#include<stdio.h>{int v;int a,b,c; //a,b,c aer sides,v is volume of cubea=3;b=3;c=5;v=a*b*c;printf("v=%d\n",v);}=================================实验二数据类型、运算符和表达式=================================1.(1)--------------------------------------------------//总觉得打印结果怪怪的,DO YOU THINK SO?main(){char s1='3',s2='4',s3='5';int c1=101,c2=102;printf("3%c\t4%c\t5%c\n",s1,s2,s3); //3%c为输出3和%cprintf("s1=%d\ts2=%d\ts3=%d\n",s1,s2,s3);//注意哦,s1,s2,s3是char!而%d:输入输出为整形 %ld 长整型 %hd短整型 %hu无符号整形 %u %lu%s:输入输出为字符串 %c字符%f:输入输出为浮点型 %lf双精度浮点型printf("c1=%d\t~%c\n",c1,c1); //换码符'\t',表示水平制表位(horizeontal tab),它的作用是将光标移到最接近8的倍数的位置printf("c2=%d\t~%c\n",c2,c2); //注意c1,c2的类型}(2)//运行结果为8.300000 %是求余数先运算x-y,把结果转换为int型的有利于四则运算main(){float x=8.3,y=4.2,s;int a=7;s=x+a%5*(int)(x-y)%2/3;printf("s=%f",s);}main(){int i,j,p,q;i=3;j=6;p=i++;q=--j;printf("%d,%d,%d,%d\n",i,j,p,q);p=i--+3;q=++j-4;printf("%d,%d,%d,%d",i,j,p,q);}(4)main(){int m=15,n=9,s;m*=3+2;printf("%d",m);n+=n-=n*=n;printf("%d",n);printf("%d\n",(s=6*5,m+n+s));printf("%d\n",s);}2.---------------------------------------------------- (1)#include<stdio.h>#define MM 40main(){int a=3,b=6,t;t=MM/(3+6);printf("%d%d",t,MM);}//原来printf语句打成了print,printf语句中少了一个%d.(2)#include<stdio.h>{int m;double x;scanf("%d",&m);x=3.14*m*m;printf("%f",x);}//注意分号,%f转义(3)main(){int m=8,n=5;printf("%d",m*=m-n);printf("%d,%d,%d",m=m+1,n-1,m+n);}3.---------------------------------------------------- main(){int a=9,b=5;a+=b;b=a-b;a-=b;printf("%d%d",a,b);}4.---------------------------------------------------- //4.输入a,b,c三个变量,计算数学公式(a*b)/cmain(){int a,b,d;float s,c;scanf("%d%d%f",&a,&b,&c);d=a*b;s=d/c;printf("%f",s);}=================================实验三顺序结构和输入输出方法=================================1.---------------------------------------------------(1)main(){int m=345,t;float n=2.56;t=2.56*100;printf("m=%d,n*100=%d\n",m,t);}(2)main(){int a,b,c,s,v;scanf("%d%d%d",&a,&b,&c);s=a*b;v=a*b*c;printf("%d,%d,%d\n",a,b,c);printf("s=%d,v=%d\n",s,v);}2.----------------------------------------------------(1)main(){int m,n;float x=3.5,y=6.2;scanf("%d,%d",&m,&n);printf("%6d,%6d",m,n); /*每个数的输出宽度为6,两个数之间逗号建个。
实验报告实验2 数据类型与表达式
实验报告_实验 2 数据类型与表达式(学生学号__姓名)一、实验目的:1、熟悉基本数据类型(int、char、float、double)占用的字节数和存储形式,能够定义基本数据类型的变量,使用这些类型的数据;2、掌握字符数据的存储形式及其与整数的运算,能正确理解“字符数据”与“字符串”的区别与联系,熟悉常用转义字符的使用;3、熟悉字符常量与一般常量的定义、使用;4、掌握算术运算符(重点是/和%)、自增(++)和自减(--)运算符的使用,能够构建正确的表达式,并输出其结果;5、理解不同类型数据之间运算时的类型转换规则,掌握强制类型转换的方法。
二、实验内容1、(基础题)用sizeof运算符可以得到各种类型数据占用存储单元长度,利用数据间的关系和不同控制符,可以得到查看数据的存储形式。
回答下列问题:(1)sizeof运算符如何使用?它的操作数可以是类型关键字吗?答:可用sizeof(类型名或数据) 来获取该类型数据所占字节数。
可以。
(2)整数的占用长度与其数值大小有关吗?答:有。
(3)字符串中’\’’、’\n’、’\t’的功能各是什么?答:单引号,换行,水平制表。
(4)字符串的一个英文字母占几个字节?一个汉字占几个字节?尾部还有什么字符?答:1个字节;4个字节;结束符‘\0’。
(5)整数的存储形式是什么?答:二进制补码。
2、(基础题)字符数据以整数方式(ASCII)存储的,可以与整数进行+、-运算,既可以用“字符”方式输出,也可以用“整数”方式输出。
回答下列问题:(1)字符数据在内存中是以什么方式存储的?答: ASCII码。
(2)字符数据与整型数据能相互赋值、运算吗?如何以“整数”方式和“字符”方式输出字符?答:能,整数:”%d”,字符:”%c”。
(3)大小写字母的ASCII有什么关系?(如:’G’与’g’)答:ASCII码相差32。
(4)如何由’A’、’a’分别得到后续的大写字母、小写字母?答:’A+1’,’a+1.’(5)字符间的距离如何计算?由一字符能分别得到ASCII比它小5、大10的两个字符吗?若能,如何得到?答:两个ASCII码绝对值相减,’a’-5,’a’+10.(6)说明“C”与’c’的联系与区别,能否写成”dog”、’boy’?答:”C”字符串,’c’字符,能.3、(基础题)符号常量与常变量(即用const关键字定义)的使用:回答问题:(1)写出用符号常量定义PI的格式;#define PI 3.14(2)写出用“常变量”方式定义PI值的语句。
实验5组合逻辑电路的设计
实验5 组合逻辑电路的设计学生使用指导书实验项目名称:组合逻辑电路的设计实验学时:2实验要求:必做实验类型:设计型大纲要求:通过实验,掌握使用中、小规模集成电路来设计组合电路是最常见的逻辑电路的一般方法;通过实验,验证设计正确性。
一、实验目的掌握组合逻辑电路的设计与测试方法二、实验原理1、组合逻辑电路设计流程使用中、小规模集成电路来设计组合电路是最常见的逻辑电路。
设计组合电路的一般步骤如图5.1所示。
根据设计任务的要求建立输入、输出变量,并列出真值表。
然后用逻辑代数或卡诺图化简法求出简化的逻辑表达式。
并按实际选用逻辑门的类型修改逻辑表达式。
根据简化后的逻辑表达式,画出逻辑图,用标准器件构成逻辑电路。
最后,用实验来验证设计的正确性。
2、组合逻辑电路设计举例要求:使用“与非”门设计一个表决电路。
当四个输入端中有三个或四个为“1”时,输出端才为“1”。
设计步骤:根据题意列出真值表,如表5.1所示,再填入表决器卡诺图中,如表5.2所示。
B 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1C 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1Z 0 0 0 0 0 0 0 1 0 0 0 1 0 1 1 1DA00 01 11 10BC0001 111 1 1 110 1由卡诺图化简,得出逻辑表达式,并演化成“与非”的形式如下:Z=ABC+BCD+ACD+ABD根据逻辑表达式画出用“与非门”构成的逻辑电路如图5.2所示。
图5.2 表决电路逻辑图线路连接如下:实验线路选择2片74ls10(U1使用了全部的三个门,也可以每片使用2个门,避免连线拥塞);一片74LS20A、B、C、D四个输入引脚连接4个开关量输出开关(K3~K0);输出接LED指示。
实验验证逻辑功能:按上图接线,输入端A、B、C、D接至逻辑开关输出插口,输出端Z接逻辑电平显示输入插口,按真值表(自拟)要求,逐次改变输入变量,测量相应的输出值,验证逻辑功能,与表5.2进行比较,验证所设计的逻辑电路是否符合要求。
C语言程序设计 上机实验指导与习题 参考答案
C 语言程序设计上机实验指导与习题参考答案仅供教师内部参考华南农业大学目录上机实验1实验1 C 语言程序初步1一实验目的1二实验内容1实验2 基本数据类型运算和表达式3一实验目的3二实验内容3实验3 基本输入与输出5一实验目的5二实验内容5实验4 选择结构程序设计4一实验目的4二实验内容4实验5 循环结构程序设计一9一实验目的9二实验内容9实验6 循环结构程序设计二15一实验目的15二实验内容15实验7 数组17一实验目的17二实验内容17实验8 字符数组的应用22一实验目的22二实验内容22实验9 函数的基本应用24 一实验目的24二实验内容24实验10 指针与结构体26一实验目的26二实验内容26*实验11 链表29一实验目的29二实验内容29*实验12 文件32一实验目的32二实验内容32上机实验实验1 C 语言程序初步一实验目的1了解所用的计算机系统的基本操作方法学会独立使用该系统2 了解在该系统上如何编辑编译连接和运行一个C 程序3 通过运行简单的C 程序初步了解C 程序的特点4 在教师的指导下学会使用JudgeOnline 实验系统二实验内容1 运行第一个C 程序[题目The first C Program]将下列程序输入TC 或VC编译连接和运行该程序void mainprintf "The first C Program\n"[具体操作步骤]以Turbo C 上的操作为例1Windows 进入后按照第一章中介绍的方法进入Turbo C2在编辑窗口中输入程序3保存程序取名为a1c4按照第一章中介绍的方法编译连接和运行程序2 在JudgeOnline 系统中提交实现了计算ab 功能的程序[题目1001计算ab]由键盘输入两个整数计算并输出两个整数的和实现该功能的程序如下void mainint a bscanf "dd" a b1 printf "d" a b1在程序编辑窗口中输入程序2保存程序取名为a2c3按照前二章中介绍的方法编译连接和运行程序4在程序运行过程中输入15 30↙↙表示输入回车符5 如果看到如下输出结果则表明1530 的结果正确如果得不到如下结果则需检查并更正程序456 按照第三章中介绍的方法进入JudgeOnline 实验系统7 显示题目列表点击题号为1001题名为计算ab的题目8 查看完题目要求后点击页面下端的sumbit 参照第二章提交程序的方法提交程序a2c9 查看评判结果如果得到accepted则该题通过否则返回第一步检查程序是否正确2实验2 基本数据类型运算和表达式一实验目的1掌握C 语言数据类型熟悉如何定义一个整型和实型的变量以及对它们赋值的方法2 掌握不同的类型数据之间赋值的规3 学会使用C 的有关算术运算符以及包含这些运算符的表达式特别是自加和自减-- 运算符的使用4 进一步熟悉C 程序的编辑编译连接和运行的过程二实验内容1 变量的定义[题目1117变量定义按要求完成程序]下面给出一个可以运行的程序但是缺少部分语句请按右边的提示补充完整缺少的语句void mainint a b 定义整型变量a 和bint i j 定义实型变量i 和ja 5b 6i 314 j iabprintf "a db di fj f\n" a b i j[具体操作步骤]1将代码补充完整2在TC 或VC上运行通过3在JudgeOnline 实验系统上提交2 赋值表达式与赋值语句[题目1118赋值表达式与赋值语句写出程序运行结果] 阅读下面程序写出运行结果void mainfloat aint b cchar d ea 35b ac 330d c3e \\printf "fddcc" abcde运行结果为35000003330J\[提示]赋值语句具有类型转换的功能但可能会改变数据3 基本运算[题目1119基本运算写出程序运行结果]阅读下面程序写出运行结果void mainint a b cfloat d 15 e fa 357b 1510c be 1510f d10printf "dddfff" abcdef运行结果为0211500000010000001500000[提示]除法分整除与普通除法之分4实验3 基本输入与输出一实验目的1熟练掌握putchargetcharprintf scanf 函数的使用方法2 掌握各种类型数据的输入输出的方法能正确使用各种格式转换符二实验内容[题目1126字符的输入与输出]编程实现由键盘输入一个字符后在屏幕上输出该字符[第一组自测数据] [第二组自测数据] [键盘输入] [键盘输入]a↙↙[正确输出] [正确输出]a参考程序include "stdioh"mainchar chch getcharputchar ch[题目1127计算加法]编程实现由键盘输入一个加法式输出正确的结果两个加数均为整数[第一组自测数据] [第二组自测数据] [键盘输入] [键盘输入]1020 ↙- 1560↙[正确输出] [正确输出]30 45参考程序include "stdioh"mainint a bscanf "dcd" abprintf "d" ab[题目1014求圆面积]由键盘输入圆半径r 请计算该圆的面积注取314159结果保留两位小数位另外程序只要能对r 在0 到10000 范围的情况输出正确答案即可[第一组自测数据] [键盘输入]5652 ↙[键盘输入][正确输出] 112↙1335502 [正确输出][第二组自测数据] 39408[提示]结果保留两位小数可采用printf 函数的格式控制字符来实现参考程序include "stdioh"mainfloat arearscanf "f"rarea 314159rrprintf "02f"area2[题目1015计算摄氏温度值]从键盘输入一个华氏温度值要求按格式输出其对应的摄氏温度值精确到小数点后两位数学公式描述为5C F 329[第一组自测数据] [第二组自测数据][键盘输入] [键盘输入]100↙100↙[正确输出] [正确输出]3778 3778[提示]注意公式中的除为普通除法参考程序includevoid mainfloat fcscanf "f"fc 509 f-32printf "2f"c3实验4 选择结构程序设计一实验目的1了解C 语言表示逻辑的方法以0 代表假以非0 代表真2 学会正确使用逻辑运算符和逻辑表达式3 熟练掌握if 语句和switch 语句4 结合程序掌握一些简单的算法二实验内容[题目1120判断点是否在圆]由键盘输入一个点的坐标要求编程判断这个点是否在单位圆上点在圆上输出Y 不在圆上输出N 使用小数点后3 位精度进行判断[第一组自测数据] [第二组自测数据][键盘输入] [键盘输入]07070707 ↙8>0505↙[正确输出] [正确输出]Y N[提示] 1平面上的点与圆的关系分为在圆内在圆上在圆外三种本题要求判断是否在圆上2判断两实数相等采用判断这两实数的差的绝对值小于规定误差精度本题为0001 的方法实现参考程序include "stdioh"include "mathh"void mainfloat abscanf "ff"abif fabs aabb-1 1e-3printf "Y\n"else printf "N\n"[题目1017求数的位数]由键盘输入一个不多于9 位的正整数要求输出它是几位数[第一组自测数据] [第二组自测数据][键盘输入] [键盘输入]349213 ↙10000↙[正确输出] [正确输出]6 5[提示]划定一位数二位数九位数的范围后用if else if else 语句实现判断4参考程序mainint nplacescanf "ld"nif n 99999999 place 9else if n 9999999 place 8else if n 999999 place 7else if n 99999 place 6else if n 9999 place 5else if n 999 place 4else if n 99 place 3else if n 9 place 2else place 1printf "ld\n"place[题目1018数的排序]由键盘输入三个整数a b c按从小到大的顺序输出这三个数[第一组自测数据] [第二组自测数据] [键盘输入] [键盘输入]654590 ↙963 ↙[正确输出] [正确输出]456590 369参考程序includemainint abctscanf "ddd"abcif a b t aa bb tif a c t aa cc tif b c t bb cc tprintf "ddd"abc[题目1016字符变换]由键盘输入5 个字符将其中的大写字母变成小写其它类型的字符不变并按输入顺序逐个输出[第一组自测数据] [第二组自测数据] [键盘输入] [键盘输入]ApPLe ↙aB 5 ↙[正确输出] [正确输出]apple ab 5[提示]下面代码实现由键盘读入一个字符并按题意处理后输出char aa getcharif a A a Z a a32putchar a5现在题目要求处理5 个字符怎么做呢请自己思考参考程序includemainchar abcdescanf "ccccc"abcdeif a Za A a a32if b Zb A b b32if c Zc A c c32if d Zd A d d32if e Ze A e e32printf "ccccc"abcde[题目1019数的整除]由键盘输入5 个整数逐个判断它们能否被27 整除能的输出YES不能的输出NO 注意输出时一个判断结果占一行5 个数的判断共占5 行[第一组自测数据] [第二组自测数据][键盘输入] [键盘输入]8 27 17577 325 54 ↙8 27 17577 325 54 ↙[正确输出] [正确输出]NO NOYES YESYES YESNO NOYES YES[提示]整除即除得余数为0参考程序include "stdioh"mainint abcdescanf "d d d d d"abcdeif a27 0 printf "YES\n" else printf "NO\n"if b27 0 printf "YES\n" else printf "NO\n"if c27 0 printf "YES\n" else printf "NO\n"if d27 0 printf "YES\n" else printf "NO\n"if e27 0 printf "YES\n" else printf "NO\n"[题目1020正负奇偶判断]由键盘输入非零整数x 判断该数正负正数输出positive 负数输出negative 接着判断该数的奇偶性奇数输出odd偶数输出even[第一组自测数据] negative[键盘输入] odd-43 ↙[第二组自测数据][正确输出] [键盘输入]698 ↙positive[正确输出] even参考程序include "stdioh"mainint nscanf "d"nif n 0 printf "negative\n"else printf "positive\n"if n2 0 printf "even\n"else printf "odd\n"[题目1023简单计算器]下面程序是实现一个简单的运算器保留两位小数点如果由键盘输入1050计算机可以输出结果6000如果输入8 *6计算机输出4800如果输入204 计算机输出500 如果输入8-6计算机输出200 请在空处填上适当的代码运行通过后并提交include "stdioh"void mainfloat abcscanf "fcf"switch opcasecase - _case _case __default printf "error"returnprintf "result " c[第一组自测数据] [第二组自测数据][键盘输入] [键盘输入]452↙501-23 ↙[正确输出] [正确输出]90 27107参考程序includeint mainchar opscanf "fcf"aopbswitch opcase c abbreakcase -c a-bbreakcase c abbreakcase c abbreakdefaultprintf "error"breakprintf "result 2f"c8实验5 循环结构程序设计一一实验目的1熟悉掌握用while 语句do-while 语句和for 语句实现循环的方法2 掌握在程序设计中用循环实现一些常用算法如穷举迭代递推等二实验内容[题目1024计算阶乘]输入正整数n计算n 结果用长整型数表示注n 123n[第一组自测数据] [第二组自测数据][键盘输入] [键盘输入]5 ↙8 ↙[正确输出] [正确输出]120 40320参考程序includemainlong in 1ascanf "ld"afor i 1i ai n niprintf "ld\n"n[题目1025计算数列和]有数列1357911现要求由键盘输入n计算输出该数列的前n 项和[第一组自测数据] [第二组自测数据] [键盘输入] [键盘输入]2 ↙ 5 ↙[正确输出] [正确输出]4 259参考程序includemainlong nsum 0it 1scanf "ld"nfor i 1i nisum sumtt t2printf "ld\n"sum或includemainlong nsumscanf "ld"nsum nnprintf "ld"sum注评判系统不对程序实现细节进行分析只对运行结果进行评测[题目1026 加一行字符中的数字]由键盘输入一行字符总字符个数从1 个至80 个均有可能以回车符表示结束将其中每个数字字符所代表的数值累加起来输出结果[第一组自测数据] [第二组自测数据] [键盘输入] [键盘输入]abc123↙A6H7T65↙[正确输出] [正确输出]6 24[提示] 1可以使用下面程序段逐个读入键盘输入的一行字符char chwhile ch getchar \n2 数字字符转为对应的数值可用a ch-0参考程序includemainchar cint s 0awhile c getchar \nif c 0c 9a c-48s saprintf "d"s10[题目1029求最大公约数]由键盘输入两个正整数mn mn 用长整数表示计算它们的最大公约数[第一组自测数据] [第二组自测数据][键盘输入] [键盘输入]1624↙1725↙[正确输出] [正确输出]8 1[提示]公约数是既能整除m 又能整除n 的数题目要求满足这一条件的最大的一个参考程序includemainlong rmntempscanf "ldld"mnwhile m 0r nmn mm rprintf "ld\n"n或includemainlong mntisscanf "ldld"mnt m nnmfor i t-1i 1i--if mi 0ni 0s i breakprintf "d"s[题目1030字符变换]由键盘输入一个句子总字符个数从1 个至80 个均有可能以回车符表示结束将其中的大写字符变成小写其它类型的字符不变最后输出变换后的句子[第一组自测数据] [第二组自测数据][键盘输入] [键盘输入]How Are You ↙ThiS IS My fIrSt C ProgrAm ↙[正确输出] [正确输出]how are you this is my first c program11参考程序includemainchar cwhile c getchar \nif c Ac Zc c32putchar c[题目1037计算数列和]有数列编程实现由键盘输入n计算输出数列前n 项和结果保留四位小数[第一组自测数据] [第二组自测数据] [键盘输入] [键盘输入]20 ↙30 ↙[正确输出] [正确输出]326603 880403参考程序includemainint itnfloat a 2b 1s 0scanf "d"nfor i 1i nis sabt aa abb tprintf "4f\n"s[题目1044输出最小值]从键盘输入十个整数输出最小值[ 自测数据][键盘输入]12 45 76 87 5 87 43 55 99 21 ↙[正确输出]512参考程序include "stdioh"mainint itminscanf "d" minfor i 1i 10iscanf "d" tif t min min tprintf "d\n"min*[题目1031统计单词个数]由键盘输入一个句子总字符个数从1 个至80 个均有可能以回车符表示结束以空格分割单词要求输出单词的个数[第一组自测数据] [第二组自测数据][键盘输入] [键盘输入]How Are You ↙There are many students and many[正确输出] trees↙3 [正确输出]7参考程序includemainint inum 0word 0char cfor i 0 c getchar \niif c word 0else if word 0word 1numprintf "d"num*[题目1042百万富翁]一个百万富翁遇到一个陌生人陌生人找他谈了一个换钱的计划该计划如下我每天给你m 元而你第一天只需给我一分钱第二天我仍给你m 元你给我2 分钱第三天我仍给你m 元你给我4分钱依次类推你每天给我的钱是前一天的两倍直到一个月38 天百万富翁很高兴欣接受这个契约现要求编写一个程序由键盘输入m计算多少天后百万富翁开始亏钱[第一组自测数据] 18[键盘输入] [第二组自测数据]100↙[键盘输入][正确输出] 10000↙13[正确输出] 25参考程序includeincludemainint nmiscanf "d"mfor i 1i 38iif 001 pow 2i-1 -1 -im 0 breakprintf "d"i-114实验6 循环结构程序设计二一实验目的1进一步熟悉掌握用while 语句do-while 语句和for 语句实现循环的方法2 掌握在程序设计中使用多重循环二实验内容[题目1028求素数]输出2 到200 之间包括2 200 的所有素数注要求1 行1 个素数按由小到大的顺序输出[提示]采用双重循环外层循环产生2 到200 之间的数内层循环对数进行判断是否为素数参考程序includeincludemainint mkifor m 2m 200mk sqrt mfor i 2i kiif mi 0 breakif i k printf "d\n"m[题目1035打印菱形]由键盘输入正数n要求输出2n1 行的菱形图案要求菱形左边紧靠屏幕左边[第一组自测数据] [第二组自测数据] [键盘输入] [键盘输入]3 ↙ 2 ↙[正确输出] [正确输出]15参考程序include "stdioh"include "mathh"mainint nijkscanf "d"nfor i 1i 2n1ik abs n1-ifor j 1j kj printf " "for j 1j 2n1-2kj printf ""printf "\n"[题目1038打印图案]由键盘输入正数n要求输出中间数字为n 的菱形图案要求菱形左边紧靠屏幕左边[第一组自测数据] [第二组自测数据][键盘输入] [键盘输入]4 ↙ 3[正确输出] [正确输出]1 1121 121 12321 12321 1234321 121 12321 1 1211参考程序includeincludemainint nijkhscanf "d"nfor i -n1i n-1ifor j 0j abs i jprintf " "for k 1k n-abs i k printf "d"kfor h n-abs i -1h 1h-- printf "d"hprintf "\n"16实验7 数组一实验目的1掌握一维数组和二维数组的定义赋值和输入输出方法2 掌握与数组有关的算法二实验内容[题目1039倒序]由键盘输入10 个整数倒序输出数字间由一个空格分隔[ 自测数据][键盘输入]70 5 14 20 19 2 99 67 13 66 ↙[正确输出]66 13 67 99 2 19 20 14 5 70参考程序includemainint a [10]int ifor i 0i 10i scanf "d"a[i]for i 9i 0i-- printf "d\n"a[i][题目1040统计不同数字个数]由键盘输入20 个整数统计不同数字的个数[ 自测数据][键盘输入]70 5 14 22 19 2 99 67 13 66 5 93 44 38 22 11 39 22 33 11↙[正确输出]16[提示]上述答案中因为5 有1 个重复数字11 有1 个重复数字22 有2 个重复数字故不同数字有16个分别是70 5 14 22 19 2 99 67 13 66 93 44 38 11 39 3317参考程序include"stdioh"mainint a [20]int itp 0for i 0i 20iscanf "d"a[i]for t 0t itif a[t] a [i] breakif t ipprintf "d"p[题目1062打印矩阵]由键盘输入一个3×4 的矩阵要求输出它的转置矩阵[ 自测数据][键盘输入] [正确输出] 1 6 9 3 1 1 11 1 02 6 1 91 9 8 9 9 0 83 2 9参考程序includemainint a [3][4]b[4][3]ijfor i 0i 3ifor j 0j 4jscanf "d"a[i][j]b[j][i] a [i][j]for i 0i 4ifor j 0j 3jprintf "d "b[i][j]printf "\n"*[题目1047冒泡排序]由键盘输入10 个数用冒泡法对10 个数从小到大排序并按格式要求输出代码如下请填充完整数字间由一个空格分隔incude "stdioh"mainint a[10] i j t18for i 0i 10iscanf "d"___________for ___________for j 0j ____jif ______________________for i 0i 10iprintf "d "a[i][ 自测数据][键盘输入]70 5 14 20 19 2 99 67 13 66 ↙[正确输出]2 5 13 14 19 20 66 67 70 99参考程序includemainint a [10]int ijtfor i 0i 10iscanf "d"a[i]for i 0i 9ifor j 0j 9-ijif a[j] a [j1]t a [j] a [j] a[j1] a[j1] tfor i 0i 10iprintf "d "a[i]*[题目1046计算高精度加法]由键盘输入两个位数很长的整数一行一个数每个数最长不超过80 位试计算并输出这两个数的和[ 自测数据][键盘输入]1XXXXXXXXXX23456789 ↙987654321098765 ↙[正确输出]1XXXXXXXXXX4455555419参考程序include "stdioh"include "stringh"mainint a [100] 0 b[100] 0 c[100] 0char s[101]int i 0n1 0n2 0 0e 0gets sn1 strlen sfor i n1-1i 0i-- a[n1-1-i] s[i]-0gets sn2 strlen sfor i n2-1i 0i-- b[n2-1-i] s[i]-0if n1 n2 n1else n2for i 0i ic[i] a[i]b[i]e 10e a[i]b[i]e 10if c[] 0 printf "d"c[]for i -1i 0i--printf "d"c[i]*[题目找矩阵中的鞍点]由键盘输入一个3 ×4 3 行4 列的矩阵输出矩阵中的鞍点即在矩阵行中最大列中最小的数若没有鞍点输出NO 字样[ 自测数据][键盘输入]87 90 110 98 ↙70 97 210 65 ↙98 45 120 30 ↙[正确输出]11020参考程序includemainint ijka[3][4]jflagfor i 0i 3ifor j 0j 4jscanf "d"a[i][j] for i 0i 3ia [i][0]j 0for j 0j 4jif a[i][j]a [i][j] j jflag 1for k 0k 3kif a [k][j]flag 0 breakif flagprintf "d" breakif flagprintf "NO"21实验8 字符数组的应用一实验目的1掌握字符数组和字符串函数的使用2 掌握与字符串处理有关的算法二实验内容[题目1121定义存贮字符串的字符数组]在下面程序中填充定义字符数组的语句使程序完整include "stringh"void mainchar s[80] 定义字符数组sstrcpy s "abcdefghij klmn"printf "s" s参考程序[题目1123字符串的输入与输出]下面程序实现从键盘读入字符串后输出到屏幕请填充必要的语句include "stdioh"void mainchar s[50]printf "Whats your name"gets s 由键盘读入字符串printf "Your name is "printf "s" s 打印字符串参考程序[题目1122字符串的合并]从键盘输入3 个字符串每个字符串以回车符做为结束标志将3 个字符串以输入先后顺序合并到字符串s 中请填空使用程序完整include "stdioh"include "stringh"mainchar s[100] ""char a [30]gets a strcat s a22gets a strcat s agets a strcat s a可以写多行代码printf "s" s[ 自测数据][键盘输入] [正确输出]123 123abc456abc456参考程序[题目1050寻找字符串]由键盘输入两个字符串假设第一个字符串必包含第二个字符串如第一个字符串为ABCDEF第二个为CDE则CDE 包含在ABCDEF 中现要求编程输出第二字符串在第一行字符串中出现的位置如果第二个字符串在第一个字符串中出现多次则以最前出现的为准[第一组自测数据] [第二组自测数据][键盘输入] [键盘输入]ABCDEFG ↙hellhello ↙DE ↙hello ↙[正确输出] [正确输出]4 5[提示]方法1建立双重循环外层循环变量指示第一个串的查找起始位置内层循环从起始位置开始判断第二个字符中是否出现在此处方法2 使用字符串函数strstr参考程序include "stdioh"mainint ijchar a [80] b[80]gets a gets bfor i 0a[i] \0ifor j 0b[j] \0jif a[ij] b[j] breakif b[j] \0 breakif a[i] \0 printf "d"i1else printf "Not Found"23实验9 函数的基本应用一实验目的1掌握定义函数的方法2 掌握函数实参与参的对应关系以及值传递的方式3 掌握函数的嵌套调用和递归调用的方法4 掌握全局变量和局部变量动态变量静态变量的概念和使用方法二实验内容[题目1059函数定义]下面是使用辗转相除法求最大公约数的程序请补充完整程序中函数的定义与调用include "stdioh"int f int m int nint rwhile r mn 0m nn rreturn nmainint a b nscanf "dd" a bprintf "d\n" f a b[题目1083编写函数计算阶乘]下面程序实现由键盘读入整数n计算并输出n 请补充完整计算阶乘的函数long fanc int along in 1for i 1i ai n nireturn nvoid mainint nscanf "d" n24printf "ld" fanc n[题目1124函数中的变量]写出下面程序的运行结果int f1 int xstatic int z 3y 0yzreturn xyzmainint a 1kfor k 0k 3k printf "4d"f1 a 程序运行结果为6 8 10*[题目1084编写递归调用函数实现十进制数转二进制数]下面程序实现由键盘输入一个正整数不大于100000000 输出其对应的二进制数原码表示请填空include "stdioh"void fun int iif i 1fun i2printf "d" i2mainint nscanf "d" nfun n25实验10 指针与结构体一实验目的1通过实验进一步掌握指针的概念会定义和使用指针变量2 能正确使用数组的指针和指向数组的指针变量3 能正确使用字符串的指针和指向字符中的指针变量4 掌握结构体类型变量的定义和使用二实验内容[题目1091交换两数由大到小输出]下面程序交换两数使两数由大到小输出请填空include "stdioh"void swap int p1 int p2int temptemp p1p1 p2p2 tempint mainint ab int papbscanf "dd" a bpa a pb bif a b swap pa pbprintf "d d\n"ab[题目1065数组中的指针]设有如下数组定义int a[3][4] 1357 9111315 17192123计算下面各项的值设数组a 的首地址为2000一个int 类型数占四个字节注意地址则输出地址变量则输出变量值要求一行一个答案不允许多余空行及空格1a[2][1] 2 a[1] 3 a 4 a 15 a 16 a 17 a[2] 18 a 1 19 a2 226参考程序include "stdioh"mainprintf "19\n"printf "2016\n"printf "2000\n"printf "2016\n"printf "2004\n"printf "2016\n"printf "2036\n"printf "2020\n"printf "21"[题目1092函数实现求字符串长度]下面程序以指针方式传递参数由函数实现求字符串长度请填空完成include "stdioh"include "stringh"int f char preturn strlen pint mainchar s[80]int iscanf "s" si f sprintf "d" i[题目1125定义结构体类型]要求定义一个名为student 的结构体类型其包含如下成员1字符数组name 最多可存放10 个字符2 字符变量sex用于记录性别3 整数类型变量num用于记录学号4 float 类型变量score 用于记录成绩并使下列代码完整定义结构体类型struct studentchar name[20]char sex。
本科计算机实验内容
一.C语言程序设计1.课程学分和学时本课程为4学分、72学时、第一学期开设。
电视、实验和面授辅导学时各为20、27和25学时。
课程中各章内容及学时分配如下表所示。
实验是学习该课程的非常重要的教学环节,通过上机实验能够加深理解和巩固书本上所学的知识,能够提高动手操作的能力以及分析问题和解决问题的能力。
在教材中的每章都将给出具体的实验练习题,以及必要的操作步骤。
二.Visual Basic程序设计课程教学总学时数为72学时,4学分,其中实验课学时为36。
实验内容和实验要求实验一:Visual Basic开发环境(2学时)一、实验内容:(1)Visual Basic6.0的安装、启动与退出(2)定制Visual Basiv6.0的集成开发环境(3)创建一个简单应用程序二、实验要求:1.了解Visual Basic(简称VB)对计算机系统的软、硬件要求。
2.练习Visual Basic6.0的安装,掌握启动与退出Visual Basic6.0的方法。
3.熟悉Visual Basic集成开发环境,掌握工具栏、属性窗口、工程资源管理器窗口、窗体布局窗口、代码编辑器窗口的使用。
实验二:简单程序设计(2学时)一、实验内容:(1)球表面积和球的体积的程序设计(2)窗体的新建、属性设置(3)身份验证程序设计(4)创建“计时秒表”窗体程序二、实验要求:1.掌握建立和运行Visual Basic应用程序的基本步骤。
2.掌握文本框、标签、命令按纽的使用。
3.掌握MsgBox的使用和赋值语句的正确书写规则。
实验三:菜单设计(2学时)一、实验内容:(1)下拉式菜单设计(2)弹出式菜单(3)工具栏设计二、实验要求:1.掌握菜单编辑器的使用2.掌握下拉式菜单和弹出式菜单的设计方法。
3.了解工具栏的设计方法。
实验四:鼠标、键盘、API函数调用(4学时)一、实验内容:(1)键盘错位程序(2)实验键盘使用技巧(3)鼠标事件应用(4)窗体总在最前端实验(5)百叶窗图形特效实验二、实验要求:1.掌握鼠标和键盘有关事件的使用方法2.熟悉API函数的引用和调用方法实验五:文件管理程序设计(5学时)一、实验内容:(1)Word文件查找显示程序(2)文件读写程序二、实验要求:1.掌握文件管理程序相关控件的使用方法2.掌握文件管理程序相关函数和过程的使用方法3.掌握文件管理类程序开发的方法实验六:绘图和多媒体应用(5学时)一、实验内容:(1)三角函数曲线的绘制(2)常见几何图形绘制(3)CD播放器程序设计(4)API函数在多媒体中的应用二、实验要求:1.掌握建立图形坐标系的方法。
C语言数据类型、运算符与表达式
大于等于运算符(>=):比较两个数 的大小,判断第一个数是否大于或等 于第二个数
小于等于运算符(<=):比较两个数 的大小,判断第一个数是否小于或等 于第二个数
等于运算符(==):判断两个值是否 相等
逻辑运算符
总结词
用于进行逻辑运算的符号
与运算符(&&)
判断两个条件是否同时为真, 返回真或假
或运算符(
逻辑表达式
总结词
逻辑表达式用于判断逻辑条件。
详细描述
逻辑表达式使用逻辑运算符(如“&&”、“||”、“!”)来组合或比较关系表达式,例如“a > b && c < d”表示a大于b且c小于d的逻辑条件。
位表达式
总结词
位表达式用于对二进制位进行操作。
详细描述
位表达式使用位运算符(如“&”、 “|”、“^”、“~”、“<<”、 “>>”)来对整数类型的变量进行位 运算,例如“a << 2”表示将a的二 进制表示向左移动两位。
THANKS
感谢观看
|):判断两个条件中至少有一个 为真,返回真或假
非运算符(!)
对一个条件取反,返回真或假
位运算符
):对两个数的二进制位 进行或操作
位或运算符(
对两个数的二进制位进行 与操作
位与运算符(&)
对二进制位进行操作的符 号
总结词
位运算符
位异或运算符(^)
对两个数的二进制位进行异或操作
右移运算符(>>)
将一个数的二进制位右移指定的位数
详细描述
算术表达式可以包含加法、减法、乘法、除法等基本数学运算,例如“a + b * c - d / e”。
C语言程序设计》实验指导书
《计算机基础与程序设计》实验指导书实验教学目标:本课程实验教学的目标在于使学生能够掌握算法的基本概念,并根据算法编制程序,掌握调试程序的基本技巧,初步了解软件开发所要经历的阶段,为学生从事计算机软件开发和数据处理工作打下坚实的基础。
实验教学要求:要求掌握数据类型的定义和使用;三种结构的程序设计;数组;函数;指针;结构体与共用体;文件操作等。
实验(一)C语言的编程环境(TURBOC 2.O)一、目的和要求1、熟悉C语言运行环境。
2、掌握C语言程序的书写格式和C语言程序的结构。
3、掌握C语言上机步骤,了解运行一个C程序的方法。
4、本实验可在学习完教材第一章后进行。
二、实验内容1. 启动Turbo C如果用户计算机系统已经安装了Turbo C编译系统,则在DOS命令状态下键入命令tc。
进入Turbo C集成环境后,首先在屏幕上显示Turbo C主菜单窗口,如下图所示。
可以看出,在该窗口,有8个菜单条目。
每一个菜单的意义如下:File 处理文件(包括装入、存盘、选择、建立、换名写盘),目录操作(包括列表、改变工作目录),退出系统及调用DOS 。
Edit 建立、编辑源文件。
Run 控制运行程序。
如果程序已经编译连接好,且Debug/Source Debugging以及Option/Compiler/Code generation/OBJ Debug Information开关置为On,则可以用此菜单初始化调试阶段。
Compile 编译并生成目标程序与可执行文件。
Project 允许说明程序中包含哪些文件的管理条目。
Options 可以选择集成环境任选项(如存储模式、编译时的任选项、诊断及连接任选项)及定义宏;也可以记录Include Output及Library文件目录,保存编译任选项和从配置文件加载任选。
Debug 检查、改变变量的值,查找函数,程序运行时查看调用栈。
选择程序编译时是否在执行行代码中插入调试信息。
c语言实验教案
将一个大于 32767 的长整数赋给整型变量,会得到什么结果。画出它们在内存中的表示 形式。
将一个长整数赋给无符号变量,会得到什么结果。画出它们在内存中的表示形式。
学生可以改变程序中各变量的值,经便比较。例如:a=65880,b= -40000,e=65535, f=65580。 5、输入习题 3.10
周次
3 4
日期
3.2-3.6
实验进度安排表
实验课题
学时
实验一 数据类型、运算符和表达式
2
实验报告次数
3.9-3.13 实验一 数据类型、运算符和表达式
2
1
5
3.16-3.20 实验二 顺序结构程序设计
2
6
3.23-3.27 实验二 顺序结构程序设计
2
1ห้องสมุดไป่ตู้
7
3.30-4.3 实验三 选择结构程序设计
2
8
2. 掌握 C 语言数据类型,熟悉如何定义一个整型,字型和实型的变量,以及对它们赋值 的方法。
3. 掌握不同的类型数据之间赋值的规律。 4. 学会使用 C 的有关算术运算符,以及包含这些运算符的表达式,特别是自加(++)
和自减(--)运算符的使用。 5. 进一步熟悉 C 程序逻辑的编辑、编译、连接和运行的过程。 二、实验学时
实验四 循环与数组
一、实验目的及要求 1. 熟悉掌握用语句,语句和语句实现循环的方法。 2. 掌握在程序设计中用循环的方法实现一些常用算法(如穷举、迭代、递推等)。 3. 掌握一维数组和二维数组的定义、赋值和输入输出的方法; 4. 掌握字符数组和字符串函数的使用; 5. 掌握与数组有关的算法(特别是排序算法)。 二、实验学时
《C语言程序设计实验》指导书(实验1~6)
《C语言程序设计实验》指导书(简明版)**大学软件学院**年**月实验一顺序结构程序设计(2学时)一、实验目的1、熟悉C编译环境、简单C程序结构及书写方式、以及C程序的编辑、编译、连接、运行、调试的步骤;2、掌握C语言的基本数据类型及其输入输出格式,以及输入输出函数的使用方法;3、掌握C语言的算术运算符(特别是自增、自减运算符)、赋值运算符、关系运算符、逻辑运算符、条件运算符、逗号运算符的使用;4、掌握C语言顺序结构程序的执行流程、设计方法,能够根据实际问题灵活使用顺序结构,画出程序的算法流程图,设计出逻辑合理、思路清晰、结果正确的顺序结构程序。
二、实验内容及要求1、实验内容包括8道题目,分为基本内容和选做内容两部分。
要求:(1)基本内容中的实验题目是必须要完成的,选做内容中的实验题目可以根据自己的情况选做或全做(越多越好,适当加分);(2)在实验之前编写出基本内容、选做内容中的所有程序,实验前检查(视未完成情况适当扣分);(3)对于设计型题目,要求画出程序流程图(传统流程图和N-S图);(4)在上机实验过程中,注意总结和体会上机步骤(编辑、编译、连接、运行、调试、结果分析),注意培养观察、分析和排除编译错误、连接错误和程序逻辑错误的初步能力;(5)上机结束后,应按要求认真书写实验报告(格式见附件)。
2、基本内容(1)[验证型]编辑下列程序,然后进行编译、连接和运行,观察结果,并简要总结简单C程序的结构、书写格式以及上机过程;#include <stdio.h>int main( ){printf("Hello, world!\n");return 0;}(2)[验证型]通过运行下列程序,分析各种格式符的使用方法。
#include <stdio.h>int main( ){int a = 9, b = 2;float x = 32.8459, y = -792.451;char d = 'R';long n = 5461237;unsigned u = 65535;printf("%d,%d\n", a, b);printf("%3d,%3d\n", a, b);printf("%f,%f\n", x, y);printf("%-10f,%-10f\n", x, y);printf("%8.2f,%8.2\n", x, y);printf("%.4f,%.4f\n", x, y);printf("%3f,%3f\n", x, y);printf("%e,%10.2e\n", x, y);putchar(d);putchar('\n');printf("%c,%d,%o,%x\n", d, d, d, d);printf("%ld,%lo,%x\n", n, n, n);printf("%u,%o,%x,%d\n", u, u, u, u);return 0;}(3)[验证型]编辑下列程序,进行编译、连接和运行。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验五数据类型和表达式
【实验目的】
1.掌握整型、浮点型、字符型数据的存储格式及输入/输出;
2.掌握运算符的优先级、结合性。
3.掌握表达式的使用技巧。
4.掌握数据类型转换的使用方法。
【实验内容】
一、程序调试方法实验
1.以下程序功能为:华氏温度F与摄氏温度C的转换,转换公式为:F=32+9/5*C,找出并改正以下源程序中错误,得出正确的运行结果。
源程序如下:
#include <stdio.h>
void main()
{
double f,c;
scanf("%f",c);
f = 32+9/5*c;
printf("F:%.4f",f);
}
2.以下程序功能为:统计分数,分别计算及格人数和不及格人数,输入非法分数时退出。
找出并改正以下源程序中错误,得出正确的运行结果。
源程序如下:
#include <stdio.h>
void main()
{
int count1,count2,n;
scanf("%d",n);
while (0<=n<=100)
{
if(60<=n<=100)
count1=+1;
else
count2+=1;
}
printf("Failed:%d, Pass:%d\n",count2,count1);
}
二、分析程序输出结果
1.运行下面的程序,分析运行结果:
#include <stdio.h>
void main()
{
int a,b,c,d,e;
a=1,b=2,c=3,d=4;
e=a>b?a:c>d?c:d;
printf("e:%d\n",e);
}
2.运行下面的程序,分析运行结果::#include "stdio.h"
void main()
{
unsigned a,b,c,d;
scanf("%o",&a);
b=a>>4;
c=~(~0<<4);
d=b&c;
printf("%o\n%o\n",a,d);
}
3.运行下面的程序,分析运行结果:
#include "stdio.h"
void main()
{
int a=0,b;
b=a++&&a++&&a++;
printf("%d.%d",a,b);
a=0;
b=a++&&a++||a++;
printf("%d.%d",a,b);
}
4.运行下面的程序,分析运行结果:
#include <stdio.h>
void main()
{
float i=3.456;
int a,b,c,d;
a=(int)(i);
b=(int)(i*10)%10;
c=(int)(i*100)%10;
d=(int)(i*1000)%10;
printf("%d,%d,%d,%d",a,b,c,d);
}
三、编写程序
1、输入一串字符,统计其中字母、数字和空格的个数,当输入回车时输入结束。
2、求s=a+aa+aaa+aaaa+aaaa+a a…a,其中a是一个数字。
例如2+22+222+2222+22222(此时共有5个数相加),几个数相加由键盘控制。
3、一个数恰好等于它的质因子之和,这个数就称为“完数”,例如6=1+2+3。
编程找出1000以内的所有完数。
4、36 块砖,36 人搬。
男搬4,女搬3,两个小儿抬一砖。
要求一次全搬完。
问需男、女、小儿各若干?(穷举法)。