1、桂林电子科技大学桂林电子科技大学GUILIN UNIVERSITY OF ELECTRONIC TECHNOLOGY桂林电子科技大学桂林电子科技大学GUILIN UNIVERSITY OF ELECTRONIC TECHNOLOGY:是人与计算机进行交流的一种语言。是人与计算机进行交流的一种语言。:是解决问题的方法、步骤和思路。是解决问题的方法、步骤和思路。如:求如:求a、b两数中的最大数的算法及两数中的最大数的算法及C程序程序桂林电子科技大学桂林电子科技大学GUILIN UNIVERSITY OF ELECTRONIC TECHNOLOGY:用某种计算机语言描述解决问题的方法步骤。用某种计算
2、机语言描述解决问题的方法步骤。(1)算法是有穷的,而程序可以是无穷的;)算法是有穷的,而程序可以是无穷的;(2)算法和程序的描述方法不同;)算法和程序的描述方法不同;(3)算法一般情况是不可执行的,而程序是可执行的;)算法一般情况是不可执行的,而程序是可执行的;桂林电子科技大学桂林电子科技大学GUILIN UNIVERSITY OF ELECTRONIC TECHNOLOGY:C语言编写的程序,一般要经过语言编写的程序,一般要经过编辑编辑、编译编译、连接连接和和运行运行才能得到程序的结果。才能得到程序的结果。桂林电子科技大学桂林电子科技大学GUILIN UNIVERSITY OF ELECTR
3、ONIC TECHNOLOGY桂林电子科技大学桂林电子科技大学GUILIN UNIVERSITY OF ELECTRONIC TECHNOLOGY:在程序运行过程中,其值固定不变的量。在程序运行过程中,其值固定不变的量。桂林电子科技大学桂林电子科技大学GUILIN UNIVERSITY OF ELECTRONIC TECHNOLOGY表表1-1 整型常量整型常量整型常量整型常量 分分 类类 书写形式书写形式 示示 例例 备备 注注十进制十进制通常整数的写法通常整数的写法100-300(1)证书前)证书前面的面的“+”可可以省略;以省略;(2)占)占2个个字节,数值字节,数值范围是:范围是:-3
4、276832767八进制八进制以以0开头,后跟八进制开头,后跟八进制数码数码07067012十六进制十六进制以以0 x或或0X开头,后跟开头,后跟十六进制数码十六进制数码09、af0 x10aoXABC桂林电子科技大学桂林电子科技大学GUILIN UNIVERSITY OF ELECTRONIC TECHNOLOGY表表1-2 实型常量实型常量实型常量实型常量 分分 类类 书写形式书写形式 示示 例例 备备 注注定点实数定点实数正负号正负号+整数整数+小数点小数点+小数部分小数部分-3.4.21-5.整数部分或整数部分或小数部分可小数部分可以省略以省略浮点数浮点数前置数前置数+e(或(或E)+
5、指指数数1.2e3-2.34e-21E-2(1)指数必)指数必须是十进制须是十进制整数整数(2)前置数)前置数不能省略不能省略桂林电子科技大学桂林电子科技大学GUILIN UNIVERSITY OF ELECTRONIC TECHNOLOGY表表1-3 字符型、字符串型常量字符型、字符串型常量常量类型常量类型 分分 类类 书写形式书写形式 示示 例例 备备 注注字符型常量字符型常量一般字符型一般字符型用一对单撇号括起用一对单撇号括起来的单个字符来的单个字符Bb字母区分字母区分大小写大小写转义字符型转义字符型以以“ ”开头的开头的“控制字符控制字符”n101占占1个字个字节的空间节的空间字符串型
6、常量字符串型常量用一对双撇号括起用一对双撇号括起来的单个或多个字来的单个或多个字符符“a”“abc”桂林电子科技大学桂林电子科技大学GUILIN UNIVERSITY OF ELECTRONIC TECHNOLOGY:在程序运行过程中,其值不断变化的量。在程序运行过程中,其值不断变化的量。:整型变量、实行变量和字符型变量。整型变量、实行变量和字符型变量。:以字母或下划线开头,由字母、数字以字母或下划线开头,由字母、数字 和下划线组成,而且不能为和下划线组成,而且不能为C语言中的保留字。语言中的保留字。:在定义变量时,预先给变量设置初值。:不能写成:char ch1=cha2=a;。桂林电子科技
7、大学桂林电子科技大学GUILIN UNIVERSITY OF ELECTRONIC TECHNOLOGY表表1-4 变量类型说明符变量类型说明符变量类型变量类型分类分类类型说明符类型说明符占用字节数占用字节数整型变量整型变量基本整型基本整型int2长整型长整型long4短整型短整型short2实型变量实型变量单精度实型单精度实型float4双精度实型双精度实型double8字符型变量字符型变量字符型变量字符型变量char1桂林电子科技大学桂林电子科技大学GUILIN UNIVERSITY OF ELECTRONIC TECHNOLOGY:名称名称运算符运算符优先级优先级备注备注加法加法+ +优
8、先级相同,但低于乘、除和求余的优先优先级相同,但低于乘、除和求余的优先级;同级运算时自左向右进行级;同级运算时自左向右进行减法减法- -乘法乘法* *优先级相同;同级运算时自左向右进行优先级相同;同级运算时自左向右进行(1 1)两整数相除,)两整数相除,商为整数;商为整数;(2 2)参与求余运)参与求余运算的两个对象必须算的两个对象必须是整数,其结果也是整数,其结果也是整数。是整数。除法除法/ /求余求余% %桂林电子科技大学桂林电子科技大学GUILIN UNIVERSITY OF ELECTRONIC TECHNOLOGY:(1)乘号)乘号*不能省略;不能省略;(2)所有括号必须是圆括号,而
9、且必须配对;)所有括号必须是圆括号,而且必须配对; (3)函数自变量用圆括号括起来;)函数自变量用圆括号括起来;(4)三角函数的自变量必须用弧度。)三角函数的自变量必须用弧度。桂林电子科技大学桂林电子科技大学GUILIN UNIVERSITY OF ELECTRONIC TECHNOLOGY:转换顺序为:转换顺序为:如:如:3+2.0char int long float double 如:如:3+(int) 2.0桂林电子科技大学桂林电子科技大学GUILIN UNIVERSITY OF ELECTRONIC TECHNOLOGY1.赋值表达式赋值表达式变量名变量名=表达式;表达式;如:如:a
10、=b=c=0,等价于,等价于a=(b=(c=6),最后结果是,最后结果是a为为6。首先计算表达式的值,然后转换为首先计算表达式的值,然后转换为“=”左边变量的类型,最后将转换后的结果保存在变量左边变量的类型,最后将转换后的结果保存在变量的存储空间中。的存储空间中。int a=b=a=6;桂林电子科技大学桂林电子科技大学GUILIN UNIVERSITY OF ELECTRONIC TECHNOLOGY2.复合赋值运算符复合赋值运算符名称名称运算运算符符运算规则运算规则结合性结合性示例(示例(intint a=3,b=2; a=3,b=2;)加赋值加赋值+=+=a+=ba+=b(等价于(等价于a
11、=a=a+ba+b)从右到从右到左左a+=b (a+=b (最后结果是最后结果是a a中的中的值为值为5 5)减赋值减赋值-=-=a-=ba-=b(等价于(等价于a=a-ba=a-b)a-=b (a-=b (最后结果是最后结果是a a中的中的值为值为3 3)乘赋值乘赋值* *= =a a* *=b=b(等价于(等价于a=aa=a* *b b)a a* *=b (=b (最后结果是最后结果是a a中的中的值为值为6 6)除赋值除赋值/=/=a/=ba/=b(等价于(等价于a=a/ba=a/b)a/=b (a/=b (最后结果是最后结果是a a中的中的值为值为3 3)余赋值余赋值%=%=a%=ba
12、%=b(等价于(等价于a=a=a%ba%b)a%=b (a%=b (最后结果是最后结果是a a中的中的值为值为0 0)桂林电子科技大学桂林电子科技大学GUILIN UNIVERSITY OF ELECTRONIC TECHNOLOGY3.自加、自减运算符自加、自减运算符名称名称表达式表达式形式形式运算规则运算规则示例示例备注备注自增自增i+i+i+i+(等价于(等价于i=i+1i=i+1)intint i=1,j=2,m=3,n=4;i=1,j=2,m=3,n=4;写出表达式写出表达式(i+)(i+)* *(+j)(+j)* *(m-(m-) )* *(-n)(-n)的值,及的值,及变量的值。
13、变量的值。表达式的值:表达式的值:2727变量的值:变量的值:i=2;j=3;m=2;n=3.i=2;j=3;m=2;n=3.在使用在使用i i后,使后,使i i的值加的值加1 1+i+i+i+i(等价于(等价于i=i+1i=i+1)在使用在使用i i前,使前,使i i的值加的值加1 1自减自减i-i-i-i-(等价于(等价于i=i-1i=i-1)在使用在使用i i后,使后,使i i的值减的值减1 1-i-i-i-i(等价于(等价于i=i-1i=i-1)在使用在使用i i前,使前,使i i的值减的值减1 1桂林电子科技大学桂林电子科技大学GUILIN UNIVERSITY OF ELECTRO
14、NIC TECHNOLOGY1.逗号表达式的一般形式逗号表达式的一般形式表达式表达式1,表达式,表达式2,表达式,表达式3,表达式表达式n;如:如:a=3,b=a+2,c=a+b,c=a+b+c;该逗号表达式的;该逗号表达式的值为值为16。2.执行过程执行过程从左到右从左到右逐个计算各个表达式的值,并将逐个计算各个表达式的值,并将最后最后一个一个表达式的值作为该逗号表达式的值。表达式的值作为该逗号表达式的值。桂林电子科技大学桂林电子科技大学GUILIN UNIVERSITY OF ELECTRONIC TECHNOLOGY1.(2009.4,单选)下列合法的,单选)下列合法的C语言标识符是()
15、语言标识符是()A. static B. 3abcC. abc_2 D. am&t2.(2010.4,单选)已知,单选)已知 int x=17,y=5;,则表达式,则表达式x/y的值是()的值是()A. 0 B. 2C. 3 D. 3.43.(2010.4,填空)已知,填空)已知 int a=1,b=2,d;执行语句执行语句d=a0|b2&(a=3);后,后,a的值是(的值是( )。)。桂林电子科技大学桂林电子科技大学GUILIN UNIVERSITY OF ELECTRONIC TECHNOLOGY1. 下列常量中,不正确的是()下列常量中,不正确的是()A. 0021 B. 0.0C. 0
16、.12E5 D. E22. 关于关于C语言主函数的描述正确的是()语言主函数的描述正确的是()A. C程序可以有多个程序可以有多个main函数;函数;B. C程序必有一个而且只能有一个程序必有一个而且只能有一个main函数;函数;C. C程序可以没有程序可以没有main函数;函数;D. C程序的执行不一定在程序的执行不一定在main函数开始执行。函数开始执行。桂林电子科技大学桂林电子科技大学GUILIN UNIVERSITY OF ELECTRONIC TECHNOLOGY3. 若有定义:若有定义:int a=7; float x=2.5, y=4.7; 则表达式则表达式x+a%3 * (in
17、t) (x+y) % 2/4的值是()的值是()A. 2.500000 B. 2.750000C. 3.500000 D. 0.0000004. C语言中,已知:语言中,已知:int a, b, c; 下列运算符使用错下列运算符使用错误的是()误的是()A. a+ B. b-C. +c D. 3+桂林电子科技大学桂林电子科技大学GUILIN UNIVERSITY OF ELECTRONIC TECHNOLOGY5. C语言中,字符串在计算机中结束的标记是()语言中,字符串在计算机中结束的标记是()A. 空格空格 B. 换行换行C. n D. t6. C语言中,语言中,j=i+; 等价于()等价
18、于()A. j=i; i=i+1; B. i=i+1; j=i;C. j=i; j=j+1; D. j=i; j=i+1;7. C语言中,语言中, 赋值语句的赋值号赋值语句的赋值号“=”()()A. 可以是常数可以是常数 B. 可以是变量名可以是变量名C. 只能是表达式只能是表达式 D. 可以是常数或表达式可以是常数或表达式桂林电子科技大学桂林电子科技大学GUILIN UNIVERSITY OF ELECTRONIC TECHNOLOGY8. 已知有如下程序:已知有如下程序:main( ) int i, j, m, n; i=8; j=10; m=+i; n=j+; printf(“%d,%d
19、,%d,%d”, i, j, m, n);请选择程序正确输出的结果()。请选择程序正确输出的结果()。A. 9, 11, 9, 10 B. 8, 10, 9, 11C. 9, 11, 9, 11 D. 8, 8, 11, 10桂林电子科技大学桂林电子科技大学GUILIN UNIVERSITY OF ELECTRONIC TECHNOLOGY9. 已知有如下程序:已知有如下程序:main( ) int i=6; a+ =a- =a*a; printf(“%d”, a);A. 36 B. 0C. -24 D. -60请选择程序正确输出的结果()。请选择程序正确输出的结果()。桂林电子科技大学桂林电
20、子科技大学GUILIN UNIVERSITY OF ELECTRONIC TECHNOLOGY9. 下列程序的运行结果是()下列程序的运行结果是()#include #include main( ) int a=5; a=3+a%4+sqrt(16); a=a/3; a+; printf(“%dn”, a);A. 2 B. 2.6C. 3 D. 4桂林电子科技大学桂林电子科技大学GUILIN UNIVERSITY OF ELECTRONIC TECHNOLOGY10. 已知:已知:int i=5, a; 当当a=+i; 语句执行后,变量语句执行后,变量i和和a的值分别是()的值分别是()A.
21、5 5 B. 5 6C. 6 5 D. 6 611. 用用C语言表示算式语言表示算式2 (a+b) / (cd), 正确的表达式正确的表达式是()是()A. 2*(a+b) / (cd) B. 2 (a+b) / (c*d)C. 2*(a+b) / (c*d) D. 2 (a+b) / (cd)桂林电子科技大学桂林电子科技大学GUILIN UNIVERSITY OF ELECTRONIC TECHNOLOGY12. 若有若有int x; float y ; 下面结果为整数型的表达下面结果为整数型的表达式有()式有()A. (float) (x+y) B. (int) x+yC. 2.3+x D
22、. x+(int) y13. 已知字符型变量定义:已知字符型变量定义:char a; 则下列哪一个则下列哪一个正确的字符变量赋值操作正确的字符变量赋值操作 ()()A. char a=3; B. char a=“3”;C. char a=%; D. char a=*;桂林电子科技大学桂林电子科技大学GUILIN UNIVERSITY OF ELECTRONIC TECHNOLOGY14. 下列四个选项中,哪一个可以作为字符型常量下列四个选项中,哪一个可以作为字符型常量使用()使用()A. rn B. “a”C. 997 D. 6515. 若若x, i, j和和k都是都是int型变量,则计算表达
23、式型变量,则计算表达式x= (i=4, j=52, k=16)后,后,x的值为()的值为()A. 4 B. 16C. 32 D. 52桂林电子科技大学桂林电子科技大学GUILIN UNIVERSITY OF ELECTRONIC TECHNOLOGY16. 下列程序的运行结果是()下列程序的运行结果是()#include main( ) int x=021; printf(“%dn”, +x);A. 18 B. 17C. 19 D. 20桂林电子科技大学桂林电子科技大学GUILIN UNIVERSITY OF ELECTRONIC TECHNOLOGY17. 已知有如下程序:已知有如下程序:main( ) int a=9, b=2; float x=6.6, y=1.1, z; z=a/2+b*x/y+1/2; printf(“%5.2f”, z);则它的输出结构是()。则它的输出结构是()。