C语言期末复习题 (1)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基本数据类型
一、选择题
1.下列数据中,不正确的数值或字符常量是()。
A.0.825e2 B.5L
C.0xabcd D.o13
2.以下字符中,不正确的C语言转义字符是()。
A.'\\' B.'\018'
C.'\xaa' D.'\t'
3.已知大写字母A的A SCII码值是65,小写字母a的A SCII码是97,则用八进制表示的字符常量'\101'是()。
A.字符A B.字符a C.字符e D.非法的常量
4.以下选项中可作为C语言合法整数的是()。
A.10110B B.0386 C.0Xffa D.x2a2
5.以下符合C语言语法的实型常量是()。
A.1.2E0.5 B.3.14.159E C..5E-3 D.E15
6.已定义ch为字符型变量,以下赋值中错误的是()。
A.ch='\'; B.ch=62+3; C.ch=NULL; D.ch='\xaa';
7.已定义c为字符型变量,则下列赋值中正确的是()。
A.c='97'; B.c="97"; C.c=97; D.c="a";
8.C语言中最基本的数据类型包括( )。
A.整型、实型、逻辑型 B.整型、实型、字符型
C.整型、字符型、逻辑型 D.整型、实型、逻辑型、字符型
9.在C语言中,合法的字符常量是( )。
A. . '\084' B. '\x43' C. 'ab' D. "\0"
10.已知在ASCII代码中,字母A的序号为65,以下程序的输出结果是( )。
#include
main( )
{char c1='A ', c2='Y '; printf("%d,%d\n" , c1 , c2) ; }
A.输出格式非法,输出错误信息 B.65, 90 C.A, Y D.65, 89
二、填空题
1.C语言中,常量包括_________、_________、_________和_________。
2.C语言中,数据类型包括_________、_________、_________和_________。
3.字符串ab在C语言中表示为。
4. C语言中的变量实际代表内存中的一个______。
5. 在C语言中,整数可用______进制数、______进制数与______进制数3种来表示,以0x打头的是进制数,以0打头的是进制数。
6.若有说明语句:char c=‘\035’;则变量c包含个字符。
三、简答题
1.C语言的基本数据类型有几种,分别是什么,并指出各种数据类型的关键字?
2. 常量和变量的区别是什么?
3. 在程序中如何使用变量?
4.字符和字符串表示形式有什么区别?'a'和"a"有什么不同?9和'9'有何不同?空字符'\0'和空格字符' '有何区别?
运算符与表达式
一、选择题
1.在下列运算符中,优先级最高的运算符是()。
A.<= B.% C.= D.&&
2.若有代数式ae/ bc,则错误的C语言表达式是()。
A.a/b/c*e B.a*e/b*c C.a*e/b/c D.a*e/c/b
3.已知有以下变量定义:
int i=8,k,a,b;
unsigned long w=5;
double x=1.42,y=5.2;
则不符合C语言语法的表达式是()。
A.k=i++ B.(int)x+0.4 C.w+=-2 D.a=2*a=3
4.运行以下程序段后,x的值为()。
int m=3, n=4, x;
x = -m++;
x = x+8/++n;
A.3 B.5 C.-1 D.–2
5.设有以下定义
int a = 0;
double b = 1.25;
char c = 'A ';
#define d 2
则下面语句中错误的是()。
A.a++; B.b++; C.c++; D.d++;
6.设有如下程序段:
int x=2002, y=2003;
printf ("%d\n",(x,y));
则以下叙述中正确的是()。
A.输出语句中格式说明符的个数少于输出项的个数,不能正确输出
B.运行时产生出错信息
C.输出值为2002
D.输出值为2003
7.以下非法的赋值语句是()。
A.n =(i=2, ++i); B.j++; C.++(i+1); D.x = j>0;
8.设a和b均为double型变量,且a=5.5、b=2.5,则表达式(int)a+b/b的值是()。
A.6.500000 B.6 C.5.500000 D.6.000000
9.若有以下程序:
main()
{
int k=2,i=2,m ;
m=(k+=i*=k);
printf("%d,%d\n",m,i);
}
执行后的输出结果是()。
A.8,6 B.8,3 C.6,4 D.7,4
10.若有定义:
int a=8, b=5, c;
执行语句c=a/b+0.4;后,c的值为()。
A.1.4 B.1 C.2.0 D.2
11.下列选项中哪个是合法的标识符()。
A.char B.5abc C.t_a D._*m2
二、填空题
1.C语言中的表达式包括___________、___________、___________、__________、_________和__________。
2.C语言中的结合方向有__________和___________。
3.若有定义:int a=0;则执行赋值语句a+=a*=a% =a-=15;后变量a中的值是_________。
4.printf("% d\n",(int)(2.5+3.0)/3);的输出结果是_________。
5.设int x=9; 执行 x+=3+x%(-3);后x的值为。
6.假设变量a为整型,则执行a=3+5,a*4;printf("% d\n",a);后的输出结果是________。
7.条件:“0 8.设x和y均为int型变量,且x=1,y=2,则表达式1.0+x/y的值为______。 9.在C语言中,要求运算数必须是整型的运算符是。 10.在C语言中,表示逻辑“假”的值用。 11.表达式7>6>5的值为。 12.设a=0,b=1,c=2,则表达式a||b+c&&b==c的值是。 三、计算下列各表达式的值。 1.5/2+5.0/2+7%6 2.a=3,b=4,c=5,a+b>c&&b==c