C程序设计期末考试习题库仅供参考Word文档下载推荐.docx
《C程序设计期末考试习题库仅供参考Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《C程序设计期末考试习题库仅供参考Word文档下载推荐.docx(67页珍藏版)》请在冰豆网上搜索。
<=ch<='
D、ch>=A&
ch<=z
14、在C语言中,能表示无符号长整型常数的是()。
A、OLB、4962710UC、912374uD、2UL
15、能正确表示C语言的字符常量的是()。
\0x41'
\0'
16、C语言中逻辑表达式的值为()。
A、0或1B、非零值或零值C、true或falseD、'
true'
或'
false'
17、C语言提供的基本数据类型关键字是()。
A、integerB、FLOATC、unsignedD、Double
18、若定义语句:
intb[]={1,2,3,4,5},*P=b;
则表达式*p++的值是()。
A、1B、2C、b[0]的地址D、b[1]的地址
19、在下列选项中,不正确的表达式是()。
A、a>bB、c--,++b,a+=1C、a=c+b>n-m=kD、p++
20、若有以下定义:
inta[]={1,2,3,4,5,6,7};
charcl='
b'
,c2='
2'
;
则数值不为2的表达式是()。
A、a[1]B、'
d'
-clC、a['
3'
-c2]D、c2-0
21、右有定义:
inta,*p=&
a;
*pp=&
p;
则与a=100;
等价的语句是()。
A、**p=100;
B、**pp=100;
C、&
*p=100;
D、*pp=100;
22、若有以下定义:
char*s[5]={'
BOY'
'
BOX'
BELL'
BYE'
};
intk=1
则puts(s[k++]);
的输出是()。
A、BOYB、BOXC、BELLD、B
23、标准库函数fgets(s,n,f)的功能是()。
A、从文件f中读取长度为n的字符串,存入指针,所指的内存
B、从文件f中读取长度不超过n-1的字符串,存入指针,所指的内容
C、从文件f中读取n个字符串,存入指针s所指的内存
D、从文件f中读取长度为n-1的字符串,存入指针s所指的内存
24、设有说明int(*ptr)[M];
其中标识符ptr是()。
A、M个指向整型变量的指针
B、指向M个整型变量的函数指针
C、一个指向其有M个整型元素的一组数组的指针
D、具有M个指针的一维指针数组,每个元素都只能指向整型变量
25、下述对C语言字符数组的描述中错误的是()。
A、字符数组可以存放字符串
B、字符数组中的字符串可以整体输入、输出
C、可以在赋值语句中通过赋值运算符"="对字符数组整体赋值
D、不可以用关系运算符对字符组中的字符串进行比较
26、有如下定义:
char*aa[2]={'
abed'
ABCE'
};
则以下说法正确的是()。
A、aa数组元素的值分别是'
bed'
和'
ABCD'
B、aa是指针变量,它指向含有两个数组元素的字符型一维数组
C、aa数组的两个元素分别存放的是含有4个字符的一维字符数组的首地址
D、aa数组的两个元素中各自存放了字符'
a'
的地址
27、以下程序的输出结果是()。
main()
{inti=010,j=10,k=ox10;
printf('
%d,%d,%d\n'
i,j,k);
}
A、8,10,16B、8,10,10C、10,10,10D、10,10,16
28、以下程序的输出结果是()。
#include<stdio.h>
{printf('
%d\n'
,NULL);
}
A、不确定的值(因变量无定义)B、0C、-1D、1
29、以下程序的输出结果是()。
{charc1='
6'
0'
%d,%d,%d\n'
,c1,c2,c1-c2);
A、因输出格式不合法,输出出错信息B、54,48,6
C、6.0,7D、6,0,6
30、指针s所指字符串的长度为()。
char*s='
\t\'
Name\\abcd\n'
A、15B、14C、13D、12
31、设有说明int(*p)[M];
其中标识符p是()。
32、下述对C语言字符数组的描述中错误的是()。
C、可以在赋值语句中通过赋值运算符'
='
对字符数组整体赋值
33、TurboC中,对于以下程序()。
{intx,y;
y=creat(&
x);
%d\n'
y);
creat(inta)
{returna++;
A、编译时会给出错信息
B、顺利进行编译、连接、执行;
不报任何错误
C、顺利通过编译、连接、但不能执行
D、顺利通过编译,但连接出错
34、设有如下定义:
intx=10,y=4,z;
则语句:
z=(x%y,x/y));
的输出结果是()。
A、1B、0C、2D、3
35、下述程序段的输出结果是()。
{intx=10,y=10;
%d,%d\n'
x++,++y);
A、10,10B、11,11C、11,10D、10,11
36、定义如下变量和数组:
intj;
intx[3][3]={1,2,3,4,5,6,7,8,9};
则下面语句的输出结果是()。
for(i=0;
i<3;
i++﹚
%d'
x[i][2-i]);
A、159B、147C、357D、369
37、若要求在if后一对圆括号中表示a不等于0的关系,则不能正确表示这一关系的表达式为()。
A、a<>0B、!
aC、a=0D、a
38、若m,y,z均为int型变量,则执行下面语句后m值是()。
m=1;
x=2;
y=3;
z=4;
m=(m<x.﹚?
m:
x;
m=(m<y﹚?
y;
m=(m<z=?
z;
A、1B、2C、3D、4
39、若有定义:
inta=7;
floatx=2.5,y=4.7,则表达式x+a%3*(int)(x+y)%2/4的值是()。
A、2.500000B、2.750000C、3.500000D、0.000000
40、如下说法不正确的是()。
A、c>a+b等效于c>(a+b)
B、若a,b均为真,则a||b为真
C、表达式'
c'
的值为0
D、逻辑运算符!
比逻辑运算符||的优先级高
41、putchar()函数可以向终端输出一个()。
A、整型变量表达式值B、字符
C、字符串D、实型变量值
42、表达式18/4*sqrt(4.0)/8值的数据类型为()。
A、intB、floatC、doubleD、不确定
43、若已定义a为整型变量:
a=-2L;
,a);
则以上语句()。
A、赋值不合法B、输出值为-2C、输出为不确定值D、输出值为2
44、设有如下定义:
char*aa[2]={'
abcd'
,'
};
以下说法中正确的是()。
B、aa是指针变量,它指向含有两上数组元素的字符型一维数组
45、若int类型数据占两个字节,则以下语句的输出为()。
intk=-1;
%d,%u\n'
k,k);
A、-1,-1B、-1,32767C、-1,32768D、-1,65535
46、已知字母a的ASCII码十进制值为97,则执行以下语句后的输出为()。
chara='
;
a--;
%d,%c\n'
a+'
-'
);
A、b,cB、a—运算不合法,故有语法错
C、98,cD、格式描述和输出项不匹配,输出无定值
47、下面语句中()是C语言的正确赋值语句。
A、a=1,b=2B、I++;
C、a=b=5D、y=int(x);
48、设有以下说明语句
structstu
{inta;
floatb;
}stutype;
则下面的叙述不正确的是()。
A、struct是结构体类型的关键字B、structstu是用户定义的结构体类型
C、stutype是用户定义的结构体类型名D、a和b都是结构体成员名
49、能正确表示:
当x的取值范围在[1,10]或[100,110]内为真,否则为假的表达式是()。
A、(x>=1)&
(x<=10)&
(x>=100)&
(x<=110)
B、(x>=1)||(x<=10)||(x>=100)||(x<=110)
C、(x>=1)&
(x<=10)||(x>=100)&
D、(x>=1)||(x<=10)&
50、设n为整型变量,则循环语句for(n=10;
n>0;
n--)的循环次数为()。
A、10B、9C、11D、12
51、在对文件进行操作时,若要求文件的位置指针回到文件的开头,则应当调用的库函数是()。
A、fopen()B、fseek()C、fclose()D、rewind()
52、下列哪个数组定义是正确的()。
A、inta[5.5];
B、INTa[10];
C、inta[n];
D、inta[3+2];
53、一个变量的指针就是()。
A、变量的地址B、变量的值C、变量的名称D、变量的类型
54、有说明语句:
int*fun();
其意义是()。
A、函数fun返回一个int值B、函数fun返回一个指向int型变量的指针
C、函数fun是一个指向函数的指针D、函数fun返回一个int值
55、下列正确的说法是()。
A、宏替换是在程序运行时进行的
B、函数调用是在程序编译时进行的
C、宏替换时,如果实参是表达式,应先求表达式的值,再替换
D、函数调用时,如果实参是表达式,应先求表达式的值,再替换
56、对于数学式
/2a,下面正确的C语言表达式是()。
A、sqr(x)/2aB、sqr(x)/2*aC、sqrt(x)/(2*a)D、sqrt(x)/2*a
57、若int类型数据占2字节,则以下语句的输出为()。
intk=32768;
A、-1,65535B、-1,32767C、-1,-1,D、-32768,32768
58、如果有定义char**s;
,那么()是正确的赋值语句。
A、*s='
Hello'
B、s='
C、*s='
;
D、**s=='
Hello’’;
59、下面程序中()有错误。
1)#include<stdio.h>
2)main()
3){
4)inta[3]={0,0,0};
5)inti;
6)for(i=0;
i++﹚scanf('
%D'
&
a[i]);
7)for(i=1;
i++﹚a[0]=a[0]+a[i];
8)printf('
a[0]);
}
A、第4行B、第6行C、第7行D、第8行
60、下面程序的运行结果()。
{unsigneda=3,b=10;
a<<2|b>>1=;
}
A、3B、10C、13D、14
61、已定义x为float型变量。
x=213.82631;
Printf('
%-4.2f\n'
x);
则以上程序()。
A、输出格式描述符的域宽不够,不能输出B、输出为213.83
C、输出为213.82D、输出为-213.82
62、设已定义整型变量K,则下面的程序输出为()。
k=017;
s=111;
,++k);
%x\n'
,s++);
A、156fB、1670C、1571D、166f
63、不能正确表示a*b/c*d的C语言表达式是()。
A、a*b/c*dB、a/(c*d)*bC、a*b/c/dD、a*b/(c*d)
64、下列()表达式不满足;
当x的值为偶数时值为“真”,为奇数时值为“假”。
A、x%2==0B、!
x%2!
=0C、x/2*2-x==0D、!
(x%2)
65、设已定义k为int型变量,则下面while循环执行()次。
k=10;
while(k=0)k=-1;
A、执行10次B、无限循环C、一次也不执行D、执行一次
66、说明语句int(*p);
的含义是()。
A、p是一个指向一个一维数组的指针变量
B、p是指针变量,它指向一个整型数据的指针
C、p是一个指向函数的指针,该函数返回一个整型值
D、p是一个返回指针值的函数,该指针指向整型数据
67、用高级语言编写的程序称之为()。
A、源程序B、目标程序C、汇编程序D、命令程序
68、设有如下枚举类型定义:
enumlanguage{Basic=3,Assembly,Ada=100,COBOL,Fortran};
枚举量Fortran的值为()。
A、4B、7C、102D、103
69、有以下程序的输出结果为()。
{chara=0x95,b,c;
b=(a&
0xf)<<4;
c=(a&
0xf0)>>4;
a=b|c;
a);
A、24B、59C、34D、56
70、下述程序段的输出结果是()。
inta=3;
b=4;
intc=a^b>>3;
c)
A、3B、4C、5D、6
71、下面程序段中调用fun函数传送实参a和b;
{chara[10],b[10];
fun(a,b);
…
则在fun函数首部中,对形参错误的定义是()。
A、fun(chara[10],b[10]){…}B、fun(chara1[],chara2[]){…}
C、fun(charp[10],charq[10]){…}D、fun(char*s1,char*s2){…}
72、若有以下定义:
{int(*a)(),*b(),w[10],c;
fun(int*c){…}
对fun函数的正确调用语句是()。
A、a=fun;
a(w);
B、fun(*a)(&
c);
C、b=fun;
*b(w);
D、fun(b);
73、设int型变量在内存中占用两个字节存储单元,定义如下结构体:
structstudent
{charname[10];
charsex;
intage;
struct
{intyear;
intmonth;
intday;
}birth;
}stul;
则表达式sizeof(stul)的值是()。
A、5B、8C、2D、26
75、下述程序段的运行结果是()。
#include<
stdio.h>
{intm=7,n=4;
floata=38.4,b=0.4,x;
x=m/2+n*a/b+1/2;
%f\n'
A、22B、387.000000C、27D、26
76、下面程序的运行结果是()。
{intcl=2,c2=0;
while(!
c2--)
%d%d'
cl--,c2);
A、陷入死循环B、不输出任何内容
C、输出2-1D、输出20
77、下面程序的运行结果是()。
intm=4,n=6;
max(intx,inty)
{intmax;
max=x>
y?
x:
return(max);
{intm=10;
max(m,n));
A、4B、10C、6D、5
78、下面程序的运行结果是()。
fun(intp)
{intk=1;
statict=2;
k=k+1;
t=t+1;
return(p*k*t);
{intx=4;
fun(x);
fun(x));
A、4B、32C、30D、16
79、阅读下面的程序:
{charch;
scanf('
%c'
ch);
if(ch>
ch<
)
ch=ch-32;
ch);
若输入字符为:
e,则程序运行结果为()。
A、EB、AC、eD、z
80、下面程序的运行结果是()。
{staticinta[3][3]={{3,2,1},(4,5,6),{-2,9,1}};
inti,j,sum=0;
i<
3;
i++)
for(j=0;
j<
j++)
{if(i==j)
sum=sum+a[iJ[j]];
sum=%d'
sum);
A、sum=10B、sum=9C、9D、10
81、下面程序的运行结果是()。
#include<
string.h>
{char*sl='
AbcDeG'
char*s2=CdEg'
s1+=2;
s2+=2;
strlen(sl)-strlen(s2));
82、下面程序的运行结果是()。
inta=1,k=10;
fun(intx,inty)
{staticintm=1;
m=m+a;
return(m+x*y);
{inta=5,b;
b=fun(a,k);
b);
A、20B、30C、40D、53
83、当执行下面程序且输入aboy时,输出的结果是()。
{charss[81]='
ABOY'
hh[81],*pt;
%s'
hh);
pt=strcat(ss,hh);
puts(pt);
%s\n'
A、ABOYaB、ABOYaboy
aaboy
C、ABOYaboyaD、ABOYaboyaboy
84、下述程序的运行结果是()。
voidfun(intx)
{
putchar('
+(x%10));
fun(x/10);
\n'
fun(1234);
A、4321B、321C、21D、1
85、阅读程序:
{inta[10]={1,2,3,4,5,6,7,8,9,0},*P;
p=a;