实验 2 顺序结构程序设计 9 unsigned short a; a= 1; printf("%d\n",a); 运行以上程序, 查看输出的结果, 分析为什么会输出这些信息 (1) 打开 VC 创建 liti2 2.c 文件 (2) 输入以上代码并编译执行 (3) 结果如图 2 2 所示 图 2

Similar documents
C++ 程序设计 告别 OJ2 - 参考答案 MASTER 2019 年 5 月 3 日 1

C++ 程序设计 告别 OJ1 - 参考答案 MASTER 2019 年 5 月 3 日 1

Microsoft Word - 正文.doc

Microsoft PowerPoint - 01_Introduction.ppt

《C语言程序设计》教材习题参考答案

CC213

untitled

《计算概论》课程 第十九讲 C 程序设计语言应用

《C语言程序设计》第2版教材习题参考答案

2013 C 1 # include <stdio.h> 2 int main ( void ) 3 { 4 int cases, a, b, i; 5 scanf ("%d", & cases ); 6 for (i = 0;i < cases ;i ++) 7 { 8 scanf ("%d %d

5. 閱 讀 下 文, 推 斷 內 最 適 合 填 入 的 詞 語 依 序 為 何? 人 也 真 是 一 個 絕 字, 一 邊 向 左, 一 邊 向 右, 一 副 的 樣 子, 偏 又 相 連 著, 各 說 各 話 各 走 各 路, 卻 又 人, 這 麼 一 個 簡 單 的 字, 竟 包 含 如 此

C/C++ - 函数

Ps22Pdf


C++ 程序设计 OJ2 - 参考答案 MASTER 2019 年 5 月 3 日 1

2006..,1..,2.,.,2..,3..,3 22..,4..,4 :..,5..,5 :..,5..,6..,6..,8..,10 :..,12..,1..,6..,6.., ,5,:..,1 :..,1 :..,1 :..,2..,2..,3 :..,1 :..,1..,1.

C C

Ps22Pdf

网C试题(08上).doc

第 3 章顺序结构程序设计 31 2) 直到型循环结构 先执行 A 操作, 再判断条件, 若条件成立, 再执行 A 操作, 如此反复, 直到条件不成立时才停止循环 由上述三种程序结构组成的程序称作结构化程序, 形成的软件称作结构化软件 C 程序结构 C 语言以文件为编译单位 一个 C 程

Ps22Pdf

林子雨《C语言程序设计》讲义PPT

《C语言程序设计》教材习题参考答案

論鄭玄對《禮記‧月令》的考辨

C/C++语言 - C/C++数据

9202reply-s.doc

ttian

! "#$%& $()*+#$, $(-.&,./.+#/(-.&01( &-#&(&$# (&2*(,#-3.,14& $ +()5(*-#5(-#/-/#(-1#&-+)(& :;<<= > A B?

!"# $%& %!"# $%& %!"#$%& %! ( )***%% ) $)! +**+),,* -)+.* )( ) +, +*.*)+..**! )$,*)+$))$!"!#

新・解きながら学ぶC言語

新版 明解C言語入門編

untitled

中華民國青溪協會第四屆第三次理監事聯席會議資料

download.kaoyan.com_2006ÄêÌì½ò¹¤Òµ´óѧ¸ß¼¶ÓïÑÔ³ÌÐòÉè¼Æ£¨409£©¿¼ÑÐÊÔÌâ

c_cpp

Generated by Unregistered Batch DOC TO PDF Converter , please register! 浙江大学 C 程序设计及实验 试题卷 学年春季学期考试时间 : 2003 年 6 月 20 日上午 8:3

C 语言程序设计 ( 第 33 版 )) #define PI // 下面 2 行是函数的原型说明部分 double sup_area(double r); double volume(double r); // 下面是主函数部分 { double a=-5,b,c,d; b=fab

<4D F736F F D20B5DA33D5C220CAFDBEDDB5C4CAE4C8EBCAE4B3F62E646F63>

新・明解C言語入門編『索引』

2

Microsoft Word - CPE考生使用手冊 docx

数量关系部分题目溯源:

Microsoft Word - 把时间当作朋友(2011第3版)3.0.b.06.doc

没有幻灯片标题

CHAPTER VC#

C++ 程序设计 OJ1 - 参考答案 MASTER 2019 年 5 月 3 日 1

C/C++程序设计 - 字符串与格式化输入/输出

C语言上机实验

