【精品】以下程序的输出结果是(
一、选择
1、以下程序的输出结果是( 31)
fun(int x, int y, int z)
{ z=x*x+y*y; }
main()
{ int a=31;
fun(5,2,a);
printf("%d",a);
}
2、设有以下定义:
int a[4][3]={1,2,3,4,5,6,7,8,9,10,11,12}; int (*prt)[3]=a, * p=a[0];
则下列能够正确表示数组元素a[1][2]的表达式是*(*(a+1)+2)
3、函数调用:strcat(strcpy(str1,str2),str3)的功能是(将串str2复制到串str1中后再将串str3连接到串str1之后 ):
4、若有以下定义和语句:
int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a; 则不能表示a数组元素的表达式是(a[10] ):
5、以下程序输出的值为 ( 10 )
main()
{ int a[ ]={1,2,3,4,5,6,7,8,9,0},*p; p=a;
printf("%d\n",*p+9);
}
6、表达式1&3&5&7的值为( 1 ):
7、已知有共用体变量data1定义如下:
union data
{ int i;
char ch;
float f;
} data1;
则变量data1所占的内存存储空间可表示为(sizeof(float) ): 8、若fp是指向某文件的指针,且feof(fp)的返回值是非零值,则表示(已读到此文件末尾 ): 9、以下关于typedef的叙述中错误的是(用typedef可以增加新的类型 ) 10、以下关于宏替换的叙述不正确的是(宏替换不占用编译时间 )
11、下列选项中,合法的C语言关键字是(default ) 12、设x、y、t均为int型变量,则执行语句:x=y=3;t=++x||++y;后,y的值为( 3 13、若变量已正确说明为float类型,要通过语句scanf("%f %f %f ",&a,&b,&c);给a赋于10.0,b赋予22.0,c赋予33.0,不正确的输入形式是(10.0,22.0,33.0<回车> ) 14、凡在函数中未指明存储类别的变量,其隐含的存储类别为(auto 型 ) 15、以下对C语言函数的有关描述中,正确的是( .在C中,调用函数时,只能把实参的值传送给形参,形参的值不能传送给实参 )
16、对于条件表达式(M)?(a++):(a--),其中的表达式M等价于(M ! = 0
A- 1 - 共4页
17、若i、j已定义为int型,则以下程序段中内循环体的总的执行次数是( 20 )
for(i=5;i,0;i--)
for(j=0;j,4;j++){…}
18、表达式-1<=3<=-5值是( 0 ):
19、正确的标识符是( a_3 ):
20、函数调用语句func((exp1,exp2),(exp3,exp4,exp5));中,实参的个数为:2 21、若有如下类定义:class Sample
{ public:
Sample() {value=0;}
Set(int k) {value=k;}
private:
int value;
};
Sample *p, obj;
p=&obj;
则对下列语句序列正确的描述是(语句p->Set(5)与语句obj.Set(5)等价 ): 22、若执行以下程序时从键盘上输入9,
Main()
{ int n;
scanf("%d",&n);
if(n++<10) printf("%d\n",n); else printf("%d\n",n--);
} 则输出结果是: 10
23、设有以下说明语句: struct ex { int x ; float y; char z ;} example; 则下面的叙述中不正确的是 example是结构体类型名
24、以下说法中正确的是:.C语言程序总是从main()函数开始执行
25、以下程序段的输出结果是:
do
{ printf("%3d",x-=2); }
while(!(--x)); ( .1 -2 ) 26、若有以下说明和语句,则输出结果是哪一项,
(strlen(s)为求字符串s的长度的函数)
char s[12]="a book!";
printf("%d",strlen(s)); (.7 ) 27、以下对C语言函数的有关描述中,正确的是
.在C中,调用函数时,只能把实参的值传送给形参,形参的值不能传送给实参
28、假定所有变量均已正确说明,下列是程序段运行后x的值是? a=b=c=0;x=35;
if(!a) x--;
else if(b);
if(c) x=3;
else x=4; (.4 )
A- 2 - 共4页
29、对于条件表达式(M)?(a++):(a--),其中的表达式M等价于: (.M ! = 0 )
30、执行下列语句后,a的值为:(.7 )
int a;
,define M(x,y) (x*y)
a,M(1,2,3);
31、若a为int类型,且其值为3,则执行完表达式a+=a-=a*a后,a的值是(9)
数组的首地址) 32、当调用函数时,实参是一个数组名,则向函数传送的是(
33、若变量c为char类型,能正确判断出c为小写字母的表达式是(c>= 'a')&&(c<= 'z')
34、以下程序执行后sum的值是: (不确定 ) main() { int i,sum;
for(i=1;i<6;i++) sum+=i;
printf("%d\n",sum);
}
35、下列对C语言字符数组的描述中错误的是:
(.可以在赋值语句中通过赋值运算符“=”对字符数组整体赋值 ) 36、凡在函数中未指明存储类别的变量,其隐含的存储类别为 (auto 型)
37、下面哪一项是不正确的字符串赋值或赋初值的方式
(.char str1[10];str1="string";) 38、假定所有变量均已正确说明,下列是程序段运行后x的值是(4) a=b=c=0;x=35;
if(!a) x--;
else if(b);
if(c) x=3;
else x=4;
39、若x=4,则x*=x+2的值为: (.24)
40、假设指针p1已经指向了某个整型变量,要使指针p2也指向同一个变量,则下面各项中正确的(.p2=&*p1)
41、两个乒乓球队进行比赛,各出3人。甲队为A、B、C 3人,乙队为X、Y、Z 3人。抽签决定比赛名单。有人向队员打听比赛的名单,A说他不和X比,C说他不和X、Z比,请 编程找出3对赛手的名单。1、两个乒乓球队进行比赛,各出3人。甲队为A、B、C 3人, 乙队为X、Y、Z 3人。已抽签决定比赛名单。有人向队员
打听比赛的名单,A说他不和X比,C说他不和X、Z比,请
编程找出3对赛手的名单。
main()
{int i,j,k;
for(i='x';i<='z';i++)
for(j='x';j<='z';j++)
if(i!=j)
for(k='x;k<='z';k++)
if(i!='k'&&j!='k')
A- 3 - 共4页
if(i!='x'&&(k!='x'&&k!='z')) printf("A:%c,B:%c,C:%c",i,j,k);}
42、输出以下图案:
*
* * *
* * * * *
* * * * * * *
* * * * *
* * *
* main()
{int i,j;
clrsrc();
for(i=1;i<=4;i++)
{for(i=1;i<=4;i++)
printf(" ");
for(j=1;j<=2*i-1;j++)
printf("*");
printf("\n");}
for(i=3;i>=0;i--)
{for(j=1;j<=2*(4-i);j++)
printf(" ");
for(j=1;j<=2*i-1;j++)
printf("*");
printf("\n");}
43、输入20个数,输出其中最大的数。
9、输入20个数,输出其中最大的数。
main()
{int x,max;
printf("请输入20个整数:");
scanf("%d",&x);
max=x;
while(x)
{if(x>max)max=x);
scanf("%d",&x);
pritnf("20个数中最大的是%d\n",max);
}
44、实现统计一个字符串(字母、数字、空格、及其它字符的个数)。 实现统计一个字符串(字母、数字、空格、及其它字符的个数)。
A- 4 - 共4页
#include "stdio.h"
main()
{char ch[80];
int i,v1,v2,v3,v4;
v1=v2=v3=v4=0;
gets(ch);
for(i=0;ch[i]!='\0';i++)
if(ch[i]>='a'&&ch[i]<='z'||ch[i]>='A&&ch[i]<='z')v1++;
else if(ch[i]>='0'&&ch[i]<='9')v2++;
else if(ch[i]==' ')v3++;
else v4++;
printf("zimua:%d shzi:%d kongge:%d qita:%d\n",v1,v2,v3,v4);}
45、有n个人围成一圈,顺序排号。从第1个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号那位。
有n个人围成一圈,顺序排号。从第1个人开始报数
(从1到3报数),凡报到3的人退出圈子,问最后
留下的是原来第几号那位。
main()
{int a[10],i,k,n;
for(i=0;i<10;i++)
a[i]=i;
n=10;i=0;k=0;
while(n>1)
{if(a[i]!=-1)k++;
if(k==3){a[i]=-1;n--;k=0;}
i=(i+1)%10;}
for(i=0;i<10;i++)
if(a[i]!=-1)
{printf("%d",i);break;}
A- 5 - 共4页
A- 6 - 共4页