c语言试题.docx
《c语言试题.docx》由会员分享,可在线阅读,更多相关《c语言试题.docx(18页珍藏版)》请在冰豆网上搜索。
c语言试题
1.分析下面的C语言代码:
charch;while((ch=getchar())!
=’e’)printf(“*”);若输入字符串:
abcde<回车>,则以上while循环体将执行(D)次。
(选择一项)
A)0
B)1
C)5
D)4
2.下列C程序段的输出结果是(C)。
(选择一项)
voidmain()
{
inta[4]={5,2,3,4};
int*p;
p=a;
p+=2;
printf(“%d”,*p);
}
A)1
B)2
C)3
D)4
3.在C语言中,假设:
charw;intx;floaty;doublez;则表达式:
w*x+z-y值得数据类型为(D)。
(选择一项)
A)float
B)char
C)int
D)double
4.已知十六进制数1A的十进制数为26,请问十六进制数2B的十进制数表示是(D)。
(选择一项)
a)27
b)37
c)42
d)43
5.在C语言中,下列代码输出的结果是(D)。
#include<>
voidmain()
{
inti;
intbookNum=4;
inttotalPrice=0;
intbookPrice[4]={10,20,30,40};
for(i=0;i<4;i+=2)
{
totalPrice+=bookPrice[i];
i--;
}
printf(“%d”,totalPrice);
}(选择一项)
A)30
B)40
C)60
D)100
6.在C语言中有如下定义:
inta[10];则对a数组元素的正确引用是(AD)。
(选择二项)
a)a[10]
b)a[3+1]
c)a(5)
d)a[0]
7.在C语言中,下列代码的运行结果是(C)。
(选择一项)
#include<>
#include<>
voidmain()
{
doublesqu,power,value;
squ=sqrt;
power=pow,2);
value=pow(power,squ);
printf("%",value);}
a)1
b)16
c)81
d)256
8.下列C语言代码的运行结果是(A)。
(选择一项)
#include<>
#include>
voidmain()
{
charstr[10]=“12345”;
strcat(str,”6789”);
printf(“%s\n”,str);
}
a)123456789
b)6789
c)678912345
d)12345
9.voidmain()
{
charch;
ch=’a’+3;
putchar(ch);
}
上述C语言代码的输出是(D)。
(选择一项)
A)a
B)100
C)c
D)d
10.在C语言中,下列程序的输出结果是(A)。
(选择一项)
#include<>
intf(intm)
{
staticintk=3;
k++;
returnk+m;
}
voidmain()
{
ints;
s=f
(2);
printf(“%d,%d\n”,s,f(s));
}
a)6,11
b)6,9
c)6,8
d)4,6
11.分析下面的C语言代码:
下面说法正确的是(A)。
(选择一项)
voidmain()
{
intx=3;
do
{
printf(“%d”,x--);
}while(!
x);
}
a)输出:
3
b)输出:
321
c)输出:
21
d)不输出任何内容
12.在C语言中,下列代码的输出结果是(B)。
(选择一项)
voidmain()
{
inti,j=0;
for(i=1;i<=10;i++)
{
if(i%5==0)
{
break;
}
j+=i;
}
printf(“%d,%d”,i,j);
}
a)5,5
b)5,10
c)10,15
d)10,40
13.运行下列C语言代码段,输出结果是(B)。
(选择一项)
#include<>
voidfunc(int*a,intb)
{
b=4;
*a=b+2;
}
voidmain()
{
inta=2,b=2;
func(&a,b);
printf(“%d,%d”,a,b);
}
a)6,4
b)6,2
c)2,2
d)2,4
14.考虑下面的C语言代码:
执行后,num的值应该是(B)。
(选择一项)
#include<>
voidmain(){
inti,j,num=0;
for(i=0;i<4;i++)
for(j=0;j<2;j++)
num=num+j;
printf(“\nTheValueofnumis%d”,num);
}
A)2
B)4
C)6
D)8
15.在C语言中,以下正确的函数形式是(D)(选择一项)
16.A)doublerun(intx,y){voidmain(){
inti,j=0;
for(i=1;i<10;i++){
if(i%4==0)
continue;
j+=i;
}
printf("%d,%d",i,j);
}(选择一项)
A)10,33
B)3,6
C)10,12
D)4,10
17.下列C语言代码的运行结果是(C)。
voidmain(){
inta=2,b=-1,c=2;
if(a
if(b<0)
c=0;
else
c++;
printf("%d",c);
}(选择一项)
A)0
B)1
C)2
D)3
18.如下C语言程序段,请问在函数main中可以使用的变量有(B)。
(选择一项)
#include<>
intz;
intp(inty)
{
staticintx;
return(x+y);
}
voidmain()
{
intab;
printf(“%d\n”,p(a));}
A)a,b
B)a,b,z
C)a,b,y,z
D)a,b,x,y,z
19.在C语言中,下列代码的输出结果是(B)。
(选择一项)
voidmain(){
printf(“%\n”,sqrt(4));
}
A)0
B)2
C)4
D)16
20.在C语言中,5/3的值是(A)。
(选择一项)
A)1
B)-1
C)2
D)
21.在C语言中,下面(B)转义序列表示换行。
(选择一项)
A)\a
B)\n
C)\r
D)\f
22.在C语言中,下列代码运行的结果是().
#include<>
voidmain(B){
intstuAge[5]={18,22,26};
inti,avgAge=0;
for(i=1;i<5;i++){
avgAge+=stuAge[i]/5;
}
printf("%d",avgAge);
}(选择一项)
A)0
B)9
C)11
D)22
23.在C语言中,下列C语言代码的循环体执行的次数是(A).
intn=2;
while(n=0){
printf("%d",n);
n--;
}(选择一项)
A)0次
B)1次
C)2次
D)3次
24.在C语言中,下面不能对字符串正确赋初值得语句是(C)。
(选择一项)
A)charstr[5]=”good!
”;
B)charstr[]=”good”;
C)char*str=”good!
”;
D)charstr[5]={’g’,’o’,’o’,’d’};
25.inta=20,b=50;int*x;x=&a;x=&b;以上C代码执行后,*x的值是(B)(选择一项)
A)20
B)50
C)a
D)b
26.下列C语言代码输出的结果是()
#include<>
structabc
{
inta,b,c;
};
voidmain()
{
structabcss[2]={{1,2,3},{4,5,6}};
printf("%d\n",ss[0].a+ss[1].b);
}(选择一项)
A)5
B)6
C)7
D)8
27.在语言中,下列代码的输出结果是(C)。
(选择一项)
intage=2;
intw=sizeof(age);
printf("%d",w);
A)0
B)2
C)4
D)8
28.#include<>
voidmain()
{
inta=97,c=65;
printf("a=%c,c=%c\n",a,c);
}
以上C程序的运行结果是(B)。
(选择一项)
A)a=%a,c=%A
B)a=a,c=A
C)a=97,c=65
D)a=A,c=a
29.在c语言中,下面(C)正确声明了一个指针变量,并为指针变量赋值。
(选择一项)
A)intage=10;intptr;ptr=*age;
B)intage=10;intptr;ptr=&age;
C)intage=10;int*ptr;ptr=&age;
D)intage=10;int*ptr;ptr=age;
30.在C语言中,下列代码的运行结果是(C)。
(选择一项)
inga=2;
switch(a){
case1:
printf(“incase1a=%d”,a);break;
case2:
printf(“incase2a=%d”,a);
case3:
printf(“incase3a=%d”,a);break;
default:
printf(“indefaulta=%d”,a);
A)incase1a=1incase2a2
B)incase1a=2incase2a=2incase3a=2
C)incase2a=2incase3a=2
D)indefaulta=2
31.下列关于C语言变量命名规则说法正确的是(AD)(选择二项)
A)变量名必须以字母或下划线开头
B)变量的第一个字符是字母或数字
C)变量名不区分大小写
D)第一个字母后可以是字母、数字和下划线组成的序列
32.在C语言环境下,设有以下定义,则选项中运行错误的是(A)。
(选择一项)
#definea2
intb=0;
doublec=;
chard=’A’;
a)a++
b)b++
c)c++
d)d++
33.在C语言中,下列关于函数和函数调用的说法正确的是(A)。
(选择一项)
a)被调函数的定义必须在调用之前
b)除了main函数外,所有其他自定义函数都必须进行声明。
c)在声明函数原形时,参数表里的参数名可以不写。
d)每个函数都有返回类型和参数
34.二元运算符是指处理两个操作数的运算符,以下(B)操作符不是C语言的二元运算符。
(选择一项)
a)+
b)――
c)%
d)&&
35.在C语言中,下列变量定义和赋值错误的是(B)。
(选择一项)
a)shorti=5;intj=i;
b)charc=“c”;intj=c;
c)floatf=’c’+1;
d)floati=5;doubled=i;
36.在C语言中,在intnum[5]={10,20,30,40,50};中,num[3]的值是(C)。
(选择一项)
a)30
b)50
c)40
d)10。
37.有如下C语言程序,则程序执行后的输出结果(A)。
(选择一项)
#include<>
voidmain()
{
intx=10;
inty=3;
intz;
printf(“%d\n”,z=x%y);
}
a)1
b)0
38.在C语言中有如下定义,能输出字母‘M’的语句是()。
(选择一项)
structperson{
charname[9];
intage;
};
structpersonteam[10]={“John”,17,”Scott”,19,”Mary”,18,”Adam”,16};
A)printf(“%c\n”,team[3].name);
B)printf(“%c\n”,team[3].name[0]);
C)printf(“%c\n”,team[2].name[0]);
D)printf(“%c\n”,team[2].name[1]);
39.在C语言中有如下代码,执行后输出的结果是(C)。
(选择一项)
voidmain(){
inti=0;
intj=10;
for(i=0;ij++;
}
printf("%d,%d\n",i,j);
}
A)9,9
B)9,10
C)10,10
D)10,11
40.在C语言中有如下定义,程序代码中下面各输入语句中错误的是()(选择一项)
structss{
charname[10];
intage;
charsex;
}std[3],*p=std;
A)scanf("%d",&(*p).age);
B)scanf("%c",&std[0].sex);
C)scanf("%s",&;
D)scanf("%c",&(p->sex));
41.在C语言中有如下代码,执行后输出的结果是(A)。
(选择一项)
#include<>
#include<>
voidmain(){
charstr1[10]="National";
charstr2[20];
strcpy(str2,str1);
strcat(str2,str1);
printf("%s,%s\n",str1,str2);
}
A)National,NationalNational
B)National,National,National
C)National,National
D)National,National,National,National,
42.某图书管理员在书桌上堆放了共12本的一沓小说,该沓小说有4套,每套小说分为上中下三册,按上中下顺序依次堆放,某学生想看看每套小说上册的价格,因此需要把所有上册小说拿出来。
下列代码是模拟学生从该沓书中拿出所有上册小说的过程(输出如图所示的效果),请问在空白处应该填写的代码是()。
(选择一项)
voidmain()
{
inti;
intbookPrice[12];
for(i=0;i<12;i++){
bookPrice[i]=30+i%12;
}
for(i=0;空白处){
printf("拿出第%d本小说\t价格是:
%d\n",i+1,bookPrice[i]);
}
}
A)i<4;i+=3
B)i<12;i++
C)i<12;i+=3
D)i<4;i++
43.分析如下C语言代码段,输出结果为(B)。
(选择一项)
#include<>
voidmain(){
inti=6,j=4;
printf(""%d"",i%j);
}
a)0
b)2
c)
d)1
44.在C语言中,以下能对一维数组a正确初始化的语句是(CD).(选择二项)
a)inta[2]={1},{2};
b)inta[1]={10,20};
c)inta[]={};
d)inta[2]={10};
45.有如下C语言程序,则程序运行后的输出结果为(B)。
(选择一项)
#include<>
voidmain(){
inta=2;
intb=3;
intc;
printf("%d\n",c=a>b?
a:
b);
}
a)2
b)3
c)1
d)0
46."有如下C语言程序,运行后m的值为(B)。
voidmain(){
inta=4;
intm=0;
inti,j;
for(i=0;ifor(j=0;j<=i;j++)
m++;
}(选择一项)"
a)9
b)10
c)12
d)16
47.有如下C语言程序:
#include<>
intmain(){
intx=1;
inty=0;
switch(x){
case1:
switch(y){
case0:
printf("*0*");
break;
case1:
printf("*1*");
break;
}
case2:
printf("*2*");
break;
}
}
则程序运行后的输出结果是(A)。
(选择一项)
a)*0*
b)*0**1*
c)*0**2*
d)*0**1**2*
48.分析如下C语言程序段,输出为(B)。
(选择一项)
charname1[4]=”tom”;
charname2[4]=”cat”;
strcpy(name1,name2);
printf(“%s”,name1);
a)tom
b)cat
c)tomcat
d)cattom
49.有如下C语言程序,则程序运行后的输出结果是(C)。
(选择一项)
#include<>
intd=1;
voidfun(intp)
{
intd=5;
d+=p++;
printf(“%d”,d);
}
voidmain()
{
inta=3;
fun(a);
d+=a++;
printf(“%d”,d);
}
a)96
b)94
c)84
d)85