C语言大学实用教程 第三章 简单的C程序设计 西南财经大学经济信息工程学院 刘家芬 jfliu@swufe.edu.cn.

Slides:



Advertisements
Similar presentations
CSIM, PU C Language Introduction to the C Programming Language 重覆敘述 (for,while,break,continue) 適合重複性的計算或判斷.
Advertisements

第6章 基本的程序语句 6.1 基本数据类型及取值范围 6.2 标识符、变量和常量 6.3 基本运算符、表达式及运算的优先级
课前回顾 数据类型 基本类型 构造类型 指针类型 空类型 常量与变量 常量及常量的类型 变量 标识符及有关规定 变量声明格式 赋值运算符.
C语言实验 第一课 标题:学号+姓名.
第三讲 数据输入与输出 数据输出 数据输入.
第四章 顺序结构程序设计.
C语言程序设计 第五章 选择结构程序设计.
第三章 C语言基础 学习目标: 熟练掌握:C语言的基本数据类型、运算符及表达式 掌握:常见的输入、输出函数使用方法;
高级语言程序设计 主讲人:陈玉华.
第3章 顺序结构程序设计 本章要点: 格式化输出函数──printf() 格式输入函数——scanf() 字符输出函数——putchar()
EBNF 请用扩展的 BNF 描述 C语言里语句的结构; 请用扩展的 BNF 描述 C++语言里类声明的结构;
第3章 最简单的C程序设计 3.1 顺序程序设计举例 3.2 数据的表现形式及其运算 3.3 C语句 3.4 数据的输入输出.
If … else 選擇結構 P27.
数据类型 第3章 3.1 C数据类型概述 3.2 常量 3.3 变量 3.4 基本输入与输出.
C 程式設計— 語言簡介 台大資訊工程學系 資訊系統訓練班.
C++ 程式設計— 語言簡介 台大資訊工程學系 資訊系統訓練班.
走进编程 程序的顺序结构(二).
QQ: 李祥 QQ: 欢迎多种方式的学习交流,祝大家学有所成.
C语言程序设计 第四章 顺序程序设计.
C语言是结构化程序设计语言,提供了功能丰富的控制语句,本章开始陆续介绍C语言的控制语句:顺序结构、选择结构和循环结构。本章主要介绍三种结构化设计的基本概念,格式输入输出函数printf()和scanf(),字符输入输出函数putchar()和getchar()等内容,要求重点掌握顺序结构设计的基本思想及程序编写方法,熟练掌握常见输入、输出库函数的调用。
Introduction to the C Programming Language
第一单元 初识C程序与C程序开发平台搭建 ---观其大略
Chap 3 分支结构 3.1 简单的猜数游戏 3.2 四则运算 3.3 查询自动售货机中商品的价格.
第四章 C 语言中的输入和输出.
C语言 程序设计基础与试验 刘新国、2012年秋.
Chap 3 分支结构 3.1 统计输入的一批字符中各类字符的数量 3.2 查询自动售货机中商品的价格 3.3 分支结构程序设计.
第三单元 数据的输入、赋值处理与输出 从现在开始,将详细讲述C语言的方方面面。第一章中的所有疑惑,都将一一消灭。
1.2 MATLAB变量表达式与数据格式 MATLAB变量与表达式 MATLAB的数据显示格式
C语言程序设计基础 刘新国.
本章中將會更詳細地考慮有關重複的概念,並且會 介紹for和do…while等兩種用來控制重複的敘述 式。 也將會介紹switch多重選擇敘述式。 我們會討論直接和迅速離開某種控制敘述式的 break敘述式,以及用來跳過重複敘述式本體剩餘 部份的continue敘述式。 本章會討論用來組合控制條件的邏輯運算子,最後.
第二章 Java语言基础.
第2章 数据类型、运算符和表达式.
程序设计基础 谭浩强 著 清华大学出版社.
C卓越工程师班 授课老师:龚涛 信息科学与技术学院 2016年9月 教材:《C程序员成长攻略》 网络课程网址:
第三章 顺序结构程序设计 主讲教师 贾月乐 电话:
第3章 顺序结构程序设计 为了让计算机处理各种数据,首先就应该把源数据输入到计算机中;计算机处理结束后,再将目标数据信息以人能够识别的方式输出。C语言中的输入输出操作,是由C语言编译系统提供的库函数来实现。 3.1 格式化输出——printf()函数 3.2 格式化输入——scanf()函数.
目录 3.1结构化程序设计 3.2传统流程图及N-S结构化流程图 3.3C语句概述 3.4赋值语句 3.5数据输入输出函数调用语句
第七章 函数及变量存贮类型 7.1 函数基础与C程序结构 7.2 函数的定义和声明 7.3 函数的调用 7.4 函数的嵌套与递归
第4章 顺序程序设计.
第三章 C程序设计初步 3.1 结构化程序设计思想 3.2 C语句概述 3.3 赋值语句 3.4 文件包含 3.5 流和文件初步
第三章 顺序结构程序设计 计算机科学学院.
1.3 C语言的语句和关键字 一、C语言的语句 与其它高级语言一样,C语言也是利用函数体中的可执行 语句,向计算机系统发出操作命令。按照语句功能或构成的不 同,可将C语言的语句分为五类。 goto, return.
C语言概述 第一章.
C语言程序设计.
C程序设计.
for 迴圈 while迴圈 do-while迴圈 break 與 continue goto 與 標籤 程式觀摩
C语言程序设计 教案 崔武子制作
C语言程序设计 第一章 数据类型, 运算符与表达式 第二章 顺序程序设计 第三章 选择结构程序设计 第四章 循环控制 第五章 数组.
浙江长征职业技术学院—计算机与信息技术系—相方莉制作
Chap 5 函数 5.1 计算圆柱体积 5.2 使用函数编写程序 5.3 变量与函数.
7.1 C程序的结构 7.2 作用域和作用域规则 7.3 存储属性和生存期 7.4 变量的初始化
輸出與輸入(I/O).
第十四章 若干深入问题和C独有的特性 作业: 函数指针 函数作参数 函数副作用 运算 语句 位段 存储类别 编译预处理
<编程达人入门课程> 本节内容 字符与字符串 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群: ,
第九节 赋值运算符和赋值表达式.
第2章 基本数据及其运算 本章学习的目标: 1、掌握基本数据的各种表示,基本数据常数的书写方法;
第三章 基本的輸出與輸入函數 (Basic Output & Input Function)
第四章 C 语言中的输入和输出.
第4章 顺序结构程序设计 为了让计算机处理各种数据,首先就应该把源数据输入到计算机中;计算机处理结束后,再将目标数据信息以人能够识别的方式输出。C语言中的输入输出操作,是由C语言编译系统提供的库函数来实现。 4.1 格式化输出——printf()函数 4.2 格式化输入——scanf()函数.
C程序设计 实验二 数据类型、运算符和表达式 第6讲
第3章 最简单的C程序设计 3.1 顺序程序设计举例 3.2 数据的表现形式及其运算 3.3 C语句 3.4 数据的输入输出.
第3章 顺序结构程序设计 为了让计算机处理各种数据,首先就应该把源数据输入到计算机中;计算机处理结束后,再将目标数据信息以人能够识别的方式输出。C语言中的输入输出操作,是由C语言编译系统提供的库函数来实现。 3.1 格式化输出——printf()函数 3.2 格式化输入——scanf()函数.
程序设计基础A(C语言) 第一章 C语言概述 主讲教师: 许 康
Chap 6 数据类型和表达式 6.1 数据的存储和基本数据类型 6.2 常量和变量 6.3 数据的输入和输出 6.4 类型转换
C/C++基礎程式設計班 字元與字串 講師:林業峻 CSIE, NTU 3/14, 2015.
第二章 数据类型、运算符和表达式 §2.1 数据与数据类型 §2.2 常量、变量和标准函数 §2.3 基本运算符及其表达式 目 录 上一章
C/C++基礎程式設計班 C語言入門、變數、基本處理與輸入輸出 講師:林業峻 CSIE, NTU 3/7, 2015.
第三章 流程控制 程序的运行流程 选择结构语句 循环结构语句 主讲:李祥 时间:2015年10月.
第二章 简单数据类型 §2.1 数据类型概述 §2.2 变量和常量 §2.3 简单数据类型 §2.4 简单数据类型的相互转换
C++语言程序设计 C++语言程序设计 第二章 基本数据类型与表达式 第十一组 C++语言程序设计.
Presentation transcript:

