C语言期末复习题附答案复习过程Word文档下载推荐.docx
《C语言期末复习题附答案复习过程Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《C语言期末复习题附答案复习过程Word文档下载推荐.docx(11页珍藏版)》请在冰豆网上搜索。
8、若定义intx=136,y;
,执行语句y=x/10%10;
后y的值是(B)
A、1B、3C、6D、0
9、下列关于C语言注释的叙述中错误的是(D)。
A、以"
/*"
开头并以"
*/"
结尾的字符串为C语言的注释内容
B、注释可出现在程序中的任何位置,用来向用户提示或解释程序的意义
C、程序编译时,不对注释作任何处理
D、程序编译时,需要对注释进行处理
10、若有定义:
intx,a;
则语句x=(a=3,a+1);
运行后,x、a的值依次为(C)。
A、3,3
B、4,4
C、4,3
D、3,4
11、以下程序运行结果是(A)
voidmain()
{intx=28;
do
{
printf("
%d"
x--);
}while(!
x);
}
A、28B、27C、26D、0
12、如果a=1,b=2,c=3,d=4,则条件表达式a<
b?
a:
c<
d?
c:
d的值为(A)。
A、1
B、2
C、3
D、4
13、下列关于C语言注释的叙述中错误的是(D)。
14、定义如下变量和数组:
intk;
inta[3][3]={1,2,3,4,5,6,7,8,9};
则下面语句的输出结果是(A)
for(k=0;
k<
3;
k++)printf(“%d”,a[k][2-k]);
A、357B、369C、159D、147
15、C语言对嵌套if语句的规定是:
else总是与(D)配对。
A、其之前最近的if
B、第一个if
C、缩进位置相同的if
D、其之前最近的且没与其他else配对的if
16、有以下程序段
inta,b,c;
a=10;
b=50;
c=30;
if(a>
b)a=b,b=c,c=a;
printf(〞a=%db=%dc=%d\n〞,a,b,c);
程序的输出结果是(B)。
A、a=10b=50c=10B、a=10b=50c=30
C、a=10b=30c=10D、a=50b=30c=50
17、判断字符串a和b是否相等,应当使用(D)
A、if(a==b)B、if(a=b)C、if(strcpy(a,b))D、if(strcmp(a,b))
18、以下结果为整数的表达式(设有inti;
charc;
floatf;
)(B)。
A、i+f
B、i*c
C、c+f
D、i+c+f
19、x、y、z被定义为int型变量,若从键盘给x、y、z输入数据,正确的输入语句是(B)。
A、INPUTx、y、z;
B、scanf("
%d%d%d"
&
x,&
y,&
z);
C、scanf("
x,y,z);
D、read("
20、下列叙述正确的是(B)
A、函数的定义允许嵌套,但函数的调用不允许嵌套
B、函数的定义不允许嵌套,但函数的调用允许嵌套
C、函数的定义和调用都不允许嵌套
D、函数的定义和调用都允许嵌套
21、当执行以下程序时,(C)。
#include<
stdio、h>
voidmain()
{inta;
while(a=5)
a--);
A、循环体将执行5次B、循环体将执行0次
C、死循环D、循环体将执行4次
22、若已定义:
int*p,a;
,以下正确的语句是(D)
A、p=*a;
B、a=p;
C、a=*p;
D、p=&
a;
23、如果在一个函数中的复合语句中定义了一个变量,则该变量(A)。
A、只在该复合语句中有效B、在该函数中有效
C、在本程序范围内有效D、为非法变量
24、以下叙述中错误的是(B)。
A、用户自定义的函数中可以没有return语句
B、用户自定义的函数中可以有多个return语句,以便可以调用一次返回多个函数值
C、用户自定义的函数中若没有return语句,则应当定义函数为void类型
D、函数的return语句中可以没有表达式
25、若有说明:
ints[15];
则对a数组元素的正确引用是(D)。
A、s[15]B、s[3、5]C、s(5)D、s[15-15]
26、执行inta[][4]={2,3,5,7,8,9,11,13,15};
语句后,a[1][2]的值是(A)
A、11B、3C、5D、9
27、下面是s的初如始化,其中不正确的是(D)。
A、chars[5]={"
abc"
};
B、chars[5]={‘a’,‘b’,‘c’};
C、chars[5]="
"
;
D、chars[5]="
abcdef"
28、以下程序运行结果是(B)
#defineM(x,y,z)x*y*z
{
inta=1,b=2,c=3;
%d\n"
M(a+b,b+c,c+a));
A、60B、15C、20D、程序错误
29、在C语言中,只有在使用时才占用内存单元的变量,其存储类型是(A)。
A、auto和registerB、extern和register
C、auto和staticD、static和register
30、如下表述中,判断字符数组a和b中所存储的字符串是否相等的选项是(D)。
A、a==bB、a=b
C、strcpy(a,b)D、strcmp(a,b)
31、在以下关于带参数宏定义的描述中,正确的说法是(A)。
A、宏名和它的参数都无类型B、宏名有类型,它的参数无类型
C、宏名无类型,它的参数有类型D、宏名和它的参数都有类型
32、在C语言中,二维数组元素在内存中的存放顺序是(A)
A、按行存放B、按列存放
C、由用户自己定义D、由编译器决定
33、以下不正确的叙述是(C)。
A、在C程序中,逗号运算符的优先级最低
B、在C程序中,APH和aph是两个不同的变量
C、在C程序中,无论是整数还是实数,都能被准确无误的表示
D、在C程序中,%是只能用于整数运算的运算符
34、下面正确的函数定义形式是(A)。
A、doublefun(intx,inty){……}
B、doublefun(intx;
inty){……}
C、doublefun(intx,inty);
{……}
D、doublefun(intx,y;
){……}
35、在执行charstr[10]={"
key\0word"
语句后,strlen(str)的结果是(A)
A、3B、4C、5D、8
36、下面程序的运行结果是(B)
voidmain()
intb[5]={1,3,5,7,9},*p;
p=b;
printf(“%d”,*(p+1));
A、1B、3C、5D、7
37、以下if语句错误的是(A)。
A、if(x<
y)x++;
y++;
elsex--;
y--;
B、if(x)x+=y;
C、if(x<
y);
D、if(x!
=y)scanf("
elsex++;
38、判断char型变量c是否为小写字母的正确表达式为(D)
A、’a’<
=c<
=’z’B、(c>
=a)&
&
(c<
=z)
C、(‘a’<
=c)||(‘z’>
=c)D、(c>
=’a’)&
=’z’)
39、指向一个变量的指针,其存储的数据是该变量的(B)。
A、值
B、地址
C、名称
D、一个标志
40、若已定义:
inta=3,b=4,c=5
,则下面表达式中值为0的是(D)
A、'
a'
'
b'
B、a<
=bC、a||b+c&
b-cD、!
((a<
b)&
!
c||1)
41、以下对二维数组s进行初始化的语句错误的是(C)。
A、ints[2][3]={0};
B、ints[][3]={1,2,3,4,5};
C、ints[2][3]={{1,2},{3,4},{5,6}};
D、ints[][3]={{1,2},{0}};
42、若有说明语句int(*ptr)();
其含义是(C)。
A、ptr是一个指向一维数组的指针变量
B、ptr是指针变量,指向一个整形变量
C、一个指向函数的指针,该函数的返回值是一个整数
D、以上都不对
43、若x、y均为double型变量,正确的输入函数调用是(B)
A、scanf("
%f%f"
B、scanf("
%d%d"
%lf%lf"
D、scanf("
x,y);
44、在C语言中,下面哪个标识符是合法的(B)
A、ifB、dayC、#25D、a[3]
45、x为int型变量,且x=65,不正确的输出函数调用是(D)
A、printf(“%d”,x);
B、printf(“%3d”,x);
C、printf(“%c”,x);
D、printf(“%s”,x);
46、以下能正确定义且赋初值的语句是(B)
A、intn1=n2=10;
B、charc=32;
C、floatf=f+1、1D、doublex=12、3E2、5
47、下列程序段的执行结果为(C)。
main()
{intx=3;
{printf("
%3d\n"
x-=2);
(--x));
}
A、1B、30C、1-2D、死循环
48、C语言对嵌入if语句的规定是:
else总是与(D