C程序设计试题及题解
- 格式:doc
- 大小:178.50 KB
- 文档页数:103
C程序设计试题及题解
一、选择题 (1)C语言概述
1、C程序中main函数的位置(C)
A、必须在最开始 B、必须在系统库函数后面
C、可以在自定义函数后面 D、必须在最后
2、下面关于C语言用户标识符的描述,正确的是(D)
A、不能区分大小写 B、用户标识符不能描述常量
C、类型名也是用户标识 D、用户标识符可以作为变量名 3.关于C语言的叙述中,不正确的是(D)
A. C程序可由一个或多个函数组成
B. C程序必须包含一个main()函数
C. C程序的基本组成单位是函数
D. 注释说明只能位于一条语句的后面
4.若有说明语句:char C=‘\95’;则变量C包含(D)个字符
A.1 B.2 C.3 D.语法错误 5.结构化程序设计不包括(A)
A.最优化 B自顶而下,逐步细化 C 模拟化设计 D结构化编码
6.结构化程序设计的三种基本语句是(C)
A.函数结购 分支结构 判结构
B.函数结构 嵌套结构 平行结构
循环结构 C.顺序结构 分支结构
D.分支结构 循环结构 嵌套结构
7.关于C语言数据类型的 A.枚举类型不是基本类型 B.数组不是构造类型 C.变量必须先定义后使用 D.不允许使用空类型 8.关于C语言的源程序的叙述中,错误的是(C)
A.C语言的源程序由函数构成 B.main函数可以书写在自定义函数之后 C.必须包含有输入语句 D.一行可以书写多个语句 9.下面叙述中,(A)不是结构化程序设计中的三种基本结构之一
A.数据结构 .B.选择结构 C.循环结构 D.顺序结构 10.char 型变量存放的是(A)
A.ASC?码值 B.字符本身 . C十进制代码值 . D十六进制代码值
11.已有如下定义和输入语句
int a; char c1,c2;
scanf(“%d,%c,%c”, ,a, ,c1, ,c2);
若要求a、c1、c2的值分别为10、A和B,正确的数据输入是( B ) A(10AB
B(10,A,B C(10A B D(10 AB 12.以下叙述不正确的是( D )
A、C程序的执行总是从main函数开始
B、一个C源程序必须包含一个main函数
C、C语言程序的基本组成单位是函数
D、在编译C程序源程序时,可发现注释中的拼写
13.已知如下定义和输入语句:
int a, b;
scanf (“%d, %d”,,a, ,b);
若要求a、b的值分别为10和20,正确的数据输入是(B)
A、10 20 B、10,20 C、a=10, b=20 D、10;20 14、在C语言源程序中,以下叙述正确的是(C)
A、main函数必须位于文件的开头 B、每行只能写一条语句
行 C、程序中的每一语句可以写成几
D、每个语句的最后必须有点号
15.对于C语言源程序,以下叙述错误的是( C )
A. 可以有空语句
B. 函数之间是平等的,在一个函数内部不能定义其它函数
C. 程序调试时如果没有提示错误,就能得到正确结果
D. 注释可以出现在在语句的前面
16(下面叙述中,(A)不是结构化程序设计三种基本结构的共同特点
,(先判断后执行 ,(单入口,单出口,
,(程序中没有执行不到的语句 ,(无死循环
17.若有定义:int x=1234,y=123,z=12;则语句printf(“%4d+%3d+%2d”,x,y,z);运行后的输出结果为(D)
A.123412312 B. 12341234123412341231231231212
C.1234+1234+1234 D.1234+123+12
(2)数据类型,运算符和表达式
1、若定义:int x=2; y=3; float i; 则以下符合C语言语法的表达式是(B)
A、x=x* 3=2 B、x=(y= = 1) C、i=float(x) D、i%(-3) 2、若有定义:int
a=5, b=2, c=1;则表达式a-b
A、0 B、1 C、2 D、-1
3、若有68定义:float x=3.5; int z=8; 则表达式x+z%3/4的值是(B)
A、3.75 B、3.5 C、3 D、4
4.若有定义:int a=1,b=2,c=3;语句++a||++b,,++a运行后b 的值为(D) A(1 B.0 C.2 D.3 5.设单精度型变量+,g的值均为2.0,使+为4.0的表达式为(A)
A.1 B.0 C.2 D.3 9.对于整型变量x,下述计语句(B)与赋值句:x=x%2==0,1:0;不等价
A .if(x%2~=0)x=0;else x=1; B if(x%2)x=1;else x=0;
C.if(x%2= =0)x=1;else x=0; D .if(x%2==1) x=0;else x=1; 12.下面语句正确的是( B C )
A int *P;*P=20; B char *s=“abcdef”;printf(“%s\n”,s);
C char str[]=“abcdf”;printf(“%s”,str);
D char str[]={„a?,?b?,?c?};printf(“%s”,str);
13.若有定义:int,,,;则正确的赋值表达式是(,)
,.,- =(a*3) B.double(-a) C.a* D.a*4=3
14.若有定义:int m=5. n=3则表达式(m+1,n+1,(--m)+(n--))的值是(B) A.6
B.7 C.8 D.9 15.对于基类型相同的两个指针变量之间,不能进行的运算是(C)
A., B., C., D.,
16.若有定义:int a;则语句a=(3*4)+2%3;运行后a的值为(B)
A. 12 B.14 C.11 D.17
17.下面叙述中,错误的是(A)
A.其算术运算对象不包含函数 B.%(模拟运算符)的运算对象只能为整型量
C.算术运算的结合方向是“自左向右” D.自加和自减运算符的结合方向是“自右向左” 18.已知int a=‘R’;则正确的表达式是(A)
A.a%10 B.a=int(3e2) C .2,a=a++ D.a=a+a=a+3
19.已知double a=5.2;则正确的赋值表达式是(A)
A.a+=a-=(a=4)*(a=3) B a=a*3=2 C a%3 D a=double(-3) 20.以下的计语句中,x的值一定被重新赋值的是(B)
A.if(x==y) x+=y; B if(x,y,,x!=y);x+=y;
,,x) else scanf(“%d”,,y); D.if(x,y) {x++;y++} C.if(x!=y)
scanf(“%d”
21.设有double型变量a,b,c,e均有值,对代数式(3ae)/(bc),不正确的语言表达式是(C) A.a/b/c*e*3 B.3*a*e/b/c C.3*a*e/b*c D.a*e/c/b*3
22.以下运算符中优先级最高的是(D)
A., B.|| C.,, D.+
23.若有自定义:int a,b;double x.,则以下不符合C语言的表达是(A)
A.x%(-3) B.a+=-2 C.a=b=2 D.x=a+b
24.若有定义:int a[3] [3];则表达式,a[2][1]-a的值为(B)
A.7 B.8 C.6 D.9 25.以下(D)是正确的变量名
A.a.bee B.-P11 C.int D.P,11
b=2 ,c=3,d=4,x=5,y=6 则表达式(x=a,b),,(y=c,b)的值为(A) 26.若有定义:int a=1,
A.0 B.1 C. 5 D.6
27.以下(D)是正确变量名
A.5f B.if C.f.5 D._f5
28.若有定义:int x=3,y=4,z=5 则值为0的表达式是(D)
A.‘x’,,‘y’ B. x,=y C. x||y=z,,y-z D. ~((x,y),,~z||1) 29.若有定义:int x,a;则语句x=(a=3,a+1);运行后x、a的值依次为( C ) A(3,3 B(4,4
C(4,3 D(3,4
30.若有定义:int a,b;则表达式(a=2,b=5,a*2,b++,a+b)的值是( B )
A(7 B(8 C(9 D(10 31.若有定义:int a=2,b=3;float x=3.5,y=2.5;则表达式(float)(a+b)/2+(int)x%(int)y的值是(A) A(3.5 B(3.0 C(2.5 D(2.0
32. 以下(B)是错误的整型常量
A、-0xcdf B、018 C、0xe D、011
33.语句a=(3/4)+3%2; 运行后,a的值为(B)
A、0 B、1 C、2 D、3
34.设整形变量a为5, 使b不为2的表达式是(C)
A、b=(++a)/3 B、b=6-(--a) C、b=a%2 D、b=a/2
35、已知char a=’R’;则不正确的赋值表达式是(D);
A、a=(a++)% 4 B、a+2=3 C、c a+=256-- D、a=‘\078’
36.下面叙述正确的是(B)
A、2/3与2.0/3.0等价 B、(int)2.0/3与2/3等价
C、++5与6等价 D、‘A’与“A”等价
37、getchar( )函数的功能是从终端输入(D)
A、一个整型量值 B、一个实型变量值 C、多个字符 D、一个字符
38、若有定义:int i=7, j=8; 则表达式 i >j||i
A、1 B、变量i的值 C、0 D、变量j的值 39、若有定义:int i ,j;则表达式(i=2, j=5, i++, i+j++)的值是(B) A、7 B、8 C、9 D、10
40.若希望当a的值为奇数时,表达式的值为”真”,a的值为偶数时,表达式的值为”假”.则不能满足要求的表达式是( C )
A.a%2==1 B.!(a%2==0) C.!(a%2) D.a%2
41(下面叙述正确的是( A )
,(强制类型转换运算的优先级高于算术运算
,(若a和b是整型变量,(a+b)++是合法的