C语言大学实用教程 第三章 简单的C程序设计 西南财经大学经济信息工程学院 刘家芬 jfliu@swufe.edu.cn

C程序结构 数据描述:变量声明 数据操作:执行语句

C语言中的语句 变量声明语句 表达式语句 函数调用语句 复合语句 {} 空语句 ; 九种控制语句 类型关键字 变量名1(,变量名2…,变量名n); 例int a,b,c; 表达式语句 c=a+b; 函数调用语句 printf(“%d”,c); 复合语句 {} 空语句 ; 九种控制语句 条件判断语句:if语句、switch语句; 循环执行语句:while语句、 do while语句、 for语句; 转向语句:break语句、goto语句、continue语句、return语句。

赋值语句 赋值语句是表达式语句的一种,由赋值表达式再加上分号构成的表达式语句,其一般形式为: 注意: 变量=表达式; 注意: 1.在赋值运算符“=”右边的表达式也可以是一个赋值表达式,例如a=(b=5);相当于b=5;a=b; 2. 在变量声明中给变量赋初值时,赋初值后的变量与其它同类变量之间仍用逗号分隔,整个语句则以分号结尾。例如int a=5,b,c; 3.在变量声明中,不允许连续给多个变量赋初值 int a=b=c=5; int a=5,b=5,c=5;

