★第1题:
阅读程序,选择程序的运行结果___A___。
#include
main()
{intx;
x=try(5);
printf(“%dn”,x);
}
try(intn)
{if(n>0)return(n*try(n-2));
elreturn(1);
}
A.15
B.120
C.1
D.前面3个答案均是错误的
第2题:
在下列结论中,只有一个是正确的,它是___A___。
A.递归函数中的形式参数是自动变量
B.递归函数中的形式参数是外部变量
C.递归函数中的形式参数是静态变量
D.递归函数中的形式参数可以根据需要自己定义存储类型
★第3题:
阅读程序,选择程序的输出结果__A___。
#include
f(intx,inty)
{return(y-x);
}
main()
{int(*g)(int,int);
inta=5,b=6,c=2;
g=f;
c=(*g)(a,b);
printf(“%dn”,c);
}
A.1
B.2
C.3
D.前面3个答案均是错误的
第4题:
阅读程序,选择程序的输出结果__D___。
#include
char*p=”abcdefghijklmnopq”;
main()
{while(*p++!=’e’);
printf(“%cn”,*p);
}
A.c
B.d
C.e
D.f
★第6题:
阅读程序,选择程序的输出结果___D___。
#include
voidprtv(int*x)
{printf(”%dn”,++*x);
}
main()
{inta=25;
prtv(&a);
}
A.23
B.24
C.25
D.26
第7题:
阅读程序,选择程序的输出结果___B___。
#include
main()
{staticchara[]=”language”,b[]=”program”;
char*ptr1=a,*ptr2=b;
intk;
for(k=0;k<7;k++)
if(*(ptr1+k)==*(ptr2+k))
printf(”%c”,*(ptr1+k));
}
ge
D.有语法错误
★第8题:
函数调用strcat(strcpy(str1,str2),str3)的功能是__C___。
A.将串str1复制到串str2中,然后再连接到str3之后
B.将串str1连接到串str2之后,再复制到str3之中
C.将串str2复制到串str1中,然后再将串str3连接到串str1之
后
D.将串str2复制到串str1中,再将串str1连接到str3之后
★第9题:
设有以下程序段,则在main函数中使用语句__D___是无意义的。
main()
{intmin();
inta,b,c,(*p)();
p=min;
…
}
min(x,y)
intx,y;
{
…
}
(”%dn”,min(a,b));
B.c=min(a,b);
C.c=(*p)(a,b);
D.p++;
第10题:
已知staticinta[2][3]={2,4,6,8,10,12};正确表示数组元素地
址的是__A___。
A.*(a+1)
B.*(a[1]+2)
C.a[1]+3
D.a[0][0]
第11题:
已知inti,x[3][4];则不能将x[1][1]的值赋给变量i的语句是
___C___。
A.i=*(*(x+1)+1)
B.i=x[1][1]
C.i=*(*(x+1))
D.i=*(x[1]+1)
★第12题:
当c的值不为0时,在下列选项中能够将c的值赋给变量a、b的是
___C____.
A.c=b=a;
B.(a=c)||(b=c);
C.(a=c)&&(b=c);
D.a=c=b;
第13题:
函数的功能是交换变量x和y中的值,且通过正确调用返回交换的结
果。能正确执行此功能的函数是___D___。
(int*x,int*y)
{int*p;
*p=x;*x=*y;*y=*p;
}
(intx,inty)
{intt;
t=x;x=y;y=t;
}
(int*x,int*y)
{*x=*y;*y=*x;
}
(int*x,int*y)
{*x=*x+*y;*y=*x-*y;*x=*x-*y;
}
第14题:
已知intx[]={1,3,5,7,9,11},*ptr=x;则不能正确引用数组元素
的语句是___B___。
A.*(ptr--)
B.*(--ptr)
C.*(ptr++)
D.*(++ptr)
第15题:
已知int*ptr1,*ptr2;均指向同一个int类型一维数组中的不同
元素,k为int类型变量,则下面错误的赋值语句是___B___。
A.k=*ptr1+*ptr2;
2=k;
1=ptr2;
D.k=*ptr1*(*ptr2);
★第16题:
已知chars1[10],*s2=”ab0cdef”;则执行语句strcpy(s1,s2);
后,变量s1的内容为___A____。
0cdef
D.内容不定
第17题:
以下有关宏替换叙述中,错误的是___D___。
A.宏替换不占用运行时间
B.宏无类型名
C.宏替换只是字符替换
D.宏名必须用大写字母表示
★第18题:
C语言主函数main最多允许有___B___个参数。
A.1
B.2
C.0
D.3
★第19题:
C语言的编译系统对宏定义是___D___。
A.在程序运行时进行替换处理
B.在程序连接时进行处理
C.和源程序中其他C语句同时进行编译的
D.在对源程序中其他成分正式编译之前进行处理的
第20题:
已知int**p;则变量p是___B___。
A.指向int的指针
B.指向指针的指针
型变量
D.以上3种说法均是错误的
★第21题:
已知inti;char*s=”a045+045’b”;执行语句for(i=0;*s++;
i++);之后,变量i的结果是__B___。
A.7
B.8
C.9
D.以上3个答案都是错误的
第22题:
已知inti=0,j=1,*p=&i,*q=&j;错误的语句是___D___。
A.i=*&j;
B.p=&*&i;
C.j=*p++;
D.i=*&q;
第23题:
已知inta[]={1,2,3,4,5,6,7,8,9,10,11,12},*p=a;则值为3的
表达式是___A___。
A.p+=2,*(p++)
B.p+=2,*++p
C.p+=3,*p++
D.p+=2,++*p
★第24题:
已知inta[3][4],*p=a;p+=6;那么*p和__D___的值相同。
A.*(a+6)
B.*(&a[0]+6)
C.*(a[1]+2)
D.*(&a[0][0]+6)
第25题:
已知inta[4][3]={1,2,3,4,5,6,7,8,9,10,11,12};int
(*ptr)[3]=a,*p=a[0];则以下能够正确表示数组元素a[1][2]的表
达式是__D___。
A.*((ptr+1)[2])
B.*(*(p+5))
C.(*ptr+1)+2
D.*(*(a+1)+2)
第26题:
已知char**s;正确的语句是__B___。
A.s=”computer”;
B.*s=”computer”;
C.**s=”computer”;
D.*s=’A’;
★第27题:
已知chars[20]=”programming”,*ps=s;则不能引用字母o的
表达式是__A___。
+2
B.s[2]
[2]
+=2,*ps
第28题:
已知charb[5],*p=b;则正确的赋值语句是__C__。
A.b=”abcd”;
B.*b=”abcd”;
C.p=”abcd”;
D.*p=”abcd”;
★第29题:
已知chars[100];inti;则在下列引用数组元素的语句中,错误
的表示形式是___D___.
A.s[i+10]
B.*(s+i)
C.*(i+s)
D.*((s++)+i)
第30题:
已知chars[10],*p=s;则下列语句中,错误的语句是__B___。
A.p=s+5;
B.s=p+s;
C.s[2]=p[4]
D.*p=s[0];
第31题:(103)
以下程序的输出结果是___D___。
#include
main()
{
intx=10,y=10;
printf(“%d%dn”,x--,--y);
}
A.1010
B.99
C.910
D.109
第32题:
已知double*p[6];它的含义是___C___。
A.p是指向double类型变量的指针
B.p是double类型数组
C.p是指针数组
D.p是数组指针
★第33题:
说明语句int*(*p)();的含义是___D___。
A.p是一个指向int型数组的指针
B.p是指针变量,它构成了指针数组
C.p是一个指向函数的指针,该函数的返回值是一个整型
D.p是一个指向函数的指针,该函数的返回值是一个指向整型
的指针
第34题:
已知inta,*p=&a;则下列函数调用中错误的是___D___。
(”%d”,&a);
(”%d”,p);
(”%d”,a);
(”%d”,p);
第35题:
已知int*p,a;则语句p=&a;中的运算符&的含义是___D___。
A.位与运算
B.逻辑与运算
C.取指针内容
D.取变量地址
第36题:
下面程序的功能是将字符串s中所有的字符“c”删除。请选择填空。
#include
main()
{chars[80];
inti,j;
gets(s);
for(i=j=0;s[i]!=’0’;i++)
if(s[i]!=’c’)___A____
s[j]!=’0’;
puts(s);
}
A.s[j++]=s[i];
B.s[++j]=s[i];
C.s[j]=s[i];j++;
D.s[j]=s[i]
第37题:
阅读下列程序,选择程序的运行结果___B___。
#include
main()
{inti,k,a[10],p[3];
k=5;
for(i=0;i<10;i++)
a[i]=i;
for(i=0;i<3;i++)
p[i]=a[i*(i+1)];
for(i=0;i<3;i++)
k+=p[i]*2;
printf(“%dn”,k);
}
A.20
B.21
C.22
D.23
★第38题:
下述程序的输出结果是__A___。
#include
main()
{printf(“%f”,2.5+1*7%2/4);
}
A.2.500000
B.2.750000
C.3.375000
D.3.000000
★第39题:
下面程序的输出结果是___B___。
#include
main()
{printf(“%dn”,NULL);
}
A.-1
B.0
C.1
D.程序是错误的
第40题:
在下面的程序段中,每行前面的数字表示行号,则下面程序___D___。
1main()
2{
3inta[3];
4inti;
5for(i=0;i<3;i++)scanf(“%d”,&a[i]);
6for(i=1;i<3;i++)a[0]=a[0]+a[i];
7printf(“%fn”,a);
8}
A.没有错误
B.第5行有错误
C.第6行有错误
D.第7行有错误
★第41题:
在下面的程序段中,每行前面的数字表示行号,则下面程序___C___。
1main()
2{
3floata[10];
4inti;
5for(i=0;i<3;i++)scanf(“%d”,&a[i]);
6for(i=1;i<3;i++)a[0]=a[0]+a[i];
7printf(“%fn”,a[0]);
8}
A.没有错误
B.第3行有错误
C.第5行有错误
D.第7行有错误
★第42题:
下面程序段的运行结果是__B__。
charc[]=”tv0willn”;
printf(“%d”,strlen(c));
A.14
B.3
C.9
D.字符串中有非法字符,输出值不确定
第43题:
下面程序段的运行结果是___D___(其中~表示空格)。
chara[7]=”abcdef”,b[4]=”ABC”;
strcpy(a,b);
printf(“%c”,a[5]);
A.~
B.0
C.e
D.f
第44题:
若要求:如果字符串s1大于字符串s2则要执行if语句的语句1,应
当使用___D___。
(s1>s2)
(strcmp(s1>s2))
(strcmp(s2>s1)>0)
(strcmp(s1>s2)>0)
第45题:
已知chara[20],b[20];则以下正确的输入语句是___B___。
(a,b);
(“%s%s”,a,b);
(“%s%s”,&a,&b);
(“a”),gets(“b”);
第46题:
若二维数组a由m列,则在a[i][j]之前的元素个数为___B____。
A.j*m+i
B.i*m+j
C.i*m+j-1
D.i*m+j+1
第47题:
下列数组说明语句中错误的是___B___。
x[5]={2.0,4.0,6.0,8.0,10.0};
[5]={0,1,3,5,7,9};
1[]={’1’,’2’,’3’,’4’,’5’};
2[]={’x10’,’xa’,’x8’};
第48题:
在C语言中,二维数组元素在内存中的存放顺序是__A___。
A.按行存放
B.按列存放
C.由用户自己定义
D.由编译器决定
★第49题:
已知staticinta[3][4];则数组a中个元素__B___。
A.可在程序的运行阶段得到初值0
B.可在程序的编译阶段得到初值0
C.不能得到确定的初值
D.可在程序的编译或运行阶段得到初值0
★第50题:
语句typedeflongclass的作用是___D___。
A.建立了一种新的数据类型
B.定义了一个整型变量
C.定义了一个长整型变量
D.定义了一个新的数据类型标识符
第51题:
已知staticinta[3][4]={0};则下面正确的叙述是__D___。
A.只有元素a[0][0]可以得到初值0
B.此说明语句是错误的
C.数组a中每个元素都可得到初值,但其值不一定为0
D.数组a中每个元素均可得到初至0
第52题:
以下能对外部的二维数组a进行初始化错误的语句是___C___。
[2][3]={0};
[][3]={{1,2},{0}};
[2][3]={{1,2},{3,4},{5,6}};
[][3]={1,2,3,4,5,6};
★第53题:
以下能对外部的二维数组a进行正确初始化的语句是__B___。
[2][]={{1,0,1},{5,2,3}};
[][3]={{1,2,3},{4,5,6}};
[2][4]={{1,2,3},{4,5},{6}};
[3][]={{1,0,1},{},{1,1}};
★第54题:(105)
为了求i的3次方,请选择一个表达式填入___D____,使程序可以正
确执行。
#defineCUBE(x)(x*x*x)
main()
{inti=4;
print(“n%d”,CUBE());
}
A.i*i*i
B.x*x*x
C.x
D.i
第55题:
已知inta[10];则对a数组元素的正确引用是__D___。
A.a[10]
B.a[3.5]
C.a(5)
D.a[10-10]
★第56题:
在C语言中,引用数组元素时,其数组下标的数据类型允许是__C___。
A.整型常量
B.整型表达式
C.整型常量或整型表达式
D.任何类型的表达式
★第57题:
已知charstr[]=”abn012””;则执行语句:printf(“%d”,
strlen(str));的结果是___C____.
A.3
B.4
C.6
D.12
第58题:
下面关于字符串的说明中,错误的是__A___。
r[7]=”FORTRAN”;
r[]=”FORTRAN”;
*str=”FORTRAN”;
str[]={’F’,’O’,’R’,’T’,’R’,’A’,’N’,’0’};
第59题:
以下程序段的输出是___A____。
staticchara[]=“-12345”;
intk=0,symbol,m;
if(a[k]==’+’||a[k]=’-’)
symbol=(a[k++]==’+’)?1:-1;
for(m=0;a[k]>=’0’&&a[k]<=’9’;k++)
m=m*10+a[k]-‘0’;
printf(“number=%dn”,symbol*m);
=-12345
=12345
=-10000
=10000
第60题:
已知charstr1[10],str2[10]={“books”};则在程序中能够将
字符串“books”赋给数组str1的正确语句是___B___。
1={“books”};
(str1,str2);
1=str2
(str2,str1);
★第61题:
若有以下语句,则正确的描述是___B___。
staticcharx[]=“12345”;
staticchary[]={‘1’,‘2’,‘3’,‘4’,‘5’};
A.x数组和y数组的长度相同
B.x数组长度大于y数组长度
C.x数组长度小于y数组长度
D.x数组等价于y数组
第62题:
在下述对C语言字符数组的描述中错误的是___C___。
A.字符数组可以存放字符串
B.字符数组中的字符串可以进行整体输入/输出
C.可以在赋值语句中通过赋值运算符“=”对字符数组整体赋
值
D.字符数组的下标从0开始
第63题:
要说明一个有10个int元素的数组,应当选择语句___A____。
[10];
[2,5];
[];
*a[10];
★第64题:
已知chars[5],c;registercharb;则调用函数scanf的正确语
句是___D___。
(“%s%c”,s,c);
(“%d%c”,&b,&c);
(“%d%c”,b,&c);
(“%s%c”,s,&c);
第65题:
错误的说明语句是__D___。
charword[]={‘T’,‘u’,‘r’,‘b’,‘o’,
‘0’};
charword[]={“Turbo0”};
charword[]=“Turbo0”;
charword[]=‘Turbo0’;
★第66题:
请选择下列程序的运行结果___A___。
#include
intd=1;
fun(intp)
{intd=5;
d+=p++;
printf(“%d”,d);
}
main()
{inta=3;
fun(a);
d+=a++;
printf(“%d”,d);
}
A.84
B.96
C.94
D.85
第67题:
请选择下列程序的运行结果__D___。
#include
try()
{staticintx=3;
x++;
return(x);
}
main()
{inti,x;
for(i=0;i<=2;i++)
x=try();
printf(“%dn”,x);
}
A.3
B.4
C.5
D.6
★第68题:
请选择下列程序的运行结果___C___。
#include
fun(int*p)
{inta=10;
*p=a;
++a;
}
main()
{inta=5;
fun(&a);
printf(“%dn”,a);
}
A.5
B.6
C.10
D.11
★第69题:
以下错误的描述为__C___。
A.在函数之外定义的变量称为外部变量,外部变量是全局变量
B.在一个函数中既可以使用本函数中的局部变量,又可以使用
外部变量
C.外部变量定义和外部变量声明的含义相同
D.若在同一个源文件中,外部变量与局部变量同名,则在局部
变量的作用范围内,外部变量不起作用。
★第70题:
在一个C源程序文件中,若要定义一个只允许在该源文件中所有函
数使用的变量,则该变量需要的存储类别是___D___。
er
★第71题:
C语言中,对于存储类型为___D___的变量,只有在使用它们时才占
用内存单元。
和auto
er和extern
er和static
和register
第72题:
C语言规定,调用一个函数时,实参变量和形参变量之间的数据传
递方式是__B___。
A.地址传递
B.值传递
C.由实参传给形参,并由形参传回来给实参
D.由用户指定传递方式
第73题:
以下描述错误的是___D___。
A.不同函数中可以使用相同的变量名
B.形式参数是局部变量
C.一个函数内部定义的变量只能在本函数范围有效
D.在一个函数内部的复合语句中定义的变量可以在本函数范
围内有效
★第74题:
C语言中函数返回值的类型是由__D___决定的。
语句中的表达式类型
B.调用该函数的主调函数类型
C.调用函数时临时
D.定义函数时所指定的函数类型
★第75题:
已知int*p();这里的p是__C___。
A.指向int类型的指针变量
类型的指针数组
C.一个函数,该函数的返回值是指向int类型的指针变量
D.一个指向函数的指针变量,该函数的返回值是int类型
★第76题:
以下叙述中错误的是___C___。
A.在C语言中,函数中的自动变量可以赋初值,每调用一次赋
一次初值
B.在C语言中,在调用函数时,实参和对应形参在类型上只需
赋值兼容
C.在C语言中,外部变量的隐含类别是自动存储类别
D.在C语言中,函数形参的存储类型是自动(auto)类型的变
量
第77题:
已知函数abc的定义为:
voidabc()
{……}
则函数定义中void的含义是___A___。
A.执行函数abc后,函数没有返回值
B.执行函数abc后,函数不再返回
C.执行函数abc后,可以返回任意类型
D.以上3个答案全是错误的
第78题:
以下描述正确的是___C___。
A.C语言程序总是从第一个定义的函数开始执行
B.在C语言程序中,要调用的函数必须在main()函数中定义
C.C语言程序总是从main()函数开始执行
D.C语言程序中的main()函数必须放在程序的开始部分
★第79题:
C语言程序由函数组成,它的___B___。
A.主函数必须在其他函数之前,函数内可以嵌套定义函数
B.主函数可以在其他函数之后,函数内不可以嵌套定义函数
C.主函数必须在其他函数之前,函数内不可以嵌套定义函数
D.主函数必须在其他函数之后,函数内可以嵌套定义函数
★第80题:
选择下面程序的运行结果___A___。
#include
main()
{intk=1;
charc=’A’;
do
{switch(c++)
{ca‘A’:k++;break;
ca‘B’:k--;
ca‘C’:k+=2;break;
ca‘D’:k=k%2;continue;
ca‘E’:k=k*2;break;
default:k=k/3;
}
k++;
}while(c<’F’);
printf(“k=%dn”,k);
}
A.k=1
B.k=15
C.k=12
D.以上结果都不对
第81题:
阅读程序,写出程序的输出结果___D____。
#include
main()
{intx=10,y=10,i;
floats;
for(i=0;x>8;y=++i)
printf(“%d%d”,x--,y);
}
A.10192
B.9876
C.10990
D.101091
第82题:
若a、b、c、d、t均为int类型变量,则执行以下程序段后的结果为
___C___。
#defineMAX(A,B)(A)>(B)?(A):(B)
#definePRINT(Y)printf(“Y=%dn”,Y)
…
a=1;b=2;c=3;d=4;
t=MAX(a+b,c+d);
PRINT(t);
A.Y=3
B.存在语法错误
C.Y=7
D.Y=0
第83题:
阅读程序,写出程序的输出结果__B___。
#include
main()
{chari,j;
for(i=’0’,j=’9’;i
printf(“%c%c”,i,j);
printf(“n”);
}
A.
B.
C.
D.以上3个答案均不对
★第84题:
阅读程序,写出程序的输出结果___D____。
#include
main()
{inti=0,j=0,k=0,m;
for(m=0;m<4;m++)
switch(m)
{ca0:i=m++;
ca1:j=m++;
ca2:k=m++;
ca3:m++;
}
printf(“n%d,%d,%d,%d”,i,j,k,m);
}
A.0,0,2,4
B.0,1,2,3
C.0,1,2,4
D.0,1,2,5
第85题:
如果下列程序可以正常运行,则当从键盘输入字母A时,输出结果
为___B___。
#include
main()
{charch;
ch=getchar();
switch(ch)
{ca65:printf(“%c”,‘A’);
ca66:printf(“%c”,‘B’);
default:printf(“%s”,“other”);
}
}
A.A
r
D.编译错误,无法运行
第86题:
下列程序的运行结果是___C____。
#include
main()
{inta=2,b=-1,c=2;
if(a
elc+=1;
printf(“%dn”,c);
}
A.0
B.1
C.2
D.3
第87题:
若intx=3;且有下面的程序片段,则输出结果为___C___。
do
{printf(“%d”,x-=2);
}while(!(--x));
A.1
B.30
C.1-2
D.死循环
第88题:
若inta=5;则执行以下语句后,打印的结果为___A___。
do
{printf(“%2dn”,a--);
}while(!a);
A.5
B.不打印任何内容
C.4
D.陷入死循环
第89题:
若inti,x;则for(i=x=0;i<9&&x!=5;i++,x++)控制的循环体
将执行____C___次。
A.10
B.9
C.5
D.6
第90题:
定义inti=1;则执行语句while(i++<5);后,i的值为___D____。
A.3
B.4
C.5
D.6
★第91题:
在while(x)语句中的x与下面条件表达式等价的是___D___。
A.x==0
B.x==1
C.x!=1
D.x!=0
第92题:
下面的for语句___C___。
for(x=0,y=0;(y!=123)&&(x<4);x++);
A.是无限循环
B.循环次数不定
C.循环执行4次
D.循环执行3次
★第93题:
执行语句for(i=0;i++<3;);后,变量i的值为___C___。
A.2
B.3
C.4
D.5
第94题:(117)
若有宏定义#defineMOD(x%y)x%y,则执行以下语句后的输出为
___B___。
intz,a=15,b=100;
z=MOD(b,a);
printf(“%dn”,z++);
A.11
B.10
C.6
D.宏定义不合法
第95题:
以下描述错误的是___B____。
语句不能用于循环语句和switch语句外的任何其他语
句
B.在switch语句中使用break语句或continue语句的作用相同
C.在循环语句中使用continue语句是为了结束本次循环,而不
是终止整个循环
D.在循环语句中使用break语句是为了使流程跳出循环体,提
前结束循环
第96题:
在下面的条件语句中(其中s1和s2表示是C语言的语句),只有一
个在功能上与其他3条语句不等价,它是____D____。
(a)s1;els2;
(a==0)s2;els1;
(a!=0)s1;els2;
(a==0)s1;els2;
第97题:
为了判断两个字符串s1和s2是否相等,应当使用___D____。
(s1==s2)
(s1=s2)
(strcpy(s1,s2))
(strcmp(s1,s2)==0)
★第98题:
若要求在if后一对圆括号中表示条件“a不等于0成立”,则能正确
表示这一关系的表达式为___D___。
A.a<>0
B.!a
C.a=0
D.a
第99题:(116)
要判断char类型变量m是否是数字,可以使用下列表达式___B___。
A.0<=m&&m<=9
B.’0’<=m&&m<=’9’
C.”0”<=m&&m<=”9”
D.前面3个答案均是错误的
第100题:
以下程序的输出结果是___D___。
main()
{inta=-1,b=4,k;
k=(++a<0)&&!(b--<0);
printf(“%d%d%dn”,k,a,b);
}
A.104
B.103
C.003
D.004
本文发布于:2023-03-02 19:49:49,感谢您对本站的认可!
本文链接:https://www.wtabcd.cn/zhishi/a/1677757790108518.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文word下载地址:c语言试题.doc
本文 PDF 下载地址:c语言试题.pdf
留言与评论(共有 0 条评论) |