精选C语言题库考试必备Word格式.docx
- 文档编号:7177188
- 上传时间:2023-05-08
- 格式:DOCX
- 页数:34
- 大小:31.41KB
精选C语言题库考试必备Word格式.docx
《精选C语言题库考试必备Word格式.docx》由会员分享,可在线阅读,更多相关《精选C语言题库考试必备Word格式.docx(34页珍藏版)》请在冰点文库上搜索。
A、$$$$B、@@@@C、有语法错误,不能正确执行D、@$@$
**11、以下程序段,执行结果是()
a=-1;
do
{
a=a*a;
}
while(!
a);
A、循环执行一次B、循环执行两次
C、有语法错误D、程序无终止运行
**12、以下程序的运行结果为()
{inti,sum;
i=sum=0;
while(i<
=100)
sum+=i;
i++;
printf(“1+2+3+……+100=%d”,sum);
A、0B、5050
C、1D、程序无终止运行
***13、若有inti,j=7,*p=&
i,则与i=j;
等价的语句是()
A、i=*pB、*p=*&
j
C、i=&
jD、**p
**14、若有定义inta[20],*p=a;
则下列不正确的语句是()
A、p=a;
B、a++;
C、p++;
D、p=&
a[0];
***15、以下程序运行后,输出的结果是()
{char*p=”abcde”;
P+=3;
Printf(“%c”,*p);
A、deB、d
C、字符d的地址D、出错
**16、以下定义数组的语句中正确的是()
A、inta(10);
B、inta[0];
C、inta[4][n];
D、intb[10][10];
***17、设有如下程序片段,则其运行结果为()
{inti,a[3][3]={1,2,3,4,5,6,7,8,9};
for(i=0;
i<
3;
i++)
printf(“%d”,a[i][2-i]);
A、159B、147
C、357D、369
**18、设有如下代码片段,让p指向a[1]不正确的操作是()
inta[10],*p;
A、p=&
a[1];
B、p=*(a+1);
C、p++=a;
D、p=a+1;
*19、下列选项中合法的字符常量是()
A、”B”B、’\010’C、68D、D
**20、假定x和y为double型,则表达式x=2,y=x+3/2的值是()
A、3.500000B、3C、2.00000D、3.00000
*21、x,y,z被定义为int型变量,若从键盘给x,y,z输入数据,正确的输入语句是()
A、INPUTx,y,z;
B、scanf(“%d%d%d”,&
y,&
z);
C、scanf(“%d%d%d”,x,y,z);
D、read(“%d%d%d”.&
**22、设A,B,C,D,m,n均为int型变量,且A=5,B=6,C=7,D=8,m=2,n=2,则逻辑表达式(m=A>
B)&
&
(n=D>
D)运算后,n的值为()
A、0B、1C、2D、-3
***23、阅读以下程序:
main()
{
intx;
scanf(“%d”,&
x);
if(x--<
5)
printf(“%d\n”,x);
else
printf(“%d\n”,x++);
程序运行后,如果从键盘上输入5,则输出结果是()
A、-3B、4C、5D、6
**24、假定w,x,y,z,m均为int型变量,有如下程序段:
w=1;
x=2;
y=3;
z=4;
m=x<
y?
x>
z?
x:
z:
w
则该程序执行后,m的值是()
A、4B、3C、2D、1
**25、以下程序的输出结果是()
intnum=0;
while(num<
=2)
num++;
printf(“%d\n”,num);
A、循环控制表达式的值为0
B、循环控制表达式的值为1
C、循环控制表达式不合法
D、以上说法都不对
***26、以下程序的输出结果是()
#defineM(x,y,z)x*y+z
intA=1,B=2,C=3;
printf(“%d\n”,m(A+B,B+C,C+A));
A、19B、17C、15D、12
*27、以下程序的输出结果是()
charC=’z’;
printf(“%c”,C);
A、AB、ZC、zD、Y
**28、假定int类型变量占用二个字节,若有定义:
intx[10]={0,2,4},则数组x在内存中所占字节数是()
A、3B、6C、10D、20
***29、以下程序的输出结果是()
intA[4][4]={1,3,5},{2,4,6},{3,5,7};
printf(“%d%d%d%d\n”,A[0][3],A[1][2],A[2][1],A[3][0]);
A、0650B、1470C、5430D、输入值不定
**30、以下程序的输出结果是()
inti,A[10];
for(i=9;
i>
=0;
i--)
A[i]=10-i;
Printf(“%d%d%d”,A[2],A[5],A[8]);
A、258B、741C、852D、369
**31、整型变量X和Y的值相等,且为非0值,则以下选项中,结果为零的表达式是()
A、x||yB、x&
yC、x*yD、!
(x=y)
*32、请选出可用作C语言用户标识符的一组标识符()
A、VoiddefineWORD
B、a3_b3_123IF
C、For-abcCase
D、2aDosizeof
*33、C语言中最简单的数据类型包括()
A、整型实型逻辑型
B、整型实型字符型
C、整型字符型逻辑型
D、整型实型逻辑型字符型
**34、C语言提供的合法的数据类型关键字是()
A、DoubleB、shortC、integerD、Char
**35、若已定义X和Y为double型,则表达式:
x=1,y=x+3/2的值是()
A、1B、2C、2.0D、2.5
**36、表达式:
10!
=9的值是(D)
A、true、B、非零值C、0D、1
*37、在C语言中,运算对象必须是整型数的运算符是()
A、%B、\C、%和\D、**
**38、设inta=12,则执行完语句a+=a-=a*a后,a的值是()
A、522B、264C、144D、-264
**39、设有以下定义:
intx=10,y=3,z;
则语句
printf("
%d\n"
z=(x%y,x/y))
的输出结果是()
A、1B、0C、4D、3
**40、请读程序
inti=65536;
i);
上面程序在VC++开发环境下的输出结果是()
A、65535B、0C、有语法错误,无输出结果D、1
***41、已知字符A的ASCII码为十进制的65,下面程序的输出是()
main()
{
charch1,ch2;
ch1='
A'
+'
5'
-'
3'
;
ch2='
6'
%d,%c\n"
ch1,ch2);
}
A、67,DB、B,CC、C,DD、不确定的值
**42、若有定义和语句:
chars[10];
s="
abcd"
s);
则结果是()
A、输出abcdB、输出aC、输出adcbD、编译不能通过
**43、若执行下面的程序从键盘输入3和4,则输出是()
{inta,b,s;
scanf("
%d%d"
&
a,&
b);
s=a;
if(a<
b)s=b;
s=s*s;
A、14B、16C、18D、20
**44、下面的程序是()
#include<
stdio.h>
{intx=3,y=0,z=0;
if(x=y+z)printf("
****"
);
elseprintf("
####"
A、有语法错误不能过通过编译
B、输出****
C、可能通过编译,但是不能通过连接,因而不能运行
D、输出####
***45、以下程序的输出结果是()
{charstr[12]={'
s'
'
t'
r'
i'
n'
g'
};
strlen(str));
A、6B、7C、11D、12
**46、设a=1,b=2,c=3,d=4,则表达式:
a>
b?
a:
c<
d?
d:
a的结果为()
A、4B、3C、2D、1
**47、若已定义:
inta[9],*p=a;
并在以后的语句中未改变p的值,不能表示a[1]地址的表达式是()
A、p+1B、a+1C、a++D、++p
**48、给出以下定义:
charx[]="
abcdefg"
chary[]={'
a'
b'
c'
d'
e'
f'
则正确的叙述为()
A、数组X和数组Y等价B、数组x和数组Y的长度相同
C、数组X的长度大于数组Y的长度D、数组X的长度小于数组Y的长度
**49、以下叙述中不正确的是()
A、在不同的函数中可以使用相同名字的变量
B、函数中的形式参数是局部变量
C、在一个函数内定义的变量只在本函数范围内有效
D、在一个函数内的复合语句中定义的变量,在本函数内有效
**50、设ch是char型变量,其值为A,且有下面的表达式:
ch=(ch>
='
ch<
Z'
)?
(ch+32):
ch
上面表达式的值是()
A、AB、aC、ZD、z
**51、设有语句inta=3;
则执行了语句a+=a-=a*a;
后,变量a的值是()
A、3B、0C、9D、-12
**52、若已定义:
inta[]={0,1,2,3,4,5,6,7,8,9},*p=a,i;
其中0≤i≤9,则对a数组元素不正确的引用是()
A、a[p-a]B、*(&
a[i])C、p[i]D、a[10]
**53、设有
staticcharstr[]="
Beijing"
则执行
printf("
strlen(strcpy(str,"
China"
)));
后的输出结果为()
A、5B、7C、12D、14
**54、若k是int型变量,且有下面的程序片段:
k=-3;
if(k)printf("
elseprintf("
"
上面程序片段的输出结果是()
A、####B、&
C、####&
D、有语法错误,无输出结果
***55、不能把字符串:
Hello!
赋给数组b的语句是()
A)charb[10]={'
H'
l'
o'
!
'
B)charb[10];
b="
C)charb[10];
strcpy(b,"
D)charb[10]="
**56、C语言中while和dowhile循环的主要区别是()
A、dowhile的循环至少无条件执行一次
B、while的循环控制条件比dowhile的循环控制条件严格
C、dowhile可以从外部转到循环内
D、dowhile的循环体不能是复合语句
*57、在定义inta[2][3];
之后,对a的引用正确的是()
A、a(1,2)B、a[1,3]C、a[1>
2][!
1]D、a[2][0]
***58、以下程序执行后的输出结果是()
A、3B、6C、9D、随机数
inta[3][3],*p,i;
p=&
a[0][0];
9;
i++)p[i]=i+1;
printf(“%d\n”,a[1][2]);
***59、指针P的指向如下图所示,则执行语句*--p;
后*p的值是()
A)30B)20C)19D)29
a[0]a[1]a[2]a[3]a[4]
10
20
30
40
50
p
***60、以下程序运行后,输出的结果是()
#include“stdio.h”
{staticinta[][4]={1,3,5,7,9,11,13,15,17,19,21,23};
int(*p)[4],i=1,j=2;
p=a;
printf(“%d\n”,*(*(p+i)+j));
A)9B)11C)13D)17
*61.在C语言中,字符型数据在内存中以()形式存放。
A)原码B)BCD码C)反码D)ASCII码
*62.putchar函数可以向终端输出一个()。
A)整型变量表达式值B)实型变量值
C)字符串D)字符或字符型变量值
*63.有输入语句:
scanf(“a=%d,b=%d,c=%d”,&
b,&
c);
为使变量a的值为1,b的值为3,c的值为2,则正确的数据输入方式是()。
A)132↙B)1,3,2↙
C)a=1b=3c=2↙D)a=1,b=3,c=2↙
**64.若定义x为double型变量,则能正确输入x值的语句是()。
A)scanf(“%f”,x);
B)scanf(“%f”,&
x);
C)scanf(“%lf”,&
D)scanf(“%5.1f”,&
*65.C语言对嵌套if语句的规定是:
else总是与()。
A)其之前最近的if配对B)第一个if配对
C)缩进位置相同的if配对D)其之前最近的且尚未配对的if配对
***66.对下述程序,()是正确的判断。
main()
{intx,y;
scanf(“%d,%d”,&
y);
if(x>
y)
x=y;
y=x;
x++;
y++;
printf(“%d,%d”,x,y);
A)有语法错误,不能通过编译B)若输入3和4,则输出4和5
C)若输入4和3,则输出3和4D)若输入4和3,则输出4和5
**67.下述表达式中,()可以正确表示x≤0或x≥1的关系。
A)(x>
=1)||(x<
=0)B)x>
=1|x<
=0
C)x>
=1&
x<
=0D)(x>
=1)&
(x<
=0)
**68.若有定义:
inta=3,b=2,c=1;
并有表达式:
①a%b,②a>
b>
c,③b&
c+1,④c+=1,则表达式值相等的是()。
A)①和②B)②和③C)①和③D)③和④
**69.下面程序段
intk=2;
while(k=0){printf(“%d”,k);
k--;
则下面描述中正确的是()。
A)while循环执行10次B)循环是无限循环
C)循环题语句一次也不执行D)循环体语句执行一次
**70.若有说明:
inta[3][4]={0};
则下面正确的叙述是()。
A)只有元素a[0][0]可得到初值0
B)此说明语句不正确
C)数组a中各元素都可得到初值,但其值不一定为0
D)数组a中每个元素均可得到初值0
**71.若有说明:
inta[][3]={1,2,3,4,5,6,7};
则数组a第一维大小是()。
A)2B)3C)4D)无确定值
**72.下面是对s的初始化,其中不正确的是()。
A)chars[5]={“abc”};
B)chars[5]={‘a’,’b’,’c’};
C)chars[5]=””;
D)chars[5]=”abcdef”;
**73.下面程序段的输出结果是()。
charc[5]={‘a’,’b’,’\0’,’c’,’\0’}
printf(“%s”,c);
A)’a’’b’B)abC)abcD)abc
**74.判断字符串a和b是否相等,应当使用()。
A)if(a==b)B)if(a=b)
C)if(strcpy(a,b))D)if(strcmp(a,b)==0)
**75.判断字符串a是否大于b,应当使用()。
A)if(a>
b)B)if(strcmp(a,b))
C)if(strcmp(b,a)>
0)D)if(strcmp(a,b)>
0)
**76.C语言规定,函数返回值的类型是由()决定的。
A)return语句中的表达式类型B)调用该函数时的主调函数类型
C)调用该函数时由系统临时D)在定义函数时所指定的函数类型
***77.若用数组名作为函数调用的实参,传递给形参的是()。
A)数组的首地址B)数组中第一个元素的值
C)数组中的全部元素的值D)数组元素的个数
**78.若inti=0;
执行下列程序后,变量i的正确结果是()。
switch(i){
case9:
i+=1;
case10:
case11:
default:
A)10B)11C)12D)13
***79.能正确表示“当x的取值在[1,10]和[200,210]范围内为真,否则为假”的表达式是()。
=10)&
(x>
=200)&
=210)
B)(x>
=10)||(x>
=200)||(x<
C)(x>
D)(x>
***80.执行下列程序片段时输出结果是()。
intx=13,y=5;
printf(“%d”,x%=(y/=2));
A)3B)2C)1D)0
二、判断题(每题 1 分)
**1、
若有intⅰ=10,j=0;
则执行完语句if(j=0)ⅰ++;
elseⅰ--;
ⅰ的值为11。
(
***2、
若有intⅰ=5,j=10;
则执行完语句
switch(i){
case
4:
j++;
5:
j--;
6:
7:
j-=2;
default:
}
执行后j的值为8。
(
**3、若有int
i=10,j=2;
则执行完ⅰ*=j+8;
后ⅰ的值为28。
()
**4、inta=-9;
-a-4的值为5。
***5、指针数组是指向指针的数组()
***6、指向函数的指针就是函数的返回值是指针值()
*7、结构化程序设计中的三种基本结构是分支,判断,循环()
*8、C语言是通过调用函数来进行输入输出的()
*9、C语言的运算符特别丰富,比如逗号也作为运算符()
*10、C语言里规定非零即为真()
**11、C语言的数组中首元素的下标为1()
**12、C语言中字符串是以一维数组的方式存储的()
**13、C语言中没有字符串变量()
**14、指针就是变量的地址()
**15、指针变量是存储地址的变量()
***16、在C语中必须先自定义结构体类型,然后才能定义结构体变量()
**17、C语言中通过文件指针来使用文件()
***18、C函数的调用中,实参与形参有值传递和地址传递两种()
**19、在一个函数内部声明的变量只在本函数内有效()
**20、C语言中的一个字符常量占用一个字节的存储空间()
***21、printf(“%f”,3);
输出的结果是3.000000()
**22、scanf(“%d”,a)语句用于键盘输入a的值()
*23、标识符AC和ac表示同一个标识符()
**24、字符串“HowareU”在内存中占的字节数是10()
**25、inta[3];
语句定义了a[1]、a[2]、a[3]三个数组元素()
**26、对于任何操作系统,int类型的变量所占的存储空间都是2字节()
***27、printf(“%d\n”,sizeof(“abcd”));
输出的结果是4()
**28、‘a’+5这个表达式的结果是char
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 精选 语言 题库 考试 必备