单选题:(每题2分,共80分)
1、下列不合法的十六进制数是( ) (2分)
A. oxff
B. 0Xcde
C. Oxll
D. Ox23
参考答案: A
2、将三个数排序需要比较______次。 (2分)
A. 2
B. 3
C. 4
D. 不确定
参考答案: B
3、以下程序的输出结果是
main( )
{ int k=17;
printf("%d,%o,%x \n",k,k,k);
} (2分)
A. 17,021,0x11
B. 17,17,17
C. 17,0x11,021
D. 17,21,11
参考答案: D
4、在C语言中,合法的字符常量是______.
(2分)
A. '\084'
B. '\x43'
C. 'ab'
D. ″\0″
参考答案: B
5、在C语言中,int、char和short三种类型数据在内存中所占用的字节数
(2分)
A. 由用用户自己定义
B. 均为2个字节
C. 是任意的
D. 由所用机器的机器字长决定
参考答案: D
6、若有定义:int a=8,b=5,C;,执行语句C=a/b+0.4;后,c的值为
(2分)
A. 1.4
B. 1
C. 2.0
D. 2
参考答案: B
7、设有说明语句:char a='\72';则变量a
(2分)
A. 包含1个字符
B. 包含2个字符
C. 包含3个字符
D. 说明不合法
参考答案: A
8、若有以下说明和语名:
int a=5,m;
m=a++;
此处表达式m的值是____
(2分)
A. 7
B. 6
C. 5
D. 4
参考答案: C
9、以下程序的输出结果是______
main()
{
int x=10,y=10;
printf("%d%d\n",x--,--y);
}
(2分)
A. 10 10
B. 9 9
C. 9 10
D. 10 9
参考答案: D
10、下列选项中,不正确的赋值语句是_____ (2分)
A. ++t;
B. n1=(n2=(n3=0));
C. k=1=j;
D. a=b+c=1;
参考答案: C
11、以下程序段的输出结果是
int a=1234;
printf("%2d\n",a);
(2分)
A. 12
B. 34
C. 1234
D. 提示出错、无结果
参考答案: C
12、为表示关系x ≥ y ≥ z,应使用C语言表达式_________。
(2分)
A. (x > =y)&&(y > =z)
B. (x > =y)AND(y > =z)
C. (x > =y > =z)
D. (x > =y)&(y > =z)
参考答案: A
13、设有:int a=1,b=2,c=3,d=4,m=2,n=2;
执行 (m=a>b)&&(n=c>d)后n的值是
(2分)
A. 1
B. 2
C. 3
D. 4
参考答案: B
14、判断char型变量cl是否为小写字母的正确表达式是
(2分)
A. 'a'<=cl<='z'
B. (cl>=a)&&(cl<=z)
C. ('a'>=cl)||('z'<=cl)
D. (cl>='a')&&(cl<='z')
参考答案: D
15、能正确表示逻辑关系:"a ≥ =10或a ≤ 0"的C语言表达式是
(2分)
A. a > =10 or a < =0
B. a > =0||a < =10
C. a > =10 &&a < =0
D. a < =0 || a>=10
参考答案: D
16、执行下面语句后的输出为( )
int i= -1;
if (i < =0)printf("****\n");
else printf("%%%%\n");
(2分)
A. ****
B. %%%%
C. %%%%C
D. 有语法错,不能执行
参考答案: A
17、若要求在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系的表达式为________。
(2分)
A. a < > 0
B. !a
C. a=0
D. a!=0
参考答案: D
18、若K为整型,以下while循环执行( )次
K=0;
while (K=0) K=K-1;
(2分)
A. 执行10次
B. 无限循环
C. 一次也不执行
D. 执行一次
参考答案: C
19、以下程序的输出结果是()
void main()
{int y=5; whlie(y--) ;
printf("y=%d\n",y); } (2分)
A. y=0
B. y=1
C. y=-1
D. 无限循环
参考答案: C
20、C语言中while和 do...while循环的主要区别() (2分)
A. do...while的循环体至少执行一次
B. while的循环条件比do...while的循环条件严格
C. do...while循环允许从外部转到循环体内
D. do...while的循环体不能是复合语句
参考答案: A
21、如果输入为:ABCdef 执行下面一段程序后,则输出为:
main( )
{char ch;
while((ch=getchar( ))!='\n')
{ if(ch > ='A' && ch < ='Z')ch=ch+32;
else if(ch > ='a' && ch < 'z')ch=ch-32;
printf("%c",ch);
}
printf("\n");
} (2分)
A. ABCdef
B. abcDEF
C. abc
D. DEF
参考答案: B
22、以下选项中正确的定义语句是()
(2分)
A. double a;b;
B. double a=b=0;
C. double a=7,b=0;
D. double,a,b;
参考答案: C
@23、若有说明 int a[3][4];则对a数组元素的正确引用是
(2分)
A. a[2][4]
B. a[1,3]
C. a[1+1][0]
D. a(2)(1)
参考答案: C
@24、若有说明 int a[3][4];则a数组元素的非法引用是
(2分)
A. a[0][2*1]
B. a[1][3]
C. a[4-2][0]
D. a[0][4]
参考答案: D
25、以下不能对二维数组a进行正确初始化的语句是
(2分)
A. int a[2][3]={0};
B. int a[][3]={{1,2},{0}};
C. int a[2][3]={{1,2},{3,4},{5,6}};
D. int a[][3]={1,2,3,4,5,6};
参考答案: C
26、设有数组定义:char array[]=”China”;,则数组array所占的空间为( )。 (2分)
A. 4个字节
B. 5个字节
C. 6个字节
D. 7个字节
参考答案: C
@27、以下程序运行后,输出结果是
#define PT 5.5
#difine S(x) PT*x*x
main()
{ int a=1,b=2;
print ("%4.lf/n",S(a+b));
} (2分)
A. 49.5
B. 9.5
C. 22.0
D. 45.0
参考答案: B
28、下面程序的输出结果是
main()
{ int a[ ]={1,2,3,4,5,6,7,8,9,0,},*p;
p=a;
printf("%d\n",*p+9);
} (2分)
A. 0
B. 1
C. 10
D. 9
参考答案: C
29、在C语言中,下面那种数据类型不属于构造类型( )
(2分)
A. 枚举类型
B. 数组类型
C. 结构体类型
D. 共用体类型
参考答案: A
30、C语言程序是由( )组成 (2分)
A. 一个主程序和若干子程序
B. 函数
C. 若干过程
D. 若干子程序
参考答案: B
31、putchar函数可以向终端输出一个() (2分)
A. 整型变量表达式值
B. 实型变量值
C. 字符串
D. 字符或字符型变量值
参考答案: D
32、请读程序:
#include
FUNC(int A, int B)
{ int C;
C=A+B;
return C;
}
main ( )
{ int X=6,Y=7,Z=8,R;
R=FUNC(X+Y ,Z--);
printf("%d\n",R);
}
上面程序的输出结果是
(2分)
A. 11
B. 20
C. 21
D. 31
参考答案: C
33、C语言函数的隐含存储类别是______.
(2分)
A. extern
B. static
C. register
D. auto
参考答案: D
34、 以下不正确的说法是()
(2分)
A. 在不同的函数中可以使用相同名字的变量
B. 形式参数是局部变量
C. 在函数内定义的变量只在本函数范围内有效
D. 在函数内的复合语句中定义的变量在本函数范围内有效
参考答案: D
35、有以下程序
viod fun (int a,int b,int c)
{ a=456; b=567; c=678;}
main()
{ int x=10, y=20,z=30;
fun (x,y,z);
printf("%d,%d,%d\n",x,y,z);
}
输出结果是
(2分)
A. 30,20,10
B. 10,20,30
C. 456,567,678
D. 678,567,456
参考答案: B
36、以下叙述中正确的是 (2分)
A. C程序中的注释只能出现在程序的开始位置和语句的后面
B. C程序书写格式严格,要求一行内只能写一个语句
C. C程序书写格式自由,一个语句可以写在多行上
D. 用C语言编写的程序只能放在一个程序文件中
参考答案: C
37、下列可用于C语言用户标识符的一组是 (2分)
A. void, define, WORD
B. a3_3,_123,Car
C. For, -abc, IF Case
D. 2a, DO, sizeof
参考答案: B
38、以下叙述中错误的是 (2分)
A. 用户所定义的标识符允许使用关键字
B. 用户所定义的标识符应尽量做到"见名识意"
C. 用户所定义的标识符中,大、小写字母代表不同标识
D. 用户所定义的标识符必须以字母或下划线开头
参考答案: A
40、有如下程序段
int *p,a=10,b=1
p=&a; a=*p+b;
执行该程序段后,a的值为
(2分)
A. 12
B. 11
C. 10
D. 编译出错
参考答案: B
程序设计题(以下3题中任选2题作答,每题10分,共20分):
1、编程序求出100到500之间同时满足除3余2和除5余3条件的数的个数。 (10分)
参考答案:
main()
{
int i,num=0;
for(i=100;i < =500;i++)
{
if((i%3==2)&&(i%5==3))
num=num+1;
}
printf("\n%d",num);
}
本题答案:20
2、编写程序,求在10~1000之间所有能被4除余2,被7除余3,被9除余5的数之和。 (10分)
参考答案:
main()
{ long s=0;
int m;
for(m=10;m<=1000;m++)
{
if(m%4==2&&m%7==3&&m%9==5)
s=s+m;
}
printf("%d\n",s);
}
本题参考答案:2000
3、编写程序,要求从键盘输入一个字符,转换其大小写并输出。 (10分)
参考答案:
void main()
{
char ch1,ch2;//ch1:输入前的字符,ch2:转换后的字符
printf("please input a char:");
scanf("%c",&ch1);
if(ch1>='A'&&ch1<='Z')
ch2=ch1+32;
if(ch1>='a'&&ch2<='z')
ch2=ch1-32;
printf("转换后的字符为:%c\n",ch2);
}
单选题:(每题2分,共80分)
1、( )是构成c语言程序的基本单位 (2分)
A. 函数
B. 变量
C. 子程序
D. 语句
参考答案: A
3、以下选项中属于C语言的数据类型是
(2分)
A. 复数型
B. 逻辑型
C. 双精度型
D. 集合型
参考答案: C
4、若变量a是int类型,并执行了语句:a=‘A'+1.6;,则正确的叙述是
(2分)
A. a的值是字符C
B. a的值是浮点型
C. 不允许字符型和浮点型相加
D. a的值是字符‘A’的ASCII值加上1
参考答案: D
5、以下所列的C语言常量中,错误的是
(2分)
A. 0xFF
B. 1.2e0.5
C. 2L
D. '\72'
参考答案: B
6、若已定义x和y为double型,则表达式:x=1,y=x+3/2的值是____ (2分)
A. 1
B. 2
C. 2.0
D. 2.5
参考答案: c
7、表达式((a=3*5,a*5),a+5)的值是多少( )
(2分)
A. 20
B. 80
C. 不能确定
D. 15
参考答案: A
9、若有说明语句:int a,b,c ;
则能正确从键盘读入三个整数分别赋给变量a、b、c的语句是
(2分)
A. scanf("%d%d%d",&a,&b,&c);
B. scanf("%d%d%d",&a,&b,&d);
C. scanf("%d%d%d",a,b,d);
D. scanf("%d%d%d",a,b,*d);
参考答案: A
10、以下说法中正确的是
(2分)
A. #define和printf都是C语句
B. #define是C语句,而printf不是
C. printf是C语句,但#define不是
D. #define和printf都不是C语句
参考答案: D
11、设有如下定义:
int a=1,b=2,c=3,d=4,m=2,n=2;
则执行表达式:(m=a>b)&&(n=c>d)后,n的值为______________.
(2分)
A. 1
B. 2
C. 3
D. 0
参考答案: B
13、能正确表示a和b同时为正或同时为负的逻辑表达式是
(2分)
A. (a>=0‖b>=0)&&(a<0‖b<0)
B. (a>=0&&b>=0)&&(a<0&&b<0)
C. (a+b>0)&&(a+b<=0)
D. a*b>0
参考答案: D
15、为避免嵌套的条件分支语句if…else的二义性,C语言规定,C程序中的
else总是与____组成配对关系。
(2分)
A. 其上面距它最近的,并且没有其他else与其配对的if相配对
B. 在同一行上的if
C. 缩排位置相同的if
D. 在其之前未配对的if
参考答案: A
16、以下程序输出结果是
main ( )
{ int m=5;
if (m++ > 5) printf ("%d\n",m);
else printf ("%d\n",m--);
} (2分)
A. 7
B. 6
C. 5
D. 4
参考答案: B
18、以下程序段的输出结果是_____
int x=3;
do
{ printf("%3d",x-=2);}
while (!(--x));
(2分)
A. 1
B. 3 0
C. 1 -2
D. 死循环
参考答案: C
19、执行语句: for (i=1;i++ < 4;);后,变量i的值是______.
(2分)
A. 3
B. 4
C. 5
D. 不定
参考答案: C
20、以下程序的输出结果是
main( )
{ int n=4;
while(n--)printf("%d ",--n);
} (2分)
A. 2 0
B. 3 1
C. 3 2 1
D. 2 1 0
参考答案: A
21、设有程序段 书签
int k=10;
while(k=0) k=k-1;
则下面描述中正确的是________
(2分)
A. while循环执行10次
B. 循环是无限循环
C. 循环体语句一次也不执行
D. 循环体语句执行一次
参考答案: C
22、若有说明:int a[10];,则对a数组元素的正确引用是( )。 (2分)
A. a[10]
B. a[3.5]
C. a(5)
D. a[10-10]
参考答案: D
23、若二维数组a有m列,则计算任一元素a[i][j]在数组中位置的公式为_______(假设a[0][0]位于数组的第一个位置上)
(2分)
A. i*m+j
B. j*m+i
C. i*m+j-1
D. i*m+j+1
参考答案: A
24、已知int a[][3]={1,2,3,4,5,6,7};,则数组a的第一维的大小是( )。 (2分)
A. 2
B. 3
C. 4
D. 无确定值
参考答案: B
26、以下程序的输出结果是
#define f(x) x*x
main( )
{ int a=6,b=2,c;
c=f(a) / f(b);
printf("%d \n",c);
} (2分)
A. 9
B. 6
C. 36
D. 18
参考答案: C
28、变量的指针,其含义是指该变量的
(2分)
A. 值
B. 地址
C. 名
D. 一个标志
参考答案: B
30、以下不合法的数值常量是()
(2分)
A. 011
B. 1e1
C. 8.0e0.5
D. 0xabcd
参考答案: C
31、以下叙述中错误的是() (2分)
A. 用户自定义的函数中可以没有return语句
B. 用户自定义函数中若没有return语句,则应当定义函数为void类型
C. C语言程序总是从main()函数开始执行
D. main()函数必须位于程序的开始
参考答案: D
34、C语言中,调用一个函数时,实参变量和形参变量之间的数据传递是____.
(2分)
A. 单向的值传递
B. 单纯地址传递
C. 值传递和地址传递都有可能
D. 由实参传给形参,然后由形参传回给实参,即是双向传递
参考答案: A
35、当调用函数时,实参是一个数组名,则向函数传递的是( )。 (2分)
A. 数组的长度
B. 数组的首地址
C. 数组每一个元素的地址
D. 数组每个元素中的值
参考答案: B
36、下列叙述不正确的是( ) (2分)
A. 在c程序中,%是只能用于整数运算的运算符
B. 在C程序中,无论是整数还是实数,都能正确无误地表示
C. 若a是实型变量,c程序中a=20是正确的,因此实型变量允许被整型常量赋值
D. 在C程序中,语句之间必须要用分号“;”分隔
参考答案: B
38、以下可用作C语言用户标识符的是 (2分)
A. void,define,WORD
B. a3_b3,_123,IF
C. FOR,--abc,Case
D. 2a,Do,Sizeof
参考答案: B
39、以下关于运算符优先顺序的描述中正确的是
(2分)
A. 关系运算符 < 算术运算符 < 赋值运算符 < 逻辑运算符
B. 逻辑运算符 < 关系运算符 < 算术运算符 < 赋值运算符
C. 赋值运算符 < 逻辑运算符 < 关系运算符 < 算术运算符
D. 算术运算符 < 关系运算符 < 赋值运算符 < 逻辑运算符
参考答案: C
40、现有定义int a;double b;float c;char k;,则表达式a/b+c-k值的类型为: (2分)
A. int
B. double
C. float
D. char
参考答案: B
程序设计题(以下3题中任选2题作答,每题10分,共20分):
1、编程序求1~120所有整数的平方和并输出结果。 (10分)
参考答案:
main()
{long int a,s=0;
clrscr();
for(a=1;a < =120;a++)
{s=s+a*a;
}
printf("%ld",s);
}
本题答案:583220
2、编程序求出1-4000以内能被3或者11整除数的个数。 (10分)
参考答案:
main()
{
int i,num=0;
for(i=1;i < =4000;i++)
{
if((i%3==0)&&(i%11==0))
num=num+1;
}
printf("\n%d",num);
}
本题答案:121
3、编写程序,要求从键盘输入一个正整数,判断该数既是5又是7的整倍数,若是,则输出yes,否则输出no。 (10分)
参考答案:
void main()
{
int x;
printf("please input a integer:");
scanf("%d",&x);
if(x%5==0 && x%7==0)
printf("yes\n");
else
printf("no\n");
}
单选题:(每题2分,共80分)
1、C语言程序的基本单位是_______.
(2分)
A. 语句
B. 函数
C. 程序行
D. 字符
参考答案: B
2、以下叙述不正确的是( )
(2分)
A. 一个c源程序可由一个或多个函数组成
B. 一个C源程序必须包含一个main()函数
C. c程序的基本组成单位是函数
D. 在C程序中,注释说明只能位于一条语句的后面
参考答案: D
3、以下选项中,非法的字符常量是( )
(2分)
A. '\t'
B. '\17'
C. "n"
D. '\xaa'
参考答案: C
5、下面四个选项中,均是不合法的用户标识符的选项是
(2分)
A. A P_0 do
B. float la0 _A
C. b-a goto int
D. _123 temp int
参考答案: C
6、若变量a、i 已正确定义,且i已正确赋值,合法的语句是
(2分)
A. a==1
B. ++i;
C. a=a++=5;
D. a=int(i);
参考答案: B
7、设有以下定义:
int x=10,y=3,z;
则语句
printf("%d\n",z=(x%y,x/y))
的输出结果是_____
(2分)
A. 1
B. 0
C. 4
D. 3
参考答案: D
8、设ch是char型变量,其值为A,且有下面的表达式:
ch=(ch>='A'&&ch<='Z')?(ch+32):ch
上面表达式的值是 (2分)
A. A
B. a
C. Z
D. z
参考答案: B
9、设x为int型变量,则执行以下语句后,x的值为_______.
x=10; x+=x-=x-x;
(2分)
A. 10
B. 20
C. 40
D. 30
参考答案: B
10、表达式18/4*sqrt(4.0)/8值的数据类型为 (2分)
A. int
B. float
C. double
D. 不确定
参考答案: C
11、以下程序的输出结果是_____
main()
{char str[12]={'s','t','r','i','n','g'};
printf("%d\n",strlen(str));
} (2分)
A. 6
B. 7
C. 11
D. 12
参考答案: A
12、当c的值不为0时,在下列选项中能正确将c的值赋给变量a、b的是
(2分)
A. c=b=a;
B. (a=c)‖(b=c);
C. (a=c)&&(b=c);
D. a=c=b;
参考答案: C
13、逻辑运算符两侧运算对象的数据类型
(2分)
A. 只能是0或1
B. 只能是0或非0正数
C. 只能是整型或字符型数据
D. 可以是任何类型的数据
参考答案: D
15、在C语言中,逻辑值"真"用( )表示
(2分)
A. TRUE
B. 大于0的数
C. 非0的整数
D. 非0的数
参考答案: D
16、判断字符型变量x是否是大写字母的正确的表达式______.
(2分)
A. 'A'<=x<='Z'
B. (x>=A)&&(x<=Z)
C. ('A'<=x)&&('Z'=>x)
D. (x>='A')&&(x<='Z')
参考答案: D
19、以下叙述正确的是( )
(2分)
A. do-while语句构成的循环不能用其它语句构成的循环来代替
B. do-while语句构成的循环只能用break语句退出(错误,不符合while条件的)
C. 用do-while语句构成的循环,在while后的表达式为非零时结束循环。
D. 用do-while语句构成的循环,在while后的表达式为零时结束循环。
参考答案: D
20、在下列选项中,构成死循环的程序段是
(2分)
A. int i=100;
B. for(;;);
C. int k=1000;
D. int s=36;
参考答案: B
21、假定a和b为int型变量,则执行以下语句后b的值为
a=1; b=10;
do
{ b=b-a; a++; }
while (b-- > 0);
(2分)
A. -3
B. -2
C. -1
D. -4
参考答案: D
23、在C语言中,当while语句中的条件为( )时,结束该循环.
(2分)
A. 0
B. 1
C. TRUE
D. 非0
参考答案: A
25、对以下说明语句的正确理解是__________
int a[10]={6,7,8,9,10};
(2分)
A. 将5个初值依次赋给a[1]至a[5]
B. 将5个初值依次赋给a[0]至a[4]
C. 将5个初值依次赋给a[6]至a[10]
D. 因为数组长度与初值的个数不相同,所以此语句不正确
参考答案: B
26、以下对二维数组a的正确说明是
(2分)
A. int a[3][]
B. float a(3,4)
C. double a[1][4]
D. float a(3)(4)
参考答案: C
27、合法的数组说明语句是( )。 (2分)
A. int a[]="string";(错在用字符串对整型数组赋值)
B. int a[5]={O,1,2,3,4,5};
C. char a="string";
D. char a[]={0,1,2,3,4,5};
参考答案: D
31、在16位IBM-PC机上使用C语言,若有如下定义
struct data
{int i;
char ch;
double f;
}b;
则结构变量b占用内存的字节数是
(2分)
A. 1
B. 2
C. 8
D. 11
参考答案: D
32、在位运算中,操作数每右移一位,其结果相当于
(2分)
A. 操作数乘以2
B. 操作数除以2
C. 操作数乘以4
D. 操作数除以4
参考答案: B
33、以下叙述中不正确的是
(2分)
A. 预处理命令行都必须以#号开始
B. 在程序中凡是以#号开始的语句行都是预处理命令行
C. 以下是正确的宏定义 #define IBM_PC
D. C程序在执行过程中对预处理命令行进行处理 (应该是在编译前)
参考答案: D
36、C程序中,若函数调用采用传值方式,则( )
(2分)
A. 实参和虚参各自占有存储单元
B. 实参和虚参共享存储单元
C. 由用户指定
D. 由计算机随机确定
参考答案: A
37、在一个源文件中定义的外部变量的作用域为( )。 (2分)
A. 本文件的全部范围
B. 本程序的全部范围
C. 本函数的全部范围
D. 从定义该变量的位置开始至本文件结束
参考答案: B
39、一个C语言程序总是从( )开始执行 (2分)
A. 主过程
B. 主函数
C. 子程序
D. 主程序
参考答案: B
40、C语言中最简单的数据类型包括:__
(2分)
A. 整型,实型,逻辑型
B. 整型,字符型,逻辑型
C. 整型,实型,字符型
D. 整型,实型,逻辑型,字符型
参考答案: C
程序设计题(以下3题中任选2题作答,每题10分,共20分):
1、编程序求2+4+8+16+32+…这样的数之和。如果累加数大于3000时,则程序终止并输出结果。 (10分)
参考答案:
main()
{
int i=2,sum=0;
while(sum < =3000)
{
sum=sum+i;
i=i*2;
}
printf("\n%d",sum);
}
本题答案:4094
2、编程序求1~100能被7整除的个数。 (10分)
参考答案:
main()
{int a,n=0;
for(a=1;a < =10;a++)
{if(a%7==0)
n++;
}
printf("%d",n);
}
本题答案:71
3、编写程序,要求从键盘输入一个整数,打印出它是奇数还是偶数? (10分)
参考答案:
void main()
{
int x;
printf("please input a integer:");
scanf("%d",&x);
if(x%2==1)
printf("%d是奇数\n",x);
else
printf("%d是偶数\n",x);
}
单选题:(每题2分,共80分)
1、C语言可执行程序的开始执行点是( )
(2分)
A. 程序中的一条可执行语句
B. 程序中第一个函数
C. 程序中的main函数
D. 包含文件中的第一个函数
参考答案: C
2、C语言程序的基本单位是( )。 (2分)
A. 函数
B. 过程
C. 子程序
D. 子例程
参考答案: A
5、C语言中合法的字符常量是____ (2分)
A. '\084'
B. '\X43'
C. 'ab'
D. "\0"
参考答案: B
6、以下不正确的叙述是
(2分)
A. 在C程序中,逗号运算符的优先级最低
B. 在C程序中,APH和aph是两个不同的变量
C. 若a和b类型相同,在计算了赋值表达式a=b后b中的值将放入a中,而b中的值不变
D. 当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值
参考答案: D
10、在C语言中,运算对象必须是整型数的运算符是____ (2分)
A. %
B. \
C. %和\
D. **
参考答案: A
13、为了避免在嵌套的条件语句if…else中产生二义性,C语言规定:else子句总是与( )配对。 (2分)
A. 缩排位置相同的if
B. 其之前最近的if
C. 其之后最近的if
D. 同一行上的if
参考答案: B
14、下面程序的输出是
main()
{ int x=10,y=3;
printf("%d\n",y=x/y);} (2分)
A. 0
B. 1
C. 3
D. 不确定的值
参考答案: C
16、C语言的对语句中用作判断的表达式一般为____
(2分)
A. 关系表达式
B. 逻辑表达式
C. 算术表达式
D. 逻辑表达式和关系表达式
E. 关系或逻辑表达式
参考答案: D
17、表示关系X<=Y<=Z的C语言表达式为_____.
(2分)
A. (X < =Y)&&(Y < =Z)
B. (X < =Y)AND(Y < =Z)
C. (X < =Y < =Z)
D. (X < =Y)&(Y < =Z)
参考答案: A
19、读下列程序:
#include
main()
{
int x,y;
scanf(”%d”,&x);
y=0;
if(x>=0)
{if(x>0)y=1;}
else y=-1;
prinff(”%d”,y);}
当从键盘输入32时,程序输出结果为( )。 (2分)
A. 0
B. 1
C. -1
D. 不确定
参考答案: B
20、执行下面语句后的输出为( )
int i= -1;
if (i < =0)printf("****\n")
else printf("%%%%\n")
(2分)
A. ****
B. %%%%
C. %%%%C
D. 有语法错,不能执行
参考答案: D
23、b’在内存中占____个字节。“b”在内存中占____个字节 (2分)
A. 1和2
B. 1
C. 3
D. 2
参考答案: A
24、以下描述中正确的是
(2分)
A. 由于 do-while 循环中循环体语句只能是一条可执行语句,所以循环体内不能使用复合语句
B. do-while 循环由do开始,用while结束,在 while(表达式)后面不能写分号
C. 在 do-while 循环体中,一定要有能使 while 后面表达式的值变为零(“假”)的操作
D. do-while 循环中,根据情况可以省略 while
参考答案: C
25、对 for(表达式1; ;表达式3) 可理解为
(2分)
A. for(表达式1;0;表达式3)
B. for(表达式1;1;表达式3)
C. for(表达式1;表达式1;表达式3)
D. for(表达式1;表达式3;表达式3)
参考答案: B
27、在c语言中,一维数组的定义方式为:类型说明符数组名( )。 (2分)
A. [常量表达式]
B. [整型表达式]
C. [整型常量]或[整型表达式]
D. [整型常量]
参考答案: A
28、以下程序的输出结果是
main( )
{ int i,x[3][3]={9,8,7,6,5,4,3,2,1};
for(i=0;i<4;i+=2)printf("%d ",x[i][i]);
} (2分)
A. 5 2
B. 9 1
C. 5 3
D. 9 7
参考答案: B
29、C语言规定,在一个源程序中,main函数的位置 (2分)
A. 必须在最开始
B. 必须在系统调用的库函数的后面
C. 可以任意
D. 必须在最后
参考答案: C
31、若x为整型变量,p是指向整型数据的指针变量,则正确的赋值表达式是()。 (2分)
A. p=&x
B. p=x
C. *p=&x
D. *p=*x
参考答案: A
33、当说明一个结构体变量时系统分配给它的内存是
(2分)
A. 各成员所需内存量的总和
B. 结构中第一个成员所需内存量
C. 成员中占内存量最大者所需的容量
D. 结构中最后一个成员所需内存量
参考答案: A
34、在位运算中,操作数每左移一位,其结果相当于
(2分)
A. 操作数乘以2
B. 操作数除以2
C. 操作数除以4
D. 操作数乘以4
参考答案: A
35、以下叙述中错误的是 (2分)
A. C语句必须以分号结束
B. 复合语句在语法上被看作一条语句
C. 程序可以有两个主函数
D. 赋值表达式末尾加分号就构成赋值语句
参考答案: C
36、下列说法正确的是________.
(2分)
A. 调用函数时,实参与形参可以共用内存单元
B. 调用函数时,实参的个数、类型和顺序与形参可以不一致
C. 调用函数时形参可以是表达式
D. 调用函数时,将为形参分配内存单元
参考答案: D
37、返回值为void的函数,其含义是____.
(2分)
A. 调用函数之后,被调用的函数没有返回值
B. 调用函数之后,被调用的函数不返回
C. 调用函数之后,被调用的函数的返回值为任意的类型
D. 以上三种说法都是错误的
参考答案: A
38、C语言程序由函数组成。它的____。
(2分)
A. 主函数必须在其他函数之前,函数内可以嵌套定义函数
B. 主函数可以在其他函数之前,函数内不可以嵌套定义函数
C. 主函数必须在其他函数之前,函数内不可以嵌套定义函数
D. 主函数必须在其他函数之后,函数内可以嵌套定义函数
参考答案: B
39、若调用一个函数,且此函数中没有return语句,则正确的说法是:该函数
(2分)
A. 没有返回值
B. 返回若干个系统默认值
C. 能返回一个用户所希望的值
D. 返回一个不确定的值
参考答案: D
40、以下叙述中错误的是________。 (2分)
A. C语言编写的函数源程序,其文件名后缀可以是.C
B. C语言编写的函数都可以作为一个独立的源程序文件
C. C语言编写的每个函数都可以进行独立的编译并执行
D. 一个C语言程序只能有一个主函数
参考答案: C
程序设计题(以下3题中任选2题作答,每题10分,共20分):
1、编程序求1~80所有整数的平方和并输出结果。 (10分)
参考答案:
main()
{
int i,x;
long sum=0;
for(i=1;i < =80;i++)
{
x=i*i;
sum=sum+x;
}
printf("%ld",sum);
}
参考答案:173880
2、编程序统计300~500能被3整除的个数。 (10分)
参考答案:
main()
{
int a;
int i=0;
for(a=300;a < =500;a++)
{
if(a%3==0)
i=i+1;
}
printf("%d",i);
}
参考答案是:67
单选题:(每题2分,共80分)
1、以下选项中合法的用户标识符是( ) (2分)
A. int
B. a#
C. 5mem
D. _243
参考答案: D
2、C程序是( )
(2分)
A. 顺序执行
B. 从main函数开始
C. 从函数体开始
D. 任意语句
参考答案: B
5、假设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值是
(2分)
A. 7
B. 8
C. 6
D. 2
参考答案: B
6、C语言中运算对象必须是整型的运算符是
(2分)
A. %=
B. /
C. =
D. 〈=
参考答案: A
7、 若有以下程序段,
int c1=1,c2=2,c3;
c3=1.0/c2*c1;
则执行后,c3中的值是
(2分)
A. 0
B. 0.5
C. 1
D. 2
参考答案: A
16、若有条件表达式 (exp)?a++:b--,则以下表达式中能完全等价于表达式(exp)的是
(2分)
A. (exp==0)
B. (exp!=0)
C. (exp==1)
D. (exp!=1)
参考答案: B
18、下面的程序是______
main()
{ int x=3,y=0,z=0;
if (x==y+z) printf("****");
else printf("####");
} (2分)
A. 有语法错误不能过通过编译
B. 输出****
C. 可能通过编译,但是不能通过连接,因而不能运行
D. 输出####
参考答案: D
21、有以下程序段
int k=0
while(k=1)k++;
while 循环执行的次数是
(2分)
A. 无限次
B. 有语法错,不能执行
C. 一次也不执行
D. 执行1次
参考答案: A
22、C语言中 while 和 do-while 循环的主要区别是
(2分)
A. do-while 的循环体至少无条件执行一次
B. while的循环控制条件比 do-while的循环控制条件更严格
C. do-while 允许从外部转到循环体内
D. do-while 的循环体不能是复合语句
参考答案: A
27、若有以下语句,则正确的描述是( )。
char x[]=”12345”;
char y[]={’1’,’2’,’3’,’4’,’5’}; (2分)
A. x数组和y数组的长度相同
B. x数组长度大于y数组长度
C. x数组长度小于y数组长度
D. x数组等价于y数组
参考答案: B
30、以下程序中调用scanf函数给变量a输入数值的方法是错误的,其错误原因是
main()
{int *p,*q,a,b;
p=&a;
printf("input a:");
scanf("%d",*p);
}
(2分)
A. *p表示的是指针变量p的地址
B. *p表示的是变量a的值,而不是变量a的地址
C. *p表示的是指针变量p的值
D. *p只能用来说明p是一个指针变量
参考答案: B
33、表达式:10!=9的值是___ (2分) 书签!!!!!
A. true
B. 非零值
C. 0
D. 1
参考答案: D
39、C语言中的标识符只能由字母,数字和下划线三种字符组成,且第一个字符
(2分)
A. 必须为字母
B. 必须为下划线
C. 必须为字母或下划线
D. 可以是字母,数字和下划线中任一字符
参考答案: C
程序设计题(以下3题中任选2题作答,每题10分,共20分):
1、编程序求1+3+5+7+9+…这样的数之和。如果累加数大于750时,则程序终止并输出结果。 (10分)
参考答案:
main()
{
int i=1,sum=0;
while(sum < =750)
{
sum=sum+i;
i=i+2;
}
printf("\n%d",sum);
}
参考答案: 784
2、编程序求1~600能被11整除的个数。 (10分)
参考答案:
main()
{
int i,sum=0;
for(i=1;i < =600;i++)
if(i%11==0)
sum=sum+1;
printf("\n%d",sum);
}
参考答案:54
3、编写程序,要求从键盘输入一个三位数,判断其是否为水仙花数。(水仙花数是指一个三位数,它的各位数字的立方和等于其本身。) (10分)
参考答案:
void main()
{
int x;
int a,b,c;//a,b,c分别表示x的个位十位和百位
printf("please input a integer:");
scanf("%d",&x);
a=x%10;
b=x/10%10;
c=x/100;
if(a*a*a+b*b*b+c*c*c==x)
printf("%d是水仙花数\n",x);
else
printf("%d不是水仙花数\n",x);
}
单选题:(每题2分,共80分)
2、C语言规定:在一个源程序中,main()函数的位置( ) (2分)
A. 必须在最开始
B. 必须在系统调用的库函数的后面
C. 可以任意
D. 必须在最后
参考答案: C
4、x、y、z被定义为int型变量,若从键盘给x、y、z输入数据,正确的输入语句是
(2分)
A. INPUT x、y、z;
B. scanf("%d%d%d",&x,&y,&z);
C. scanf("%d%d%d",x,y,z);
D. read("%d%d%d",&x,&y,&z);
参考答案: B
9、以下程序的输出结果是
main( )
{ int a=-1,b=4,k;
k=(++a<0)&&!(b--<=0);
printf("%d%d%d\n",k,a,b);
}
(2分)
A. 1 0 4
B. 1 0 3
C. 0 0 3
D. 0 0 4
参考答案: D
10、表达式:10!=9的值是___
(2分)
A. true
B. 非零值
C. 0
D. 1
参考答案: D
12、设x和y均为int型变量,则以下语句:x+=y;y=x-y;x-=y;的功能是______.
(2分)
A. 把x和y按从大到小排列
B. 把x和y按从小到大排列
C. 无确定结果
D. 交换x和y中的值
参考答案: D
13、有如下程序
main( )
{
int y=3,x=3,z=1;
printf("%d %d\n",(++x,y++),z+2);
}
运行该程序的输出结果是
(2分)
A. 3 4
B. 4 2
C. 4 3
D. 3 3
参考答案: D
14、设正x、y均为整型变量,且x=10 y=3,则以下语句的输出结果是
printf("%d,%d\n",x--,--y); (2分)
A. 10,3
B. 9,3
C. 9,2
D. 10,2
参考答案: D
16、设a、b、C、d、m、n均为int型变量,且a=5、b=6、c=7、d=8、m=2、n=2,
则逻辑表达式(m=a>b)&&(n=c>d)运算后,n的值为:
(2分)
A. 0
B. 1
C. 2
D. 3
参考答案: C
28、若有以下定义和语句:
int a[10]={1,2,3,4,5,6,7,8,9,10},p=a;
则不能表示a数组元素的表达式是( )
(2分)
A. p[5]
B. a[10]
C. a[5]
D. a[p-a]
参考答案: B
30、以下程序的输出结果为( )。
#include
#define SQR(x) x*x .
main()
{
int a,k=3;
a=SQR(k+1);
printf(”%d\n”,a);
} (2分)
A. 6
B. 10
C. 8
D. 7
参考答案: D
34、sizeof(float)是
(2分)
A. 一种函数调用
B. 一个不合法的表达式
C. 一个整型表达式
D. 一个浮点表达式
参考答案: C
35、当顺利执行了文件关闭操作时,fclose函数的返回值是
(2分)
A. -1
B. TRUE
C. 0
D. 1
参考答案: C
38、C语言中,若函数类型未显式说明,则隐含类型为( )
(2分)
A. int
B. char
C. void
参考答案: A
39、C语言中____函数的递归调用。
(2分)
A. 允许
B. 不允许
C. 由用户自己而定
D. 不确定
参考答案: A
程序设计题(以下3题中任选2题作答,每题10分,共20分):
1、求在1000以内被17或者23整除的正整数数的个数。 (10分)
参考答案:
main()
{
int i,m;
m=0;
for(i=1;i < =1000;i++)
{
if(i%17==0||i%23==0)
m++;
}
printf("%d",m);
return 0;
}
本题答案:99
2、编写程序,求在10~1000之间所有能被4除余3,被7除余4,被9除余4的数之和。 (10分)
参考答案:
main()
{
int a;
int sum=0;
for(a=10;a < =1000;a++)
{
if((a%4==3)&&(a%7==4)&&(a%9==4))
sum=sum+a;
}
printf("%d",sum);
}
参考答案是:1780
单选题:(每题2分,共80分)
2、算法的有穷性事指 (2分)
A. 算法程序的运行时间是有限的
B. 算法程序所处理的数据量是有限的
C. 算法的长度是有限的
D. 算法只能被有限用户使用
参考答案: A
6、设有说明:char w;int x;float y;double z;则表达式w*x+z-y值的数据类型为
(2分)
A. float
B. char
C. int
D. double
参考答案: D
7、若变量c为char类型,能正确判断出c为小写字母的表达式是
(2分)
A. 'a'<=c<= 'z'
B. (c>= 'a')||(c<= 'z')
C. ('a'<=c)and ('z'>=c)
D. (c>= 'a')&&(c<= 'z')
参考答案: D
11、若已定义x和y为double类型,则表达式x=1,y=x+3/2 的值是
(2分)
A. 1
B. 2
C. 2.0
D. 2.5
参考答案: C
12、以下定义和语句:
char cl='b',c2='e';
printf(″%d,%c\n″,c2-c1,c2-'a'+'A');
则输出结果是:
(2分)
A. 2,M
B. 3,E
C. 2,E
D. 输出项与对应的格式控制不一致,输出结果不确定
参考答案: B
21、在C语言中的if语句中,用作判断的表达式为()
(2分)
A. 关系表达式
B. 逻辑表达式
C. 算数表达式
D. 任意表达式
参考答案: D
24、18、字符形式"\b"的功能是( )
(2分)
A. 换行
B. 回车
C. 退格
D. 横向跳格
参考答案: C
26、以下数组定义中不正确的是
(2分)
A. int a[2][3];
B. int b[][3]={0,1,2,3};
C. int c[100][100]={0};
D. int d[3][]={{1,2},{1,2,3},{1,2,3,4}};
参考答案: D
29、以下叙述中不正确的是
(2分)
A. 预处理命令行都必须以#号开始
B. 在程序中凡是以#号开始的语句行都是预处理命令行
C. C程序在执行过程中对预处理命令行进行处理
D. 以下是正确的宏定义 #define IBM_PC
参考答案: C
32、已知学生记录描述为
struct student
{int no;
char name[20];
char sex;
struct
{int year;
int month;
int day;
}birth;
};
struct student s;
设变量s中的“生日”应是“1984年11月11日 (2分)
A. year=1984;month=11;day=11;
B. birth.year=1984;birth.month=11;birth.day=11;
C. s.year=1984;s.month=11;s.day=11;
D. s.birth.year=1984;s.birth.month=11;s.birth.day=11;
参考答案: D
34、若有以下说明和语名:
int a=5
++a;
此处表达式++a的值是____
(2分)
A. 7
B. 6
C. 5
D. 4
参考答案: B
35、C语言中函数返回值的类型是有______决定的。
(2分)
A. 调用该函数的主调函数类型
B. return语句中的表达式类型
C. 定义函数时所指定的返回函数值类型
D. 调用函数时临时
参考答案: C
36、在一个C源程序文件中,若要定义一个只允许本源文件中所用的函数的全局变量,则变量需要使用的存储类别是____
(2分)
A. Auto
B. static
C. register
D. extern
参考答案: B
38、C语言中函数返回值的类型由( )决定。 (2分)
A. return语句中的表达式类型
B. 调用函数的主调函数类型
C. 调用函数时的临时类型
D. 定义函数时所指定的函数类型
参考答案: D
39、以下叙述中错误的是 (2分)
A. C语言的可执行程序是由一系列机器指令构成的
B. 用C语言编写的源程序不能直接在计算机上运行
C. 通过编译得到的二进制目标程序需要连接才可以运行
D. 在没有安装C语言集成开发环境的机器上不能运行C源程序生成的.exe文件
参考答案: D
40、下列变量名合法的是( )
(2分)
A. #1
B. $567
C. a-b
D. m_number
参考答案: D
程序设计题(以下3题中任选2题作答,每题10分,共20分):
1、编程序统计150~400能被3整除的个数。 (10分)
参考答案:
main()
{
int a;
int i=0;
for(a=150;a < =400;a++)
{
if(a%3==0)
i=i+1;
}
printf("%d",i);
}
参考答案是:84
2、编程序求1到1500之间所有偶数之和,并输出结果。 (10分)
参考答案:
main()
{
int i=2,sum=0;
while(i < =1500)
{
sum=sum+i;
i=i+2;
}
printf("\n%d",sum);
}
本题答案:563250
单选题:(每题2分,共80分)
4、下列描述中不正确的是
(2分)
A. 字符型数组中可以存放字符串
B. 可以对字符型数组进行整体输入、输出
C. 可以对整型数组进行整体输入、输出
D. 不能在赋值语句中通过赋值运算符"="对字符型数组进行整体赋值
参考答案: C
6、若变量已正确定义并赋值,下面符合C语言语法的表达式是 (2分)
A. a:=b+1
B. a=b=c+2
C. int 18.5%3
D. a=a+7:c+b
参考答案: B
8、若有以下定义和语句:
char c1='b',c2='e';
printf("%d,%c\n",c2-c1,c2-'a'+'A')
则输出结果是_______
(2分)
A. 2,M
B. 3,E
C. 2,e
D. 输出结果不确定
参考答案: B
18、
下列错误的语句是() (2分)
A. if(a>b)printf(”%d“,a)
B. if(&&);a=m;
C. if(1)a=m;else a=n;
D. if(a>0);{else a=n;
参考答案: B
22、在while(x)语句中的x与下面条件表达式等价的是( )。 (2分)
A. x==0
B. x==1
C. x!=0
D. x!=1
参考答案: C
25、假定int类型变量占用两个字节,则数组x[10]在内存中所占字节数是( ) (2分)
A. 3
B. 6
C. 10
D. 20
参考答案: D
27、在C语言中,引用数组元素时,其数组下标的数据类型允许是
(2分)
A. 整型常量
B. 整型表达式
C. 整型常量或整型表达式
D. 任何类型的表达式
参考答案: A
32、C语言规定:简单变量做实参时,它和对应形参之间的数据传递方式是
(2分)
A. 地址传递
B. 单向值传递
C. 由实参传给形参,再由形参传回给实参
D. 由用户指定的传递方式
参考答案: B
35、在c语言程序中( )。 (2分)
A. 函数的定义可以嵌套,但函数的调用不可以嵌套
B. 函数的定义和调用均可以嵌套
C. 函数的定义和调用均不可以嵌套
D. 函数的定义不可以嵌套,但函数的调用可以嵌套
参考答案: D
37、c语言中形参的默认存储类别是( )。 (2分)
A. 自动(auto)
B. 静态(static)
C. 寄存器(register)
D. 外部(extem)
参考答案: A
40、C语言中,double类型数据占( )个字节,char类型数据占( )个字节
(2分)
A. 1
B. 2
C. 4
D. 8和1
参考答案: D
程序设计题(以下3题中任选2题作答,每题10分,共20分):
2、编程序求2+4+8+16+32+…这样的数之和。如果累加数大于1500时,则程序终止并输出结果。 (10分)
参考答案:
main()
{
int i=2,sum=0;
while(sum < =1500)
{
sum=sum+i;
i=i*2;
}
printf("\n%d",sum);
}
本题答案:2046
单选题:(每题2分,共80分)
1、在C语言中,数字029是一个() (2分)
A. 八进制数
B. 十六进制数
C. 十进制数
D. 非法数
参考答案: D
2、算法具有5个特性,以下选项中不属于算法特性的是( ) (2分)
A. 有穷性
B. 简洁性
C. 可行性
D. 确定性
参考答案: B
7、若t为double类型,表达式t=1,t+5,t++执行完后,t的值是_2.0_ (2分)
A. 1
B. 6.0
C. 2.0
D. 1.0
参考答案: C
11、设有int I=10,j=10;则printf("%d,%d\n",++I,j--)的输出是
(2分)
A. 11, 10
B. 9 10
C. 10 9
D. 10,9
参考答案: A
13、已知x=43,ch='A',y=0;则表达式(x > = y&&ch < 'B'&&!y)的值是
(2分)
A. 0
B. 语法错
C. 1
D. “假”
参考答案: C
20、定义如下变量:
int n=10
则下列循环的输出结果是______
while (n > 7)
{
n--;
printf("%d\n",n);
}
(2分)
A. 10 9 8
B. 9 8 7
C. 10 9 8 7
D. 9 8 7 6
参考答案: B
21、当执行以下程序段时
x=-1;
do { x=x*x;} while(!x); (2分)
A. 循环体将执行一次
B. 循环体将执行两次
C. 循环体将执行无限次
D. 系统将提示有语法错误
参考答案: A
30、设 int b=2;表达式b/(b*2)的值是________.
A. 0
B. 0.5
C. 0.500000
D. 0.000000
参考答案: A
37、以下选项中合法的标识符是________。 (2分)
A. 1_1
B. 2013-1-1
C. _11
D. 1_ _
参考答案: C
38、有以下程序 #include void fun(char*c,int d) { *c=*c+1;d=d+1; printf("%c,%c,",*c,d); } main() { char b='a',a='A'; fun(&b,a); printf("%c,%c\n",b,a); } 程序运行后的输出结果是 (2分)
A. b,B,b,A
B. b,B,B,A
C. a,B,B,a
D. a,B,a,B
参考答案: A
39、以下选项中,不能作为合法常量的是 (2分)
A. 1.23E+05
B. 1.23E+05
C. 1.234e0.5
D. 1.23E+00
参考答案: C
40、设有定义int a;float b;,执行scanf("%2d%f",&a,&b);语句时,若从键盘输入876<空格> 854.0<回车>,a和b的值分别是 (2分)
A. 876和543.000000
B. 87和6.000000
C. 87和543.000000
D. 76和543.000000
参考答案: B
程序设计题(以下3题中任选2题作答,每题10分,共20分):
1、编程序统计1~1000能被3整除的数的个数。 (10分)
参考答案:
main()
{
int a;
int i=0;
for(a=1;a < =1000;a++)
{
if(a%3==0)
i=i+1;
}
printf("%d",i);
}
参考答案是:333
333
2、编程序求出1-6000以内能被23整除的整数之和。 (10分)
参考答案:
main()
{
int i;
long num=0;
for(i=1;i < =6000;i++)
{
if(i%23==0)
num=num+i;
}
printf("\n%ld",num);
}
本题答案:780390
单选题:(每题2分,共80分)
1、以下说法中正确的是( )
(2分)
A. C语言程序总是从第一个的函数开始执行
B. 在C语言程序中,要调用的函数必须在main()函数中定义
C. C语言程序总是从main()函数开始执行
D. C语言程序中的main()函数必须放在程序的开始部分
参考答案: C
2、以下叙述中错误的是( ) (2分)
A. 算法正确的程序最终一定会结束
B. 算法正确的程序可以有零个输出
C. 算法正确的程序可以有零个输入
D. 算法正确的程序对相同的输入一定有相同的结果
参考答案: B
4、下面四个选项中,均是合法整型常量的选项是
(2分)
A. 160 -0xffff 011
B. -0xcdf 01a 0xe
C. -0x46a 2e5 0x
D. -0x48a 2e5 0x
参考答案: A
6、以下选项中合法的字符常量是 (2分)
A. "B"(字符串常量)
B. '\010'
C. 68
D. D
参考答案: B
7、设 int x=1, y=1; 表达式(!x||y--)的值是
(2分)
A. 0
B. 1
C. 2
D. -1
参考答案: B
9、设A,B和C都是int型变量,且A=3,B=4,C=5,
则下列 表达式中,值为0的表达式是:
(2分)
A. 'A'&&'B'
B. A < =B
C. A||B+C&&BC
D. ((A= 'A' && CH < = 'Z')? (CH +32):CH
参考答案: D
11、以下程序的输出结果是
main( )
{ int a=12,b=12;
printf("%d%d\n",--a,++b);
} (2分)
A. 10 10
B. 12 12
C. 11 10
D. 11 13
参考答案: D
12、以下程序的输出结果是
main()
{ char c='z';
printf("%c",c-25);
}
(2分)
A. a
B. Z
C. z-25
D. y
参考答案: A
22、若i为整型变量,则以下循环执行次数是
for(i=2;i==0;) printf("%d",i--);
(2分)
A. 无限次
B. 0次
C. 1次
D. 2次
参考答案: B
23、getchar函数的参数个数是( )。 (2分)
A. 1
B. 0
C. 2
D. 任意
参考答案: B
|