JAVA 单元 2.1 四则运算机 ( 一 ) 单元教学进度设计 教学环节 教学内容 教师学生活动活动 反馈 反馈课前作业完成情况 反馈加分 1. 下面哪些是合法的变量名? ( ) A.2variable 答案 :DEG B..variable2 解答 : C.._whatavariable A:/

PowerPoint 演示文稿

エスポラージュ株式会社 住所 : 東京都江東区大島 東急ドエルアルス大島 HP: ******************* * 关于 Java 测试试题 ******

光華高中104學年度第一學期二年級體育常識測驗題庫


Microsoft Word - 第5-7章

没有幻灯片标题

zt

山东2014第四季新教材《会计基础》冲刺卷第三套

C/C++ 语言 - 循环

就 构 成 了 盗 窃 罪 与 破 坏 交 通 设 施 罪 的 想 象 竞 合, 按 照 其 中 处 罚 较 重 的 犯 罪 处 罚 5. 答 案 :B 本 题 主 要 考 察 如 何 区 分 收 买 被 拐 卖 的 妇 女 儿 童 罪 与 拐 卖 妇 女 儿 童 罪 的 共 犯 问 题 ( 对 向

C 1 # include <stdio.h> 2 int main ( void ) { 4 int cases, i; 5 long long a, b; 6 scanf ("%d", & cases ); 7 for (i = 0;i < cases ;i ++) 8 { 9


C/C++ - 文件IO

保母人員丙級應檢資料第二部份 doc

考 查 知 识 点 肝 气 疏 泄 调 畅 气 机 的 作 用, 主 要 表 现 在 以 下 几 个 方 面 :(1) 促 进 血 液 与 津 液 的 运 行 输 布 ;(2) 促 进 脾 胃 的 运 化 功 能 和 胆 汁 分 泌 排 泄 ;(3) 调 畅 情 志 ;(4) 促 进 男 子 排 精

计算概论A B03 C++语言的基本成分 - 运算成分(2)

FY.DOC

<4D F736F F D204A617661B3CCD0F2C9E8BCC6BBF9B4A1A3A8B5DA35B0E6A3A9CAB5D1E9D6B8B5BCD3EBCFB0CCE2BDE2B4F020B5DA33D5C22E646F63>

C 1

Microsoft Word - VB全文.doc

OOP with Java 通知 Project 2 提交时间 : 3 月 14 日晚 9 点 另一名助教 : 王桢 学习使用文本编辑器 学习使用 cmd: Power shell 阅读参考资料


《米开朗琪罗传》

2015年计算机二级(C语言)模拟试题及答案(四)

优合会计考点直击卷子之财经法规答案——第八套

Microsoft Word - 把时间当作朋友(2011第3版)3.0.b.07.doc

89SQSY.s92

PowerPoint 演示文稿

一、审计的分类

第一章

第 二 章 鉴 证 业 务 的 定 义 和 目 标 第 五 条 鉴 证 业 务 是 指 注 册 会 计 师 对 鉴 证 对 象 信 息 提 出 结 论, 以 增 强 除 责 任 方 之 外 的 预 期 使 用 者 对 鉴 证 对 象 信 息 信 任 程 度 的 业 务 鉴 证 对 象 信 息 是 按

A 单 位 负 责 人 B 会 计 机 构 负 责 人 C 会 计 主 管 人 员 D 会 计 人 员 多 选 题 : 1. 单 位 伪 造 变 造 会 计 凭 证 会 计 账 簿, 编 制 虚 假 财 务 会 计 报 告 的, 县 级 以 上 人 民 政 府 财 政 部 可 以 依 法 行 使 的

记 忆 155 期 北 京 大 学 文 革 专 辑 (9) 目 录 专 稿 章 铎 从 高 云 鹏 的 遭 遇, 看 迟 群 之 流 的 专 制 附 : 高 云 鹏 给 胡 宗 式 章 铎 的 信 (2015 年 11 月 19 日 ) 评 论 马 云 龙 王 复 兴 抢 救 记 忆 : 一 个 北

硕士论文正文


不 会 忘 记, 历 史 不 会 忘 记, 当 一 个 古 老 神 州 正 以 崭 新 的 姿 态 昂 首 屹 立 于 世 界 东 方 的 时 候, 当 世 界 把 延 伸 的 广 角 镜 瞄 准 这 片 神 奇 土 地 的 时 候, 中 国 人 民 已 深 深 感 到, 现 在 所 拥 有 的,

标题

Microsoft Word - media-tips-zh.doc


第六篇守势




!##$!% "&! %( $#!##)!& $!##*!##*! "

过 程 排 除 A 正 确 答 案 是 B 14.A 解 析 本 题 考 查 思 修 第 八 章 中 国 人 权, 新 增 考 点 其 中 直 接 考 查 宪 法 保 障 是 人 权 保 障 的 前 提 和 基 础 A 人 权 保 障 的 最 后 防 线 是 司 法 保 障,B 人 权 保 障 的

A. B. C. D. 4. A. B. C. D. 5. A. B. C. : 2


e yx = ( y / y) /( x / x) e yx

3.1 num = 3 ch = 'C' 2


zyk00168ZW.PDF

Transcription:

实验 2 顺序结构程序设计 明符 一 实验目的 1. 掌握 C 语言基本数据类型 运算符和赋值语句 2. 变量的定义及初始化 整型 实型 字符型等基本类型变量的定义和初始化 3. 熟练使用赋值运算 算术运算等表达式, 能够编写简单顺序结构程序 4. 掌握 C 语言基本的输入输出 熟练使用标准输入 输出函数及各种数据类型的格式说 二 实验内容及步骤 例题 2.1 输入程序, 查看输出结果 (1) 参照第一章创建 Liti2 1.c 文件并输入以下代码 #define price 32 int main () int num,total; num=10; total=num * price; printf("total=%d\n",total); (2) 编译执行结果如图 2 1 所示 图 2 1 运行结果 (3) 错误调试记录 例题 2.2 输入如下程序, 查看输出结果

实验 2 顺序结构程序设计 9 unsigned short a; a= 1; printf("%d\n",a); 运行以上程序, 查看输出的结果, 分析为什么会输出这些信息 (1) 打开 VC 创建 liti2 2.c 文件 (2) 输入以上代码并编译执行 (3) 结果如图 2 2 所示 图 2 2 运行结果 (4) 分析提高 考虑如果将程序第 4,5 行改为 int a; a= 2147483648; 运行时会输出什么信息? 为什么? (5) 程序分析 无符号短整型 ( 长度 2 字节 ) 的取值范围为 0~65535, a= 1, 1 的补码是 1111111111111111, 方法是 : 先写出 1 的二进制形式 0000000000000001, 然后按位取反,1111111111111110, 然后 再加 1, 结果为 1111111111111111 因为 a 是无符号短整型变量, 其左边第一位不代表符号, 按 %d 格式输出, 结果是 65535 对于无符号整型, 二进制形式 0000~~0000, 为最小 ;1111~~1111 为最大值 其中第 1 位不代 表符号 对于整型 ( 默认长度为 4 字节 ), 二进制形式 1000~0000 为最小值,0111~1111 为最 大值 其中第 1 位为 0 代表正数,1 代表负数 (6) 错误调试记录 例题 2.3 编写程序如下, 分析输出结果 char c,d; c='1';

10 C 语言程序设计实验指导与实训 d=128; printf("%d\n",c+1); printf("%c\n",c+1); printf("%c\n",d); printf("%d\n",d); (1) 打开 VC 创建 liti2 3.c 文件 (2) 输入以上代码并编译执行 (3) 结果如图 2 3 所示 图 2 3 输出字符变量运行结果 (4) 错误调试记录 例题 2.4 编写程序如下, 分析输出结果 int a, b; float d, e; char c1, c2; long f, g; double m, n; unsigned int x, y; a = 65; b = 97; c1 = 'a'; c2 = 'b'; d = 3.145; e = 6.874; f = 10000; g = 20000; m = 3141.592627; n = 0.123456789; x = 9527; y = 40000; printf("a=%c, b=%c\nc1=%d, c2=%c\nd=%6.2f, e=%6.2f\n", a, b, c1, c2, d, e); printf("f=%ld, g=%ld\nm=%15.6f, n=%15.12f\nx=%u, y=%u\n",f, g,m, n, x, y);

实验 2 顺序结构程序设计 11 (1) 打开 VC 创建 liti2 4.c 文件 (2) 输入以上代码并编译执行 (3) 结果如图 2 4 所示 图 2 4 格式化输出运行结果 (4) 错误调试记录 例题 2.5 编写程序如下, 掌握 C 语言表达式和顺序结构 #include <math.h> double a,b,c,disc,x1,x2,p,q; scanf("%lf,%lf,%lf",&a,&b,&c); disc=b*b 4*a*c; p= b/(2.0*a); q=sqrt(disc)/(2.0*a); x1=p+q; x2=p q; printf("x1=%5.2f\nx2=%7.2f\n",x1,x2); (1) 打开 VC 创建 liti2 5.c 文件 (2) 输入以上代码并编译执行 (3) 在第一行输入 1,4,4, 其结果如图 2 5 所示 图 2 5 求解一元二次方程运行结果

12 C 语言程序设计实验指导与实训 (4) 分析提高 对于输入, 同学们应注意输入格式和输入数值的问题, 对于本题中 scanf 函数使用了这样 的格式 scanf("%lf,%lf,%lf",&a,&b,&c);, 因此, 在输入时应按照 1,4,4 的输入方式分别给 a,b,c 输入值 请考虑如果按照 1 4 4 的格式输入, 应该如何修改程序? 此外, 当你输入的数字为 4,5,6 时, 此时运行结果会出现如图 2 6 所示的样子 请考虑 为何会出现此种运行结果 图 2 6 输入 4,5,6 时运行结果 (5) 错误调试记录 例题 2.6 编写程序如下, 掌握 C 语言表达式和顺序结构 main() int i,a,b; float x,y,z; i=1; x=++i; printf("x=%f\ni=%d\n",x,i); y=30.1234567; z=x+y; printf("z=%f\n",z); printf("z=%4.2f\n",z); printf("z=%6.2f\n",z); printf("z=%15.8f\n",z); printf("z=%e\n",x+y); (1) 打开 VC 创建 liti2 6.c 文件 (2) 输入以上代码并编译执行 (3) 结果如图 2 7 所示

实验 2 顺序结构程序设计 13 图 2 7 运行结果 (4) 错误调试记录 例题 2.7 编写程序如下, 掌握 C 语言基本的输入输出函数 main() char a,b,c; a=66;b='o';c='y'; putchar(a); putchar(b); putchar(c); putchar('\n'); (1) 打开 VC 创建 liti2 7.c 文件 (2) 输入以上代码并编译执行 (3) 结果如图 2 8 所示 图 2 8 输出字符运行结果 (4) 分析提高 请试着修改程序并考虑输出结果为何会是这样? 首先删除程序第 4 行 char a,b,c; 将程序第 5 行 a=66;b='o';c='y'; 改为 int a=66,b=79,c=89; 查看运行结果, 思考两段程序的异同 第二次修改, 保留程序第 4 行 char a,b,c; 将程序第 5 行改为 a=getchar();

14 C 语言程序设计实验指导与实训 b=getchar(); c=getchar(); 运行时会输出什么? 为什么? (5) 错误调试记录 三 典型习题讲解 习题 2.1 例如我国国民生产总值的年增长率为 9%, 计算 10 年后我国国民生产总值与 现在相比增长多少百分比 计算公式为 : p=(1+r) n 式中 :r 为年增长率 ;n 为年数 ;p 为与现在相比的倍数 模块中 问题分析 : 参看附录 D( 库函数 ), 使用 pow 函数求 y x 的值, 调用函数的具体形式是 pow(x,y) 注意 : 调用数学函数时需要在程序的开头用 #include 指令将 <math.h> 头文件包含到本程序 (1) 创建 xiti2 1.c 文件并输入以下程序代码 : #include <math.h> float p,r,n; r=0.09; n=10; p=pow(1+r,n); printf("p=%f\n",p); (2) 调试运行结果如图 2 9 所示 图 2 9 计算增长百分比运行结果 请考虑如何使用百分比格式输出 (3) 错误调试记录

实验 2 顺序结构程序设计 15 习题 2.2 用下面的 scanf 函数输入数据, 使 a=3,b=7,x=8.5,y=71.82,c1='a',c2='a', 问在 键盘上如何输入? (1) 创建 xiti2 2.c 文件并输入以下程序代码 int a,b; float x,y; char c1,c2; scanf("a=%d b=%d",&a,&b); scanf("%f %e",&x,&y); scanf("%c%c",&c1,&c2); printf("a=%d,b=%d,x=%f,y=%f,c1=%c,c2=%c\n",a,b,x,y,c1,c2); (2) 程序运行结果如图 2 10 所示, 图中 1,2 行为用户在键盘上的输入 第 3 行为程序 输出结果 图 2 10 scanf 函数的使用运行结果 (3) 分析与提高 请注意输入的格式问题 在输入 71.82 后, 应该紧接着输入字符 A, 中间不要有空格 因 为 A 是字母, 系统在遇到字母 A 时就确定输入给 y 的数值已经结束 字符 A 就送到下一个 scanf 语句中的字符变量 c1 如果在 71.82 后输入空格字符, 该空格字符就被 c1 读入,c2 读入字符 A 所以输出时 c1 就输出空格,c2 输出 A 请同学考虑在输入 71.82 后按回车键, 结果会怎 么样呢? 在使用 scanf 函数输入数据时往往会出现一些意想不到的情况, 例如在连续输入不同类型 的数据情况下, 需要特别注意 希望同学通过此例, 可以了解怎样正确进行输入数据 (4) 错误调试记录

16 C 语言程序设计实验指导与实训 习题 2.3 设圆半径 r=1.5, 圆柱高 h=3, 求圆周长 圆面积 圆球表面积 圆球体积 圆柱体积 用 scanf 输入数据, 输出计算结果, 输出时要求文字说明, 取小数点后两位数字 请编写程序 (1) 创建 xiti2 3.c 文件并输入以下程序代码 : int main () float h,r,l,s,sq,vq,vz; float pi=3.141526; printf(" 请输入圆半径 r, 圆柱高 h "); scanf("%f,%f",&r,&h); // 要求输入圆半径 r 和圆柱高 h l=2*pi*r; // 计算圆周长 l s=r*r*pi; // 计算圆面积 s sq=4*pi*r*r; // 计算圆球表面积 sq vq=3.0/4.0*pi*r*r*r; // 计算圆球体积 vq vz=pi*r*r*h; // 计算圆柱体积 vz printf(" 圆周长为 : l=%6.2f\n",l); printf(" 圆面积为 : s=%6.2f\n",s); printf(" 圆球表面积为 : sq=%6.2f\n",sq); printf(" 圆球体积为 : v=%6.2f\n",vq); printf(" 圆柱体积为 : vz=%6.2f\n",vz); (2) 按照输入格式要求输入数据 例如输入 3,5, 则运行结果如图 2 11 所示 图 2 11 输入半径和高并计算输出运行结果 (3) 错误调试记录 四 二级考试提高 训练 2.1 编写程序如下, 分析输出结果 main()

实验 2 顺序结构程序设计 17 int i,a,b; i=1; a=i++; printf("a=%d,i=%d\n",a,i); b=++i; printf("b=%d,i=%d\n",b,i); a=i ; printf("a=%d,i=%d\n",a,i); b= i; printf("a=%d,i=%d\n",b,i); (1) 打开 VC 并创建 xunlian2 1.c (2) 在代码框输入上面的代码 (3) 编译并执行, 运行结果如图 2 12 所示 图 2 12 运行结果 (4) 分析提高 a=i++ 运算, 先赋值再增加, 所以 a 的值先赋值为 1, 而 i 赋值后自身再增加为 2;b=++i, 先增加再赋值,i 的值先自增为 3( 之前的运算 i 的值已经是 2), 再赋值给 b 的为 3 请同学 自己分析 i 和 i 的结果 训练 2.2 分析下面程序, 写出运行结果, 再输入计算机运行, 将得到的结果与你分析 得到的结果比较对照 int i, j, m, n; i=6; j=8; m=++i; n=j++; printf( %d,%d,%d,%d\n,i,j,m,n); (1) 打开 VC 并创建 xunlian2 2.c (2) 在代码框输入上面的代码 (3) 编译执行并分析运行结果如图 2 13 所示

18 C 语言程序设计实验指导与实训 图 2 13 最初程序运行结果 (4) 分别作以下改动之后, 再运行程序 1 将第 6 行改为 m=i++; n= ++ j; 后运行结果如图 2 14 所示 图 2 14 修改第 6 行后运行结果 2 程序改为 : int i, j; i=6; j=8; printf( %d,%d\n, i++, j++); 查看运行结果为图 2 15 所示 图 2 15 第二次改动后运行结果 3 在 2 的基础上, 将 printf 语句改为 : printf("%d,%d\n", ++ i, ++ j ); 4 再次将 printf 语句改为 : printf("%d,%d,%d,%d\n",i,j,i++,j++); 5 程序改为 : main() int i, j, m=0, n=0; i=6; j=8; m+= i ++; n = j; printf("i=%d,j=%d,m=%d,n=%d\n",i,j,m,n); 此程序主要考查自加 自减运算符以及复合运算符的用法

实验 2 顺序结构程序设计 19 五 习题与思考 1. 编写程序, 运行并查看输出结果 (1) unsigned short a; a= 1; int b; b=2147483647; printf("%d\n",a); printf("%d\n",b+1); (2) int x=10; int y=x++; printf("%d,%d",(x++,y),y++); 2. 编写程序使其通过键盘输入三个整数后由小到大输出 3. 编写一个加 乘法运算的程序, 当输入两个整数就能把各个加 减 乘式子输出