C语言第二章PPT课件
- 格式:pptx
- 大小:256.84 KB
- 文档页数:27


1 第二章 练习题
一、填空题
1、在C语言中的实型变量分为两种类型,它们是float型和( )型。
2、若有定义:char c='\010';则变量c中包含的字符个数为( )
3、已知字母a的ASCII码为十进制数97,且设ch为整型变量,则表达式ch='a'+'8'-'3'的值为( )
4、在C语言中(以16位PC机为例),一个float型数据在内存中所占的字节数为( )个;一个int型数据在内存中所占的字节数为( )个。
5、在C语言中,表示逻辑“假”值用数字( )表示。
6、C语言中的标识符只能由字母、数字和( )三种字符组成。
7、表达式8/4*(int)(2.5)/(int)(1.25*(3.7+2.3))的值为( )
8、整型常量即整常数。可用三种形式表示:十进制整数、八进制整数以( )开头、十六进制整数以( )开关(注:请用小写字母)
9、请将75写成C语言八进制和十六进制表示( ),( )。
10、若有定义:int m=5,y=2;则计算表达式y+=y-=m*=y后的y值是( )
11、若a是int型变量,则表达式(a=4*5,a*2),a+6的值为( )。
12、若a,b和c均是int型变量,则计算表达式a=(b=4)+(c=2)后,a值为( ),b值为( ),c值为( )。
13、若a是int型变量,且a的初值为6,则计算表达式a+=a-=a*a后a的值为( )
14、若a是int型变量,则计算表达式a=25/3%3 后a的值为()
15、若x和n均是int型变量,且x和n的初值均为5,则计算表达式x+=n++后x的值为( ),n的值为( )
16、若有定义:int b=7;float a=2.5,c=4.7;则下面表达式的值为( )
a+(int)(b/3*(int)(a+c)/2)%4
17、若有以下定义:int a=2,b=3;float x=3.5,y=2.5;则下面表达式的值为()
1 第2章 C语言的基本数据类型
本章要点
了解C语言的数据类型,掌握基本数据类型的应用及其相互转换规则,理解变量和常量的概念,并掌握其定义及引用方法。本章的难点是数据在内存中的存储形式。
第一节 C语言的数据类型
由于信息的表现形式多种多样,处理的方法也不相同,所以,我们必须考虑用不同形式的数据来表示不同的信息。例如:一个班级的人数要用整数来表示;班级学生的平均成绩要用小数表示;学生的姓名、性别要用字符来表示;一个班级学生某一门课程的成绩要用一组不同的数值来表示等。
计算机语言中的数据类型就是为了能够高效处理各种不同的数据而引进的一个概念,是指数据的内在表现形式。不同的数据类型具有不同的取值范围和不同的操作。C语言提供的数据类型如图2-1所示。
在程序中使用的所有数据都必须指定它的数据类型,C语言的数据类型由基本类型和非基本类型组成。其中,基本数据类型是其他数据类型的基础。
C语言中的基本数据类型包括整型、实型(浮点型)、字符型,其中实型又包括单精度和双精度两种类型。本章主要讨论这4种基本类型。
整型、单精度型、双精度型和字符型数据定义的关键字分别为:int、float、double和char。除了这四个关键字外,C语言中还提供了一些数据类型的修饰符,如:long、short、signed和unsigned。它们的作用是与基本类型的定义关键字结合起来使用,以对基本类型进行扩充,使得在程序编写的过程中可以灵活调整数值的范围以及所占用的存储空间。结合修饰符的应用,基本数据类型可进一步划分,如表2-1所示。
表2-1 各种数据类型及其说明 语言的数据类型图)空类型(指针类型)共用体类型()结构体类型(数组类型构造类型)枚举类型()字符型()双精度型()单精度型(实型(浮点型))整型(基本类型C12voidunionstructenumchardoublefloatint 2 定义关键字 说明 占用字节数 取值范围
二、第二章
1、设整型变量a的值为2,下列表达式值为1的是__。(A)
A) a%3 B) a/3 =0 C) --a D) a++
2. 设变量a、b、c已定义并赋值,则下列表达式中符 合C语言语法规则的是__。 (B)
A) a=5++操作数只能是变量 B) a=b=c++ C) a=%2 D) b=a+1=2左边只能是单个变量,即变量1=变量2=。。。
3. 下列式中,最终运算结果的数据类型不是单精度的表达式是__。(A)
A)(int)(3+3.0) B)1e-3 fen:n必须为整数 C) (float)(3)
D)(int)3.0+3.0
4.字符串”ab\x41 \\34cd\102y”的长度是_A_。\xhh表示ASCII码:例\x41,41是16进制的。字符串含有’\0’。’\102’也表示ASCII码,但102是8进制的,长度为10,储存空间占11个字节。
A)10 B)12 C)14 D)18
5、变量是在程序运行过程中可改变的 它的三要素是类型、名称、数值
6.以下选项中合法的常量是?D
A)’Internet’ B)E_3变量 C)02x D)0xfeL
7.以下选项中合法的赋值表达式是?C
A) d=8+a+f=d+6同2D B)d=(a+8)+ +同2A
C) d=(8+e,e+ +,d+9) D)d=7+e+ + =d+7
8.main( )
{int x=5,y=3;
float f;
f=x/y;表示为整形
printf(“f=%f\n”,f);
}
则程序的输出结果是?f=1.000000
9. 设整型变量x,y,z均为2,表达式(x++)+(y++)+(z++)的值是_A先使用值再加加_。
1.以下叙述中错误的是( A )。
A) 使用三种基本结构构成的程序只能解决简单问题
B) 结构化程序由顺序、分支、循环三种基本结构组成
C) C语言是一种结构化程序设计语言
D) 结构化程序设计提倡模块化的设计方法
2.以下可以将任意一个两位整数n的个位数与十位数对换的表达式为( A )
A) (n-n/10*10)*10+n/10
B) n-n/10*10+n/10
C) n/10+(n-n/10)
D) (n-n/10)*10+(n/10)
3.以下叙述中错误的是 C
A) 算法正确的程序可以有零个输入
B) 算法正确的程序最终一定会结束
C) 算法正确的程序可以有零个输出
D) 算法正确的程序对于相同的输入一定有相同的结果
4.若有定义int x,y;并已正确给变量赋值,则以下选项中与表达式(x-y)?(x++) : (y++)中的条件表达式(x-y) 等价的是( A )。
A) (x-y<0||x-y>0)
B) (x-y<0)
C) (x-y>0)
D) (x-y==0) 5.有以下程序
#include
main()
{ int a;
a = (int)1.99*3;
printf("%d\n", a);
}
程序的运行结果是( BA )
A) 3
B) 5
C) 6
D) 结果不确定
6.请选出合法的C语言赋值语句:( CB)
A) a=b=58 B) i++;
C) a=58,b=58 D) k=int(a+b)
7.假设在程序中a,b,c均被定义成整型,并且已赋大于1的值,则下列能正确表
示代数式 1/abc 的表达式是:( BD )
A) 1/a*b*c
B) 1/(a*b*c)