大学计算机 C语言期末复习题一 附带答案Word下载.docx
- 文档编号:17882896
- 上传时间:2022-12-11
- 格式:DOCX
- 页数:15
- 大小:30.81KB
大学计算机 C语言期末复习题一 附带答案Word下载.docx
《大学计算机 C语言期末复习题一 附带答案Word下载.docx》由会员分享,可在线阅读,更多相关《大学计算机 C语言期末复习题一 附带答案Word下载.docx(15页珍藏版)》请在冰豆网上搜索。
B.ch='
\xff'
C.ch='
\08'
D.ch="
\"
10.设n=10,i=4,则赋值运算n%=i+1执行后,n的值是(
A.0
B.3
C.2
D.1
11.逗号表达式(a=3*5,a*4),a+15的值为(
),a的值是(
①A.15
B.60
C.30
D.不确定②A.60
B.30
C.15
D.90
12.如果a=1,b=2,c=3,d=4,则条件表达式a<
b?
a:
c<
d?
c:
d的值为(
).A.1
B.2
C.3
D.4
13.设intn=3;
则++n的结果是(
),n的结果是(
A.2
B.3
C.4
D.5
14.设intn=2;
则++n+1==4的结果是(
),n的结果是(
①A.true
B.false
C.1
D.0②A.1
15.设inta=2,b=2;
则a+++b的结果是(
),a的结果是(
),b的结果是(
)A.2
C.4
D.5
16.语句(1,2,3,4)的结果是(
A.1
17.设inta=04,b;
则执行b=a<
<
1;
语句后,b的结果是(
A.4
B.04
C.8
D.10
18.sizeof(double)是一个(
)表达式。
A.整型
B.双精度
C.不合法
D.函数调用
19.在C语言中,不同类型数据混合运算时,要先转换成同一类型后进行运算。
设一表达式中包含有int,long,unsigned和char类型的变量和数据,则表达式最后的运算结果是(
)类型的数据。
这四种类型数据的转换规律是(
①A.int
B.char
C.unsigned
D.long
②A.int->
unsigned->
long->
char
B.char->
int->
unsigned
C.char->
long
D.char->
int
20.有如下程序段:
inta1,a2;
charc1,c2;
scanf("
%d%c%d%c"
&
a1,&
c1,&
a2,&
c2);
若要求a1,a2,c1,c2的值分别为10,20,A,B正确的数据输入是(
A.10A20B<
CR>
B.10A20B<
C.10A20B<
D.10A20B<
21.有如下程序,若要求a1,a2,c1,c2的值分别为10、20、A、B,正确的数据输入是(
main()
{
%d%d"
a2);
%c%c"
}
A.1020AB<
B.1020<
AB<
C.1020ABC<
D.1020AB<
22.有如下程序,输入数据:
12345678<
后,x的值是(
),y的值是(
#include<
stdio.h>
intx;
floaty;
%3d%f"
x,&
y);
(1)A.12345
B.123
C.45
D.345
(2)A.45.000000
B.45678.000000
c.678.000000
D.123.000
23.有如下程序,输入数据:
12345<
(1)A.12
C.12345
D.0
(2)A.12.000000
B.345.000000
C.12345.000000
D.0.0000000
24.有如下程序,对应正确的数据输入是(
floata,b;
%f%f"
a,&
b);
printf("
a=%f,b=%f\n"
a,b);
A.2.04<
5.67<
B.2.04,5.67<
C.A=2.04,b=5.67<
D.2.045.67<
25.有如下输入语句:
scanf("
a=%d,b=%d,c=%d"
b,&
c);
为使变量a的值为1,b的值为3?
琧的值为2,从键盘输入数据的正确形式应是(
A.132<
B.1,3,2<
C.a=1,b=2,c=3<
D.a=1b=2c=3<
26.以下程序的执行结果是(
intsum,pad;
sum=pad=5;
pad=sum++;
pad++;
++pad;
%d\n"
pad);
}
A.7
B.6
C.5
D.4
27.以下程序的执行结果是(
inti=010,j=10;
%d,%d,%d\n"
++i,j,j--);
}
A.11,9,10
B.9,9,10
C.010,9,9
D.10,9,9
28.已知字母A的ASCII码是65,以下程序的执行结果是(
#include<
main()
{
charc1='
A'
c2='
Y'
printf("
%d,%d\n"
c1,c2);
}
A.A,Y
B.65,65
C.65,90
D.65,89
29.以下程序的执行结果是(
math.h>
inta=1,b=4,c=2;
floatx=10.5,y=4.0,z;
z=(a+b)/c+sqrt((double)y)*1.2/c+x;
%f\n"
z);
A.14.000000
B.15.000000
C.13.700000
D.14.900000
30.为了避免嵌套的if-else语义的二义性,C语言规定else总是与(
)
A.缩排位置相同的ifB.在其之前未配对的的ifC.在其之前未配对的最近的ifD.同一行上的if
31.选择出合法的if语句(设intx,y;
)A.if(a==b)x++;
B.if(a=<
b)x++;
C.if(a<
>
D.if(a=>
32.选择出合法的if语句(设int
x,a,b,c;
A.if(x!
=y)if(x>
y)
x>
y\n"
);
elseprintf("
x<
x==y\n"
B.if(x!
=y)
if(x>
y)printf("
)
else
C.if(x!
D.if(x!
33.C语言用()表示逻辑"
真"
值。
A.true
B.t或y
C.非零整数值
D.整数0
34.以下for循环是()。
for(x=0,y=0;
(y!
=123)&
(x<
4);
x++);
A.无限循环
B.循环次数不定
C.执行4次
D.执行3次
35.下面有关for循环的正确描述是()。
A.for循环只能是用于循环次数已经确定的情况。
B.for循环是先执行循环语句,后判断表达试。
C.在for循环中,不能用break语句跳出循环体D.for循环体语句中,可以包含多条语句,但要用花括号括起来
36.对于for(表达式1;
;
表达式3)可理解为()。
A.for(表达式1;
0;
表达式3)B.for(表达式1;
1;
表达式3)
C.for(表达式1;
表达式1;
表达式3)D.for(表达式1;
表达式3;
37.C语言中()。
A.不能使用do-while语句构成的循环B.do-while语句构成的循环必须用break语句才能退出
C.do-while语句构成的循环,当while语句中的表达式值为非零时结束循环
D.do-while语句构成的循环,当while语句中的表达式值为零时结束循环
38.C语言中while和do-while循环的主要区别是( )
A.do-while的循环体至少无条件执行一次B.while的循环控制条件比do-while的循环控制条件严格
C.do-while允许从外部转到循环体内D.do-while的循环体不能是复合语句
39.有以下程序:
#include<
#defineN6
{charc[N];
inti=0;
for(;
i<
N;
c[i]=getchar(),i++);
for(i=0;
putchar(c[i]),i++);
}
输入以下三行,每行输入都是在第一列上开始:
a<
b<
cdef<
程序的输出结果是( )。
A.abcdef
B.a
C.a
D.a
b b b
c cd
cdef
d
e
f
40.以下程序的输出结果是( )。
{inti;
for(i=1;
=5;
i++)
{if(i%2)
*"
else
continue;
#"
$\n"
A.*#*#*#$
B.#*#*#*$
C.*#*#$
D.#*#*$
41.以下for语句构成的循环执行了( )次。
#defineN2#defineMN+1#defineNUM(M+1)*M/2main(){inti,n=0;
for(i=1;
=NUM;
i++){n++;
%d"
n);
}printf("
\n"
}A.5B.6C.8D.942.以下程序的输出结果是( ).#include<
main(){intnum=0;
while(num<
=2){num++;
num);
}}A.1B.1C.1D.122233443.以下程序段( )。
x=-1;
do{x=x*x;
}while(!
x);
A.是死循环 B.循环执行二次C.循环执行一次 D.有语法错误44.以下关于数组的描述正确的是()A.数组的大小是固定的,但可以有不同的类型的数组元素。
B.数组的大小是可变的,但所有数组元素的类型必须相同。
C.数组的大小是固定的,所有数组元素的类型必须相同。
D.数组的大小是可变的,可以有不同的类型的数组元素。
45.以下一维数组a的正确定义是( ) A.inta(10);
B.intn=10,a[n];
C.intn;
D.#defineSIZE10scanf("
n);
inta[SIZE];
inta[n];
46.在定义inta[10];
之后,对a的引用正确的是( )A.a[10]B.a[6.3]C.a(6)D.a[10-10]47.以下对二维数组a进行正确初始化的是( ) A.inta[2][3]={{1,2},{3,4},{5,6}};
B.inta[][3]={1,2,3,4,5,6};
C.inta[2][]={1,2,3,4,5,6};
D.inta[2][]={{1,2},{3,4}};
48.以下对二维数组a进行不正确初始化的是( ) A.inta[][3]={3,2,1,1,2,3};
B.inta[][3]={{3,2,1},{1,2,3}};
c.inta[2][3]={{3,2,1},{1,2,3}};
D.inta[][]={{3,2,1},{1,2,3}};
49.以下对字符数组word进行不正确初始化的是( ) A.staticcharword[]='
Turbo\0'
B.staticcharword[]={'
T'
'
u'
r'
b'
o'
\0'
};
C.staticcharword[]={"
Turbo\0"
D.staticcharword[]="
50.在定义inta[5][4];
之后,对a的引用正确的是( ) A.a[2][4]B.a[5][0]C.a[0][0]D.a[0,0]51.在定义inta[2][3];
之后,对a的引用正确的是( ) A.a(1,2)B.a{1,3]C.a[1>
2][!
1]D.a[2][0] 52.以下正确的定义语句是( )A.intA['
a'
];
B.intA[3,4];
C.intA[][3];
D.intA[10];
53.以下给字符数组str定义和赋值正确的是( ) A.charstr[10];
str="
China"
B.charstr[]={"
C.charstr[10];
strcpy(str,"
abcdefghijklmn"
D.charstr[10]={"
54.在执行inta[][3]={1,2,3,4,5,6};
语句后,a[1][0]的值是( ) A.4B.1C.2D.555.在执行inta[][3]={{1,2},{3,4}};
语句后,a[1][3]的值是()A.3B.4C.0D.256.在执行charstr[10]="
China\0"
strlen(str)的结果是()A.5B.6C.7D.957.设int*p,i;
以下正确的语句是()A.*p=10;
B.i=p;
C.i=*P;
D.p=2*p+1;
58.设chars[10];
*p=s;
以下不正确的表达式是()A.p=s+5;
B.s=p+s;
C.s[2]=p[4];
D.*p=s[0];
59.设char**s;
以下正确的表达式是()A.s="
computer"
B.*s="
C.**s="
D.*s='
c'
60.设有说明int(*ptr)[M];
其中ptr是()A.M个指向整型变量的指针B.指向M个整型变量的函数指针C.一个指向具有M个整型元素的一维数组的指针D.具有M个指针元素的一维指针数组,每个元素都只能指向整型量61.选择出i的正确结果()inti;
char*s="
a\045+045\b"
for(i=0;
*s++;
i++)A.5B.8C.11D.1262.如下程序的执行结果是()#include<
main(){inti;
a\n35\b"
i++)printf("
i=%d\n"
i);
}A.i=5B.i=6C.i=7D.i=863.如下程序的执行结果是()#include<
main(){inti;
a\\\\\n"
for(i=0;
s[i]!
='
%c"
*(s+i));
}A.aB.a\C.a\\D.a\\\\64.如下程序的执行结果是()#include<
\\\"
"
}A.\"
B.a"
C."
D.不正确65.如下程序的执行结果()#include<
main(){staticinta[]={1,2,3,4,5,6};
int*p;
p=a;
*(p+3)+=2;
*p,*(p+3));
}A.1,3B.1,6C.3,6D.1,466.如下程序的执行结果是()#include<
main(){staticinta[][4]={1,3,5,7,9,11,13,15,17,19,21,23};
int(*p)[4],i=1,j=2;
*(*(p+i)+j));
}A.9B.11C.13D.1767.以下delspace函数的功能是删除字符串s中的所有空格(包括Tab,回车符和换行符)。
请选择正确的编号填空delspace(char*s){inti,t;
charc[80];
for(i=0,t=0;
(1);
i++)if(!
isspace(
(2)))c[t++]=s[i];
c[t]='
strcpy(s,c);
}
(1)A.s[i]B.!
s[i]C.s[i]='
D.s[i]=='
(2)A.s+iB.*c[i]C.*(s+i)D.*(c+i)68.以下delnum函数的功能是删除字符串s中的数字字符。
请选择正确的编号填空delnum(char*s){inti,j;
for(i=0,j=0;
i++)if(
(1)){s[j]=s[i];
j++;
}
(2);
}
(1)A.s[j]<
'
0'
||s[j]>
9'
B.s[i]<
||s[i]>
C.s[j]<
s[j]>
D.s[i]<
s[i]>
(2)A.s[j]='
B.s[i]='
C.s[j++]='
D.s[i++]='
69.以下comp函数的功能是按词典顺序比较两个字符串s和t的大小。
如果s大于t则返回正值,等于就返回零,小于则返回负值。
请选择正确的编号填空。
comp(char*s,char*t){for(;
*s==*t;
___________)if(*s=='
)return(0);
return(*s-*t);
}A.s++B.t++C.s++;
t++D.s++,t++70.C语言中规定函数的返回值的类型是由()。
A.return语句中的表达式类型所决定B.调用该函数时的主调用函数类型所决定C.调用该函数时系统临时决定D.在定义该函数时所指指定的函数类型所决定71.对于C语言的函数,下列叙述中正确的是()。
A.函数的定义不能嵌套,但函数调用可以嵌套B.函数的定义可
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 大学计算机 C语言期末复习题一 附带答案 语言 期末 复习题 附带 答案