当前位置:文档之家› 1基础知识

1基础知识


标识符
概念: 用来标识变量名、符号常量名、数组名、 函数名、类型名、文件名等的有效字符序列。 分类:关键字(P11)、预定义标识符(预处理 命令和库函数名)、用户标识符。 命名规则:由字母、数字和下划线构成,且首 字符必须为字母或下划线。大小写字符含义不 同。
标识符
12、下面四个选项中,均是不合法的用户标识符 的选项是( ). A:A,P_0,do B:float,la0,_A C:b-a,goto,int D:_123,temp,int 16、下列C语言的标识符中,不合法的用户自定 义标识符是( ). A:printf B:enum C:_A D:sin 17、可用作C语言用户标识符的一组标识符是( ). A:void,define,WORD B:a3_b3,_123,IF C:FOR,--abc,Case D:2a,Do,Sizeof
A:4 B:3 C:2 D:1
94、若有定义:int x=3,y=2,z=2; z*=(x>y?++x:y++)的值是( ).
A:4 B:0 C:1 D:8
95、以下程序段的输出结果是( ). main( ) { char x='A'; x=(x>='A'&&x<='Z') ? (x+32) : x; printf("%c",x); }
(表达式1) || (表达式2) || (表达式3)……
4、条件表达式 条件运算符 表达式1 ?表达式2 :表达式3 表达式 a>b?a:b 结合性 右结合 如: a>b?a: c>d?c:d 表达式的值 真
表达式1

