实验1 数据类型、运算符和表达式

更新时间:2023-11-08 01:46:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

实验1 数据类型、运算符和表达式

班级: 姓名: 学号: 日期: 1.实验目的

(1)掌握C语言数据类型,熟悉如何定义一个整型、字符型和实型的变量,以及对它们赋值的方法;

(2)掌握不同的类型数据之间赋值的规律; (3)学会使用C的有关算术运算符,以及包含这些运算符的表达式,特别是自加(++)和自减(--)运算符的使用;

(4)进一步熟悉C程序的编制、编译、连接和运行的过程。

2.实验内容和步骤

(1)输入并运行下面的程序: #include void main() {

char c1,c2; c1=?a?;

c2=?b?;

printf(?%c %c\\n?,c1,c2); }

①运行此程序。

②在上面printf语句的下面再增加一个printf语句。 printf(?%d %d\\n?,c1,c2); 再运行,并分析结果。

③将第3行改为

int c1,c2;

再使之运行,并分析结果。

④再将第4、5行改为: c1=a; /*不用单撇号*/

1

c2=b;

再使之运行,分析其运行结果。

如图所示,运行出现错误,可能是因为 ⑤再将第4、5行改为: c1=?a?; /*用双撇号*/ c2=?b?;

再使之运行,分析其运行结果。

出现错误,

⑥再将第4、5行改为:

c1=300; /*用大于255的整数*/ c2=400;

再使之运行,分析其运行结果。

(2)输入并运行教第2章习题2.5给出的程序: #include void main() {

char c1=?a?,c2=?b?,c3=?c?,c4=?\\101?,c5=?\\116?; printf(?a?%ctc%c\\tabc\\n?,c1,c2,c3); printf(?\\t\\b%c%c\\n?,c4,c5);

}

在上机前先用人工分析程序,写出应得的结果,上机后将二者对照。 (3)输入并运行下面的程序: #include void main() { int a,b; unsigned c,d; long e,f; a=100; b=-100; e=50000; f=32767; c=a;

d=b;

printf(?%d,%d\\n?,a,b); printf(?%u,%u\\n?,a,b);

2

printf(?%u,%u\\n?,c,d); c=a=e; d=b=f;

printf(?%d,%d\\n?,a,b); printf(?%u,%u\\n?,c,d); }

请对照程序和运行结果分析:

①将一个负数赋给一个无符号的变量,会得到什么结果。画出它们在内存中的表示形式。 ②将一个大于32767的长整数赋给整型变量,会得到什么结果。画出它们在内存中的表示形式。

③将一个长整数赋给无符号变量,会得到什么结果(分别考虑长整型数的值大于65535和小于65535的情况)。画出它们在内存中的表示形式。

可能通过改变程序中变量的值,以便进行比较。 (4)输入如下程序: #include void main() {

int i,j,m,n; i=8; j=10; m=++i;

n=j++;

printf(?%d,%d,%d,%d\\n?,i,j,m,n);

}

①运行程序,注意i、j、m、n各变量的值。分别做以下改动并运行: ②将第6、7行改为: m=i++; n=++j; 再运行。

③程序改为: #include void main() { int i,j; i=8; j=10;

printf(?%d,%d\\n?,i++,j++); }

④在③基础上,将printf语句改为 printf(?%d,%d\\n?,++i,++j); ⑤再将printf语句改为

printf(?%d,%d,%d,%d\\n?,i,j,i++,j++); ⑥程序改为: #include

3

void main() {

int i,j,m=0,n=0; i=8; j=10;

m+=i++;n-=--j;

printf(?i=%d,j=%d,m=%d,n=%d\\n?,i,j,m,n);

}

(5)按照习题2.6的要求编写好程序,该题的要求是:将“China”译成密码,密码规律是:用原来的字母后面的第4个字母代替原来的字母。因此,“China”应译为“Glmre”。请编写一个程序,用赋初值的方法使c1、c2、c3、c4、c5这5个变量的值分别为?C?、?h?、?i?、?n?、?a?,经过运算,使得c1、c2、c3、c4、c5分别变为?G?、?l?、?m?、?r?、?e?,并输出。

①输入事先已编好的程序,并运行该程序。分析是否符合要求。

②改变c1、c2、c3、c4、c5的初值为?T?、?o?、?d?、?a?、?y?,对译码规则做如下补充:?W?用?A?代替,?X?用?B?代替,?Y?用?C?代替,?Z?用?D?代替。修改程序并运行。

③将译码规律修改为:将一个字母被它前面第4个字符代替,例如?E?用?A?代替,?Z?用?U?代替,?D?用?Z?代替,?C?用?Y?代替,?B?用?X?代替,?A?用?V?代替。修改程序并运行。

3.预习内容

预习教材第2章。

4

本文来源:https://www.bwwdw.com/article/3k32.html

Top