第二章常用数据类型 【学习目标】 本章将学习一些基本的程序概念,如程序结构、标识符、章的学习要 关键字和注释等。本点包括如下几点: (1)了解C语言的基本结构。 (2)分号、块和空白的使用。 (3)标识符的约束规则。 (4)C关键字。 (5 )直接量的认识。 (6)注释的使用。 【学习导航】 本章的在整个课程中的位置如图2-1所示。 图2-1 本章学习导航
2.1 C语言基本程序结构 任何一种程序设计语言都具有特定的语法规则和规定的表达方法。一个程序只有严格按 照语言规定的语法和表达方式编写,才能保证编写的程序在计算机中能正确地执行,同时也 便于阅读和理解。为了了解C语言的基本程序结构,请看【课堂案例2-1】。 【课堂案例2-1】在控制台输出“你好”。 【案例目标】会使用Xcode编辑器实现字符串输出 【案例知识要点】C语言的程序结构、基本输出语句 【案例程序代码】hello.c 1#i nclude
第二章数据类型,运算符与表达式 一.选择题 1.不合法的字符常量是(B)。 A)‘\t’B) “A” C)‘a’D)’\x32’ 2、合法的字符常量是(D)。 A)‘\084’B) ‘\84’ C)‘ab’D)’\x43’ 2.(B)是C语言提供的合法的数据类型关键字。 A)Float B)signed C)integer D)Char 3.在以下各组标识符中,合法的标识符是(4)。 (1)A)B01 B)table_1 C)0_t D)k% (2)A)Fast_ B)void C)pbl D)
1.C语言中的简单数据类型包括( B )。 A.整型、实型、逻辑型B.整型、实型、字符型 C.整型、字符型、逻辑型D.整型、实型、逻辑型、字符型2.在C语言中,错误的short类型的常数是( A )。 A.32768 B.0 C.037 D.0Xaf 3.下列常数中不能作为C的常量的是( D )。 A.0x45 B.2.5e-2 C.3e2 D.0582 4.short类型的数据长度为2个字节,则unsigned short类型数据的取值范围是( B )。 A.0至255 B.0~65535 C.-32768~32767 D.-256~255 5.下面4个选项中,均是合法转义字符的选项是( A )。 A.'\'','\\','\n' B.'\','\017','\' C.'\018','\f','xab' D.'\\0,'101','x1f 6.在C语言中,数字029是一个( D )。 A.八进制数B.十六进制数 C.十进制数D.非法数 7.下列可以正确表示字符型常数的是( B )。 A."a" B.'\t' C."\n" D.297 8.以下( C )是错误的转义字符。 A.'\\' B.'\'' C.'\81' D.'\0' 9.C语言中short类型的变量a的值为-8,则a在内存中的存储形式是( A )。 A.1111 1111 1111 1000 B.100000000000 1000 C.000000000000 1000 D.1111 1111 1111 0111 10.将字符g赋给字符变量c,正确的表达式是( C )。 A.c="g" B.c=101 C.c='\147' D.c='0147' 11.字符串"\\\22a,0\n"的长度是( C )。 A.8 B.7 C.6 D.5 12.为求出s=10!的值,则变量s的类型应当为( C )。 A.short B.unsigned short C.long D.以上三种类型均可13.已知:unsigned short x=65535;,则执行以下语句输出是( D )。 printf("%d\n", x); A.65535 B.1 C.无定值D.-1 14.下面4个选项中,均是合法整型常量的选项是( A )。 A.160,-0xffff,011 B.-0xcdf,01a,0xe C.-01,986,012,0668 D.-0x48a,2e5,0x 15.下面4个选项中,均是不合法的整型常量的选项是( D )。 A.--0f1,-0xffff,0011 B.-0Xcdf,01a,0xe C.-018,999,5e2 D.-0x48eg,-068,03f 16.下面4个选项中,均是合法浮点数的选项是( B )。 A.+1e+1,5e-9.4,03e2 B.-.60,12e-4,-8e5 C.123e,1.2e-.4,+2e-1 D.-e3,.8e-4,5.e-0
数据类型、运算符和表达式复习题一.选择题 1. 以下不合法的用户标识符是:() a) f2_G3 b) If c) 4d d) _8 2. 以下选项中合法的用户标识符是:() a) long b) _2Test c) 3Dmax d) A.dat 3. 以下可用作用户标识符的是:() a) 12_a b) signed c) t-o d) _if 4. 以下不是关键字的标识符是:() a) continue b) char c) If d) default 5. C语言提供的合法的关键字是:() a) swicth b) cher c) Case d) void 6. 以下选项中不合法的int整型常数是() a) 32768 b) -56 c) 03 d) 0xAF 7. 以下合法的长整型常量是() a) 2L b) 49627 c) d) 213& 8. 以下正确的实型常量是() a) 1.2E b) . c) 1.2e0.6 d) 8 9. 以下选项中合法的实型常数是() a) 5E2.0 b) E-3 c) .2E0 d) 1.3E 10. 以下合法的八进制数是() a) 0135 b) 068 c) 013.54 d) o7 11. 以下合法的十六进制数是() a) 0x b) 0x4de c) 0x1h d) ox77 12. 以下选项中非法的数值常量是() a) 019 b) 0L c) 0xff d) 1e1 13. 若变量已正确定义,以下合法的赋值表达式是() a) a=1/b=2 b) ++(a+b) c) a=a/(b=5) d) y=int(a)+b 14. 若变量已正确定义,以下非法的表达式是() a) a/=b+c b) a%(4.0) c) a=1/2*(x=y=20,x*3) d) a=b=c 15. 设x为int类型,其值为11,则表达式(x++*1/3)的值是: a) 3 b) 4 c) 11 d) 12 16.设a,b均为double型,且a=5.5;b=2.5;则表达式 (int)a+b/b的值是() a) 6. b) 6 c) 5. d) 6. 17.若a为int型,且其值为3,则执行完表达式: a+=a-=a*a后,a的值是() a) -3 b) 9 c) -12 d) 6 18.设k和x均为int型变量,且k=7;x=12;则能使 值为3的表达式是() a) x%=(k%=5) b) x%=(k-k%5) c) x%=k-k%5 d) (x%=k)-(k%=5)
【个人观点】 练习2-1 #include
printf("您输入的实数是%f\n",no); return (0); } 练习2-4 #include
第三章数据类型、运算符和表达式 一、选择题: 1、以下选项中,不正确的C 语言浮点型常量是(C)。 A. 160. B. 0.12 C. 2e4.2 D. 0.0 2、以下选项中,(D)是不正确的C 语言字符型常量。 A. 'a' B. '\x41' C. '\101' D. "a" 3、在C 语言中,字符型数据在计算机内存中,以字符的(C)形式存储。 A. 原码 B. 反码 C. ASCII 码 D. BCD码 4、若x、i、j和k都是int型变量,则计算下面表达式后,x的值是(C)。 x=(i=4,j=16,k=32) A. 4 B. 16 C.32 D.52 5、算术运算符、赋值运算符和关系运算符的运算优先级按从高到低依次为(B)。 A. 算术运算、赋值运算、关系运算 B. 算术运算、关系运算、赋值运算 C. 关系运算、赋值运算、算术运算 D. 关系运算、算术运算、赋值运算 6、表达式!x||a==b 等效于(D)。 A. !((x||a)==b) B. !(x||y)==b C. !(x||(a==b)) D. (!x)||(a==b) 7、设整型变量m,n,a,b,c,d 均为1,执行(m=a>b)&&(n=c>d)后, m,n 的值是(B)。 A. 0,0 B. 0,1 C. 1,0 D. 1,1 8、设有语句int a=3;,则执行了语句a+=a-=a*=a;后,变量a 的值是(B)。 A. 3 B. 0 C. 9 D. -12 9、在以下一组运算符中,优先级最低的运算符是(D)。 A. * B. != C. + D. = 10、设整型变量i 值为2,表达式(++i)+(++i)+(++i)的结果是(B)。 A. 6 B. 12 C. 15 D. 表达式出错 11、若已定义x 和y为double 类型,则表达式x=1,y=x+3/2 的值是(C)。 A. 1 B. 2 C. 2.0 D. 2.5 12、设a=1,b=2,c=3,d=4,则表达式:a10 && a<15 D. !(a<=10) && !(a>=15) 14、设f是实型变量,下列表达式中不是逗号表达式的是(D)。 A. f= 3.2, 1.0 B. f>0, f<10 C. f=2.0, f>0 D. f=(3.2, 1.0) 15、表达式18/4*sqrt(4.0)/8值的数据类型是(C)。 A. int B. float C. double D. 不确定 16、已知字母A的ASCII码为十进制数65,且c2为字符型,则执行语句 C2=’A’+’6’-‘3’;后c2中的值是(A)。 A. D B. 68 C. 不确定的值 D. C 17、以下用户标识符中,合法的是(B)。 A. int B. nit C. 123 D. a+b 18、C 语言中,要求运算对象只能为整数的运算符是(A)。
第二章基本数据类型及运算 一、选择题 1. 若以下选项中的变量已正确定义,则正确的赋值语句是。 A) x1=26.8%3; B) 1+2=x2; C) x3=0x12; D) x4=1+2=3; 答案:C 2. 设变量x为float型且已经赋值,则以下语句中能够将x中的数值保留到小数点后面两位,并将第三位四舍五入的是。 A) x=x*100+0.5/100.0 B) x=(x*100+0.5)/100.0 C) x=(int)(x*100+0.5)/100.0 D) x=(x/100+0.5)*100.0 答案:C 3. 下列C语言中运算对象必须是整型的运算符是。 A) %= B) / C) = D) *= 答案:A 4. 若有以下程序段:int c1=1,c2=2,c3;c3=1.0/c2*c1;则执行后,c3中的值是。 A) 0 B) 0.5 C) 1 D) 2 答案:A 5. 设x和y均为int型变量,则以下语句:x+=y; y=x-y; x-=y; 的功能是。 A) 把x和y按从大到小排列 B) 把x和y按从小到大排列 C) 无确定结果 D) 交换x和y中的值 答案:D 6. 下列变量定义中合法的是。 A)short_a=1-.le-1; B)double b=1+5e2.5; C)long do=0xfdaL; D)float 2_and=1-e-3; 答案:A 7. 以下4个选项中,不能被看作是一条语句的是。 A) {;} B) a=0,b=0,c=0; C) if (a>0); D) if (b==0)m=1;n=2; 答案:D 8. 设x=1,y=-1,下列表达式中解为8的是。 A)x&y B)~x│x C)x^x D)x<<=3 答案:D 9. 在C语言中不合法的整数是。 A)20 B)0x4001 C)08 D)0x12ed 答案: C 10. 以下选项中不正确的实型常量是 A)2.607E-1 B)0.8103e0.2 C)-77.77 D)456e –2 答案:B) 11.若变量已正确定义并赋值,符合C语言语法的表达式是 A)a=a+7 B)a=7+b+c,a++ C)int(12.3%4) D)a=a+7=c+b 答案:B) 12.以下十六进制数中不合法的是 A)oxff B)0Xabc C)0x11 D)0x19
第2章基本数据类型 一.选择题 1.不合法的字符常量是【】。 A) ‘\t’B) “B” C) ‘a’ D)’\x32’ 2.合法的字符常量是【】。 A) ‘\084’ B) ‘\84’ C) ‘ab’ D)’\x4A’ 3.C语言提供的合法的数据类型关键字是【】。 A) Float B) Signed C) integer D)char 4.属于合法的C语言长整型常量的是【】。 A)2736 B)0L C)2E10 D)(long)5876273 5.下面选项中,不是合法整型常量的是【】。 A)160 B)-0xcdg C)-01 D)-0x48a 6.以下所列的C语言常量中,错误的是【】。 A)0xFF B)1.2e0.5 C)2L D)’\72’ 7.下面四个选项中,均是不正确的8进制数或16进制数的选项是【】。 A)016 0x8f 018 B)0abc 017 0xa C)010 -0x11 0x16 D)0a12 7ff -123 8.下选项中不属于C语言的类型是【】。 A)signed short int B)unsigned long int B)unsigned int D)long short 9.判断int x = 0xaffb1。x的结果是【】。 A)赋值非法 B)溢出 C)为affb D)为ffbc 10.下面选项中,是合法浮点数的是【】。 A)+1e0.5 B)-.60 C)123e D)-e3 11.在C语言中,要求参加运算的数必须是整数的运算符是【】。 A)/ B)* C)% D) = 12.在C语言中,字符型数据在内存中存放形式是【】。 A)原码 B)BCD码 C)反码 D)ASCII码
学习资料 仅供学习与参考练习2-1答案 选择题 1.C语言中的简单数据类型包括( B )。 A.整型、实型、逻辑型B.整型、实型、字符型 C.整型、字符型、逻辑型D.整型、实型、逻辑型、字符型2.在C语言中,错误的short类型的常数是( A )。 A.32768 B.0 C.037 D.0Xaf 3.下列常数中不能作为C的常量的是( D )。 A.0x45 B.2.5e-2 C.3e2 D.0582 4.short类型的数据长度为2个字节,则unsigned short类型数据的取值范围是( B )。 A.0至255 B.0~65535 C.-32768~32767 D.-256~255 5.下面4个选项中,均是合法转义字符的选项是( A )。 A.'\'','\\','\n' B.'\','\017','\' C.'\018','\f','xab' D.'\\0,'101','x1f 6.在C语言中,数字029是一个( D )。 A.八进制数B.十六进制数 C.十进制数D.非法数 7.下列可以正确表示字符型常数的是( B )。 A."a" B.'\t' C."\n" D.297 8.以下( C )是错误的转义字符。 A.'\\' B.'\'' C.'\81' D.'\0' 9.C语言中short类型的变量a的值为-8,则a在内存中的存储形式是( A )。 A.1111 1111 1111 1000 B.100000000000 1000 C.000000000000 1000 D.1111 1111 1111 0111 10.将字符g赋给字符变量c,正确的表达式是( C )。 A.c="g" B.c=101 C.c='\147' D.c='0147' 11.字符串"\\\22a,0\n"的长度是( C )。 A.8 B.7 C.6 D.5 12.为求出s=10!的值,则变量s的类型应当为( C )。 A.short B.unsigned short C.long D.以上三种类型均可13.已知:unsigned short x=65535;,则执行以下语句输出是( D )。 printf("%d\n", x); A.65535 B.1 C.无定值D.-1 14.下面4个选项中,均是合法整型常量的选项是( A )。 A.160,-0xffff,011 B.-0xcdf,01a,0xe C.-01,986,012,0668 D.-0x48a,2e5,0x 15.下面4个选项中,均是不合法的整型常量的选项是( D )。 A.--0f1,-0xffff,0011 B.-0Xcdf,01a,0xe C.-018,999,5e2 D.-0x48eg,-068,03f 16.下面4个选项中,均是合法浮点数的选项是( B )。 A.+1e+1,5e-9.4,03e2 B.-.60,12e-4,-8e5 C.123e,1.2e-.4,+2e-1 D.-e3,.8e-4,5.e-0
第1章 绪论 1.1 简述下列术语:数据,数据元素、数据对象、数据结构、存储结构、数据类型和抽象数据类型。 1.2 试描述数据结构和抽象数据类型的概念与程序设计语言中数据类型概念的区别。 1.3 设有数据结构(D,R),其中 {}4,3,2,1d d d d D =,{}r R =,()()(){}4,3,3,2,2,1d d d d d d r = 试按图论中图的画法惯例画出其逻辑结构图。 1.4 试仿照三元组的抽象数据类型分别写出抽象数据类型复数和有理数的定义(有理数是其分子、分母均为自然数且分母不为零的分数)。 1.5 试画出与下列程序段等价的框图。 (1) product=1; i=1; while(i<=n){ product *= i; i++; } (2) i=0; do { i++; } while((i!=n) && (a[i]!=x)); (3) switch { case x 《C语言程序设计》课程教案表 使用变量时会涉及到变量名、变量类型与值、变量的地址3个方面的内容。 1)变量名(又称标识符名)。C语言中的变量名命名规则与标识符定义规则相同。由字母或下划线开头,其后可以用字母、数字或下画线组成的1~8字符。一般变量名由小写字母表示。例如:a、b、x、y、x1、max1、stu_list 2)变量的类型与值。在程序运行中,变量必须有一个确切的类型和具体值。所以,需要先确定变量的类型与值。定义不同类型的变量,在内存占用不同的字节(参见表2.1)。例如:int型变量占用2个字节,float型占用4个字节。 3)变量的地址。即存放变量的内存地址,又为变量的指针。 (2)变量的定义与初始化 在C语言中,无论使用哪一种类型变量,都要“先定义”,后“使用”。所谓定义,是给程序中用到的变量定义一个类型即取值范围;初始化,就是在定义变量的同时,给变量赋初值。 变量定义格式为:〈数据类型〉〈变量名表〉; 例:int a; /*定义变量a为int整型*/ a=3; /*给变量a赋值3 */ 或:int a=3; /*定义变量a的同时,给a赋值3,又称给变量初始化*/ 通过下图说明变量名、变量在内存中占据的存储单元、变量值三者关系。 int a=3; 提醒学生注意:变量名在程序运行的过程中不会改变,而变量的值可以改变。 (1)整型变量 整型变量用来存放整型数据,其定义的关键字如下: 1)基本型:用int表示(2字节) 2)短整型:用short int或short表示(2字节) 3)长整型:用long int或long表示(4字节) 4)无符号整型: ①无符号整型:用unsigned int或unsigned表示(2字节) ②无符号短整型:用unsigned short int或unsigned short表示(2 字节) ③无符号长整型:用unsigned long int或unsigned long表示(4字节) 一个整型变量在内存中占两个字节(16bit),则int型变量数值的表示范围是-32768~32767,unsigned int变量数值的表示范围为0~65535。(图2-4 有符号与无符号整型数) 【例2.3】输出变量的值。 main() { int i,j; i=30000; j=40000; printf(“%d,%d\n”,i,j); } 运行结果:30000,-25536 可以看出,结果不正确。 通过上述例题分析出错原因并给出正确输出的方法:int变量的最大存储值为32767。因此,赋值语句i=30000没有超出最大取值范围。而赋值语句j=40000超出了最大取值范围,结果产生溢出,系统并不报错,而是给出了一个错误的结果。这时,可将变量j类型改为long 类型即可解决溢出问题,即long j,并按%ld格式输出,就可以得到正确的结果。 (2)实型变量 实型变量又称浮点型变量,按能够表示数的小数点后的精度,C语言实型变量分为三种:1)单精度型:用float表示,在内存占用4个字节,有效数字6~7位。 2)双精度型:用double表示,在内存占用8个字节,有效数字15~16位。 3)长双精度型:用long double表示,在内存占用16个字节,有效数字18~19位。 其定义方式如下: float a,b; /*单精度变量的定义*/ double c,d; /*双精度变量的定义*/ 举例说明浮点型数据是有误差的: 【例2-4】#include 《C语言程序设计》教案第二章基本数据类型和表达式