表达式2
表达式3
93、若w=1,x=2,y=3,z=4,则w<x?w:y<z?y:z的 值是( ).
38、若变量已正确定义并赋值,以下符合C语言语法的表达式是 ( ). A:a:=b+1 B:a=b=c+2 C:int 18.5%3 D:a=a+7=c+b 59、有如下程序段 int a=14,b=15,x; char c='A'; x=(a&&b)&&(c<'B'); 执行该程序段后,x的值为( ). A:True B:False C:0 D:1 60、若x为int型变量, x=2;则执行x+=x/=x*x;后,x的值为( ). A:0 B:-60 C:60 D:-24
52、若有以下程序段:int a=3,b=4; a=a^b;b=b^a;a=a^b;则执行以上语句后,a和b的值分别 是( ). A: a=3,b=4 B:3
7、赋值表达式
运算符
基本赋值运算符:= 与算术运算符和位运算符构成的复合运算符: +=、-=、*=、/=、%=、>>=、<<=、&=、^=、|=
A:-1 B:65535 C:32767 D:0xFFFF
40、若有程序段: char c; int a; c=a=256; printf("%d",c);则执行该程序段后输出结果是().
A:256 B:65536 C:-1 D:0
2.2 表达式
1、算术表达式
算术运算符 单目运算符: ++ , -- , - , sizeof() 双目运算符: +,-,*,/,% 将一个数学式子改写成C语言表达式时应注意: ① 乘号不能省略; ② 只用圆括号,可以嵌套使用,但括号必须左右匹配; ③ 避免两个运算符并置; ④ 两个整数相除结果仍为整数,要转换成实数运算; ⑤ 求余运算符%要求运算对象必为整型; ⑥ 调用标准数学函数时,自变量应写在一对括号内; ⑦ 三角函数的自变量应使用弧度。 练习: 设int a=3,b=5把以下数学式子转化为c语言表达式。 2 a +sin30。 a + b
评分标准
编程题
编译通过 运行结果正确
C期末考试
20% 20%
省二级
30% 40%
关键字
60%
30%
简单回顾
一、C语言的组成特点
例1: 求两个数的最大值,用函数实现。 main ( ) { int a,b,c; /*定义变量*/ scanf("%d,%d″,&a,&b); c=max(a,b); printf("max=%d",c); } int max(int x,int y) { int z; if(x>y) z=x; else z=y; return(z); }
double
char
2 4 4 4 8 16 1
0~65535(0~216-1) -231~231-1 0~232-1 -1038~1038 -10308~10308 -104932~104932 ASCII值在0~255
2.1.2 典型示例
35、若u为unsigned int 型变量,其初值等于 65535.函数printf("%d",u)的输出结果为【1】. 84、有以下程序,其中%u表示按无符号整数输出 main( ) { unsigned int x=0xFFFF; printf("%u\n",x); }
2.1.1 基本知识——变量
类型 Turbo C 2.0 字节数 2 2 2 表示范围 -32768~32767(-215~215-1) 0~65535(0~216-1) -32768~32767(-215~215-1)
int unsigned int short unsigned short long unsigned long float
9、运算符的优先级和结合性
优先级: 初等运算符 () [ ] . 单目运算符(! ~ ++ -- - * & sizeof (类型)) 算术运算符 结合性: 关系运算符 单目运算符 逻辑运算符(不包括!) 条件运算符 右结合 条件运算符 赋值运算符 赋值运算符 其它的运算符均满足左结合。 逗号运算符 注意!表达式中若有实数,结果必为double型。
表达式 a=12 b*=x+12 c<<=3 注意事项
b=b*(x+12) c=c<<3
赋值号左侧一定是变量名或者数组元素。 右结合
如: a+=a-=a*a
(设a=3)
8、逗号表达式 运算符 表达式1,表达式2 表达式求解 先求解表达式1,再求解表达式2,整个逗号表达 式的值就是表达式2的值 运算级别最低! 举例 a=3*5,a*4 (a的值为15,表达式值为60)
A:A B:a C:Z D:z
96、以下程序输出结果是( ) main( ) { int a=5,b=4; printf("%d\n", a>b?a+b:a-b);}
A:9 B:1 C:10 D:无法确定
91、若有条件表达式 (exp)?a++:b--,则以 下表达式中能完全等价于表达式(exp)的是 ( ). A:(exp==0) B:(exp!=0) C:(exp==1) D:(exp!=1)
例: 51、设有: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:4 55、设x,y,z,t均为整型变量,现有如下语句 x=y=z=1;t=++x‖++y&&++z;,则执行这个语句后t的 值为( ). A:2 B:1 C:0 D:不定值
特点: 一个C语言程序由函数组成,其中必须要有一 个main函数; C程序总是从main函数开始执行; 分号';'是C语句的组成部分; C程序严格区分大小写,关键字必须小写; 用一对大括号{ }来标识一个函数或复合语句 的范围; 注释/*……*/的内容任意、位置任意、对程 序的编译运行没有任何影响; C程序书写自由。
自增自减运算符
设变量i=8,若:

j=++i; j=i++; j=--i ; j=i--;
i=9,j=9 j=8, i=9
i=7, j=7 i=7, j=8
53、设有定义int k=0;以下选项的四个表达式中 与其他三个表达式不相同的是()。
A:k++ B:k+=1 C: ++k D: k+1


27、若x和y是整型变量,且变量均已赋值, 则表达式x>y>-1的值是【1】. 29、C中,优先级为2的运算符都是【1】目运算符 31、!!5的值是【1】 32、若变量i和m的类型分别是int和long,则表达 式3.2+i*m的数据类型是【1】.
36、a=3,a%2+(a+1)%2的值是【1】. 37、a=(a=3,b=++a,a*b)的结果是【1】. 42、表达式'd'-'5'+'3'表示的字符是【1】. 45、d=9,2/5*d的值是【1】. 46、a是整型变量,a/2*2的值【1】等于a的值. 63、!'A' 的值等于【1】. 160、若变量a,b和c都是int型变量,下面的程序段 执行后,变量b的值是【1】. a=2;b=3;c=a>1||b-->0;
2.1.1 基本知识——常量
符号常量:如 #define PI 3.1415926 整型常量 小数形式:数字与小数点 十进制:123,456L 指数形式:字母E或e前必 八进制:0123 有数字,后面必为整数 十六进制:0x123 实型常量: 12.3, 5e-3 字符型常量 字符常量: 单引号括起来的一个字符及转义字符, 如‘a’、‘\n’。 字符串常量:双引号括起来的字符序列。
相关主题