文章目录

  • 第3章 顺序程序设计
    • 3.1顺序程序设计举例
    • 3.2数据的表现形式及其运算
    • 3.3 运算符和表达式
    • 3.4 C语句
    • 3.5 数据的输入输出

第3章 顺序程序设计

3.1顺序程序设计举例

【例3.1】有人用温度计测量出用华氏法表示的温度(如 64°F),今要求把它转换为以摄氏法表示的温度(如17.8° C) 。
【解题思路】:找到二者间的转换公式:

#include <stdio.h>
int main ( )
{float f,c; f=64.0; c=(5.0/9)*(f-32); printf("f=%f\nc=%f\n",f,c);        return 0;
}

【运行结果】

f=64.000000
c=17.777778

例3.2 计算存款利息。有1000元,想存一年。有三种方法可选:
(1)活期,年利率为r1
(2)一年期定期,年利率为r2
(3)存两次半年定期,年利率为r3
请分别计算出一年后按三种方法所得到的本息和。

#include <stdio.h>
int main ( ){float p0=1000, r1=0.0036,r2=0.0225,r3=0.0198, p1, p2, p3;      p1 = p0 * (1 +  r1); p2 = p0 * (1 +  r2); p3 = p0 * (1 +  r3/2) * (1 + r3/2);                              printf(”%f\n%f\n%f\n”,p1, p2, p3);    return 0;}

【运行结果】

1003.599976
1022.500000
1019.898010

3.2数据的表现形式及其运算

1.常量
在程序运行过程中,其值不能被改变的量。
(1)整型常量
整型常量(整常数)的三种表示方法
十进制整数:由数字0~9和正负号表示.如 123,-456,0
八进制整数:由数字0开头,后跟数字0~7表示. 如 0123,011
十六进制整数:由0x开头,后跟09,af,A~F表示.如 0x123,0xff

(2)实型常量
两种表示方法:
十进制小数形式:必须有小数点
如 0.123 、.123 、123.0 、0.0 、123.
指数形式:e或E之前后必须有数字;指数必须为整数
如 123.456e0、12.3456e1 、1.23456e2 、
0.123456e3 、0.0123456e4 等
规范化指数形式
小数部分中小数点前的只有一位非0的数字,小数点后的第一位数字不为0。例如: 1.23456e3
是指数的输出形式 1.23456e003

(3)字符常量
普通字符,用单撇号括起来的字符。如’a’,‘D’,‘1’,’?’,’$’。
此为源程序级的表示,例如c= ‘a’;
若在计算机中表示,则为其ASCII码的二进制。
注意ASCII表的规律,空字符、空格字符
转义字符:以字符\开头的字符序列。例如 ‘\n’

利用\ooo和 \xhh可表示任何字符(只要已知其ASCII码)
例如:’\101’等同于’A’,’\012’等同于’\n‘;
‘\0’、’\000’为空字符。
【例】 转义字符的应用

#include <stdio.h>
int main ( )
{  printf("f\tgde\n");printf("h\ti\b\bj k\n");return 0;
}

【运行结果】

(4)字符串常量

字符串常量是一对双引号括起来的字符序列。例如:“How do you do”, “abc”, “a”
"a"与’a’的不同。

字符串内存中的存放。例如"CHINA"
CHINA/0
(5)符号常量

#define PRICE 30int main( ){  int num, total;num=10;total=num*PRICE;printf (" Total=%d", total );return 0;}

符号常量的优点是:见名知意、一改全改。

2.变量
定义:其值可以改变的量。
定义格式:数据类型 变量名;
变量应该有名字,并在内存中占据一定的存储单元。
变量必须先定义,后使用
变量名和变量值有不同的含义,
变量名实为一个符号地址 。

3.标识符
定义:标识变量名、符号常量名、函数名、数组名、
类型名、文件名的有效字符序列——名字。
命名规则:
只能由字母、数字、下划线组成,且第一个字符必须是字母或下划线
大小写字母含义不同,一般用小写
不能使用关键字
TC允许最长32个字符,建议长度不超过8个字符。

4.C语言允许使用的数据类型:
基本类型
整型类型
基本整型
短整型
长整型
双长整型
字符型
布尔型

整型变量的溢出

#include <stdio.h>
int main (  ){    int a,b;a=32767;b=a+1;printf ("%d,%d", a,b);return 0;
}/*TC中*/
运行结果为:32767,-32768

改成long b;结果正常。
【例】 向字符变量赋以整数。

main ( )
{ char c1,c2;c1=97; c2=98;                     //  等价于c1='a'; c2='b'; printf("%c %c\n",c1,c2);printf("%d %d\n",c1,c2);
}

【例】 大小写字母的转换

main ( )
{ char c1,c2;c1='a';c2='b'; c1=c1–32;c2=c2–32;printf("%c %c\n",c1,c2);
}
字符数据与整型数据可以互相赋值。
char c=65;
printf("%c,%d",c,c);

