C语言程序设计实验指导书 - V2.1(3)

2020-03-27 19:24

最后一个printf语句的运行结果是_______________。

(四)程序填空: #include \void main( )

{ _________ a=7;

float x=2.5,y=4.7,z;

z= x + a % 3 * (int) (x + y) % 2 / 4;

printf(\

程序中空格处应填_______________。

8

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

一、实验目的

(1)了解C 语言数据类型的意义,掌握基本数据类型变量的特点和定义方法。 (2)学会使用C 的算术运算符,以及包含这些运算符的算术表达式。 (3)掌握自加(++)和自减(--)运算符的使用。

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

二、实验要点

基本数据类型包括整型、字符型、实型。

三、实验要求

(1)上机前先阅读和编写以下要调试的程序。 (2)上机输入和调试程序并存在磁盘上。 (3)检查实验结果是否正确。

四、实验内容

(以下内容在实验报告中的实验预习报告内容中完成) 1. 调试程序,分析输出结果

(1)输入并运行以下程序。 main()

{ float a,b;

a=123456.789e5; b=a+20;

printf(\}

将第二行改为: double a,b;

重新运行该程序,分析运行结果。

说明:由于实型变量的值是用有限的存储单元存储的,因此其有效数字的位数是有限的。float型变量最多只能保证7 位有效数字,后面的数字是无意义的,不能准确表示该数。

(2)输入并运行以下程序。 main()

{ char c1,c2; c1=97;c2=98;

printf(\printf(\}

① 将第二行改为:int c1,c2;再运行。

9

② 再将第三行改为:c1=300;c2=400;再运行,分析运行结果。

说明:字符型数据可作为整型数据处理,整型数据也可以作为字符型数据处理,但应注意字符数据只占一个字节,它只能存放0-255 范围的整数。

2.完成以下填空,并把程序调通,写出运行结果。 下面的程序计算由键盘输入的任意两个整数的平均值: main()

{ int x,y ;

;

scanf(“%d,%d”,&x,&y); ;

printf(\}

3. 指出以下程序的错误并改正,上机把程序调通 main(); { int a;

a=5;

printf(“a=%d, a) }

4. 编写程序并上机运行

要将“China”译成密码,译码规律是:用原来字母后面的第3 个字母代替原来的字母。例如,字母“A”后面第4 个字母是“E”,用“E”代替“A”。因此,“China”应译为“Fklqd”。请编一程序,用赋初值的方法使c1、c2、c3、c4、c5 五个变量的值分别为‘C’、‘h’、‘i’、‘n’、‘a’,经过运算,使c1、c2、c3、c4、c5 分别变为‘F’、‘k’、‘l’、‘q’、‘d’、,并输出。输入程序,并运行该程序。分析是否符合要求。

五、思考与总结

(1)总结各种整型变量的取值范围。

(2)总结各种实型变量的有效数字位数和取值范围。 (3)总结算术运算符和自加、自减运算符的优先级与结合性。

10

实验三 选择结构程序设计

一、实验学时

2学时

二、实验目的

(一)掌握C语言关系表达式和逻辑表达式的运算和使用;

(二)正确使用条件控制语句(if语句、switch语句)进行选择结构程序设计。

三、预习要求

(一)关系运算符和关系表达式、逻辑运算符和逻辑表达式;

(二)if语句的三种形式(单分支、双分支、多分支),以及if语句的嵌套; (三)switch语句的形式。

四、实验内容

(一)分析下面程序,掌握关系及逻辑表达式的运算规则。 /* c3-1.c 关系及逻辑表达式运算规则 */ #include \void main( )

{ int a=3,b=5,c=8;

if(a++<3 && c--!=0) b=b+1;

printf(\}

注意该程序中的条件判断表达式a++<3 && c--!=0是一个逻辑表达式,关系表达式a++<3的值为假,因此后一部分c--!=0就不再计算。试比较下列各部分运行结果。

#include \void main( )

{ int a=3,b=5,c=8;

if(a++<3 && c--!=0) b=b+1;

printf(\

int a=3,b=5,c=8;

if(c--!=0 && a++<3) b=b+1;

printf(\

int a=3,b=5,c=8;

if(a++<3 || c--!=0) b=b+1;

printf(\

int a=3,b=5,c=8;

if(c--!=0 || a++<3) b=b+1;

printf(\ }

11

(二)输入下面两段程序并运行,掌握case语句中break语句的作用。 1./* c3-2.c */ /* c3-3.c */

/* 不含break的switch */ /* 含break的switch */ #include \ #include \void main( ) void main( ) { int a,m=0,n=0,k=0; { int a,m=0,n=0,k=0; scanf(\ scanf(\ switch(a) switch(a) { case 1: m++; { case 1: m++; break; case 2: case 2: case 3: n++; case 3: n++; break; case 4: case 4: case 5: k++; case 5: k++; } }

printf(\ printf(\} } 分别从键盘上输入1、3、5,写出程序运行的结果。

(三)完善程序,从键盘上输入x的值,按下式计算y的值。

?x x<1?y??2x?1 1?x<10

?3x?11 x?10?编程提示:注意逻辑表达式的正确表达方法,数学中的1≤x<10应使用C语言的逻辑表

达式(x>=1 && x<10)来表示。

下面是用多分支选择结构实现本题的程序结构: /* c3-4.c if 语句实现的多分支结构 */ #include \ void main( ) { 定义变量; 输入x;

if ( _______________ ) //按y=x为变量y赋值;

else if( _______________ ) //按y=2x-1为变量y赋值; else

_______________ //按y=3x-11为变量y赋值; printf(\ }

注意:在赋值语句中2x应该写成2*x。

(四)编写程序,给出一个百分制成绩,要求输出相应的等级A、B、C、D、E。90分以上为'A',80~89分为'B',70~79分为'C',60~69分为'D',60分以下为'E'。

编程提示: 1.先定义一个整型变量存放百分制成绩、定义一个字符型变量存放相应的等级成绩; 2.输入百分制成绩;

3.将百分制成绩按10分,分档作为switch语句中括号内的表达式; 4.按

case 10: case 9:

12


C语言程序设计实验指导书 - V2.1(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:集团投资发展部工作思路

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: