C语言第三章

第三章
3.1 填空题
3.1.1 程序的三种基本结构是、、。

3.1.2 执行( a=3.0+5,a*4 ),a+=-6; 变量a 及表达式的值分别为
3.1.3 下列语句被执行后的执行结果是。

int a=1;
printf (“%d\\%s\\%s”,a,”abc”,”def”);
3.1.4 getchar( ) 函数的作用是。

3.1.5 运行以下程序后,用户输入123456abc,输出结果为。

void main()
{ int a,b;
char c;
scanf ("%3d%2d%3c",&a,&b,&c);
printf("%d,%d,%c",a,b,c);
}
3.1.6 下面程序的输出结果是。

# include <stdio.h>
void main( )
{ int i=10;
{ /* int i=20; */
i++;
printf (“%d”,i ++);
}
printf (“%d\n”,i );
}
3.1.7 下面程序运行后,从键盘输入30,则程序的输出结果是。

void main ()
{ int a ;
scanf(”%d”, &a );
a++;
printf (“a=%d,Ha=%x,Oa=%o”,a,a,a);
}
3.1.8 下面程序的输出结果是。

void main ( )
{ int a,b=68;
a=-3;
printf(“\ta=%d\n\tb=\‟%c\‟\n\”end\”\n”,a,b); }
3.1.9 下面程序的输出结果是。

# include <stdio.h>
# include <math.h>
main()
{ int a=1,b=4,c=2;
float x=10.5,y=4.0,z;
z=(a+b)/c+sqrt((double)y)*1.2/c+x;
printf(“%f\n”,z);
}
3.1.10 下面程序运行后,若输入a=2,b=3结果是。

void main( )
{ float a ,b ,x1, x2 ;
scanf (“a=%f,b=%f“ ,&a ,&b ) ;
x1=a*b ;
x2=a/b ;
printf (“x1=%5.2f \nx2=%5.2f \n” ,x1,x2 );
}
3.2 选择题
3.2.1 指出下面正确的输入语句是( )。

A) scanf (“a=b=%d”,&a,&b); B) scanf (“a=%d,b=%f”,&m,&f );
C) scanf (“%3c”,c); D) scanf (“%5.2f”, &f);
3.2.2 执行scanf (“%d%c%f”,&a,&b,&c) 语句,若输入1234a12f56 则变量a,b,c的值为
( )。

A) a=1234 b=‟a‟ c=12.56 B) a=1 b=‟2‟ c=341256
C) a=1234 b=‟a‟ c=12.0 D) a=1234 b=‟a12‟ c=56.0
3.2.3 执行scanf (“a=%d,b=%d”,&a,&b) 语句, 若要使变量a和b的值分别为3和4, 则
正确的输入方法为( )。

A) 3 ,4 B) a:3 b: 4 C) a=3,b=4 D) 3 4
3.2.4 设b=1234 , 执行printf(“%%d@%d”,b) 语句,输出结果为: ( )。

A) 1234 B) %1234 C) %%d@1234 D) %d@1234
3.2.5 若x是int型变量,y是float型变量,所用scanf语句为scanf(“x=%d,y=%f”,&x,&y);
正确的输入操作是( )。

A) x=10,y=66.6<回车> B) 10 66.6<回车>
C) 10<回车>66.6<回车> D) x=10<回车>y=66.6<回车>
3.2.6 设a,b均是int型变量,则以下不正确的函数调用为( )。

A) getchar(); B) putchar(…\108‟);
C) scanf(“%d,%2d”,&a,&b); D) putchar(…\‟);
3.2.7 下列程序的执行结果是( )。

# include <stdio.h>
void main( )
{ int a=5;
float x=3.14;
a*=x*(…E‟-…A‟);
printf (“%f\n”,(float)a); }
A) 62.800000 B) 62 C) 62.000000 D) 63.000000
3.2.8 若输入2.50 ,下列程序的执行结果是( )。

void main( )
{ float r , area ;
scanf (“ %f ” , & r ) ;
printf (“ area=%f \n” , area=1/2*r*r ) ; }
A) 0 B) 3.125 C) 3.13 D) 程序有错
3.3 编程题
3.3.1 编写程序,从键盘上输入2个整数给变量a和b,交换a、b值然后输出。

//参考程序
3.3.2 试编写一个程序,任意输入一个小写字母,分别按八进制、十进制、十六进制、
字符格式输出。

//参考程序:
3.3.3 输入一个华氏温度,要求输出摄氏温度,输出要有文字说明,取2位小数。

公式
为:
()32
9
5
-=F
c
//参考程序:
3.3.4 设圆半径r=3,圆柱高h=4,求圆周长、圆面积、圆球表面积、圆球体积、圆柱体
积。

用scanf输入数据,输出计算结果,输出时要求有文字说明,取小数点后2位数字。

请编程序。

//参考程序:。

合集下载

C语言第3章 数据描述与基本操作

C语言第3章 数据描述与基本操作

C语言使用的基本表达式有: 语言使用的基本表达式有: 语言使用的基本表达式有 ⑴赋值表达式,如:a=3 赋值表达式, ⑵算数表达式,如:3+4*2 算数表达式, ⑶关系表达式,如:3>2 关系表达式, ⑷逻辑表达式,如:3>5&&a>=b 逻辑表达式, ⑸条件表达式,如:a>b?a:b 条件表达式, ⑹逗号表达式,如:a=3,b=4,c=5 逗号表达式,
● 赋值运算符的结合性是自右向左
(3) 赋值运算符的使用 设变量定义如下: char c1=‘a’,c2; int n1=65,n2,n3,n4,n5,n6; float f1=3.0,f2; 则: ① c2=n1运算后,c2的值是65,n1的值不变。 n2 !c1 n2 0 c1 ② n2=!c1运算后,n2的值是0,c1的值不变。 ③ f2=f1+0.001运算后,f2的值是3.001,f1的值不变。 ④ n3=c1==n1||c1!=n1运算后,n3的值是1,c1和n1 的值不变。 注:运算顺序相当于 n3=((c1==n1)||(c1!=n1)) ⑤ n4=n5=n6=-(――n1)运算后,n4,n5,n6的值 均是-64,n1的值是64。 注意:上述表达式的值就等于赋值表达式中的最左边的变量值。 注意
三.赋值运算符 赋值运算符
1.赋值运算符
赋值运算符是双目运算符,赋值运算符的左边必须是变量, 右边是表达式。 (1) 赋值运算符的运算对象及有关规则如下表:
对象数 名称 运算符 运算规则 运算结果 结合性 表达式的 自右向左 将表达式的 双目 赋值 =
值赋予变量 类型
(2) 赋值运算符的优先级 ● 算术运算符 优先于 关系运算符 优先于 双目逻为2,
则:① b=a+3,c=b+4 运算结果:a不变,b为5,c为9,表达式的值为9 ② d=a――,e=d――,f=――e 运算结果:a为1,d为1,e为1,f为1,表达式的值为1

c语言第三章ppt课件

c语言第三章ppt课件

§3.3 赋值语句
“=“是一个运算符 注意赋值表达式与赋值语句的区别
§3.4 输入输出在c中的实现
输入输出是以计算机主机为主体而言 输入输出是由函数来实现的
库函数:由厂商预先编写好,并编译成目标文件 使用库函数时,用预编译命令“#include”将有
关的“头文件”包含到用户源文件中。
#include <stdio.h> printf,scanf可不加#include命令
%m.ne和%-m.ne ,n指小数部分的小数位数 printf(“%e%10e%10.2e%.2e%-10.2e”,f,f,f, f,f); 设f=123.456,输出结果为
1.23456e+02 1.23456e+02 1.2e+02 1.2e+02 1.2e+02 ❖g格式符,用来输出实数,根据数值的大小,自动选
printf(“%f %10f %10.2f %.2f %-10.2f \n”,f,f,f,f,f) ;
运} 行结果:
123.456001 123.456001 123.46 123.46 123.46
❖e格式符:以指数形式输出实数 %e ,不指定输出数据所占宽度和数字部分的小数位数。 数值按规范化指数形式输出。 如:printf(“%e”,123.456);输出结果为1.23456e+02
❖格式控制:包含两种信息 格式说明: %格式字符 ,用于指定输出格式
普通字符或转义序列:原样输出
❖输出表列:要输出的数据(可以没有,也可以是表达 式,多个时以“,”分隔
printf(参数1,参数2,参数3……参数n )
格式字符
❖d格式符:输出十进制整数 %d ,按整型数据的实际长度输出 %md,m为指定的输出字段的宽度。如果数据的位数 小于m,则左端补空格,否则按实际位数输出 例:printf(“%4d,%4d”,a,b); 若a=123,b=12345,则输出结果为▂123,12345 %ld,输出长整型数据 例:long a=135790;printf(“%ld”,a); 也可以指定字段宽度,如%8ld

C语言第3章(谭浩强)

C语言第3章(谭浩强)
17





void main( ) { int a,b,c,d; unsigned u; a=12;b=-24;u=10; c=a+u;d=b+u; printf(“a+u=%d,b+u=%d\n”,c,d); } 运行结果:a+u=22,b+u=-14 结论:不同类型的整型数据可以进行算 术运算。
位数 16
取值范围 -215-(215-1) -32768—+32767 -32768—+32767
Short [int] Long [int]
短整型 长整型
16 32
16 16 32
Unsinged int 无符号整型 Unsinged short [int] Unsinged long [int] 无符号短整 型 无符号长整 型
8


④大写字母与小写字母意义不同, 被认为是两个不同的字符。一般变 量名用小写字母表示。 注意:常量名常用大写、变量名常 用小写!
year Day a_12 _abcdef #123 .com $100 1999Y a=b 1_2_3 +abcedfghi ∏ -5 等
9

3、变量要先定义后使用


可以改为double型) void main( ) {float x;double y; x=123456.789;y=123456.789; printf(“%f, %f”,x,y);} 结果为: 123456.789062, 123456.789000
29
§3.5
字符型数据
一、字符常量 1、在C语言中字符型常量是用单引号括 起来的一个字符。 如:’a‟、’A‟、’3‟、’?‟、’ ’、 ’$‟等。 2、以‚\”开头的转义字符,如\n不代表 字母n,而是代表换行。

《数据结构(C语言)》第3章 栈和队列

《数据结构(C语言)》第3章 栈和队列
Data structures

❖ 栈的顺序存储与操作 ❖ 1.顺序栈的定义
(1) 栈的静态分配顺序存储结构描述 ② top为整数且指向栈顶元素 当top为整数且指向栈顶元素时,栈空、入栈、栈满 及出栈的情况如图3.2所示。初始化条件为 S.top=-1。
(a) 栈空S.top==-1 (b) 元素入栈S.stack[++S.top]=e (c) 栈满S.top>=StackSize-1 (d) 元素出栈e=S.stack[S.top--]
/*栈顶指针,可以指向栈顶
元素的下一个位置或者指向栈顶元素*/
int StackSize; /*当前分配的栈可使用的以 元素为单位的最大存储容量*/
}SqStack;
/*顺序栈*/
Data structures

❖ 栈的顺序存储与操作 ❖ 1.顺序栈的定义
(2) 栈的动态分配顺序存储结构描述 ① top为指针且指向栈顶元素的下一个位置 当top为指针且指向栈顶元素的下一个位置时,栈空 、入栈、栈满及出栈的情况如图3.3所示。初始化条 件为S.top=S.base。
…,n-1,n≥0} 数据关系:R={< ai-1,ai>| ai-1,ai∈D,i=1,2
,…,n-1 } 约定an-1端为栈顶,a0端为栈底 基本操作:
(1) 初始化操作:InitStack(&S) 需要条件:栈S没有被创建过 操作结果:构建一个空的栈S (2) 销毁栈:DestroyStack(&S) 需要条件:栈S已经被创建 操作结果:清空栈S的所有值,释放栈S占用的内存空间
return 1;
}
Data structures

C语言_第3章

C语言_第3章
第3章 顺序结构程序设计
简单程序的流程一般分为顺序结构、选择结构和循环结 构。其中顺序结构是最基本的控制结构,其包含的语句 是按照书写的顺序执行,且每条语句都将被执行。
程序流程如图3.1所示, #include<stdio.h> 语句按书写顺序执行。 main( ) 先执行A,再执行B。 {int a=10,x=5,y=6;
三、复合语句
用一对花括号,把若干条语句括起来,
就形成了一条复合语句。形式如下:
{[内部数据描述语句]
其中定义的变量是
语句1; …… 语句n;}
复合语句结束的 “}”之后,不需
局部变量,仅在复 合语句中有效。
要再加分号。
花括号中的语句,可以是简单语句、空语句、复合 语句、流程控制语句,所有这些语句括在一起,在 语法上看成是一条语句,执行时顺序执行花括号中 的每条语句。复合语句多用于流程控制语句中。
printf(“\n%d,%d”,a+i,i++);}
四、格式输入函数 格式输入函数一般形式 scanf(“格式控制字符串”,地址列表); 功能:按指定的格式从键盘上把数据输入到指定的 变量之中 。 在scanf语句的格式控制字符串中,有两类字符: 普通字符:必须按原样输入,不能省略; 格式说明部分:由%引导的格式字符串组成。
scanf语句格式说明部分的一般格式为: %[*][width][F|N][h|L]type type是必须的,表示输入后转换的数据类型。
d(D) o(O) x(X) i(I) u(U)
c s f,e,g F,E,G n
%
十进制整数 八进制整数 十六进制整数 自动根据数头分辨十、八、十六进制 无符号十进制整数 单个字符 字符串 实数

c语言第3章 数据类型及表达式

c语言第3章 数据类型及表达式

•除 当除号两边都是整型量时,叫做整除 整除, 当除号两边都是整型量时,叫做整除,运算结果只保 留整数部分。 留整数部分。 当除号任何一边有实型量时,运算结果是实数。 当除号任何一边有实型量时,运算结果是实数。 #include <stdio.h> main() main() { float div; div=1/2; printf( %f %f\ ,div); printf(“%f\n”,div); }
–规则: 规则: 规则
–见名知意 见名知意 –不宜混淆 不宜混淆
请指出下列标识符的正误: 请指出下列标识符的正误: main、count、!count、new、5abc、if、do、L_5、who、a123、 main、count、!count、new、5abc、if、do、L_5、who、a123、 _A、_123、c#、 _A、_123、c#、r-3、printf
h e l l o , w o r l d \0 • 注意: 注意: 字符常量和字符串常量是两个不同的概念 字符常量和字符串常量是两个不同的概念
char ch; ch=‘A ; ch= A’; char ch; ch=“A ;// ;//错误 ch= A”;//错误
A
\0
\0
3.7 字符型数据
3.7.3 字符型变量
3.3 常量
常量 • 定义:程序运行时值不能改变的量,即常数。 定义:程序运行时值不能改变的量,即常数。 • 分类: 分类: 符号常量: 符号常量:用标识符表示具体值 • 定义格式: 定义格式: • 一般用大写字母 直接常量: 直接常量:直接写出具体值 • 整型常量 • 实型常量 • 字符常量 • 字符串常量 常量值 #define 标识符 常量值

C语言第03章--数据类型和表达式

通常不被初始化的变量,其值为危险的随机数 通常不被初始化的变量,其值为危险的随机数
char int
ch = 'a'; i = 1;
17
变量的属性
例:
int sum=10; 类型
内存存放说明: 内存存放说明: 存放说明 变量名 1001 sum 10 变量值
存储单元的地址
二、 变量
命名规则 在C中变量名 函数名 文件名 数组名 等均称标识符 变量名, 函数名, 文件名, 数组名, 变量名 标识符 (identifier), 可由字母 数字 下划线 字母,数字 下划线组成,且第一个必 字母 数字和下划线 须为字母或下划线 字母或 字母 下划线,前8或32个有效。 注意: 字母大小写敏感; 注意 字母大小写敏感 不可用关键字; 不可用关键字 不可出现空格; 不可出现空格 见名知意; 见名知意 如: a1与A1为不同的变量名 如: int, for, if 等 如: stu 1, a 1等 如: sum, sort 等
e前必须有数 前必须有数 字,e后必须 后必须 有整数
合法:0.123、.123、123.0、123.、0.0 合法: 、 、 、 、 错误: 错误 - 2.0e2.5 e8
(3)字符常量 字符常量 —— 用单引号括起来的一个字符或转义字符 括起来的一个字符或转义字符 一个字符或转义字符. 例: ‘A’, ‘o’ , ‘1’, ‘#’, ‘a’ 等
float
必转
char, short long unsigned int 低
double 高
自动类型转换
34
例:
若:i 为 int , f为float ,d 为 double e 为long
字节数

C语言--第三章 顺序结构程序设计


t=a;
a=b;
表达式语句
b=t;
}
printf(“a=%d,b=%d,max=%d\n”,a,b,c);} 函数调用语句
int max(int x,int y)
{
int z; 数据声明语句
if (x>y)
z=x;
表达式语句
else
z=y; return z;}
控制语句
}
3.2 字符数据输入输出函数
表达式;
赋值表达式
分号
a = 3;
表达式语句
3.1 C语句概述
(四)空语句
只有一个分号的语句
; (什么也不做)
不执行任何操作,用来产生延迟.
3.1 C语句概述
例3.1:
(五)复合语句 用一对{}括起来的语句
{语句序列}
{ z=x+y; t=z/100; printf(“%f”,t);
}
3.1 C语句概述
出无意义的0
3.3 格式输入与输出
1)c格式符,用来输出一个字符。 如:char d=′A′; printf(″%c″,d);
运行程序:
从键盘输入字符‘a’ 按Enter键 屏幕上将显示输出的字符‘a’
a a
3.3 格式输入与输出
(一).格式输出函数 • 函数作用:向终端(或系统隐含指定的输出设备
)输出若干个任意类型的数据。 • 一般格式:printf(格式控制,输出表列); • 说明: 1)输出表列是要输出的数据列表,输出多个数据
6 break 间断语句 7 switch() 开关语句 8 goto 转向语句 9 return 返回语句
3.1 C语句概述
(二)函数调用语句 有一个函数调用加一个分号构成一个语句

C语言第3章(A-6(函数调用语句))

C语言程序设计
标准输入输出函数
printf scanf 例题: 注意: main() 必须为地址,“&”是地运算符, &a指a在内的地址。 { int a ,b ,c; scanf(“%d%d%d”, &a,&b,&c ); printf(“%d,%d,%d”,a,b,c); }
C语言程序设计
标准输入输出函数
C语言程序设计
标准输入输出函数
printf
用法:
1) %f :不指定输出的宽 度,由系统自动指定, 使整数部分全部输出, 并输出6位小数。
scanf
main() { float x,y; x=1111.2222; y=2222.4444; printf(“%f”,x+y); } 结果:3333.666608
实例:
printf(“ i= %d , c= %c ” , i , c);
格式控制:是用双引号括起来的字符串,也称为 “转换控制字符串”,它包括两部分信息: 1) 格式说明:由“%”和格式字符组成,如%d,%f等。 它的作用是将输出的数据转换为指定的格式输出。 2) 普通字符:需要原样输出的字符。如双引号中的 逗号、空格和换行符。
标准输入输出函数
printf scanf
2) %ms,输出的字符串占m列,如字符串本身长度大 于m,则按实际长度输出;如串长度小于m,则左补 空格。
printf(“%3s”,”china”);
输出结果:
printf(“%6s”,”china”);
china
china
C语言程序设计
标准输入输出函数
printf(“%ld”,e);
如果用%d输出,就会发生错误,因为整型数 据的范围为-32768-32767。

C语言教程第3章 数据类型、运算符与表达式

#include <stdio.h> void main( ) { int a,b,c,d; /*指定a、b、c、d为整型变量*/ unsigned u; /*指定u为无符号整型变量*/ a=12;b=-24;u=10; c=a+u;d=b+u; printf("a+u=%d,b+u=%d\n",c,d); } 运行结果为 a+u=22,b+u=-14
注意以下几点:
(4) 一个整常量后面加一个字母u,认为 是unsigned int型,如12345u,在内存 中按unsigned int规定的方式存放(存储 单元中最高位不作为符号位,而用来存 储数据,见图2.4(b)。如果写成-12345u, 则先将-12345转换成其补码53191,然 后按无符号数存储。
int a; unsigned int b;
一个整数(以13为例)在存储单元中 的存储情况
3. 整型变量的定义
int a,b; (指定变量a、b为整型) unsigned short c,d; (指定变量c、d为无符号短整型) long e,f; (指定变量e、f为长整型)
例3.2整型变量的定义与使用。
字符型变量用来存放字符常量,请注 意只能放一个字符,不要以为在一个字符 变量中可以放一个字符串(包括若干字符)。 字符变量的定义形式如下: char c1,c2;
c1='a';c2='b';
3.5.3 字符数据在内存中的存储 形式及其使用方法
字符的相应的ASCII代码放到存储单元中
例3.6向字符变量赋予整数。
单精度 ( float 型 占4B) 双精度 ( double 型 占8B )
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档