【例3.4】 浮点型数据的舍入误差

#include <stdio.h>
void main( )
{float a , b;a= 123456.789e5;b= a+20;printf("%f \n",b); } 

【运行结果】12345678848.000000
浮点型数据的舍入误差
数据超过有效位数,则产生误差
要避免一个很大的数与一个很小的数加减

整型常量的类型
整型常量的值在-32768~+32767范围内,编译器认为是int类型
整型常量的值超过上述范围,而在-2147483648 ~ +2147483647范围内,编译器认为是long类型(VC++中int)
当系统定义short int与int占内存长度相同,则两种类型常量均可以赋给 int和short int型变量
在整型常量后面加大写L或小写l,则告诉编译器,把该整型常量作为long类型处理。例:123L、0L
在整型常量后面加u,则按无符号整型方式存放,负数转换成补码再按无符号整型方式存放。
浮点型常量:凡以小数形式或指数形式出现的实数
C编译系统把浮点型常量都按双精度处理,分配8个字节
或:可在实数的末尾加F或f,L或l。
例: float f=3.14159;
float f=3.14159f;
long double a=1.23L;
要区分类型与变量。

3.3 运算符和表达式



强制转换

#include <stdio>
int main()
{   float  x;int  i;x=3.6;i=(int)x;printf(“x=%f,i=%d”,x,i);return 0;
}
结果:x=3.600000,i=3


例: 逗号表达式使用

int main()
{   int x,y=7;float z=4;x=(y=y+6,y/z);printf("x=%d\n",x);return 0;
}
X=3

3.4 C语句

C程序结构:
一个C程序可以由多个源程序文件构成
一个源程序文件由若干函数、预编译命令及全局变量声明部分构成
函数包括数据定义部分和执行部分,执行部分是C语言语句,完成对数据的操作 。

C语句分为5类
控制语句:共9种
完成一定的控制功能,这些语句能够根据一定的测试条件决定某些语句是否被执行,如分支、循环、跳转等语句。

if( )~else~       (条件语句)
for( )~
while( )~         (循环语句)
do~while( )
continue         (结束本次循环语句)
switch             (多分支选择语句)
break              (终止switch或循环语句)
goto                 (转向语句)
return             (从函数返回语句) 

函数调用语句:由函数加“ ; ”组成。
printf(“This is a C program”);
表达式语句:由表达式加“ ; ”组成
典型的是赋值语句,由赋值表达式加分号构成,如:y=x+1是表达式,而y=x+1;则是赋值语句。实际上函数调用语句也属于表达式语句。
a=3 ;
i++ ;
== 空语句:只有一个“ ; ”,什么也不做==
for(i=0;i<100;i++)
{
;
}
复合语句:
用 {…}括起来的一组语句,也称作程序块。
一般形式:

int i=0,sum=0;
while(i<=100)
{ sum=sum+i;i=i+1;
}

说明
复合语句“ } ”后不加分号
语法上和其它语句相同
复合语句可嵌套.

3.4.2 赋值语句
基本格式:
赋值表达式 + ;
赋值表达式可以包含在其它表达式中,而赋值语句不可以。
例:if ((a=b)>0) t=a;
不可写为:if ((a=b;)>0) t=a;

3.5 数据的输入输出

/* 例 putchar(字符变量) */
#include <stdio.h>
int  main()
{  char a,b,c;a='B'; b=‘O'; c=‘Y';putchar(a); putchar(b);      putchar(c);return 0;
}

补充1: getch( )函数——直接读键盘(而不是读输入缓冲区,也就不必理会输入缓冲区是否为空),此时该函数等待用户从键盘输入一个字符,当用户按任一键后(不必为Enter),getch( )将该字符作为函数值返回。
注意:为执行getch( )函数而在键盘上键入的字符不显示在屏幕上。该函数常常用来响应用户是否敲击键盘。
补充2: getche( )函数,基本同getch( );只是为执行getche( )函数而在键盘上键入的字符显示在屏幕上。
例3.4 字符数据的输出

#include <stdio.h>int  main(){ char c=‘a’;int i=97;printf(“%c , %d\n ”,c,c); printf(“%c , %d\n” ,i ,i);return  0;
}
a  , 97
a  , 97

例 字符串的输出

 #include <stdio.h>void main(){printf(“%3s , %7.2s , %.4s , %-5.3d\n ”, “CHINA”,“CHINA”, “CHINA”, “CHINA”);}
运行结果:CHINA , _ _ _ _ _CH , CHIN , CHI _ _

