实验2基本数据类型与数组(最新整理)
- 格式:pdf
- 大小:128.71 KB
- 文档页数:7
实验二 Visual FoxPro数据类型、常量、变量和数组一、实验目的1.熟悉Visual FoxPro的基本数据类型和常量。
2.掌握内存变量的基本操作。
3.了解数组的定义和赋值。
二、实验内容及上机步骤【上机题一】Visual FoxPro的基本数据类型和常量的定义。
【上机步骤】本题考查的知识点是Visual FoxPro的基本数据类型和常量,操作步骤如下:(1)在命令窗口中分别执行如下命令,观察屏幕显示结果:命令屏幕显示结果? [3*5],"常量" 3*5 常量? 3*5 15? 常量找不到变量‘常量’(2)在命令窗口中分别执行如下命令,观察屏幕显示结果:命令屏幕显示结果? "2005/11/17" 2005/11/17? {^2005/11/17} 11/17/05? 2005/11/17 10.72(3)在命令窗口中分别执行如下命令,观察屏幕显示结果命令屏幕显示结果? .T.,.F.,.N.,.Y. .T. .F. .F. .T.? T,F,N,Y 找不到变量’T’【上机题二】内存变量的基本操作。
【上机步骤】本题考查的知识点是内存变量的基本操作,操作步骤如下:(1)内存变量的赋值, 分别执行如下命令A1=3A2=.F.A3={^2005/11/17}STORE " abg" TO B1,B2,B3,B4C1=A1+3*5(2)内存变量的显示, 分别执行如下命令,并观察屏幕显示结果,了解DISPLAY与LIST 命令动词的区别命令命令功能DISPLAY MEMORY 示例:分屏方式显示所有内存变量的内容LIST MEMORY 滚屏方式显示所有内存变量的内容DISPLAY MEMORY LIKE A* 分屏方式显示以字母A开头的所有内存变量的内容LIST MEMORY LIKE ?1 滚屏方式显示第二个字符为1的只有两个字符内存变量的内容(3)内存变量的删除与显示,分别执行如下命令,观察屏幕显示结果,总结命令功能RELEASE B4 && 删除指定内存变量B4DISPLAY MEMORYRELEASE ALL LIKE ?2 && 将所有第二个字符为…2‟的内存变量删除DISPLAY MEMORYRELEASE ALL EXCEPT A* && 删除不以“A”开头的变量DISPLAY MEMORYCLEAR MEMORY && 删除所有内存变量DISPLAY MEMORY命令命令功能RELEASE B4删除指定内存变量B4DISPLAY MEMORY显示内存变量(注意观察屏幕显示结果,总结功能)RELEASE ALL LIKE ?2将所有第二个字符为…2‟的只有两个字符的内存变量删除DISPLAY MEMORY显示内存变量(注意观察屏幕显示结果,总结功能)RELEASE ALL EXCEPT A*删除不以“A”开头的变量DISPLAY MEMORY显示内存变量(注意观察屏幕显示结果,总结功能)CLEAR MEMORY清除内存变量DISPLAY MEMORY显示内存变量(注意观察屏幕显示结果,总结功能)【上机题三】Visual FoxPro数组变量的定义和赋值。
实验二基本数据类型、运算符及表达式1. 分析以下程序,判断输出结果,然后上机运行程序验证结果。
(1)# include <stdio.h>main( ){ int sum = 1 ;sum = sum +100 ;printf("SUM = %d\n", sum);}输出结果为:101(2)改正后的程序为:# include <stdio.h>main( ){ char ch1 , ch2 ;ch1 = 'b' ;//不能把字符串"b"赋给字符变量ch2 = ch1 - 32 ;printf("%c %d %c %d\n", ch2,ch2,ch1,ch1);}(3)# include <stdio.h>main( ){ int a = 10 , b =3 ;printf("%d\n", (a = a - 1 , b + a , b + 2));}输出结果为5,(a = a - 1 , b + a , b + 2)作为一个逗号表达式。
(4)# include <stdio.h>main( ){int a = 5 , b = 3 , c = 4 ;a *= a += 3;b = ++c ;c = b++ ;a =b +++c ;printf("\n%d,%d,%d", a , b , c);}输出结果为:11,7,5(5)程序改正为:# include <stdio.h>main( ){int a = 1 , b = 2 , c = 3 , logic ;logic = a + b > c && b <= c ;printf("logic = %d\n", logic);logic = a >= b + c || b == c;printf("logic = %d\n", logic);logic =!(a < c) +b!=1 && (a + c)/2 ;printf("logic = %d\n", logic);}输出结果为:logic = 0logic = 0logic = 12. 以下程序可能有多处错误,请改正并调试运行程序。
实验报告_实验 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值的语句。
实验2 基本数据类型、表达式和基本语句实验内容(1 )测试基本数字类型char、int和short之间的转换。
(2 )测试有自增自减运算符号的表达式的结果和运行次序。
(3 )Ex –Prime?输出1 ~100的素字(用for语句编写).(4 )程序Ex -CircleAndBall?设圆半径r?2.5,圆柱h=4,求圆的周长、圆面积?圆球体积圆柱体积。
用cin输入要计算的项目,然后输出计算结果,输入、输出时要有文字提示。
实验准备和说明(1)在学习完第1章的“基本语句”内容之后进行本次实验。
(2)编写本次上机所需要的程序。
实验步骤1.创建工作文件夹打开计算机上,在“D\VisualC??程序\LiMing”文件夹中创建一个新的子文件夹“实验2”。
2.创建应用程序项目Ex –Simple创建应用程序项目Exx–Simple的具体步骤如下。
(1 )启动D\VisualC + +6.0。
(2 )选择“文件” →“新建”菜单命令。
显示出“新建”对话框,切换到“工程”标签页面,在列表框中选定Wiin32ConsoleApplication项。
(3 )在“工程”编辑框中输入控制台应用程序项目名称Ex –Simple,并将项目文件夹定位到“D\VisualC??程序\LiMing实验1”。
(4 )单击“确定”按钮,显示“Win32应用程序向导”对话框。
选中A“H ello,World!”application项。
单击“完成”按钮,系统将显示向导创建的信息,单击“确定”按钮将自动创建此应用程序。
3.修改并添加类型转换的测试代码(1 )展开工作区窗口的ClassView页面的所有结点,单击main结点,在文档窗口中显示main 函数的源代码。
(2)将main函数修改成下列的代码?#include <iostream.h>void main(){char c1,c2,c3;c1=97; c2=98; c3=99;cout<<c1<<”,”<c2<”,”<<c3 <<endl ;}(3)编译运行,看看出现的结果与理解的是否一样?那么,怎样将输出的结果变成数值而不是字符呢?有2种办法?一种是将c1、c 2和c3的变量类型由char变为int或short;另一种是变量类型保持不变,在输出语句中加入类型的强制转换,如?cont<<(short)cl<<”,”<<(short)c2<<”,”<<(short)c3<<endl;想一想除了上述2种办法外,使用数据类型的“自动转化”也可使上述结果显示为数值,那么应如何修改上述代码呢?4.修改并添加复杂表达式的测试代码修改并添加复杂表达式的测试代码的具体步骤如下。
实验二基本数据类型(1)【实验目的】:1、掌握C语言数据类型,熟悉如何定义一个整型、字符型和实型变量,以及对它们赋值的方法。
2、掌握不同的类型数据之间赋值的规律。
3、进一步熟悉C程序的编辑、编译、连接和运行的过程。
【实验时数】:2学时【实验内容】:一、新建文件夹首先在各自计算机K盘的对应文件夹中新建一个文件夹,文件夹的名字为“班级+学号的后两位+姓名”,如食品1081班、学号后两位是02的、姓名为“张三”的同学,则其对应的文件夹名字是:食品108102张三(注意中间不要加任何空格)。
然后在刚才建好的文件夹里面再建立一个文件夹,文件夹为“第2次”以下实验内容除实验四需要编写源程序并保存在所建的第2次文件夹内,其余均为验证型实验,不需要保存。
希望同学们在做前三个实验之前,先认真分析程序的运行结果,后再上机验证。
二、实验内容和步骤[程序1]:输入并运行下面的程序#include <stdio.h>main(){ char c1, c2; /*定义了两个字符型变量c1,c2*/c1 = 'a';c2 = 'b';printf (“%c %c\n”c1, c2);}(1)运行此程序,查看运行结果。
(2) 在此基础上,即在printf(“%c %c\n”,c1,c2);后面增加一条语句:printf(“%d %d\n”,c1,c2);再运行,并分析结果。
(3) 将第3行的内容即char c1, c2改为:int c1,c2; 再使之运行,并观察结果。
(4)将第 4、5行改为:c1 = 300; /* 用大于255的整数 */c2 = 400;再使之运行,分析其运行结果。
(5)将第4、5行改为:c1=a;c2=b;再使之运行,分析其运行结果.......。
说明:字符是以ASCII码的形式存放在计算机内存中,而且字符是占一个字节,整数占两个字节。
整数300所对应的二进制形式为0000000100101100,所以转换成字符时只取该字符的低八位,即蓝色部分的00101100,它所对应的十进制为44,而ASCII码为十进制44所对应的字符为逗号“,”。
实验二基本数据类型、数组一、.数据类型及相互转化1. .数据类型将该程序代码在机器上运行,并修改相应错误。
2. 数据类型转化按下列要求写出Java语言的语句。
✓定义一个double类型的变量d,并赋初值为2.5。
✓在屏幕上输出显示上面所定义的变量d的值。
✓定义一个字符型一维数组ch,大小为10。
✓定义一个字符串常量s1,赋值‘abc’。
✓定义一个布尔型变量b,赋初值true。
✓在屏幕上输出显示26个大写字母。
✓将代数式s=a2+2ab+b2写成一个赋值表达语句。
✓a,b和c是3个int型变量,用条件表达式写出a>b,c值为a,否则c值为b。
✓用for循环语句实现下述循环:循环变量m为100,每次循环m减10;当m等于50时退出循环,循环体输出m值。
参考答案:3. 思考下列各题的输出情况并上机调试。
问题一、问题二//public class Operators {public static void main (String [] args){ int a = 2;int b = 3;int c = 4;int d = 5;String s ="a";String s2 = "1";prt(""+'a'+a);prt('a'+a+"");prt(a+b+s+c+d);// prt(Integer.parseInt(s)+"");// prt(Integer.parseInt(s2)+"");// prt(String.valueOf(c));}字符串强制转换为整型三部可以的注释掉二、数组1、一维数组的创建、声明、初始化(同教材P23例1-5)将下面代码在机器上调试。
提高:尝试自己给该数组赋初值,并将结果重新输出。
2、二位数组引用(教材P25 例1-6)23、数组操作测试下面程序段查看api 文档http://10.10.25.101/java/docs/api/学习使用arraycopy方法复制数组。
一、实验目的1. 理解数组的概念和特点,掌握数组的定义、声明、初始化和访问方法;2. 掌握一维数组和二维数组的区别和应用场景;3. 学习数组在实际编程中的应用,提高编程能力。
二、实验内容1. 实验一:一维数组的定义、初始化和访问(1)定义一个整型一维数组,包含10个元素;(2)初始化数组,为每个元素赋值;(3)遍历数组,输出每个元素的值;(4)修改数组中某个元素的值;(5)查找数组中特定值的元素索引。
2. 实验二:二维数组的定义、初始化和访问(1)定义一个整型二维数组,包含3行4列;(2)初始化数组,为每个元素赋值;(3)遍历数组,输出每个元素的值;(4)修改数组中某个元素的值;(5)查找数组中特定值的元素索引。
3. 实验三:数组在实际编程中的应用(1)编写一个程序,计算10个整数的平均值;(2)编写一个程序,找出10个整数中的最大值和最小值;(3)编写一个程序,实现冒泡排序算法,对10个整数进行排序;(4)编写一个程序,实现二维数组的转置。
三、实验步骤1. 实验一:(1)定义整型一维数组int arr[10];(2)初始化数组:for(int i=0; i<10; i++) arr[i] = i+1;(3)遍历数组:for(int i=0; i<10; i++) printf("%d ", arr[i]);(4)修改数组中某个元素的值:arr[5] = 100;(5)查找数组中特定值的元素索引:for(int i=0; i<10; i++) if(arr[i] == 5) printf("Index: %d\n", i);2. 实验二:(1)定义整型二维数组int arr[3][4];(2)初始化数组:for(int i=0; i<3; i++) for(int j=0; j<4; j++) arr[i][j] = i4+j+1;(3)遍历数组:for(int i=0; i<3; i++) for(int j=0; j<4; j++) printf("%d ", arr[i][j]);(4)修改数组中某个元素的值:arr[1][2] = 100;(5)查找数组中特定值的元素索引:for(int i=0; i<3; i++) for(int j=0; j<4; j++) if(arr[i][j] == 5) printf("Index: (%d, %d)\n", i, j);3. 实验三:(1)计算10个整数的平均值:int sum = 0, avg; for(int i=0; i<10; i++) sum += arr[i]; avg = sum / 10;(2)找出10个整数中的最大值和最小值:int max = arr[0], min = arr[0];for(int i=1; i<10; i++) if(arr[i] > max) max = arr[i]; if(arr[i] < min) min = arr[i];(3)冒泡排序算法:for(int i=0; i<9; i++) for(int j=0; j<9-i; j++)if(arr[j] > arr[j+1]) { int temp = arr[j]; arr[j] = arr[j+1]; arr[j+1] = temp; }(4)二维数组转置:int arrT[4][3]; for(int i=0; i<3; i++) for(int j=0;j<4; j++) arrT[j][i] = arr[i][j];四、实验结果与分析1. 实验一和实验二成功完成了数组的定义、初始化、访问和修改,验证了数组的基本操作。
实验二-基本数据类型实验二基本数据类型1.实验目的1、掌握char 型数据和int型数据之间的互相转换,同时了解Unicode字符表;2、掌握从键盘为简单型变量输入数据;3、学习掌握使用数组处理大整型数据的加法。
2.实验内容1、根据附录里的源代码,按照注释要求,完成代码填空,使程序能够运行得出结果。
1)实验1 输出特殊偏旁的汉字package work;public class InputChinese {public static void main(String[] args) {char ch='研',zifu=0;int p=22920,count=5,position=0;System.out.printf("输出%d个石字旁的汉字:\n",count);for(char c=ch;c<=ch+count;c++){position=(int)c;//【代码1】//c进行int型转换数据运算,并将结果赋值给positionSystem.out.printf("%c(%d)",c,position);}System.out.printf("\n输出%d个女字旁的汉字\n",count);for(int n=p;n<=p+count;n++){zifu=(char)n;//【代码2】 //n进行char型转换数据运算,并将结果赋值给zifuSystem.out.printf("%c(%d)",zifu,n);}// TODO Auto-generated method stub}}输出5个石字旁的汉字:研(30740)砕(30741)砖(30742)砗(30743)砘(30744)砙(30745) 输出5个女字旁的汉字妈(22920)妉(22921)妊(22922)妋(22923)妌(22924)妍(22925) 2)实验2 输入、输出学生的基本信息package work;import java.util.Scanner;public class InputMess {public static void main(String[] args) {Scanner reader=new Scanner(System.in);System.out.println("输入姓名(按Enter键确认):");String name=reader.nextLine();//【代码1】//从键盘为name 赋值System.out.println("输入年龄(按Enter键确认):");byte age=reader.nextByte();//【代码2】//从键盘为age赋值System.out.println("输入身高按Enter键确认):");float height=reader.nextFloat();//【代码3】//从键盘为height 赋值System.out.printf("%28s\n","--基本信息--");System.out.printf("%10s%-10s","姓名:",name);System.out.printf("%4s%-4d","年龄:",age);System.out.printf("%4s%-4.2f","身高:",height);}}输入姓名(按Enter键确认):输入年龄(按Enter键确认):19输入身高按Enter键确认):177.5--基本信息--姓名:liu 年龄:19 身高:177.503)实验3 超大整数的加法package work;public class HandleLargeNumber {public static void main(String[] args) {int a[]={0,9,9,7,9,4,5,6,7,2,3,4,5,6,4,7,8,9,8,7,6,9}; int b[]={0,0,5,9,1,6,4,5,6,2,3,4,5,7,2,1,3,4,0,3,2,9}; int c[]=new int[a.length];int i=0,result=0,k=0;for(i=0;i<a.length;i++){< p="">if(a[i]!=0){k=i;break;}}for(i=k;i<a.length;i++){< p="">System.out.printf("%d",a[i]);}System.out.printf("\n加上:\n");for(i=0;i<b.length;i++){< p="">if(b[i]!=0){k=i;break;}for(i=k;i<b.length;i++){< p=""> System.out.printf("%d",b[i]);}for(i=a.length-1;i>=0;i--){result=a[i]+b[i];if(result>=10){c[i]=result%10;a[i-1]=a[i-1]+1;}elsec[i]=result;}System.out.printf("\n等于:\n");for(i=0;i<c.length;i++){< p="">if(c[i]!=0){k=i;break;}}for(i=k;i<c.length;i++){< p=""> System.out.printf("%d",c[i]);}// TODO Auto-generated method stub } }4)实验4 输出希腊字母表package work; public class GreekAlphabet {public static void main(String[] args) {int startPosition=0,endPosition=0;char cStart='α',cEnd='ω';startPosition = (int)cStart; //cStart做int型转换据运算,并将结果赋值给startPositionendPosition = (int)cEnd; //cEnd做int型转换运算,并将结果赋值给endPositionSystem.out.println("希腊字母\'α\'在unicode表中的顺序位置:"+ startPosition);System.out.println("希腊字母表:");for(int i=startPosition;i<=endPosition;i++){char c='\0';c = (char)i; //i做char型转换运算,并将结果赋值给cSystem.out.print(" "+c);if((i-startPosition+1)%10==0)System.out.println("");}// TODO Auto-generated method stub}}希腊字母'α'在unicode表中的顺序位置:945希腊字母表:αβγδεζηθικλμνξοπρ ? στυφχψω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值的语句。
实验报告_实验 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值的语句。
第1篇一、实验目的1. 理解和掌握基本数据类型的概念及特点。
2. 掌握不同数据类型的存储方式和表示方法。
3. 能够根据实际需求选择合适的数据类型。
二、实验环境1. 操作系统:Windows 102. 编程语言:Python3.8.53. 开发工具:PyCharm三、实验内容1. 基本数据类型实验2. 复杂数据类型实验3. 数据类型转换实验四、实验步骤及结果1. 基本数据类型实验(1)实验目的:了解基本数据类型的概念及特点。
(2)实验步骤:① 定义变量并赋值:a = 10,b = 'hello',c = 3.14② 输出变量的类型:print(type(a)),print(type(b)),print(type(c))(3)实验结果:变量a的类型为int,变量b的类型为str,变量c的类型为float。
2. 复杂数据类型实验(1)实验目的:了解复杂数据类型的概念及特点。
(2)实验步骤:① 定义列表:list1 = [1, 2, 3, 'a', 'b', 'c']② 定义元组:tuple1 = (1, 2, 3, 'a', 'b', 'c')③ 定义字典:dict1 = {'name': 'Tom', 'age': 18, 'gender': 'male'}④ 定义集合:set1 = {1, 2, 3, 'a', 'b', 'c'}(3)实验结果:列表list1的类型为list,元组tuple1的类型为tuple,字典dict1的类型为dict,集合set1的类型为set。
3. 数据类型转换实验(1)实验目的:掌握不同数据类型之间的转换方法。
(2)实验步骤:① 将字符串转换为整数:str1 = '123',int1 = int(str1)②将整数转换为浮点数:int2 = 10,float1 = float(int2)③ 将浮点数转换为字符串:float2 = 3.14,str2 = str(float2)(3)实验结果:字符串str1转换为整数int1的结果为123,整数int2转换为浮点数float1的结果为10.0,浮点数float2转换为字符串str2的结果为'3.14'。
C语言实验二基本数据类型和简单的C语言程序设计实验二基本数据类型和简单的C程序设计1、语法错误的检查与修改下面的程序均含有语法错误,在Visual C++6.0集成环境中建立源程序并调试后,仔细观察下方窗口中的出错提示信息,并分析出错原因,找出程序中的错误所在之处,改正错误之后再重新运行程序。
(1)main(){int x1,x2;x1=5;x2=10;y=x1*x2;printf(“y=%d”,y);}(2)main(){FLOAT a;a=2.6;printf(“%f”,a*3);}(3)main(){int num#1;num#1=50;printf(“%6”,num#1/2);}(4)main(){char ch;ch=A;printf(“%c”,ch);}(5)提示:根据输出信息改正此程序中的错误之处)main{ double a,b,c,s,v;printf(input a,b,c:\n);scanf("%d %d %d",a,b,c);s=a*b;v=a*b*c;printf("%d %d %d",a,b,c);printf("s=%f\n",s,"v=%d\n",v);}当程序执行时,屏幕的显示和要求输入形式如下:input a,b,c:2.0 2.0 3.0 /*说明:此处由键盘敲入2.0 2.0 3.0 回车后得到下面两行结果*/ a=2.000000,b= 2.000000,c=2.000000 s=4.000000,v=12.0000002、分析程序的运行结果上机之前先写出下面程序的运行结果,上机时再比较实际运行结果与自己分析的结果是否一致。
(1)main(){int num1,num2,num3;clrscr();num1=4;num2=2;num3=num1/num2;printf(“num3=%d\n”,num3);num1=12;num2=3;num3=(num1+num2)*2;printf(“num3=%d”,num3);}(2)main(){int r;float s;clrscr();r=2;s=3.14159*r*r;printf(“r=%d\n”,r);printf(“s=%f”,s);}(3)main(){char ch ;clrscr();ch=1;printf("%c\n",ch);ch=3;printf("%c",ch);}提示:上面这个程序中1和3分别表示ASCII码为1 和3的字符,前者是一个笑面符号,后者是一个心形符号。
实验2:基本数据类型的使用实验名称:基本数据类型的使用成绩:实验日期:年月日实验报告日期:年月日一、实验目的1、掌握C语言基本数据类型(整型,实型,字符型)数据的常量表示、变量的定义和使用。
2、掌握常见格式控制字符对输出结果的控制作用。
3、了解数据溢出错误和舍入误差(以整型、实型数据为例)。
4、进一步熟悉C程序的实现过程。
二、实验内容在Turbo C下完成“源程序清单”中规定的程序题(4个)。
三、实验要求1、实验前认真预习,自行分析4个程序题的结果,体会本次实验的目的并了解实验要求。
实验时仔细对比程序实际运行结果,认真思考并回答实验小结和思考中的问题。
2、在Turbo C下完成“源程序清单”中规定的程序题。
编辑、编译、运行程序并获得程序结果;如果程序有错,记录编译、连接遇到的提示错误。
仔细思考出错原因,并更正之。
3、编制的程序必须保存在D:\用户目录中。
注:用户目录可以用学号或姓名拼音简写。
4、学生可以对实验程序进行修改、补充,以便上机完成自己需要的程序验证和测试。
在完成实验要求的工作外,要学会创造性的工作。
四、实验步骤、过程1、启动操作系统,进入DOS窗口;切换到用户磁盘,创建、进入用户目录。
(方法、命令与实验1相同)2、启动Turbo C集成开发环境。
(方法与实验1相同)3、完成4个程序题。
(编辑、编译连接、运行程序,步骤与实验1相同)注:(1)仔细观察2_3,2_4两个程序的编译、连接、运行过程,系统提示错误吗?程序运行结果有问题吗?(2)经常用“File”-“Save”(热键F2)保存源程序以免意外导致源程序丢失。
4、退出Turbo C集成开发环境,关机。
五、源程序清单、测试数据、结果。
(注释供阅读、理解程序,上机时不必输入)1、写出一个程序测试整型、字符型数据表示,并输出以验证是否正确。
(要求文件名:2_1.c)main(){int x=010,y=10,z=0x10; /* 整型数据表示 */char c1='M',c2='\x4d',c3='\115',c4=77,c; /* 字符型数据表示 *//* 整型数据的输出 */printf("x=%o,y=%d,z=%x\n",x,y,z);/* 数据以原进制输出,注意是否有前导0或0x */ printf("x=%d,y=%d,z=%d\n",x,y,z);/* 数据以10进制输出,换算到10进制,结果对吗? *//* 字符型数据的输出 */printf("c1=%c,c2=%x,c3=%o,c4=%d\n",c1,c2,c3,c4);/* 数据以原进制输出,注意是否有前导0或0x */ printf("c1=%c,c2=%c,c3=%c,c4=%c\n",c1,c2,c3,c4);/* 结果都是什么字符?,也就是说字符可以自由的表示成几种形式? */printf("c1=%d,c2=%d,c3=%d,c4=%d\n",c1,c2,c3,c4);/* 看看这些字符的10进制ASCII码,哦,ASCII码一样,同一种字符 *//* 字符型数据参与算术运算 */c=c1+32; /* 字符怎么参加了数学运算,哦,是字符对应的ASCII码-整数/* 参与数学运算;结果还是一个整数-另外一个字符的ASCII码 */printf("c=%c,c=%d\n",c,c);/* 看看这个字符是什么?哇,'M'+32='m'了,看看ASCII码表,原来如此! */}参考结果:x=10,y=10,z=10x=8,y=10,z=16c1=M,c2=4d,c3=115,c4=77c1=M,c2=M,c3=M,c4=Mc1=77,c2=77,c3=77,c4=77c=m,c=1092、常见预定义的转义字符对输出的控制作用。
实验二常量、变量和数组(一)实验目的要求1. 掌握常量的类型及表示方式。
2. 掌握变量的定义、赋值和显示。
3. 掌握定义、赋值与引用数组的方法。
(二)实验内容1. 在命令窗口中用STORE命令为变量赋值。
2. 用“=”命令为变量赋值。
3. 用“?”命令显示变量的值。
4. 练习各种常量的表示方法及其输入输出方法。
5.练习内存变量赋值、显示、保存、清除和恢复。
6.练习对数组定义、赋值与引用。
(三)实验指导实验2-1 练习常用的6种类型常量。
(1)在命令窗口中分别输入以下命令:(每行命令结束按回车键) NAM=”李平”SEX=”女”OLD=26DEPT=”计算机系”DATE1={^1976/09/21}(2)在命令窗口分别输入以下语句会输出相应结果:(每行命令结束按回车键)60-OLD”学生”+NAM+”“+DEPTDATE()-DATE1DATE1<={^1980/12/31}OLD>20 AND SEX<>”女”实验2-2在命令窗口中用STORE命令为变量赋A、B、C赋相同的值,用“=”命令为变量E、F、G、H分别赋值”李平”、”女”、20和当前日期,用“?”命令显示上述变量的值。
操作步骤如下:(1)在命令窗口中用STORE命令为变量A、B、C赋相同的值。
(命令结束按回车键)命令如下:STORE 10 TO A,B,C 各内存变量须用逗号分隔。
(2)用“=”命令为变量E、F、G、H分别赋值“李平”、“女”、20和当前日期。
(每行命令结束按回车键)E=”李平”F=”女”G=20H=DATE()(3) 用“?”命令显示上述变量的值。
(命令结束按回车键)A,B,C,E,F,G,H实验2-3 练习内存变量的赋值、显示、保存、清除和恢复。
(1) 在命令窗口依次输入如下语句,并显示结果。
(每行命令结束按回车键) XM="吴大海"XB="男"AGE=34HF=.T.ZYH="05004005"STORE {^2005-12-15} TO RYRQ,CYRQZYKS="外科"ZYFY=6856.50CYRQ={^2005-12-28}"患者姓名:",XM,”性别:”,XB,”年龄:”,AGE,"婚否:",HF"住院号:",ZYH," 入院日期:",RYRQ," 住院科室:",ZYKS"出院日期:",CYRQ,"住院费用:",ZYFY(2) 练习对内存变量的保存、清除和恢复的方法。