admin管理员组

文章数量:1532168

2024年3月26日发(作者:)

I I

「凯里学院 C 语言程序设计实验报告

I I ----------------------------------------------------

I I

I I

;;

XXXXX

专业

XX

年级

XX

班,学号

XXXXXX

姓名

XX

成绩

I I

i i

合作者实验日期年月日

::指导教师评阅日期年月日

;;

一、实验目的:

— —

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

::(

1

)掌握

C

语言数据类型,熟悉如何定义一个整型、字符型、实型变量、以及对它们赋值

::的方法,了解以上类型数据输出时所用的格式转换符。

::(

2

)学会使用

C

的有关算术运算符,以及包含这些运算符的表达式,特别是自加(

::自减(一一)运算符的使用。

;;(

3

)掌握

C

语言的输入和输出函数的使用

::(

4

)进一步熟悉

C

程序的编辑、编译、连接和运行的过程,学会使用

++

)和

stepbystep

功能。

I I

::{

I I *

::(5

)认真阅读教材数据类型,算术运算符和表达式,赋值运算符和表达式部分内容。 [装[二、实验内容:

[订]

(1)

输人并运行下面的程序

:线;

#include<>

; ;

voidmain()

;;

::

charc1,c2;

c1='a';

c2='b';

prin tf("%c%cn",c1,c2);

;;

::}

::(2

)按习题的要求编程序并上机运行

::该题的要求是

::要将“

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'

、‘

I '

、‘

m

> ‘

r'

、‘

e'

,并输

J

|出。

::三、实验步骤:

i i (1)

输人并运行下面的程序

#in clude<>

:装;

voidmain()

【订

I {

线

::

::

::

;;}

charc1,c2;

c1='a';

c2='b';

prin tf("%c%cn",c1,c2);

I I

::①运行此程序。

::程序结果为:

ab

PreSE ansi key to cent inue

::②在此基础上增加一个语句

prin tf("%d%dn",c1,c2);

::再运行,并分析结果。

③ 将第

2

行改为

intc1

c2;

再使之运行,并观察结果。

::

再将第

3

行改为

cl=a;/*

不用单撇号

*/

c2=b;

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

:分析:编译通不过,会显示

a

b

未被定义。

:⑤再将第

4

,

5

行改为

cl="a";/*

用双撇号

*/

■线,

::c2="b";

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

![分析:编译通不过,有语法上的错误。

::⑥再将第

4

,

5

行改为

;;

c1=300;/*

用大于

255

的整数

*/

c2=400;

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

;;分析:字符型变量为一个字节,且为无符号型,字符会输出

::字符,而要将其转换为数字,会进行符号位扩展,则会输出

;;(2)

输人并运行教材第

3

章习题给出的程序

::#include<>

mai n()

! ! {

;; charc

'a',c2='b',c3='c',c4='101',c5='116';

prin tf("a%cb%ctc%ctabcn",c1,c2,c3);

;; prin tf("tb%c%cn",c4,c5);

i i }

[装]分析输出结果:

(

短线代表空格数

)

;订;

aa-bb—cc ---- abc

:线「一

A-

N

;;(3)

输人并运行下面的程序

::#in

clude

<>

;;voidmain()

::{

:: in ta,b;

;; un sig nedc,d;

;; lon ge,f;

:: a=100;

b=-100;

;;

e=50000;

I I

I

I

I

I I

1

1

f=32767;

c=a;

ASCII

表中

44

144

所对应的

44

-112

d=b;

prin tf("%d,%dn",a,b);

prin tf("%u,%un",a,b);

prin tf("%u,%un",c,d);

c=a=e;

d=b=f;

prin tf("%d,%dn",a,b);

prin tf("%u,%un",c,d);

}

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

① 将一个负整数斌给一个无符号的变

t

,会得到什么结果。画出它们在内存中的表 示形式。

符号位会变成数位位,数值的绝对值增大。

② 将一个大于

32767

的长整数斌给整型变

t

,会得到什么结果。画出它们在内存中 的表示形式。

::会出现从低位向高位截取

16

位,且第

16

位为符号位。

;;③将一个长整数赋给无符号变量,会得到什么结果

(

分别考虑该长整数的值大于或

;;等于

65535

以及小于

65535

的情况

)

。画出它们在内存中的表示形式。

::会出现从低位向高位截取

16

位,且第

16

位为符号位。大于截取,等于为零,小于不变 读者可以改变程序中各

变的值,以便比较。例如

a=65580,b==

;;65535, f=65580

;;

输人习题

::#include<>

: :voidmain()

「{

I I

・丄・・

in ti,j,m, n;

::i=

8

;;

j=10;

m=++i;

n=j++;

prin tf("%d,%d,%d,%dn",i,j,m, n);

;装丨

}

I I

J

[订]①运行程序,注意

i,j,m,n

各变量的值。分别作以下改动并运行:

:线]②将第

6,7

行改为

;;m=i++;

n=++j;

::再运行。

;;③将程序改为

#in clude<>

: :voidmain()

::{

I I

I

I

::

I '

I

■丄・・

in ti,j;

i=8;

j=10;

prin tf("%d,%dn",i++,j++);

}

④ 在③的基础上,将

printf

语句改为

: prin tf("%d,%d,%d,%dn",i,j,++i,++j);

⑤ 再将

printf

语句改为

prin tf("%d,%d,%d,%dn",i,j,i++,j++);

any key to continue,

I I

::⑥将程序改为

::#include<>

::voidmain()

I I

i i

::{

I I

in ti,j,m=0,n=0;

::i=8;

:: j=10;

m+=i++;

n-

=

--j;

:: prin tf("i=%d,j=%d,m=%d ,n=%dn",i,j,m, n);

::}

I I

:[四、实验心得(体会):

:壮丨 通过本次

C

语言上机实验,我对计算机编程语言有了一定的体验。我对

C

语言中各种数

:据类型及表达式的实用有了一定的了解。 特别是关于自增自减运算符的使用加深了印象。

:C

语言的学习,我将更加努力。

线

I I

:装:

:订:

:线:

本文标签: 运行运算符实验符号数据类型