c语言2
- 格式:ppt
- 大小:515.00 KB
- 文档页数:62
郑州信息科技职业学院教案授课题目:C语言的运算符和表达式、数据类型的转换第二讲:C语言的运算符和表达式、数据类型的转换授课时数:3教学目的与教学要求:1、掌握C语言的各种运算;2、掌握C语言中运算过程中不同的数据类型的转换。
主要内容:1、算术运算符和算术表达式;2、关系运算和逻辑运算;3、自增、自减运算;4、赋值运算;5、其他运算;6、表达式和表达式语句;7、自动类型转换和赋值转换;8、强制类型转换。
重点和难点:1、自增、自减运算;2、自动类型转换和赋值转换;3、强制类型转换。
教学方法和手段教具多媒体演示和板书相结合授课内容:第三章3、1运算符与表达式C的运算符有以下几类:本章主要介绍算术运算符(包括自增自减运算符)、赋值运算符、逗号运算符,其它运算符在以后相关章节中结合有关内容陆续进行介绍。
3、1、1 算术运算符和算术表达式1、算术运算符+(加法运算符。
如3+5)-(减法运算符或负值运算符。
如5-2,-3)*(乘法运算符。
如3*5)/(除法运算符。
如5/3,5.0/3)%(模运算符或求余运算符,%要求两侧均为整型数据。
如7%4的值为3)。
除了负值运算符-单目运算符外,其它都是双目运算符。
说明:(1)两个整数相除的结果为整数,如5/3的结果为1,舍去小数部分。
(2)如果参加+,-,*,/运算的两个数有一个为实数,则结果为double型,因为所有实数都按double 型进行计算。
(3)求余运算符%,要求两个操作数均为整型,结果为两数相除所得的余数。
求余也称为求模。
一般情况,余数的符号与被除数符号相同。
例如:-8%5=-3;8%-5=32、算术表达式算术表达式:用算术运算符和括号将运算对象(也称操作数)连接起来的、符合C语法规则的式子,称为算术表达式。
运算对象可以是常量、变量、函数等。
例如,下面是一个合法的C算术表达式。
a*b/c-1.5+’a’。
注意:C语言算术表达式的书写形式与数学表达式的书写形式有一定的区别:(1)C语言算术表达式的乘号(*)不能省略。
c语言2进制数表示方法进制的表示方法在C语言种,一个数字默认就是十进制的,表示一个十进制数字不需要任何特殊的格式。
但是,表示一个二进制、八进制或者十六进制数字就不一样了,为了和十进制数字区分开来,必须采用某种特殊的写法,具体来说,就是在数字前面加上特定的字符,也就是加前缀。
1).二进制二进制由 0 和 1 两个数字组成,使用时必须以0b或0B(不区分大小写)开头,例如:int a = ob110 int b = -0 b int c = OB int a = 110 int b = OB510注意:并不是所有的编译器都支持二进制数字,只有一部分编译器支持,并且跟编译器的版本有关系2).八进制八进制由 0~7 八个数字组成,使用时必须以0开头(注意是数字0,不是字母 o)int a = 023 ; int b = - 0521 ; int c = ; int m= 256 ; int n = 03 A2 ;3).十六进制十六进制由数字 0~9、字母 A~F 或 a~f(不区分大小写)组成,使用时必须以0x或0X(不区分大小写)开头int a = 0X2A ; int b = -0XA0 ; int c = 0xffff ; int m = 5 A ; int n = 0 X3H ;4).十进制十进制由 0~9 十个数字组成,没有任何前缀,和我们平时的书写格式一样进制的输出格式控制符说明 %c 输出一个单一的字符 %hd、%d、%ld 以十进制、有符号的形式输出 short、int、long 类型的整数 %hu、%u、%lu 以十进制、无符号的形式输出 short、int、long 类型的整数 %ho、%o、%lo 以八进制、不带前缀、无符号的形式输出 short、int、long 类型的整数 %#ho、%#o、%#lo 以八进制、带前缀、无符号的形式输出short、int、long 类型的整数%hx、%x、%lx、%hX、%X、%lX 以十六进制、不带前缀、无符号的形式输出short、int、long 类型的整数。
二、基本输入输出语句(一)选择题1.逻辑运算符两侧运算对象三数据类型A.只能是0和1 B.只能是0或非0正数C.只能是整型或字符型数据 D.可以是任何类型的数据2.设有:int a=1,b=2,c=3,d=4,m=2,n=2;执行(m=a>b)&&(n=c>d)后n的值为A. 1 B. 2 C. 3 D. 43.以下程序的运行结果是main(){ int a,b,d=241;a=d/100%9;b=(-1)&&(-1);printf(“%d,%d”,a,b);}A. 6,1 B. 2,1 C. 6,0 D. 2,04.若运行时给变量x输入12,则以下程序的运行结果是main(){ int x,y;scanf(“%d”,&x);y=x>12 ? x+10 : x-12;printf(“%d\n”,y);}A. 4 B. 3 C.2 D. 15.指出下面不正确的赋值语句是A.a++ B.a==C.a+=b;D.a=1,b=26.在C语言中,错误的语句是。
A.a=b=c;B.;C.breakD.b=3*5,a*=4;7.以下所列语句中,合法的语句是。
A.a=1,b=2B.++a;C.a=a+1=5;D.y=int(a);8.若x,y均为int型数据,z为double型数据,则以下的scanf函数调用语句中不合法的是A.scanf(“%d%lx,%le”,&x,&y,&z); B.scanf(“%2d*%d%lf”,&x,&y,&z);C.scanf(“%x%*d%o”,&x,&y); D.scanf(“%x%o,%6.2f”,&x,&y,&z);9. 若x, y均为int型变量且有值,要输出x, y的值,正确的输出函数调是A. printf("%d%d",&x,&y);B. printf("%f%f",x,y);C. printf("%f%d",x,y);D. printf("%d%d",x,y);10. x为int型变量,且值为2345,不正确的输出函数调用是A. printf("%d",x);B. printf("%3d",x);C. printf("%c",x) ;D. printf("%s",x);11. 若m为float型变量,则执行以下语句后的输出为m=1234.123;printf(“%-8.3f\n”,m);printf(“%10.3f\n”,m);A.1234.123B. 1234.1231234.123 1234.123C.1234.123D. 1234.123001234.123 001234.12312.putchar函数可以向终端输出一个A. 整型变量表达式B.实型变量值C. 字符串D. 字符或字符型变量值13.printf函数中用到格式符%5s,其中数字5表示输出的字符串占用5列。
《C语言》总复习二一、选择题:1.一个C语言程序至少包含一个()函数。
A.printfB.scanfC.mainD.自定义2.一个完整的C程序包含一个或多个函数。
对于函数main() ,不正确的说法是()。
A.它是程序开始运行的第一个被调用的函数B.没有它的程序就无法运行C.它是唯一不缺少的函数D.又没有它都行3.C语言中,复合语句的构成是将一系列语句置于()。
A. begin和end 之间B.方括号“[]”之间C.圆括号“()”之间D.花括号“{}”之间4.不合法的C语言整型常量是()。
A.-0128 B.0x35 C.123L D.300005.以下程序段的输出结果是()。
int x=3; do { printf(“%3d”,x - =2); } while(!(--x));A.1B.3 0C.1 -2D.死循环6.设x,y均为整型常量,且x=10, y=3,则语句printf(“%d,%d\n”,x--,y--);的输出结果是()。
A.10,3B.9,3C.9,2D.10,27.以下程序的输出结果是()。
main(){ int a [4][4]={{1,3,5},{2,4,6},{3,5,7}};printf(“%d%d%d%d\n”,a[0][3],a[1][2],a[2][1],a[3][0]); }A.0650B.1470C.5430D.输出值不定8.以下程序的输出结果是()。
int a ,b; void fun() { a=100;b=200;}main(){int a=5,b=7;fun();printf(“%d,%d\n”,a,b);}A.100,200B.5,7C.200,100D.7,59.执行下面的程序后,a的值为()。
{int a ,b; for (a=1,b=1;a<=100;a++){ if(b>=20) {b+=3; continue;} b-=5; } }A.7B.8C.9D.1010.若有以下说明,int a [3][5]={{1,2},{3,4},{5,6}};则数值为6的表达式是()。