C语言上学期整理(第3章)相关推荐

  1. C语言上学期整理(第6章)

    文章目录 第6章 利用数组批量处理数据 6.1怎样定义和引用一维数组 6.2怎样定义和引用二维数组 6.3字符数组 第6章 利用数组批量处理数据 6.1怎样定义和引用一维数组 一维数组的定义 定义方式 ...

  2. 大一上学期C语言不熟知识点学习总结

    大一上学期C语言不熟知识点学习总结通过前几章对顺序结构程序设计程序.if选择结构.switch语句.循环结构.数组.函数的学习,这一次我将主要针对几种不熟悉的知识点及题型进行分析. 一. 增1和减1运 ...

  3. C语言高一,高一数学上学期的所有知识点

    偶尔会抱怨为什么自己没天赋,又或者因为别人能轻易做到自己做不到的事而不平衡.从某种角度上来讲,这完全没办法.现在的我倒觉得这样也好,世上或许有人能一步登天,但那人不是我.自己一点一点抓住的东西,比什么 ...

  4. 大一上学期C语言学习总结

    大一上学期C语言学习总结 一.知识点总结 第二章:C语言处理的数据有常量和变量两种形式,C语言的基本数据类型有整型.实型.字符型和枚举类型等,变量必须先定义,后使用,=是赋值运算符,将=右边的表达式的 ...

  5. 大学 C语言程序设计第一讲,c语言程序设计1第一讲(第一章上).ppt

    c语言程序设计1第一讲(第一章上).ppt 知识可以改变命运! 高级语言程序设计 主讲教师:贾彩燕 计算机与信息技术学院 计算机科学与技术系 cyjia@bjtu.edu.cn 计算机与人沟通 计算机 ...

  6. 科拉茨猜想c语言编写,辽宁省沈阳市第一七O中学2019-2020学年高二数学上学期阶段性测试试题(2)文...

    辽宁省沈阳市第一七O中学2019-2020学年高二数学上学期阶段性测试试题(2)文 1.命题范围:人教B版选修1-2 . 选修4-4 必修1集合与函数 2.考试时间120分钟150分 3.第一卷为客观 ...

  7. 高一c语言期末试题,江苏省海安高中2020-2021学年高一上学期期中考试信息技术试题 Word版含答案...

    江苏省海安高中2020-2021学年高一上学期期中考试信息技术试题 Word版含答案 江苏省海安高级中学2020-2021学年度第一学期期中考试 高一信息技术 一.单项选择题(本大题共20小题,每小题 ...

  8. c语言上期中考试试卷答案,2007~2008学年度上学期C语言程序设计期中试卷及答案...

    2007-2008学年度上学期C 语言程序设计期中试卷 一.填空题(本大题30空,每空1分共30分) 1.C 语言中的基本数据类型包括 . . 三种. 2.C 语言中的逻辑运算符有 . . 三种. 3 ...

  9. 大一上学期C语言大作业—森林冰火人

    C语言大作业-森林冰火人 大作业简介 第三方库 界面图片切换 冰火娃动作图片切换 冰娃火娃的跑动 地面,墙壁,冰水,火水与毒液等的判断 代码实现 头文件 变量简介 结构体及数据初始化 冰火娃图片切换 ...

最新文章

  1. 洛谷——P1014 Cantor表
  2. LeetCode Minimum Height Trees(拓扑排序)
  3. 8758:2的幂次方表示
  4. java jsf_将Java 8日期时间API与JSF和Java EE 7结合使用
  5. 京东技术全景图首次展示 四大重磅智能技术驱动产业未来
  6. ibm linux mq 发送消息_IBM MQ简明教程——2. 将消息发送至远程队列
  7. POJ-2152 Fire (树形DP)
  8. 父级div没高度不能自适应高度的原因——子级使用css float浮动
  9. 【笔记】k-Nearest Neighbors(KNN/k近邻)原理
  10. JAVA版村庄哨塔种子_我的世界:top16种子,出生5村庄、地狱堡垒、2哨塔和一堆遗迹...
  11. Fluent API Development in C# C#中流畅的API开发 Lynda课程中文字幕
  12. 使用NVivo完善定性编码的艺术
  13. python把正整数翻译成英文_将Python整数转换为单词
  14. 算法题目打卡:Ques20201020
  15. kmplayer 修改快捷键——以倍速播放为例
  16. 设置gvim中横竖光标_VIM配置高亮光标所在行和所在列
  17. 杨忠愍斗严嵩,为国为民,名垂千古
  18. Sentinel流量防控卫兵
  19. 不同手机型号图文预览_微信编辑器预览一般以多大的手机尺寸为准?
  20. python中if缩进规则_Python缩进与if语句 空格的魅力

热门文章

  1. iOS 实现直接跳转打开定位
  2. 做国外LEAD需要一些邮箱怎么办
  3. 2022年注册会计师考试《财务成本管理》考前练习题及答案
  4. 港交所披露雷军持有小米股份数上升 源自晨兴资本配股给LP
  5. 认为的文字可编辑的 pdf和图片展示的 pdf 做笔记的方式
  6. 传感器的动态和静态特性
  7. SQL 万能本地文件分析工具
  8. python,unicode转换中文,中文转换unicode
  9. 探索式测试解密——无探索,不测试!
  10. vue this.$refs 打印出来是空的原因