完整word版c语言填空题题库.docx
《完整word版c语言填空题题库.docx》由会员分享,可在线阅读,更多相关《完整word版c语言填空题题库.docx(21页珍藏版)》请在冰豆网上搜索。
完整word版c语言填空题题库
二,填空题(10道小题,共20分)
1、一个C源程序中至少应包含一个[main]函数。
2、a是整型变量,则执行表达式a=25/3%3后a的值为。
[2]
3、intm=5,y=2;则表达式y+=y-=m*=y的值为。
[-16]
4、执行下列语句:
inta=1,b=2;a=a+b;b=a-b;a=a-b;printf("%d,%d\n",a,b);的输出结果分别是[2,1]
5、条件表达式的格式为表达式1?
表达式2:
表达式3,若表达式2和表达式3的类型不同,此时条件表达式的值的类型为二者中较[高]的类型
6、当运行以下程序时,从键盘键入right?
(代表回车),则下面程序的运行结果是。
#include
main()
{charc;
while((c=getchar())!
='?
')putchar(++c)
}
[sjhiu?
]
7、C语言中的数组必须先[定义],然后使用。
8、如果需要从被调用函数返回一个函数值,被调用函数必须包含【return】语句。
9、已知:
floatf1=3.2,f2,*pf1=&f1;f2=f1,则*f2的值为。
[3.2]
10、以下程序
voidfun(char*a,char*b)
{a=b;(*a)++;}
main()
{charc1="A",c2="a",*p1,*p2;
p1=&c1;p2=&c2;fun(p1,p2);
printf(“&c&c\n”,c1,c2);
}
运行后的输出结果是。
[&c&c]
11、字符串常量“123”在内存中的字节数是。
[8字节]
12、已有定义:
intx=3;则表达式:
x=x+1.78的值是。
【4】
13、inta=24;printf("%o",a);输出结果是。
【30】
14、当a=3,b=2,c=1时,表达式f=a>b>c的值是。
【0】
15、下面程序的运行结果是。
【x=1,y=20】
#include
main()
{inti,x,y;
i=x=y=0;
do{++i;
if(i%2!
=0){x=x+i;i++;}
y=y+i++;
}while(i<=7);
printf("x=%d,y=%d\n",x,y);
}
16、以下语句charstr[10]={"China"};printf("%d",strlen(str))的输出结果是。
[5]
17、为了便于区别全局变量和局部变量,通常将全局变量的首字母。
[用大写字母表示]
18、已知:
intb=5,*p=&b;并且b的地址为4000,则“printf("%d,%d",p,*p);”的输出结果是。
【4000,5】
19、程序main()
{inta[2][3]={{1,2,3},{4,5,6}};
intm,*ptr;
ptr=&a[0][0];
m=(*ptr)*(*(ptr+2))*(*(ptr+4));
printf("%d\n",m);
}
的运行结果是。
【15】
20、引用C语言标准库函数,一般要用【文件包含】预处理命令将其头文件包含进来。
21、在C语言程序中,符号常量的定义要使用【宏定义】预处理命令。
22、逻辑运算符!
是[自右至左]结合性。
23、下面的程序的运行结果是。
【s=254】
#include
main()
{inta,s,n,count;
a=2;s=0;n=1;count=1;
while(count<=7){n=n*a;s=s+n;++count;}
printf("s=%d",s);
}
24[strcat](字符数组名1,字符数组名2)把字符数组2中的字符串连接到字符数组1中字符串的后面,并删去字符串1后的串标志“\0”。
25、C语言允许函数值类型缺省定义,此时该函数值隐含的类型是[整形]。
26、数组在内存中占用一段连续的存储空间,它的首地址由【数组名】表示
27若有定义:
inta[2][3]={2,4,6,8,10,12};则*(&a[0][0]+2*2+1)的值是【12】
28、在一个C源程序中,注释部分二侧的分界符为。
【/*和*/】
29、在C语言程序中,转义字符“\n”的功能是[换行]。
30、当a=5,b=4,c=2时,表达式a>b!
=c的值是。
【1】
32、在C语言程序中,用关键字定义字符型变量。
33若m是一个三位数,则百位数字为
34、执行下列语句:
floata;intb;a=b=24.5/5;printf(“%f,%d”,a,b);输出结果是【4.000000,4】
35、若x和n均是int型变量,且x和n的初值均为5,则计算表达式x+=n++后x的值为,n的值为
36、若a=6,b=4,c=2,则表达式!
(a-b)+c-1&&b+c/2的值是。
[1]
37、当运行以下程序时,从键盘输入-10(表示回车),则下面程序的运行结果是。
[m=4,n=2]
#include
main()
{inta,b,m,n;
m=n=1;
scanf("%d%d",&a,&b);
do{if(a>0){m=2*n;b++;}
else{n=m+n;a+=2;b++;}
}while(a==b);
printf("m=%dn=%d",m,n);
}
38、C语言规定了以字符[‘\0’]作为字符串结束标志。
39、如果一函数只允许同一程序文件中的函数调用,则应在该函数定义前加上[static]修饰。
40、对数组元素的引用方法有下标法和[指针法]两种。
41、对于“inta[4];”可理解为数组a有4个元素,每个元素都是整型数据,那么,对于“int*a[4];”的理解就是数组a
有4个元素,每个元素都是[指针变量]。
42、在C语言中,八进制整型常量以【0】作为前缀。
43、已有定义:
intx=0,y=0;,则计算表达式:
(x+=2,y=x+3/2,y+5)后,表达式的值是。
【8】
44、下面程序段的运行结果是【a=-5】。
inti=1,a=0,s=1;
do{a=a+s*i;s=-s;i++;}while(i<=10);
printf("a=%d",a);
45、要使指针变量与变量之间建立联系,可以用运算符[*]来定义一个指针变量
46、设inta[10],*p=a;则对a[3]的引用可以是p[3]或[*(p+3)]。
47、C语言程序是由[函数]构成的。
48、在C语言程序中,用关键字【float】定义单精度实型变量。
49、若m是一个三位数,则十位数字为[m/10-m/100*10]。
50、inta=24;printf("%x",a);输出结果是。
[18]
51、设x,y,z均为int型变量,请写出描述“x或y中有一个小于z”的表达式。
[x52、下面程序的运行结果是。
[x=1,y=20]
#include
main()
{inti,x,y;
i=x=y=0;
do{++i;
if(i%2!
=0){x=x+i;i++;}
y=y+i++;
}while(i<=7);
printf("x=%d,y=%d\n",x,y);
}
53、形式参数也是【局部】变量。
54、以下程序
#include
fun(intx,inty,int*cp,int*dp)
{
*cp=x+y;
*dp=x-y;
}
main()
{
inta,b,c,d;
a=30;b=50;
fun(a,b,&c,&d);
printf("%d,%d\n",c,d);
return0;
}
输出结果是。
【80,-20】
55、程序main()
{inta[2][3]={{1,2,3},{4,5,6}};
intm,*ptr;
ptr=&a[0][0];
m=(*ptr)*(*(ptr+2))*(*(ptr+4));
printf("%d\n",m);
}
的运行结果是【15】
56、运算符%、*=、||、==中,优先级最低的是。
【*=】
57、在C语言中,"x"在内存中占【2】字节。
58、设y为int型变量,请写出描述“y是偶数”的表达式。
【y%2==0】
59、下面程序段中循环体的执行次数是[3次]。
a=10;
b=0;
do{b+=2;a-=2+b;}while(a>=0);
60、程序的输出值是。
[10]
#include
voidf(int*p)
{
*p=10;
}
int*p;
voidmain()
{
f(p);
printf("%d",(*p)++);
}
61、在C语言的赋值表达式中,赋值号左边必须是[变量]。
62、当a=3,b=2,c=1时,表达式f=a>b>c的值是。
【0】
63、以下程序的输出结果是。
[5,2,3]
#include
intsub(intx,inty,int*z)
{*z=x-y;}
main()
{
inta,b,c;
sub(10,5,&a);
sub(7,a,&b);
sub(a,b,&c);
printf("%d,%d,%d\n",a,b,c);
return0;
}
64、下面程序的输出是。
[k=2a=3b=2]
#include
main(intargc,charargv[])
{
char*s="121";
intk=0,a=0,b=0;
do
{
k++;
if(k%2==0)
{
a=a+s[k]-'0';
continue;
}
b=b+s[k]-'0';
a=a+s[k]-'0';
}while(s[k+1]);
printf("k=%da=%db=%d\n",k,a,b);
return0;
}
65、运算符的结合性有[2]种。
66、己有定义:
floatf=13.8;,则表达式:
(int)f%3的值是。
[1]
67、判断char型变量ch是否为大写字母的正确表达式是。
[ch>=’A’&&ch<=’Z’]
68、下面程序段的运行结果是。
[a=-5]
inti=1,a=0,s=1;
do{a=a+s*i;s=-s;i++;}while(i<=10);
printf("a=%d",a);
69、C语言中的字符数组中的一个元素存放[1]个字符。
70、已知:
inta[5],*p=a;则p指向数组元素a[0],那么p+1指向[a[1]]。
71、设有如下定义:
inta[5]={0,1,2,3,4},*p1=&a[1],*p2=&a[4];则p2-p1的值为。
[6]
72、己有定义:
floatf=13.8;,则表达式:
(int)f%3的值是。
[1]
73、下面程序段的运行结果是。
[a=-5]
inti=1,a=0,s=1;
do{a=a+s*i;s=-s;i++;}while(i<=10);
printf("a=%d",a);
74、已知:
inta[5],*p=a;则p指向数组元素a[0],那么p+1指向[a[6]]。
75、引用C语言标准库函数,一般要用[文件包含]预处理命令将其头文件包含进来。
76、在C语言中,运算符++和—的运算量必须是【变量】。
77、逻辑运算符!
是【自右至左】结合性。
78、下面的程序的运行结果是。
【s=25】
#include
main()
{inta,s,n,count;
a=2;s=0;n=1;count=1;
while(count<=7){n=n*a;s=s+n;++count;}
printf("s=%d",s);
}
79、局部变量只在该[函数]有效。
80、设char*s=”\ta\017bc”;则指针变量s指向的字符串所占的字节数是【2】个
81、以下程序的输出结果是。
【10】
main()
{intarr[]={30,25,20,15,10,5},*p=arr;
p++;
printf(“%d\n”,*(p+3));
}
82、在C语言中,八进制整型常量以【0】作为前缀。
83、表达式3.6/6+1/2+55%10的值是。
【5.6】
85、C语言的三种逻辑运算符中优先级最高的为【逻辑非!
】。
86、[全局变量]可以被本文件中的其他函数所共用。
87、以下程序
#include
fun(intx,inty,int*cp,int*dp)
{
*cp=x+y;
*dp=x-y;
}
main()
{
inta,b,c,d;
a=30;b=50;
fun(a,b,&c,&d);
printf("%d,%d\n",c,d);
return0;
}
输出结果是。
【80,-20】
88、inta=2,b=3;floatx=3.5,y=2.5;则表达式(float)(a+b)/2+(int)x%(int)y的值为。
【3.5】
89、下面程序的运行结果是。
[1,-2]
y=2;a=1;
while(y--!
=-1)
{do{a*=y;a++;}while(y--);}
printf("%d,%d",a,y);
90、用数组元素作为函数的实参时,与用变量做实参一样,是[值]传递。
91、以下程序的输出结果是。
【5,2,3】
#include
intsub(intx,inty,int*z)
{*z=x-y;}
main()
{
inta,b,c;
sub(10,5,&a);
sub(7,a,&b);
sub(a,b,&c);
printf("%d,%d,%d\n",a,b,c);
return0;
}
92、程序main()
{inta[3][4]={1,3,5,7,9,11,13,15,17,19,21,13};
int(*ptr)[4];
intsum=0,i,j;
ptr=a;
for(i=0;i<3;i++)
for(j=0;j<2;j++)
sum+=*(*(ptr+i)+j);
printf("%d\n",sum);
}
的运行结果是。
【60】
93、字符串常量“123”在内存中的字节数是。
【4】
94、当a=3,b=2,c=1时,表达式f=a>b>c的值是。
【0】
95、按序排列的同类型变量的集合称为【结构体变量】
96、C语言中按函数在程序中出现的位置来分,函数的调用有函数语句、函数参数和【函数表达式】三种方式。
97、请定义一个指向字符类型数据的指针变量p,。
【char*p】
98、请定义一个指向指针数据的指针变量p,其基类型是字符型。
[char**p]
99、doubled1=1.2,d2=2.4;将表达式d1+2*d2强制转换为整型值的语句是。
100、下面的程序的运行结果是。
[s=254]
#include
main()
{inta,s,n,count;
a=2;s=0;n=1;count=1;
while(count<=7){n=n*a;s=s+n;++count;}
printf("s=%d",s);
}
101、如果被调用函数的实参列表包含多个实参,则各参数间用[逗号]隔开。
(使用汉字填
102、下列程序段的输出结果是。
【1,234】
voidfun(int*x,int*y)
{printf(“%d,%d”,*x,*y);
*x=3;*y=4;
}
main()
{intx=1,y=2;
fun(&x,&y);
printf(“%d%d”,x,y);
}
103、设inta[10],*p=a;则对a[3]的引用可以是p[3]或【*(p+3)】。
104、doubled1=1.2,d2=2.4;将表达式d1+2*d2强制转换为整型值的语句是。
[(int)(d1+2*d2);]
105、定义一个整型数组a[10],则下标最大的数组元素为[a[9]]。
106、要使指针变量与变量之间建立联系,用运算符[*]来建立指针变量与变量之间的联系。
107、下列程序的输出结果是[0]。
voidfun(int*n)
{while((*n)--);
printf(“%d”,++(*n));
}
main()
{inta=100;
fun(&a);
}
108、charc=’\010’;则变量c中包含字符的个数为[1]。
109、intm=5,y=2;则表达式y+=y-=m*=y的值为。
[-16]
110、以下程序
#include
fun(intx,inty,int*cp,int*dp)
{
*cp=x+y;
*dp=x-y;
}
main()
{
inta,b,c,d;
a=30;b=50;
fun(a,b,&c,&d);
printf("%d,%d\n",c,d);
return0;
}
输出结果是。
【80,-20】
111、若有以下定义和语句:
inta[4]={0,1,2,3},*p;p=&a[1];则++(*p)的值是【1】
112、运算符=的结合性是【自右至左】。
113、若x为整型变量,执行语句x='b'-'A';后,x的值为[33]。
114、inta=24;printf("%o",a);输出结果是。
115、程序
voidfun(char*c,intd)
{*c=*c+1;d=d+1;
printf(“%c,%c,”,*c,d);
}
main()
{chara=’A’,b=’a’;
fun(&b,a);printf(“%c,%c\n”,a,b);
}
运行后的输出结果是。
[b,A,B,b]
116、设main函数的说明为:
main(intargc,char*argv[]),且有命令行为:
FILE1123(代表回车),则argc
的值是。
[4]
117、x是整型变量,表达式:
(x=8,x%=x+5)的值是。
[8]
118、执行下列语句:
inta=1,b=2;a=a+b;b=a-b;a=a-b;printf("%d,%d\n",a,b);的输出结果分别是。
[2,1]
119、条件“22&&x<3||x<-10]。
120、设有如下定义:
inta[5]={0,2,4,6,8},*p1=&a[1],*p2=&a[4];则*p2-*p1的值为。
【6】
121、x是整型变量,表达式:
(x=8,x%=x+5)的值是。
【8】
122、下面程序的运行结果是。
【x=1,y=20】
#include
main()
{inti,x,y;
i=x=y=0;
do{++i;
if(i%2!
=0){x=x+i;i++;}
y=y+i++;
}while(i<=7);
printf("x=%d,y=%d\n",x,y);
}
123、请定义一个指向字符类型数据的指针变量p,。
[char*p;]
10、已知:
inta[5],*p=a;若“printf("%d",p);”的输出结果是200,那么:
“printf("%d",p+1);”的输出结果是。
[202]
124、把al、a2定义为长整型变量的定义语句是。
[longa1,a2;]
125、若已有定义语句:
intk=7;,赋值表达式:
k+=k%=k-3的值是。
[6]
126、逻辑运算符!
是[从右至左]结合性。
_
127、以下程序的输出结果是。
【efgh】
main()
{char*p="abcdefgh",*r;
long*q;
q=(long*)p;
q++;
r=(char*)q;
printf("%s\n",r);
}
128、程序#include
voidprtv(int*x)
{printf("%d\n",++*x);
}
main()
{inta=25;
prtv(&a);
}
的运行结果为[26]
129、a是整型变量,则执行表达式a=25/3%3后a的值为。
[2]
130、用来存放[字符数据]的数组称为字符数组。
131、【全局变量】可以被本文件中的其他函数所共用。
132、程序main()
{intvar,*p;
var=100;
p=&var;
var=*p+10;
printf("%d",var);
}
的运行结果为。
【110】
133、若有定义:
inta[2][3]={2,4,6,8,10,12};则*(&a[0][0]+2*2+1)的值是【12】
134、访问变量的方式有直接访问和【间接访问】。
135、C语言允许函数值类型缺省定义,此时该函数值隐含的类型是【整形】。
136、已知:
inta[2][3]={1,2,3,4,5,6},*p=&a[0][0];则*(p+1)的值为。
【4】
137、有如下程序
main()
{charch[2][5]={“6937”,”8254”},*p[2];
inti,j,s=0;
for(i=0;i<2;i++)p[i]=ch[i];
for(i=0;i<2;i++)
for(j=0;p[i][j]>’\0’;j+=2)
s=10*s+p[i][j]-‘0’;
printf(“%d\n”,s);
}
该程序的输出结果是。
【6385】
138、引用C语言标准库函数,一般要用【文件包含】预处理命令将其头文件包含进来。
139、若m是一个三位数,则个位数字为。
【m%10】
140、下面程序段的运行结果是。
[a=-5]
inti=1,a=0,s=1;
do{a=a+s*i;s=-s;i++;}while(i<=10);
printf("a=%d",a);
141、若有以下定义和语句:
inta[4]={1,2,3,4},*p;p=&a[2];则*--p的值是[2]
142、若有定义:
doublex[3][5];则x数组中列下标的上