标准输入输出 如何进行数据的输入输出? #include <stdio.h> #include “stdio.h” 输入和输出都是相对于计算机而言 输入:从标准输入设备上输入数据到计算机内存 输出:将计算机内存中的数据送到标准输出设备 C语言中输入输出操作通过调用标准库函数来实现 #include <stdio.h> #include “stdio.h”

字符输入输出函数 字符输出函数 putchar(ch) 输出一个字符ch,例如: putchar('A'); (输出大写字母A) putchar(x); (输出字符变量x的值) putchar('\101'); (也是输出字符A) putchar('\n'); 对控制字符则执行控制功能,不在屏幕上显示。

例3.1 putchar函数 #include <stdio.h> void main() { char a,b,c; a='B'; b='O'; c='Y'; putchar(a); putchar(b); putchar(c); putchar('\n'); }

字符输入输出函数 字符输入函数 getchar() 通常把输入的字符赋予一个字符变量,构成赋值语句,如 char c; c=getchar();

例3.2 getchar函数 #include <stdio.h> void main() { char ch; printf("Press a key and then press Enter:") ch = getchar(); printf("You pressed "); putchar(ch); putchar('\n'); }

格式输出函数 格式输出函数 printf(格式说明字符串, 输出项表列); 其关键字最末一个字母f即为format之意 按用户指定的格式将数据显示到屏幕上 其中格式说明字符串用于指定输出格式,可由格式控制字符和普通字符组成。格式控制字符是在%后面跟有特定字符,以说明输出数据的输出形式、输出长度等 “%d”表示按十进制整型输出; “%ld”表示按十进制长整型输出; “%c”表示按字符型输出等。 普通字符在输出时原样显示,在显示中起提示作用 printf("a=%d b=%f", a, b);

格式控制 常见的格式控制字符: %d 用于输出十进制整数 %ld 用于输出十进制长整数 %md或%mld m用于指定输出的宽度。如果数据位数小于m则在左端补空 白;如果数据位大于m则按实际位数输出 例如 int a=123,b=12345; printf("%4d,%4d",a,b); 输出结果为_123,12345 int a=135790; printf("%8ld",a); 输出结果为_ _135790 long

格式控制 常见的格式控制字符: %o 以八进制整数形式输出 %x 以十六进制整数形式输出 %u 以无符号整数形式输出 %c 用于输出一个字符 以上格式都可以指定输出宽度 例如 int a=-1; printf("%d,%o,%x,%u",a,a,a,a); 输出结果为-1,177777,ffff,65535

格式控制 常见的格式控制字符: %f 以小数形式输出单精度或双精度实数,带6位小数 %mf 输出的数据宽度为m,如果数据长度大于m,则突破m的限制原样输出。如果数据长度小于m,则在左边补空格 %m.nf 输出的数据共占m列,其中小数占n位。不足的在左侧补空格 %-m.nf 输出的数据共占m列,其中小数占n位。不足的在右侧补空格 例如 float f=123.456; printf("%f, %10f, %10.2f, %.2f, %-10.2f\n",f,f,f,f,f); 输出结果为 123.456001, 123.456001, _ _ _ _123.46, 123.46, 123.46_ _ _ _

格式控制 常见的格式控制字符: %s 用于字符串输出 %ms 输出的字符串宽度为m,如果字符串长度大于m,则突破m的限制,将字符串原样输出。如果字符串长度小于m,则在左边补空格 %-ms 同上,右补空格 %m.ns 取字符串左端n个字符,输出占m列,不足的在左侧补空格 %-m.ns 取字符串左端n个字符,输出占m列,不足的在右侧补空格 例如 printf("%3s,%7.2s,%.4s,%-5.3s\n", "CHINA", "CHINA", "CHINA", "CHINA"); 输出结果为 CHINA, _ _ _ _ _CH, CHIN, CHI _ _

格式控制 常见的格式控制字符: %e 以规范化的指数形式输出实数。尾数部分的小数占6位,指数部分占5位(根据编译系统不同有会所差别) 例如 printf("%e",123.456); 输出结果为1.234560e+002 %me 输出的数据共占m列,其中尾数部分小数占6位。不足的在左侧补空格 %m.ne 输出的数据共占m列,其中尾数部分小数占n位。不足的在右侧补空格 %-m.ne同上,只是不足的在右侧补空格 例如 f=123.456; printf("%e, %10e,%10.2e,%.2e,%-10.2e",f,f,f,f,f); 输出为1.234560e+002, 1.234560e+002, _1.23e+002, 1.23e+002, 1.23e+002_ 13位 13位 10位 9位 10位

格式控制 常见的格式控制字符: %g 用来输出实数,系统自动选择f或e格式中宽度较小的一种输出,且不输出无意义的0。例如 printf("%f, %e, %g",f,f,f); 输出结果为123.456000, 1.234560e+002, 123.456 10位 13位 7位 %% 如果想输出%,则在格式说明符中用连续两个%表示,例如 printf(“%f%%”,1.0/3); 输出结果为0.333333%

例3.3 格式输出 #include <stdio.h> void main() { float f1 = 100.15799, f2 = 12.55, f3 = 1.7; int n1 = 123, n2 = 45, n3 = 6; printf("printf WITHOUT width or precision specifications:\n"); printf("%f\n%f\n%f\n", f1, f2, f3); printf("%d\n%d\n%d\n", n1, n2, n3); printf("printf WITH width and precision printf("%5.2f\n%6.1f\n%3.0f\n", f1, f2, f3); printf("%5d\n%6d\n%3d\n\n", n1, n2, n3); }

格式输入函数 scanf("%d,%f”, &a,&b); 格式输入函数 scanf的格式控制符意义与printf中的格式控制符基本相同 地址列表用于指定变量的存储地址。使用地址运算符&可获得该变量的地址 scanf("%d,%f”, &a,&b); 非格式字符 格式说明 地址表列

例3.4 scanf函数 #include <stdio.h> void main( ) { int a,b,c; scanf("%d%d%d",&a,&b,&c); printf("%d,%d,%d\n",a,b,c); } 运行时输入:3(空格)4 (空格) 5 运行时输出:3,4,5

标准输入注意事项 1.“&”是地址运算符 2. “%d%d%d”格式符间无分隔符输入数据时,在两数之间可以用一个或多个空格分隔,也可以用回车键、Tab键分隔。 3. 格式说明中的普通字符,应照原样输入。 如输入语句scanf(“a=%d, b=%f”,&a,&b); 运行时应键入:a=5, b=3.3 若语句为scanf(“a:%d; b:%f”,&a,&b); 运行时应键入:a:5; b:3.3

标准输入注意事项 4. d%用于输入十进制整数; u%用于输入无符号整数; o%用于输入八进制整数; x%用于输入十六进制整数; c%用于输入单个字符; s%用于输入字符串:以非空字符开始,遇第一个空白字符结束 f%, e%和g%作用相同,用于输入实数(小数或指数形式均可) 加上l前缀用于输入长整型数(%ld)或者双精度实数(%lf)

标准输入注意事项 5. 允许指定输入数据所占的列数,系统自动按位截取所需数据。例: scanf(“%3d%3d”,&a,&b); 6. 输入数据时不能规定小数部分精度,如: scanf(“%7.2f”,&a); 7. 在用“%c”格式输入字符时,空格符和转义字符都作为有效字符输入。如: scanf(“%c%c%c”,&c1,&c2,&c3); 若输入:a b c , c1的值是'a',c2的值是' ' ,c3的值是'b'. 正确的输入方法是:abc 8. 可使用%*表示读入该数据项,但跳过不赋值 例如scanf(“%2d %*3d %2d”,&a,&b); 用户输入12_345_67将把12赋给a,67赋给b

例3.5 #include <stdio.h> void main() { int a, b; printf("Please input a and b:"); scanf("%d%d", &a, &b); printf("a=%d, b=%d, a+b=%d\n",a,b,a+b); } Please input a and b: a=12, b=34, a+b = 46 12 34↙ 遇空格、TAB 键、回车、非十进制整数时结束

例3.6 #include <stdio.h> void main() { int a, b; printf("Please input a and b:"); scanf("%d,%d", &a, &b); printf("a=%d, b=%d, a+b=%d\n",a,b,a+b); }

例3.7 #include <stdio.h> void main() { int a, b; printf("Please input a and b:"); scanf("%2d%2d", &a, &b); printf("a=%d, b=%d, a+b=%d\n",a,b,a+b); } 如果输入1234 如果输入123a 按宽度截取,遇非法字符时结束

例3.8 #include <stdio.h> void main() { int a, b; printf("Please input a and b:"); scanf("%2d%*2d%2d", &a, &b); printf("a=%d, b=%d, a+b=%d\n",a,b,a+b); } 如果输入123456↙

例3.9 #include <stdio.h> void main() { int a, b; scanf("%d%*c%d", &a, &b); printf("a = %d, b = %d\n", a, b); } 这样使得用户可以以任意单个字符(回车、空格、制表符、逗号、其它)作为分隔符

例3.10 %C格式符 如果输入12+3? 如果输入12_+_3? #include <stdio.h> void main() { int data1, data2, sum; char op; printf("Please enter the expression data1 + data2\n"); scanf("%d%c%d",&data1, &op, &data2); printf("%d%c%d = %d\n", data1, op, data2, data1+data2); } 如果输入12+3? 如果输入12_+_3?

例3.11 %C格式符 #include <stdio.h> void main() { int a; char b; float c; printf("Please input an integer:"); scanf("%d", &a); printf("integer: %d\n", a); printf("Please input a character:"); scanf("%c", &b); printf("character: %c\n", b); printf("Please input a float number:"); scanf("%f", &c); printf("float: %f\n", c); } 程序的执行有什么问题?如何修改?

回顾例3.10 以任意分隔符输入加法算式 #include <stdio.h> void main() { int data1, data2, sum; char op; printf("Please enter the expression data1 + data2\n"); scanf("%d%1s%d",&data1, &op, &data2); printf("%d%c%d = %d\n", data1, op, data2, data1+data2); } 12↙ +↙ 3↙ 12+3↙ 12 + 3↙

这一章我们学习了 字符输入函数getchar() 字符输出函数putchar() 格式输入函数scanf() 格式输出函数printf() 格式控制字符

作业 习题3