大一上期C语言实验报告2 数据类型、运算符和表达式
- 格式:docx
- 大小:48.06 KB
- 文档页数:3
02 数据类型、运算符与表达式2.1 C 的数据类型一个程序应包括以下两方面内容:⑴对数据的描述,在程序中要指定数据的类型和数据的组织形式,即数据结构(data structure )。
⑵对操作的描述,即操作步骤,也就是算法(algorithm )。
数据是操作的对象,操作的目的是对数据进行加工处理,以得到期望的结果。
程序 = 数据结构 + 算法算法是解决“做什么”和“怎么做”的问题。
程序中的操作语句,实际上就是算法的体现。
算法处理的对象是数据,而数据是以某种特定的形式存在的。
数据结构指的是数据的组织形式。
C 语言的数据结构是以数据类型形式出现的。
整型指针类型数据类型基本类型字符型浮点型枚举类型构造类型数组类型结构体类型共用体类型空类型单精度型双精度型C 语言中数据有常量与变量之分。
在程序中对用到的所有数据都必须指定其数据类型。
2.2 常量与变量2.2.1 常量和符号常量在程序运行过程中,其值不能被改变的量称为常量。
常量区分为不同的类型,如12, 0, -3为整型常量,4.6, -1.23为实型常量,'a', 'd'(单引号内一个字符)为字符常量。
用来标识变量名、符号常量名、函数名、数组名、类型名、文件名的有效字符序列称为标识符(identifier )。
简单地说,标识符就是一个名字。
C 语言规定标识符只能由字母、数字和下划线三种字符组成,且第一个字符必须为字母或下划线。
大写字母和小写字母被认为是两个不同的字符(大小写敏感)。
为了程序的可移植性以及阅读程序的方便,建议标识符的长度不要超过8个字符。
在选择标识符时,应注意做到“见名知意”,即选有含意的英文单词(或其缩写)作标识符(匈牙利命名法)。
用一个标识符代表一个常量,如:例2.1 符号常量的使用。
#include "stdio.h"#define PRICE 30main(){int num, total;num = 10;total = num * PRICE;printf("total = %d\n", total);}程序中用#define 命令行定义PRICE 代表常量30,此后凡在本程序源代码中出现的PRICE 都代表30,可以和常量一样进行运算。
实验2-1 数据类型、运算符与表达式1【实验目的】(1)掌握C语言数据类型,熟悉如何定义一个整型、字符型和实型的变量,以及对它们赋值的方法(2)掌握不同类型数据之间赋值的规律(3)学会使用C的有关算术运算符,以及包含这些运算符的表达式,特别是自加(++)和自减(- -)运算符的使用(4)进一步熟悉C程序的编辑、编译、连接和运行的过程【实验要求】(1)熟练掌握C程序的调试方法(2)熟练掌握常量和变量的定义及使用(3)熟练掌握算术运算符和逗号运算符的使用方法【实验环境】(1) Microsoft XP操作系统(2) Microsoft VC++ 6.0【实验内容】1、程序改错题目描述:阅读下面程序段,编译调试程序,并改正错误语句。
#include <stdio.h>#define PI 3.14159;int main(){float r;PI=3.14159;scanf("%.2f",r);float area;area=PI*r*r;printf("%.2f",area);return 0;}输入:输入半径输出:修改程序段,输出园的面积样例输入:1样例输出:3.142、常量变量练习/sdutoj/problem.php?action=showproblem&problemid=1111题目描述:用c语言的基本输出格式打印下列内容:100A3.140000输入:本题目没有输入数据输出:输出三行数据:100A3.140000示例输入:无示例输出:100A3.1400003、整数求和/acmhome/problemdetail.do?&method=showdetail&id=1001题目描述:求两个整数之和。
输入:输入数据只包括两个整数A和B。
输出:两个整数的和。
样例输入:1 2样例输出:34、交换两个整数的值/sdutoj/problem.php?action=showproblem&problemid=1115题目描述:输入两个变量的值,由终端输入两个整数给变量x、y,然后交换x和y的值后,输出x和y。
实验2 数据类型运算符与表达式实验报告1.分析下列程序,写出运行结果(1)除与求余main(){ printf("%d %d\n",14/3,14%3);printf("%d %d\n",-14/3,-14%3);printf("%d %d\n",14/-3,14%-3);printf("%d %d\n",-14/-3,-14%-3);}运行结果:(2)字符char型与int通用性main(){ char c1='A',c2='B';int a=97,b=98;char c=100,d=99;printf("%c %c\n",c1,c2);printf("%d %d\n",c1,c2);printf("%c %c\n",a,b);printf("%d %d\n",a,b);printf("%d %d\n",a-c1,b-c2);printf("%c %c\n",c,d);}运行结果:(3)转义字符main(){ char c1=’a’,c2=’b’,c3=’c’,c4=’\101’,c5=’\116’;printf("a%cb%c\tc%c\tabc\n",c1,c2,c3);printf("\t\b%c%c",c4,c5) ;}运行结果:(4)自增与自减运算符main(){ int a=6,b=6,c=6;printf("%d %d %d\n",a++,b--,--c);printf("%d %d %d\n",a,b,c);--a;b++;c++;printf("%d %d %d\n",a,b,c);}运行结果:(5)包含复合的赋值运算符的赋值表达式main(){ int a=9;a+=a-=a+a;printf("%d\n",a);}运行结果:(6)测试数据类型的长度#include <stdio.h>main(){ int x;long y;float z;double f;printf("int:%d\nlong:%d\nfloat:%d\ndouble:%d\nchar:%d\n",sizeof(x),sizeof(y),sizeof(z),sizeof(f), sizeof(char));}运行结果:(7)数据类型的转换int→longmain(){ int x=500;long y=100;printf("%ld\n",x*y);}运行结果:(8)数据类型的转换float→intmain(){ int x=5,z;float y=2.2;z=x+y;printf("z=%d\n",z);}运行结果:(9)赋值类型转换 int →float int → double */main() { float x1=23; double x2=23;printf("x1=%f x2=%f\n",x1,x2); }运行结果:(10)强制类型转换main() { float x=3.67;printf("%d\n",(int)x); printf("%f\n",x); }运行结果:2.改错题改正下列程序中的错误,求华氏温度100°F 对应的摄氏温度。
c语言实验总结C语言是一种广泛使用的计算机编程语言,作为计算机科学领域的基础知识,学习C语言对程序员来说是至关重要的一步。
在大学期间,我参与了一系列关于C语言的实验,通过这些实验的学习和实践,我不仅增加了对C语言的理解,还提升了自己的编程能力。
在本篇文章中,我将总结我所参与的C语言实验,并分享我的经验与收获。
实验一:基本语法和数据类型在该实验中,我学习了C语言的基本语法和数据类型。
通过学习和练习,我对变量、常量、运算符和表达式有了更深入的理解。
我学会了如何定义和使用变量,以及如何执行基本的算术和逻辑运算。
此外,我还学习了不同数据类型的特点和用途,如整数型、浮点型和字符型。
实验二:流程控制和循环结构在实验二中,我学习了C语言的流程控制和循环结构,包括条件语句和循环语句。
通过实践编写代码,我掌握了if-else、switch和while、for等语句的使用方法。
我学会了如何根据特定条件执行相应的代码块,以及如何使用循环结构重复执行特定的代码片段。
这对于编写有逻辑性的程序非常重要。
实验三:数组和字符串在实验三中,我学习了C语言中数组和字符串的使用。
我了解了数组的定义方式以及如何使用下标来访问和操作数组中的元素。
同时,我还学到了如何使用字符串类型和相关的字符串处理函数,在处理文本数据上具有重要的应用。
通过完成实验,在实践中加深了对数组和字符串的理解,我能够更有效地处理和操作数据。
实验四:函数和指针实验四是关于函数和指针的学习实践。
通过实验,我深入理解了函数的概念和作用,学会了如何定义和调用函数,并了解了函数参数的传递和返回值的使用。
此外,我还学到了指针的概念和基本操作,包括指针的定义、指针和数组的关系以及指针的运算。
掌握了函数和指针,我能够写出更为模块化和灵活的代码,实现更复杂的功能。
实验五:结构体和文件操作实验五是关于结构体和文件操作的实践。
在这个实验中,我学习了如何定义和使用结构体,以及如何在程序中进行文件的读写操作。
实验报告_实验 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值的语句。
XXX大学软件类实验报告
课程名称:C语言程序设计学号:
姓名:
班级:
指导教师:
开课学期:
学院:
XXX大学教务处
3.变量初始化与变量赋值。
四、实验过程及内容:(运行结果请抓图到对应题目的下方)
1.输入下列源程序,进行修改、编译、连接和运行。
2.分析下面的程序并上机验证运行结果。
实验结果:
3.分析下面的程序并上机验证运行结果。
实验结果:
4.分析下面的程序并上机验证、修正后使程序结果和要求一致,a,b,c分别为x的百位、十位和个位。
5.分析下面的程序并上机验证运行结果。
实验结果:
6.程序填空题。
从键盘输入3个整数a、b、c,把b中的值赋给a,把c中的值赋给b,把a的值赋给c,再输出a、b、c的值,要求程序运行结果。
(提示:使用中间变量)。
五、实验小结。
实验二数据类型、运算符和表达式1,实验目的(1)掌握C语言数据类型,熟悉如何定义一个整型、字符型和实型的变量,以及对它们赋值的方法。
(2)掌握不同的类型数据之间赋值的规律。
(3)学会使用C的有关算术运算符,以及包含这些运算符的表达式,特别是自加(++)和自减(——)运算符的使用。
(4)进一步熟悉C程序的编辑、编译、连接和运行的过程。
2,实验内容和步骤(1)输入并运行下面程序;运行后如下:在上面printf语句下增加一个printf语句:printf("%d %d\n",c1,c2);再运行,如下:比起第一步加入了printf("%d %d\n",c1,c2);,则表输出时出输出字母a、b外,还要输出其对应的ASC码值。
将第三行改为int c1,c2;再使之运行,结果如下:将第4、5行改为c1=a;c2=b;运行如下:再将第4、5行改为c1="a";c2="b";运行结果如下:字母的赋值不能这样输入,要用单引号,不然回去先错误。
再将第4、5行改为:c1=300;c2=400;运行后结果如下:表示ASC码为300,400分别对应的符号为,?(2)输入并运行以下程序:#include<stdio.h>void main(){char c1='a',c2='b',c3='c',c4='\101',c5='\116';printf("a%c b%c\tc%c\tabc\n",c1,c2,c3);printf("\t\b%c %c\n",c4,c5);}运行结果如下:(3)输入并运行下面的程序化,结果如下:○1将一个负整数赋给一个无符号的变量,会得到什么结果。
负整数最高位是符号位,当转换为无符号位的变量时,最高位的1就变成数字位,其值将增大。
实验2 数据类型、运算符和表达式一、实验目的和要求1.掌握常量的表示法【字符和字符串常量、短整型、整型和长整型、实数(float)和双精度实数(double)】。
2.掌握各种类型变量的说明及初始化。
3.掌握各种运算符和各类表达式(1)算术运算、逻辑运算、关系运算、++和――运算、三目条件运算符;(2)运算符的优先级、结合规则和目数的概念;(3)类型的自动转换和强制类型转换;(4)表达式的组成、左值和赋值,逻辑表达式的求值优化。
二、实验准备知识点:1.数据类型C++提供了十分丰富的数据类型,除基本类型外,还提供了。
基本数据类型中包括字符型,可用表示,占用字节;整型,可用表示,占用字节;实型,可用表示,占用字节;双精度型,可用表示,占用字节;无值型,可用表示,占用字节。
2.标识符的命名规则标识符命名应以开始,由组成,长度。
3.常量(1)常量可分为、、、和。
(2)十进制整数常量以开头;八进制整数常量以开头,由组成;十六进制整数常量以开头,由组成;长整型数以结尾;无符号整型数以结尾;无符号长整型数以结尾。
(3)指数形式的实型常量要求在E或e前,且在E或e之后的指数部分。
(4)字符常量是以括起来的个字符。
转义序列以开始,后跟一个或一个的办法来表示一个字符。
若转义字符后是一个整型常量,它必须是和进制,且其对应的十进制取值范围必须在之间,该八进制数以开头,也可以不以开头,而进制数必须以开头。
‘\t’表示;‘\n’表示;‘\\’表示;(5)字符串常量是以括起来的个字符;字符串常量与字符常量的存放格式的区别是。
(6)标识符常量可用两种方法定义标识符常量:一种是使用,另一种是利用常量说明语句。
4.变量变量要求在前,在后;变量说明语句可以出现,同一变量只能作次定义性说明;首次引用变量时,变量必须有一个;对变量赋初值的三种方法:、和通过输入流cin对变量赋初值。
5.运算符与表达式(1)算术运算C++中的算术运算符有两个单目运算符(只有一个操作数的运算符):和;五个双目运算符(有两个操作数的运算符):+(加)、―(减)、*(乘)、/(除)和。
实验二数据类型、运算符及表达式(4学时)【实验前做的操作】在本人所用计算机的逻辑盘(如D:盘或E:盘)上建立一个以本人姓名为名称的文件夹,然后在此父文件夹下建立子文件夹,名称为“实验二”,用来零时存放实验二需要上交的有关文件。
【实验目的】1、进一步熟悉C程序的集成开发环境 Visual C++。
2、掌握C语言数据类型的概念,熟悉如何定义整型、字符型、实型变量。
3、学会使用C语言的有关算术运算符,能正确地运用它们构成表达式。
4、掌握不同类型数据运算时数据类型的转换规则。
5、了解表达式语句,尤其是赋值语句。
6、熟练掌握利用VC++运行C程序的基本步骤,包括编辑、编译、连接和运行。
7、进一步了解C语言程序的基本框架及结构特点。
8、掌握简单C程序的查错方法。
9、尝试编写简单的C程序。
【实验内容】编程及调试实例2-1:求华氏温度100°F对应的摄氏温度。
计算公式:C=(5/9)(F-32),式中:C表示摄氏温度,F表示华氏温度。
源程序(有错误的程序)#include <stdoi.h>void main( ){intcelsius; fahr;fahr = 100;celsius = 5 * (fahr - 32) / 9;printf("fahr = d, celsius = %d\n", fahr, celsius);}运行结果(改正错误后程序的运行结果)f ahr = 100, celsius = 37(1)按照实验一中介绍的步骤,输入源程序并保存。
(2)实验一中我们使用菜单完成编译、连接和运行,现在介绍工具栏的使用方法。
在工具栏或菜单栏上单击鼠标右键,出现如图2.1所示的整个工具箱,在编译工具条前打上一个“√”,该工具条就显示出来了(如图2.2所示)。
图2.2中,第一个按钮“Compile ”或“Ctrl+F7”表示编译,第二个按钮“Build ”或“F7”表示构件,第四个按钮“Build Execute ”或“Ctrl+F5”表示运行。
c语言实验报告大一C语言实验报告大一引言在大学的计算机科学与技术专业中,C语言是一门基础而重要的编程语言。
作为大一学生,我们在学习C语言的过程中,不仅仅是理论知识的学习,还需要通过实验来巩固和应用所学的知识。
本篇文章将介绍我在大一期间完成的一些C语言实验,并分享一些实验过程中的心得体会。
实验一:Hello, World!在学习任何一门编程语言时,第一个程序往往是打印"Hello, World!"。
这个简单的程序不仅仅是一个入门的开始,更是我们对编程世界的第一次探索。
通过这个实验,我学会了如何编写一个简单的C程序,并且理解了程序的运行原理。
实验二:数据类型与运算符在这个实验中,我学习了C语言中的不同数据类型,如整数类型、浮点数类型和字符类型。
通过实验,我深入理解了数据类型的区别和选择的依据。
同时,我也学会了使用不同的运算符进行算术运算、逻辑运算和位运算。
这些基础的知识为我后续的学习打下了坚实的基础。
实验三:条件语句和循环结构在这个实验中,我学习了C语言中的条件语句和循环结构。
通过编写一些简单的程序,我掌握了if语句、switch语句和for循环、while循环等控制结构的使用方法。
这些结构的灵活运用,使得我能够编写更加复杂和实用的程序。
实验四:函数与数组函数是C语言中一个非常重要的概念,通过函数的封装和调用,我们可以将程序分解为模块,提高代码的可读性和可维护性。
在这个实验中,我学习了如何定义和调用函数,并且掌握了函数参数的传递和返回值的使用。
同时,我也学会了如何使用数组来处理一系列的数据,通过数组的操作,我可以更加高效地处理大量的数据。
实验五:指针与动态内存分配指针是C语言中一个非常重要且难以理解的概念。
在这个实验中,我通过编写一些程序,掌握了指针的基本概念和使用方法。
同时,我也学会了如何使用动态内存分配来管理内存空间,避免程序出现内存泄漏等问题。
指针的灵活运用,使得我能够更加高效地处理复杂的数据结构和算法。
实验2数据类型、运算符及表达式1.实验目的(1)掌握C语言数据类型,熟悉如何定义一个整型、字符型和实型的变量,以及对它们赋值的方法。
(2)掌握不同的类型数据之间赋值的规律。
(3)会使用C的有关算术运算符,以及1包含这些运算符的表达式,特别是自加(++)和自减(--)运算符的使用。
(4)进一步是熟悉C程序的编辑、编译、连接和运行的过程。
2.操作步骤:1)登陆教务系统,进入教学平台,将TurboC2存入C盘并命名2)进入TurboC编译环境,在Options下拉菜单的Directions里修改路径为TurboC23)输入源程序4)按快捷键F2保存5)按F9进行调试,若出现错误警告,按任意键返回检查并做出恰当修改,然后再按F2保存6)按Ctrl+F9运行程序7)按Alt+F5切换到用户界面查看结果3.实验内容⑴输入程序运行,观察运行结果。
#include “stdio.h”int main(){char c1,c2;c 1=’a’c2=’b’printf(“%c %c\n”,c1,c2);return(0);}按F9编译、连接程序,显示无错误,按ctrl+F9运行,按alt+F5看结果,结果显示:a,b①增加一条语句printf(“%d %d\n”,c1,c2);运行结果:a b97 98分析:“%d”表示“以十进制整数类型”,输出时对应的是ASCⅡ码值。
A对应的ASCⅡ是97,b对应ASCⅡ为98,则输出值为97 98②将第二行改为:int c1,c2;再运行,分析运行结果。
按F2保存源程序,按F9编译、连接程序,显示无错误,按ctrl+F9运行,按alt+F5看结果,结果显示:97 98分析:定义变量为整型,但int表示输出时要求输出字符,所以通过ASCII码转化为字符a b,输出97 98③再将第3、4行改为:c1=a;c2=b;再运行,分析运行结果。
按F2保存源程序,按F9完成编译连接,提示错误:Undefined symble “a”in function main分析:字符常量必须用‘’括起来,单个字母a b没有意义④再将第3、4行改为:c1=”a”;c2=”b”;再运行,分析运行结果。
实验2 数据类型、运算符和表达式一、实验目的:1.了解C语言的数据类型的种类。
2.熟悉C语言的变量与常量的定义域使用。
3.实践并掌握数据类型的定义域使用。
4.实践并掌握算数运算符及相应表达式。
5.实践并掌握不懂数据类型间的相互转换方法,理解类型间转换的内在规则与含义。
二、实验设备:1.硬件PC机2.软件VMware Workstation、Red Hat Linux三、实验内容:1.知识点实例验证2. 上机实验练习四、实验步骤1.知识点实例验证(1)简单的变量输出#include<stdio.h>Int main(){int a=200,b;unsigned int u;long l; char ch; float f;b=-1;u=b;l=u; ch=’A’;f=32.17;printf(“a=%d\t”,a);printf(“b=%d\n”,b);printf(“u=%u\t”,u);printf(“l=%ld\t”,l);printf(“f=%f\t”,f);printf(“ch is %c and value is %d\n ”,ch,ch);return 0;}(2)向字符变量赋以整数#include<stdio.h>Int main(){char a,b;a=120;b=121;printf(“a=%c,b=%c\na=%d,b=%d\n”,a,b,a,b);return 0;}(3)大小写字母的转换(编程实现)(4)不同类型数据的混合运算#include<stdio.h>Int main(){int b,i;float f;double d=20,s;char c=’a’;printf(“输入两个整数b,i:\n”);scanf(“%d,%d”,&b,&i);printf(“输入一个实数f:\n”);scanf(“%f”,&f);s=b+c+i*f-dprintf(“s=%.2f\n”,s);return 0;}(5) 自增表达式运算#include<stdio.h>Int main(){int i=3;int j=4;i++; ++j;printf(“i=%d,j=%d\n”,i,j);return 0;}(6) 逻辑表达式运算#include<stdio.h>Int main(){int x,y;printf(“输入两个整数x,y:\n”);scanf(“%d,%d”,&x,&y);if (x>20 || x<-10){if (y<100 && y>x)printf(”good\n”);}elseprintf(”bad\n”);return 0;}(7) 循环移位,要求将a 进行右循环移位。
实验二 数据类型、运算符、表达式、赋值语句、输入输出一、实验目的1、掌握变量的定义和赋值。
2、掌握C语言常用运算符的功能和使用。
3、学会分析表达式的结构,计算表达式的值。
4、掌握输入输出函数的使用。
二、实验内容1、编程,从键盘输入两个数字字符(如字符‘1’,‘2’),转换成十进制数(即1,2),并将两数的相加结果(即3)输出。
提示:字符’1’的ASCII码为49,将其减去常量48即可十进制数1。
要求:①用scanf、printf函数进行输入输出② 用getchar和putchar函数进行输入输出解①:【解②:原程序中蓝色修改部分为解②,其他不变,此处以注释方式加入】#include <stdio.h>int main(int argc, char *argv[]){char a,b;printf("请输入两个数字字符:");scanf("%c%c",&a,&b);/* a=getchar(); b=getchar(); */a=a-48;b=b-48;printf("两数字字符转换为十进制数后的和为:%d\n",a+b);return 0;}2、已知x=3.2,y=7,z=2,计算y/3*3.2-2的值。
先分析该表达式的值,然后输入并运行以下程序验证结果。
#include <stdio.h>int main(int argc, char *argv[]){ float x=3.2,s;int y=7,z=2;s=y/3*3.2-2;printf("结果是%f\n",s);return 0;}分析:运行结果:4.400000,该程序主要是考查不同类型之间的数值转换。
3、分析以下程序的输出结果,并运行该程序验证结果。
#include <stdio.h>int main(int argc, char *argv[]){ int a1,a2,b1,b2;int i=5,j=7,k=0;a1=!k;a2=i!=j;printf("a1=%d\ta2=%d\n",a1,a2);b1=k&&j;b2=k||j;printf("b1=%d\tb2=%d\n",b1,b2);return 0;}解答:4.写出课本P23习题14的运行结果。
仲恺农业工程学院实验报告纸信息学院(院、系)专业班C语言程序设计课实验目的:(1)掌握C语言数据类型,熟悉基本类型变量的定义、赋值和运算。
(2)熟悉C程序的编辑、编译、链接和运行过程。
实验内容与总结:1、运行下面程序,分析实验结果。
#include <stdio.h>void main(){float x=2.5,y=4.7;int a=7,b;float result;result=x+a%3*(int)(x+y)%2/4; /*赋值语句1*/printf("result1=%f\n",result);a=2;b=3;x=3.5;y=2.5;result=(float)(a+b)/2+(int)x%(int)y; /*赋值语句2*/printf("result2=%f\n",result);}分析:(1)、result=x+a%3*(int)(x+y)%2/4;语句求值过程分析如下:a%3=1;(int)(x+y)=7;result=x+a%3*(int)(x+y)%2/4=2.5+1*7%2/4=2.5+1/4=2.500000因为float result,所以输出结果有六位小数。
(2)、result=(float)(a+b)/2+(int)x%(int)y; 语句求值过程分析如下:(float)(a+b)/2=(2+3)/2=2.500000;(int)x%(int)y=3%2=1,所以result=3.500000.(3)、该实验中表达式求值所用到的知识点包括:①单精度浮点型变量float,有效数学为6~7位;②基本整型int;③程序内printf函数中的“%f”是输出浮点数时指定的格式符,作用是指定该实数以小数形式输出;④取商符号“/”,取余符号“%”;⑤转义字符\n,作用是换行,将当前位置移到下一行开头。
2、译码:教材P67-3.7程序:#include<stdio.h>void main(){char c1='C',c2='h',c3='i',c4='n',c5='a';c1+=4;c2+=4;c3+=4;c4+=4;c5+=4;printf("Password is %c%c%c%c%c\n",c1,c2,c3,c4,c5);}(1)、程序编制要点:①指定字符变量,初值分别’C’,’h’,’i’,’n’,’a’;②经过运算,使C变为G,h变为l,i变为m,n变为r,a变为e;③输出结果:China 译成Glmre。
凯里学院C 语言程序设计实验报告 ×××××专业××年级××班,学号××××××姓名××成绩 合作者实验日期年月日 指导教师评阅日期年月日实验二数据类型、运算符和表达式一、实验目的:(1)掌握C 语言数据类型,熟悉如何定义一个整型、字符型、实型变量、以及对它们赋值的方法,了解以上类型数据输出时所用的格式转换符。
(2)学会使用C 的有关算术运算符,以及包含这些运算符的表达式,特别是自加(++)和自减(――)运算符的使用。
(3)掌握C 语言的输入和输出函数的使用(4)进一步熟悉C 程序的编辑、编译、连接和运行的过程,学会使用stepbystep 功能。
(5)认真阅读教材数据类型,算术运算符和表达式,赋值运算符和表达式部分内容。
二、实验内容:(1)输人并运行下面的程序#include<stdio.h>voidmain(){charc1,c2;c1='a';c2='b';装订线 装订线printf("%c%c\n",c1,c2);}(2)按习题3.7的要求编程序并上机运行该题的要求是:要将“China”译成密码,密码规律是:用原来字母后面的第4个字母代替原来的字母。
例如,字母“A”后面第4个字母是“E”,用“E”代替“A”。
因此,“China”应译为“Glmre"。
请编一程序,用赋初值的方法使。
cl,c2,c3,c4,c5五个变量的值分别为‘C’、‘h’、‘i’、‘n’、‘a’,经过运算,使cl,c2,c3,c4,c5分别变为‘G’、‘l’、‘m’、‘r’、‘e’,并输出。
三、实验步骤:(1)输人并运行下面的程序#include<stdio.h>voidmain(){charc1,c2;c1='a';c2='b';printf("%c%c\n",c1,c2);}①运行此程序。
成都工业学院·计算机工程学院
《程序设计基础》实验报告
1.实验目的
(1)掌握C语言数据类型,熟悉如何定义一个整形、字符型和实型的变量,以及对它们赋值的方法
(2)掌握不同的数据类型之间赋值的规律
(3)学会使用关系运算符,以及包含这些运算符的表达式,特别是自增和自减运算符的使用
2.实验内容
(1)要将China译成密码,译码规律是:用原来字母后面的第4个字母代替原来的字母。
例如A后面第4个字母是E,用E代替A,因
此,China应翻译为Glmre。
请编译一个程序,用赋初值的方式是
c1,c2,c3,c4,c5,五个变量的值分别
为’C’、’h’、’i’、’n’、’a’,经过运算,使
c1,c2,c3,c4,c5,分别为’G’、’l’、’m’、’r’、’e’
①画出算法流程图,输入事先已编好的程序,并运行该程序,分
析是否符合要求。
②改变c1,c2,c3,c4,c5的值分别为Today,修改程序并运行
③修改程序,完成上述译码规则的解码操作,并将密码PSZI解码
成明文
3.流程图
4.源代码
#include <stdio.h>
void main()
{char c1='C',c2='h',c3='i',c4='n',c5='a';
c1+=4;
c2+=4;
c3+=4;
c4+=4;
c5+=4;
printf("%c%c%c%c%c\n",c1,c2,c3,c4,c5);}
修改后的程序
#include <stdio.h>
void main()
{char c1='T',c2='o',c3='d',c4='a',c5='y';
c1+=4;
c2+=4;
c3+=4;
c4+=4;
c5+=4;
printf("%c%c%c%c%c\n",c1,c2,c3,c4,c5);}
将密码PSZI解码成明文
#include <stdio.h>
void main()
{char c1='P',c2='S',c3='Z',c4='I';
c1-=4;
c2-=4;
c3-=4;
c4-=4;
printf("%c%c%c%c\n",c1,c2,c3,c4);}
5.运行结果
将China翻译成密码
将China改成Today
将PSZI翻译成明文
6.出现问题及解决办法
在编译时
printf("%d%d%d%d%d\n",c1,c2,c3,c4,c5);
出现警告
修改方法
printf("%c%c%c%c%c\n",c1,c2,c3,c4,c5);
输出的数据类型与变量类型不同,出项警告
在输入时还会犯标点符号错误的情况,不仔细
7.实验心得
通过编写简单的程序,熟悉了不同数据类型之间的转化,赋值规律。