C语言测验真题Word文档下载推荐.docx
- 文档编号:20608852
- 上传时间:2023-01-24
- 格式:DOCX
- 页数:24
- 大小:26.31KB
C语言测验真题Word文档下载推荐.docx
《C语言测验真题Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《C语言测验真题Word文档下载推荐.docx(24页珍藏版)》请在冰豆网上搜索。
4,C语言中要求对变量作强制定义的主要理由是(D)
A便于移植
B便于写文件
C便于编辑预处理程序的处理
D便于确定类型和分配空间
5,已定义两个字符数组a,b,则以下正确的输入格式是(A)
Ascanf(“%s%s”,a,b)
Bget(a,b)
Cscanf(“%s%s”,&
a,&
b)
Dgets(“a”),gets(“b”)
6,若给定条件表达式(M)?
(a++):
(a--),则其中表达式M(C)
A和(M==0)等价
B和(M==1)等价
C和(M!
=0)等价
D和(M!
=1)等价
7,以下函数类型是(C)
Fff(floatx)
{
Return5;
}
A与参数x的类型相同
Bvoid类型
Cint类型
D无法确定
8,以下不正确的if语句是(B)
Aif(x>
y&
x!
=y)
Bif(x==y:
)x+=y
Cif(x!
=y)scanf(“%d”,&
x)elsescanf(“%d”,&
y)
Dif(x<
y){x++,y++}
9,指针变量p进行自动加算(即执行p++;
)后,地址偏移值为2,则其数据类型为(A)
Aint
Bfloat
Cdouble
Dchar
10,在以下给出的表达式中,与do--while(E)语句中的(E)不等价的表达式是(C)
A(!
E==0)
B(E>
0||E<
0)
C(E==0)
D(E!
=0)
11,下列程序的输出结果是(B)
main()
Printf(“%d\n”,n)
A0
B变量无定义
C-1
D1
12,以下选型中,与k=n++完全等价的表达式是(A)
Ak=n,n=n+1
Bn=n+1,k=n
Ck=++n
Dk+=n+1
13,以下程序段的输出结果为(D)
charc[]=”abc”;
inti=0;
do;
while(c[i++]!
=’\0’);
printf(“%d”,i-1);
Aabc
Bab
C2
D3
14,下列程序段的输出结果为(B)
floatk=0.8567
printf(“%06.1f%%”,k*100);
A0085.6%%
B0085.7%
C0085.6%
D.857
15,下列选项中正确的语句组是(D)
Achars[8];
s={“Beijing”};
Bchar*s;
Cchars[8];
s=”Beijing”;
Dchar*s;
16,已知字符a的ASCII码值是97,字符A的ASCII码值是65,则执行下列语句后变量a和b的值分别为(B)
inta,b;
a=1+’a‘;
b=2+7%4-‘A‘;
A-63,-64
B98,-60
C1,-60
D79,78
17,若使用一维数组名作函数实参,则以下正确的说法是(A)
A必须在主调函数中说明此数组的大小
B实参数组类型与形参数组类型可以不匹配
C在被调用函数中,不需要考虑形参数组的大小
D实参数组名与形参数组名必须保持一致
18,若有说明:
inti,j=2,*p=&
i;
则能完成i=j赋值功能的语句是(B)
Ai=*p;
B*p=*&
j;
Ci=&
Di=**p;
19,若已定义的函数有返回值,则以下关于该函数调用的叙述中错误的是(D)
A函数调用可以作为独立的语句存在
B函数调用可以作为一个函数的实参
C函数调用可以出现在表达式中
D函数调用可以作为一个函数的形参
20,若a=-14,b=3,则条件表达式a<
b?
a:
b+1的值为(A)
A-14
B-13
C3
D4
一填空题
1,已知i=5,写出语句a=a++;
执行后整形变量a的值是【5】
2,intx=2,y=2,z=0;
则表达式x==y>
z的值为【0】
3,假设所有变量都为整形,表达式(a=2,b=5,a>
b++,a+b)的值是【8】
4,设k=(a=2,b=3,a*b),则k的值为【6】
5,inta=1,b=2,c=3;
执行语句a+=b*=c;
后a的值是【7】
二判断题
1,inta[3][4]={{1},{5},{9}}:
它的作用是将数组各行第一列的元素赋初值,其余元素值为0.
2,循环结构中的continue语句是使整个循环终止执行N
3,C程序中有调用关系的所有函数必须放在同一个源程序文件中N
4,charc[]=”VeryGood”:
是一个合法的为字符串数组赋值的语句Y
5,函数strlen(“ASDFG\n”)的值是7N
三选择题
1.charh,*s=&
h;
可将字符H通过指针存入变量h中的语句是(B)
A*s=H
B*s=’H’
Cs=H
Ds=’H’
2,应用缓冲文件系统对文件进行读写操作,打开文件的函数名为(B)
Aopen
Bfopen
Cclose
Dfclose
3,对结构体类型的变量的成员的访问,无论数据类型如何都可使用的运算符是(A)
A.
B->
C*
D&
4,若有定义:
inta=7;
floatx=2.5,y=4.7;
则表达式x+a%3*(int)(x+y)%2/4的值是(A)
A2.500000
B2.750000
C3.500000
D0.000000
5,下列定义数组中的语句不正确的是(D)
Astaticinta[2][3]={1,2,3,4,5,6}
Bstaticinta[2][3]={{1},{4,5}}
Cstaticinta[][3]={{1},{4}}
Dstaticinta[][]={{1,2,3},{4,5,6}}
6,下列变量说明语句中,正确的是(D)
Achar:
abc
Bchara;
b;
c
Cintx;
z
Dintx,z
7,关于return语句,下列正确的说法是(C)
A不能在主函数中出现且在其他函数中均可出现
B必须在每个函数中出现
C可以在同一个函数中出现多次
D只能在除主函数之外的函数中出现一次
8,以下可作为函数fopen中第一个参数的正确格式是(D)
Ac:
user\text.txt
Bc:
\user\text.txt
C“c:
\user\text.txt”
D“c:
\\user\\text.txt”
9,若所有变量均为整形,则表达式(a=2,b=5,b++,a+b)的值是(B)
A7
B8
C6
D2
10,为表示“x大于等于y,y大于等于z”,应使用C语言表达式(A)
A(x>
=Y)&
(Y>
=Y)AND(y>
=Y>
11,执行以下程序段后,输出结果和a的值是(B)
Inta=10;
printf(“%d”,a++);
A10和10
B10和11
C11和10
D11和11
12,若有inti=3,*p;
p=&
i;
下列语句中输出结果为3的是(C)
Aprintf(“%d”,&
p)
Bprintf(“%d”,*i)
Cprintf(“%d”,*p)
Dprintf(“%d”,p)
13,C语言规定,在一个源程序中,main函数的位置(C)
A必须在最开始
B必须在系统调用的库函数的后面
C可以任意
D必须在最后
14,C语言中的文件的储存方式有(C)
A只能顺序存取
B只能随机存取(或直接存取)
C可以顺序存取,也可随机存取
D只能从文件的开头进行存取
15;
以下read函数的调用形式中,参数类型正确的是(A)
Aread(intfd,char*buf,intcount)
Bread(int*buf,intfd,intcount)
Cread(intfd,intcount,char*buf)
Dread(intcount,char*buf,intfd)
16,以下标识符中,不能作为合法的C用户定义标识符的是(D)
AFor
BPrintf
CWORD
Dsizeof
17,条件运算符的结合方式是(A)
A自右自左
B自左至右
C任意
D前后顺序
inta[3][4]={0};
则下面正确的叙述是(D)
A只有元素a[0][0]可得到初值0
B此说明语句不正确
C数组a中各元素都可得到初值,但其值不一定为0
D数组a中每个元素均可得到初值0
19,设有以下定义:
structsk{inta;
floatb;
}data,*p;
若要使p指向data中的a域,正确的赋值语句是(A)
Ap=(structsk*)&
data.a;
Bp=(structsk)data.a;
Cp=&
D*p=data.a;
20,下列运算符中是C语言关系运算符的是(D)
A~
B!
C&
D!
=
1,C语言的三种基本结构是【顺序】结构、选择结构、循环结构
2,设有以下定义语句:
Inta[3][2]={10,20,30,40,50,60},(*p)[2];
p=a;
则*(*(p+2)+1)值为【60】
3,当a=1,b=2,c=3时,执行以下程序段后c=【2】
if(a>
c)b=a;
a=c;
c=b;
4,intx=2,y=3,z=4,则表达式x+(y>
!
z)的值为【3】
5,设C语言中,int类型数据占2个字节,则long类型数据占【4】个字节,
Short类型数据占【2】个字节
1,一个include命令可以指定多个被包含的文件N
2,#define和printf都不是C语句Y
3,x*=y+8等价于x=x*(y+8)Y
4,若有定义和语句:
inta;
charc;
floatf;
scanf(“%d,%c,%f”,&
a,&
c,&
f);
若通过键盘输入:
10,A,12.5,则a=10,c=’A’,f=12.5Y
5,a=(b=4)+(c=6)是一个合法的赋值表达式Y
1,已知字母a的ASCII十进制代码为97,则执行下列语句后输出的结果为(C)
chara=’a’;
a--;
Printf(“%d,%c\n”,a+’2’-’0’,a+’3’-’0’);
Ab,c
Ba--运算不合法,故有语法错
C98,c
D格式描述和输出项不匹配,输出无定值
2,C语言中函数调用的方法有(D)
A函数调用作为语句一种
B函数调用作为函数表达式一种
C函数调用作为语句或函数表达式两种
D函数调用作为语句、函数表达式或函数参数三种
3,设char*s=”\ta\017bc”:
则指针变量s指向的字符串所占的字节数是(C)
A9
B5
D7
4,下列定义不正确的是(C)
A#definePI3.141592
B#defineS345
Cintmax(x,y);
intx,y;
{}
Dstaticcharc;
5,一个C程序的执行是从(A)
A本程序的main函数开始,到main函数结束
B本程序文件的第一个函数开始,到本程序文件的最后一个函数结束
C本程序的main函数开始,到本程序文件的最后一个函数结束
D本程序文件的第一个函数开始,到本程序main函数结束
6,以下程序段的输出结果为(B)
for(i=4;
i>
1;
i--)
for(j=1;
j<
j++)
putchar(‘#’);
A无
B######
C#
D###
7,sizeof(float)是(C)
A一个函数调用
B一个不合法的表达式
C一个整形表达式
D一个浮点表达式
8,以下程序段中,不能正确赋字符串(编译时系统会提示错误)的是(C)
Achars[10]=”abcdefg”;
Bchart[]=”abcdefg”,*s=t;
Cchars[10];
s=”abcdefg”
Dchars[10];
strcpy(s,“abcdefg”)
9,以下运算符中,优先级最高的运算符是(B)
A?
:
B++
D,
10,以下选项中合法的实型常数是(C)
A5E2.0
BE-3
C.2E0
D1.3E
11,执行语句intx=5,a=0,b=0;
if(x=a+b)printf(“****\n”);
elseprintf(“####\n”);
后,结论是
A有语法错误,不能通过翻译
B能通过翻译,但不能连接
C输出****
D输出####
12,C语言结构体类型变量在程序执行期间(A)
A所有成员一直驻留在内存中
B只有一个成员驻留在内存中
C部分成员驻留在内存中
D没有成员驻留在内存中
13,变量的指针,其含义是指该变量的(B)
A值
B地址
C名
D一个标志
14,以下语句charc=’a‘;
if(‘a’<
c<
=’z’)printf(“LOW”);
elseprintf(“UP”);
执行后的结果为(A)
ALOW
BUP
CLOWUP
D语句错误,编译不能通过
15,执行下列语句的结果为(B)
Intx=3,y;
Int*px=&
x;
y=*px++;
Ax=3,y=4
Bx=3,y=3
Cx=4,y=4
Dx=3,y不知
16,以下关于运算符优先顺序的描述中正确的是(C)
A关系运算符<
算术运算符<
赋值运算符<
逻辑运算符
B逻辑运算符<
关系运算符<
赋值运算符
C赋值运算符<
逻辑运算符<
算术运算符
D算术运算符<
18,若定义:
inta=511,*b=&
a;
,则printf(“%d\n”,*b);
的输出结果为(D)
A无确定值
Ba的地址
C512
D511
19,下列表达式中,(B)不满足“当x的值为偶数时值为真,为奇数时值为假”的要求.
Ax%2==0
B!
x%2!
=0
C(x/2*2-x)==0
D!
(x%2)
20,全局变量的定义不可能在(A)
A函数内部
B函数外面
C文件外面
D最后一行
选择题集锦
1,下列字符中,能作为单个标识符的是(D)
A
Ba=2
Ca.3
Da_3
2,下列字符列中,可以作为“字符串常量”的是(B)
AABC
B“ABC”
C‘abc’
D‘a’
3,在以字节存储字符的系统中,‘\n’在内存占用的字节数是(A)
A1
B2
4,字符串”xyz“在内存占用的字节数是(B)
A3
B4
D8
5,设变量m,n,a,b,c,d的初值均为0,执行(m=a==b)||(n=c==d)后,m,n的值是()
A0,0
B0,,1
C1,0
D1,1
6,设a为5,执行下列计算后,b的值不为2的是()
Ab=a/2
Bb=6-(--a)
Cb=a%2
Db=a<
3?
3:
2
7,执行语句”x=(a=3,b=a--);
“后,x,a,b的值依次为()
A3,3,2
B2,3,2
C3,2,3
D2,3,3
8,设整形变量m,n,a,b,c,d均为1,执行”(m=a>
b)&
(n=a>
b)“后,m,n的值是()
A0,0
B0,1
C1,0
D1,1
9,设有代码”inta=3;
“则执行语句”a+=a-=a*a;
“后,变量a的值是()
B0
C9
D-12
10,若已定义x和y为double类型,则表达式:
x=1,y=x+3/2结果为()
C2.0
D2.5
11,设a=1,b=2,c=3,d=4则表达式a<
b?
c<
d?
d的结果为()
A4
B3
12,若有以下定义:
chara;
intb;
floatc;
doubled;
则表达式a*b+d-c值得类型为()
Afloat
Bint
Cchar
Ddouble
13,设ch是char型变量,其值为’A‘,则下面表达式的值是()
ch=(ch>
=’A‘&
ch<
=‘Z‘)?
(ch+32):
ch
A‘A‘
B‘a‘
C‘Z‘
D‘z‘
14,设有inti=010,j=10;
则执行”printf(“%d,%d\n”,++i,j--);
“的输出值是()
A11,10
B9,10
C010,9
D10,9
15,设a,b为字符变量,执行”scanf(“a=%c,b=%c“,&
a,&
b)”后使a变为A,b为B,从键盘上的正确输入是()
A‘A‘’B‘
B‘A‘,‘B‘
CA=A,B=B
Da=A,b=B
16,下列语句中,句法错误的是()
Awhile(x=y)5;
Bdox++while(x==10);
Cwhile(0);
Ddo2;
while(a==b);
17,假定a和b为int型变量,则执行以下语句后b的值为()
a=1;
b=10;
do{b-=a;
a++}while(b--<
0);
B-2
18,设x和y为int型变量,则执行下面的循环后,y的值为()
for(y=1,x=1;
y<
=50;
y++)
if(x>
=10)break;
If(x%2==1){x+=5;
continue;
}
x-=3;
A2
19,下列程序的功能是输出一个整数,判断是不是素数,若为素数输出1,否则输出0,请为程序填空.
inti,x,y=1;
scanf(“%d“,&
x);
for(i=2;
i<
=x/2;
i++)
if___________________{y=0;
break;
printf(“%d\n”,y);
20,编一个程序,输入X的值,按下列公式计算并输出Y的值。
x(x<
=1)
y=2x-1(1<
x<
10)
3x-11(10<
=x)
21,编写一个程序,求出所有各位数字的立方和等于1099的3位数.
22,若有下列说明,则数字为4的表达式是()
inta[12]={1,2,3,4,5,6,7,8,9
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 测验
![提示](https://static.bdocx.com/images/bang_tan.gif)