实验1-数据类型、运算符和表达式.doc_第1页
实验1-数据类型、运算符和表达式.doc_第2页
实验1-数据类型、运算符和表达式.doc_第3页
实验1-数据类型、运算符和表达式.doc_第4页
实验1-数据类型、运算符和表达式.doc_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

实验1 数据类型、运算符和表达式一、 实验目的1. 掌握C语言数据类型,熟悉如何定义一个整形、字符型和实型的变量,掌握它们赋值的方法。2. 掌握不同数据类型数据之间赋值的规律。3. 学会使用C的有关算术运算符,以及包含这些运算符的表达式,特别是自加(+)和自减(-)运算符的使用。二、 实验内容1. 变量a、b中各存有一个整数,交换两数后输出。2. 从键盘输入一个字符,输出这字符的ASCII码的值。3. 整形变量的用法。编辑运行下面的程序,在上机前先用人工分析程序,写出应得结果,上机后将二者对照。#include Int main() int a,b;unsigned c,d;long e,f;a = 100;b = -100;e = 50000;f = 32767;c = a;d = b;printf(%d,%dn, a, b);printf(%u,%un, a, b);printf(%u,%un, c, b);c = a = e;d = b = f;printf(%d,%dn, a, b);printf(%u,%un, c, d);return 0;4. 基本输入输出函数的用法。编辑运行下面的程序,并根据执行结果分析程序中各个语句的作用。#include int main() int a, b; float d, e; char c1, c2; double f, g; long m, n; unsigned int p, q; a=61; b=62; c1=a; c2=b; d=5.67; e=-6.78; f=1234.56789; g=0.123456789; m=50000; n=-60000; p=32768; q=40000; printf(a=%d,b=%dnc1=%c,c2=%cn,a,b,c1,c2); printf(d=%6.2f,e=%6.2fn,d,e); printf(f=%15.6f,g=%15.10fn,f,g); printf(m=%ld,n=%ldnp=%u,q=%un,m,n,p,q); return 0;三、 实验指导1. 设a=10,b=20,若要交换这两数,则需要借用一中间变量。首先将a中的数值存入变量t 中进行保存,然后将b中的数值存入a中,再将t中的数值存入b中。写出程序代码。2. 一个整数,只要它的值在0255之间,就以用字符形式输出,在输出前,系统会将该整数转换为相应的ASCII码的字符;一个字符也可以用一个整数输出,输出的整数即为这字符的ASCII码值。根据上面的分析,自己写出程序代码。运行时:从键盘上输入字符:a输出结果为_,此结果代表着什么含义?3. 请对照程序和运行结果分析:(1). 将一个负整数赋给一个无符号的变量,会得到什么结果。画出它们在内存中的表示形式。(2). 将一个大于32767的长整数赋给整形变量,会得到什么结果。画出它们在内存中的表示形式(在VC环境中,用short int )。(3). 将一个长整数赋给无符号的变量,会得到什么结果(分别考虑该长整数的值大于或等于65535 以及小于65535 的情况)。画出它们在内存中的表示形式((在VC环境中,用short int ))。同学们可以改变程序中各变量的值,以便比较。例如: a = 65580, b = -40000, e = 65535, f = 65580。4. 基本输入输出函数的用法。(1). 运行所给出的源程序,对照结果分析各语句的作用。(2). 将程序中的第二、第三个printf语句修改为如下形式,然后运行程序,察看结果。 printf(d=%-6.2f,e=%-6.2fn,d,e); printf(f=%-15.6f,g=%-15.10fn,f,g);(3). 将上述两个printf语句进一步修改为如下形式,然后运行程序,察看结果。 printf(d=%-6.2fte=%-6.2fn,d,e); printf(f=%-15.6ftg=%-15.10fn,f,g);(4). 将程序的第10-15行修改为如下语句:a=61;b=62;c1=a;c2=b;f=1234.56789;g=0.123456789;d=f;e=g;p=a=m=50000;q=b=n=-60000;运行程序,并分析结果。(5). 修改(1)中的程序,不使用赋值语句,而用下面的scanf语句为a、b、c1、c2、d、e输入数据:scanf(%d%d%c%c%f%f,&a,&b,&c1,&c2,&d,&e); 请按照程序原来中的数据,选用正确的数据输入格式,为上述变量提供数据。 使用如下数据输入格式,为什么得不到正确的结果?输入数据:61 62 a b 5.67 -6.78 (6). 进一步修改中使用的程序,使f和g的值用scanf()函数输入。(7). 进一步修改上面的程序,使其他所有变量的值都改用scanf()函数输入。 参考程序#include int main() int a, b; float d, e; char c1, c2; double f, g;scanf(%d%d long m, n; unsigned int p, q; printf(Input(a,b,c1,c2,d):); scanf(%d%d%c%c%f%f,&a,&b,&c1,&c2,&d,&e); printf(Input(f,g):); scanf(%lf%lf,&f,&g); printf(Input(m,n,p,q):); scanf(%ld%ld%u%u,&m,&n,&p,&q); printf(a=%d,b=%dnc1=%c,c2=%cn,a,b,c1,c2); printf(d=%-6.2f,e=%-6.2fn,d,e); printf(f=%-15.6f,g=%-15.10fn,f,g); printf(m=%ld,n=%ldnp=%u,q=%un,m,n,p,q); return 0; 数据输入格式Input(a,b,c1,c2,d):61 62ab5.67 -6.78 Input(f,g):1234.567890 0.1234567890 Input(m,n,p,q):50000 -60000 32678 40000 (8). 修改(7)中的程序,使c1、c2的数据用getchar()函数输入,用putchar()函数输出。 可按照如下方法修改程序:将程序中的“scanf(%d%d%c%c%f%f,&a,&b,&c1,&c2,&d,&e);”语句用以下四个语句替换:scanf(%d%d% ,&a,&b);c1=getchar();c2=getchar();scanf(%f%f,&d,&e); 使用与(7)相同的数据输入格式输入数据。 请分析:使用如下格式为a、b、c1、c2输入数据时会出现什么结果?运行程序验证所分析的结论。输入数据格式:61 62 a b 四、 预习题(选择题)1、不正确的C程序描述是 A. 每个语句和数据定义的最后必须有个分号B. 一个C程序的书写格式要求严格,一行只能写一个语句C. C语言的本身没有输入输出语句D. 一个C程序总是从main()函数开始执行2、以下C语言正确结构形式的描述是 A. main()函数必须放在程序之首B. 每一行只能写一个语句,每个语句之后必须有分号C. C语言没有输入输出语句D. C语言的自由度大,可以从任何函数执行3、在C语言系统中,假设int类型数据占2个字节,则double、long、unsigned int、char类型数据所占字节数分别多少 A. 8,2,4,1B. 2,8,4,1C. 4,2,8,1D. 8,4,2,14、下面叙述不正确的是 A. C语句末尾必须有分号B. C语言中无论是整数还是实数都能准确的表示C. 运算符“%”只能用于整数运算D. 乘除运算符优先级高于加减运算符5、若有说明语句:int a; float b;,以下输入语句正确的是 A. scanf(%f%f,&a,&b);B. scanf(%f%d,&a,&b);C. scanf(%d,%f,&a,&b);D. scanf(%6.2f%6.2f,&a,&b);6、下面不属于C语言的数据类型是 A. 整型B. 实型C. 逻辑型 D. 双精度实型7、已知a为int型,b为double型,c为float型,d为char型,则表达式a+b*c-d/a结果的类型为 A. int 型B. float型C. double型D.

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论