新浪博客

c语言题库之填空题

2014-06-04 01:27阅读:
,填空题(10道小题,共20分)
1、一个C源程序中至少应包含一个[main] 函数。

2a是整型变量,则执行表达式a=25/3%3a的值为。[2]
3int m=5,y=2;则表达式y+=y- =m*=y的值为。[-16]
4、执行下列语句:
int a=1, b=2; a=a+b; b=a-b; a=a-b; printf('%d , %d ', a,b );的输出结果分别是[2,1]
5、条件表达式的格式为表达式1?表达式2:表达式3,若表达式2和表达式3的类型不同,此时条件表达式的值的类型为二者中较[]的类型
6、当运行以下程序时,从键盘键入right?(代表回车),则下面程序的运行结果是。
#include
main( )
{ char c;
while((c=getchar())!='?') putchar(++c)
}

[sjhiu?]
7C语言中的数组必须先[定义],然后使用。

8、如果需要从被调用函数返回一个函数值,被调用函数必须包含【return】语句。

9、已知:float f1=3.2,f2,*pf1=&f1;f2=f1,则*f2的值为。[3.2]

10、以下程序
void fun(char *a, char *b)
{ a=b; (*a)++; }
main ()
{ char c1='A', c2='a', *p1, *p2;
p1=&c1; p2=&c2; fun(p1,p2);
printf(“&c&c”,c1,c2);
}
运行后的输出结果是 [&c&c]

11、字符串常量“123”在内存中的字节数是 [4字节]
12、已有定义 :int x=3 ;则表达式 :x=x+1.78 的值是 4
13int a=24; printf('%o ', a );输出结果是 。【30
14、当a=3,b=2,c=1时,表达式f=a>b>c的值是 。【0
15、下面程序的运行结果是 。【x=1,y=20
#include
main()
{ int i,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',x,y);
}
16、以下语句char str[10]={'China'}; printf('%d',strlen(str))的输出结果是 [5]
17、为了便于区别全局变量和局部变量,通常将全局变量的首字母 [用大写字母表示]
18、已知:int b=5,*p=&b;并且b的地址为4000,则“printf('%d,%d',p,*p);”的输出结果是 。【4000,5
19、程序main()
{ int a[2][3]={{1,2,3},{4,5,6}};
int m,*ptr;
ptr=&a[0][0];
m=(*ptr)*(*(ptr+2))*(*(ptr+4));
printf('%d',m);
}
的运行结果是 。【15

20、引用C语言标准库函数,一般要用【文件包含】 预处理命令将其头文件包含进来。
21、在C语言程序中,符号常量的定义要使用【宏定义】 预处理命令。
22、逻辑运算符!是[自右至左] 结合性。
23、下面的程序的运行结果是 。【s=254
#include
main( )
{int a,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若有定义:int a[2][3]={2,4,6,8,10,12};则*(&a[0][0]+2*2+1)的值是 12
28、在一个C源程序中,注释部分二侧的分界符为 。【
29、在C语言程序中,转义字符“”的功能是 [换行]
30、当a=5,b=4,c=2时,表达式a>b!=c的值是 。【1
32、在C语言程序中,用关键字 c语言题库之填空题定义字符型变量。
33m是一个三位数,则百位数字为 c语言题库之填空题
34、执行下列语句:float a; int b; a = b =24.5/5; printf(%f,%d, a, b); 输出结果是 4.000000,4
35、若xn均是int型变量,且xn的初值均为5,则计算表达式x+=n++x的值为 c语言题库之填空题n的值为 c语言题库之填空题
36、若a=6,b=4,c=2,则表达式!(a-b)+c-1&&b+c/2的值是 [1]

37、当运行以下程序时,从键盘输入-1 0(表示回车),则下面程序的运行结果是 [m=4,n=2]
#include
main()
{ int a,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=%d n=%d',m,n);
}
38C语言规定了以字符[\0] 作为字符串结束标志。
39、如果一函数只允许同一程序文件中的函数调用,则应在该函数定义前加上[static] 修饰。

40、对数组元素的引用方法有下标法和[指针法] 两种。
41、对于“int a[4];”可理解为数组a4个元素,每个元素都是整型数据,那么,对于“int *a[4];”的理解就是数组a
4个元素,每个元素都是[指针变量]
42、在C语言中,八进制整型常量以【0作为前缀。
43、已有定义 :int x=0,y=0;, 则计算表达式 :(x+=2,y=x+3/2,y+5) , 表达式的值是 。【8
44、下面程序段的运行结果是 a=-5】。
int i=1,a=0,s=1;
do{a=a+s*i; s=-s; i++;} while (i<=10);
printf('a=%d',a);
45、要使指针变量与变量之间建立联系,可以用运算符[*] 来定义一个指针变量
46、设int a[10],*p=a;则对a[3]的引用可以是p[3][*(p+3)]
47C语言程序是由[函数] 构成的。
48、在C语言程序中,用关键字 float】定义单精度实型变量。
49、若m是一个三位数,则十位数字为 [m/10-m/100*10]
50int a=24; printf('%x ', a );输出结果是 [18]
51、设xyz均为int型变量,请写出描述“xy中有一个小于z”的表达式
[x

52、下面程序的运行结果是 [x=1,y=20]
#include
main()
{ int i,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',x,y);
}
53、形式参数也是局部】变量。
54、以下程序
#include
fun(int x, int y, int *cp, int *dp)
{
*cp=x+y;
*dp=x-y;
}
main( )
{
int a,b,c,d;
a=30; b=50;
fun(a, b, &c, &d);
printf('%d,%d', c, d);
return 0;
}
输出结果是 80-20
55、程序main()
{ int a[2][3]={{1,2,3},{4,5,6}};
int m,*ptr;
ptr=&a[0][0];
m=(*ptr)*(*(ptr+2))*(*(ptr+4));
printf('%d',m);
}
的运行结果是【15
56、运算符%*=||==中,优先级最低的是 。【*=
57、在C语言中,'x'在内存中占【2】字节。
58、设yint型变量,请写出描述“y是偶数”的表达式 。【y%2==0
59、下面程序段中循环体的执行次数是[3]
a=10;
b=0;
do{b+=2;a-=2+b; }while (a>=0);
60、程序的输出值是 [10]
#include
void f(int *p)
{
*p=10;
}
int *p;
void main( )
{
f(p);
printf('%d',(*p)++);
}
61、在C语言的赋值表达式中,赋值号左边必须是[变量]
62、当a=3,b=2,c=1时,表达式f=a>b>c的值是 。【0

63、以下程序的输出结果是 [5,2,3]
#include
int subint x, int y, int *z
{ *z=x-y; }
main( )
{
int a,b,c;
sub(10,5,&a);
sub(7,a,&b);
sub(a,b,&c);
printf('%d,%d,%d',a,b,c);
return 0;
}

64、下面程序的输出是 [k=2 a=3 b=2]
#include
main(int argc, char argv[ ])
{
char *s='121';
int k=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=%d a=%d b=%d',k,a,b);
return 0;
}
65、运算符的结合性有[2] 种。
66、己有定义 :float f=13.8;, 则表达式 :(int)f% 3 的值是 [1]
67、判断char型变量ch是否为大写字母的正确表达式是 [ch>=A&&ch<=Z]
68、下面程序段的运行结果是 [a=-5]
int i=1,a=0,s=1;
do{a=a+s*i; s=-s; i++;} while (i<=10);
printf('a=%d',a);
69C语言中的字符数组中的一个元素存放[1]个字符。
70、已知:int a[5],*p=a;p指向数组元素a[0],那么p+1指向 [a[1]]
71、设有如下定义:
int a[5]={0,1,2,3,4},*p1=&a[1],*p2=&a[4];p2-p1的值为 [6]
72、己有定义 :float f=13.8;, 则表达式 :(int)f% 3 的值是 [1]
73、下面程序段的运行结果是 [a=-5]
int i=1,a=0,s=1;
do{a=a+s*i; s=-s; i++;} while (i<=10);
printf('a=%d',a);
74、已知:int a[5],*p=a;p指向数组元素a[0],那么p+1指向[a[1]]

75、引用C语言标准库函数,一般要用 [文件包含]预处理命令将其头文件包含进来。
76、在C语言中,运算符++和—的运算量必须是 【变量】。
77、逻辑运算符!是【自右至左】结合性。
78、下面的程序的运行结果是 。【s=25
#include
main( )
{int a,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()
{ int arr[ ]={30,25,20,15,10,5}, *p=arr;
p++;
printf(“%d”,*(p+3));
}
82、在C语言中,八进制整型常量以【0作为前缀。
83、表达式3.6/6+1/2+55的值是 5.6

85C语言的三种逻辑运算符中优先级最高的为【逻辑非!

86[全局变量] 可以被本文件中的其他函数所共用。
87、以下程序
#include
fun(int x, int y, int *cp, int *dp)
{
*cp=x+y;
*dp=x-y;
}
main( )
{
int a,b,c,d;
a=30; b=50;
fun(a, b, &c, &d);
printf('%d,%d', c, d);
return 0;
}
输出结果是 80-20
88int a=2,b=3;float x=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
int subint x, int y, int *z
{ *z=x-y; }
main( )
{
int a,b,c;
sub(10,5,&a);
sub(7,a,&b);
sub(a,b,&c);
printf('%d,%d,%d',a,b,c);
return 0;
}

92、程序main()
{ int a[3][4]={1,3,5,7,9,11,13,15,17,19,21,13};
int (*ptr)[4];
int sum=0,i,j;
ptr=a;
for (i=0;i<3;i++)
for (j=0;j<2;j++)
sum+=*(*(ptr+i)+j);
printf('%d',sum);
}
的运行结果是 。【60
93、字符串常量“123”在内存中的字节数是 。【4

94、当a=3,b=2,c=1时,表达式f=a>b>c的值是 。【0
95、按序排列的同类型变量的集合称为【数组】
96C语言中按函数在程序中出现的位置来分,函数的调用有函数语句、函数参数和【函数表达式】 三种方式。
97、请定义一个指向字符类型数据的指针变量p, 。【char *p

98、请定义一个指向指针数据的指针变量p,其基类型是字符型 [char**p]
99double d1=1.2,d2=2.4;将表达式d1+2*d2强制转换为整型值的语句是
100、下面的程序的运行结果是 [s=254]
#include
main( )
{int a,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,23 4
void fun(int *x, int *y)
{ printf(“%d ,%d”, *x, *y);
*x=3; *y=4;
}
main()
{ int x=1,y=2;
fun(&x,&y);
printf(“%d %d”,x, y);
}
103、设int a[10],*p=a;则对a[3]的引用可以是p[3]或【*(p+3)
104double d1=1.2,d2=2.4;将表达式d1+2*d2强制转换为整型值的语句是 [(int)(d1+2*d2);]

105、定义一个整型数组a[10],则下标最大的数组元素为[a[9]]
106、要使指针变量与变量之间建立联系,用运算符[*] 来建立指针变量与变量之间的联系。
107、下列程序的输出结果是 [0]
void fun(int *n)
{ while( (*n)--);
printf(“%d”,++(*n));
}
main()
{ int a=100;
fun(&a);
}

108char c=\010’;则变量c中包含字符的个数为[1]
109int m=5,y=2;则表达式y+=y- =m*=y的值为 [-16]
110、以下程序
#include
fun(int x, int y, int *cp, int *dp)
{
*cp=x+y;
*dp=x-y;
}
main( )
{
int a,b,c,d;
a=30; b=50;
fun(a, b, &c, &d);
printf('%d,%d', c, d);
return 0;
}
输出结果是 80-20
111、若有以下定义和语句:int a[4]={0,1,2,3}, *p; p=&a[1]; ++(*p)的值是 1
112、运算符=的结合性是【自右至左】

113、若x为整型变量,执行语句x='b'-'A';后,x的值为[33]
114int a=24; printf('%o ', a );输出结果是
115、程序
void fun(char *c,int d)
{ *c=*c+1;d=d+1;
printf(“%c,%c,”,*c,d);
}
main()
{ char a=’A’,b=’a’;
fun(&b,a); printf(“%c,%c”,a,b);
}
运行后的输出结果是 [b,A,B,b]
116、设main函数的说明为:main(int argc, char *argv[]), 且有命令行为:FILE1 1 2 3(代表回车),则argc
的值是 [4]
117x是整型变量,表达式:(x=8,x%=x+5)的值是 [8]
118、执行下列语句: int a=1, b=2; a=a+b; b=a-b; a=a-b; printf('%d , %d ', a,b );的输出结果分别是 [2,1]
119、条件“2x<-10”的C语言表达式是 [x>2&&x<3||x<-10]
120、设有如下定义:
int a[5]={0,2,4,6,8},*p1=&a[1],*p2=&a[4];*p2-*p1的值为 6
121x是整型变量,表达式:(x=8,x%=x+5)的值是 。【8
122、下面程序的运行结果是 。【x=1,y=20
#include
main()
{ int i,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',x,y);
}
123、请定义一个指向字符类型数据的指针变量p, [char*p;]
10、已知:int a[5],*p=a;若“ printf('%d',p);”的输出结果是200,那么:“ printf('%d',p+1);”的输出结果是 [202]
124、把 al a2 定义为长整型变量的定义语句是 [long a1,a2;]
125、若已有定义语句:int k=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',r);
}
128、程序# include
void prtv(int *x)
{ printf('%d',++*x);
}
main()
{ int a=25;
prtv(&a);
}
的运行结果为 [26]
129a是整型变量,则执行表达式a=25/3%3a的值为。[2]

130、用来存放[字符数据]的数组称为字符数组。
131【全局变量】可以被本文件中的其他函数所共用。

132、程序main()
{ int var, *p;
var=100;
p=&var;
var=*p+10;
printf('%d',var);
}
的运行结果为。【110
133、若有定义:int a[2][3]={2,4,6,8,10,12};则*(&a[0][0]+2*2+1)的值是【12
134、访问变量的方式有直接访问和【间接访问】
135C语言允许函数值类型缺省定义,此时该函数值隐含的类型是【整形】
136、已知:int a[2][3]={1,2,3,4,5,6},*p=&a[0][0];*(p+1)的值为 。【4
137、有如下程序
main()
{ char ch[2][5]={“6937”,”8254”},*p[2];
int i,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”,s);
}
该程序的输出结果是 。【6385

138、引用C语言标准库函数,一般要用【文件包含】 预处理命令将其头文件包含进来。
139、若m是一个三位数,则个位数字为 。【m
140、下面程序段的运行结果是 [a=-5]
int i=1,a=0,s=1;
do{a=a+s*i; s=-s; i++;} while (i<=10);
printf('a=%d',a);
141、若有以下定义和语句:int a[4]={1,2,3,4},*p; p=&a[2]; *- - p的值是 [2]
142、若有定义:double x[3][5];则x数组中列下标的上限为 [4]
143、当被调用函数的定义出现在主调函数的[前面],可以不加以声明。
144、以下程序运行后的输出结果是 。【9876 876
main()
{ char s[ ]=“9876”,*p;
for ( p=s ; p
145、程序main()
{ int a[2][3]={{1,2,3},{4,5,6}};
int m,*ptr;
ptr=&a[0][0];
m=(*ptr)*(*(ptr+2))*(*(ptr+4));
printf('%d',m);
}
的运行结果是 。【15
146、下面程序的运行结果是
#include
main()
{ int i,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',x,y);
}
147C程序的执行从【main函数开始,调用其他函数后流程返回该函数,并在该函数中结束整个程序的运行。
148、下列程序的运行结果是 [3 6]
void fun(int *a, int *b)
{ int *k;
k=a; a=b; b=k;
}
main()
{ int a=3, b=6, *x=&a, *y=&b;
fun(x,y);
printf(“%d %d”, a, b);
}
149、下面程序的运行结果是 [1,-2]
y=2;a=1;
while(y--!=-1)
{do{a*=y; a++;}while(y--);}
printf('%d,%d',a,y);

150、程序main()
{ int a[3][4]={1,3,5,7,9,11,13,15,17,19,21,13};
int (*ptr)[4];
int sum=0,i,j;
ptr=a;
for (i=0;i<3;i++)
for (j=0;j<2;j++)
sum+=*(*(ptr+i)+j);
printf('%d',sum);
}
的运行结果是 [60]

151、如果在所有函数定义之前,在函数的【前面】已作了函数声明,则在各个主调函数中不必对所调用的函数再做声明。
152、以下程序的输出结果是 7
#include
#include
main()
{ char b1[8]='abcdefg',b2[8],*pb=b1+3;
while (--pb>=b1) strcpy(b2,pb);
printf('%d',strlen(b2));
}
153、程序# include
void prtv(int *x)
{ printf('%d',++*x);
}
main()
{ int a=25;
prtv(&a);
}
的运行结果为 。【26
154、在C语言中的标识符只能由3种字符组成,它们是。【字母、数字、下划线
155、下面程序段的运行结果是。【a=-5
int i=1,a=0,s=1;
do{a=a+s*i; s=-s; i++;} while (i<=10);
printf('a=%d',a);
156、形式参数也是[局部变量]变量。
157、要使指针变量与变量之间建立联系,可以用运算符【*】来定义一个指针变量。
158、对于“int a[4];”可理解为数组a4个元素,每个元素都是整型数据,那么,对于“int *a[4];”的理解就是数组a4个元素,每个元素都是【指针变量】。
159int x=12, n=5;则执行表达式x%=(n%=2)x的值为 。【0
160、下面的程序的运行结果是 。【254
#include
main( )
{int a,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);
}
161、执行下列语句:float a; int b; b=a=24.5/5; printf(%f,%d, a, b); 输出结果是 。【4.900000,4
162、在C语言中,二维数组元素的内存中的存放顺序是【按行存放】
163、在C程序中,指针变量能够赋【变量的地址】值或空值
164、已有定义 :double x=3.5;, 则表达式 :x=(int)x+1 的值是 [4.0]
165、局部变量只在【该该函数中】有效。
166、若有以下定义和语句:int a[4]={0,1,2,3}, *p; p=&a[1]; ++(*p)的值是[2]
167、已知:int a=10,*p=&a;则“printf('%d,%d',a,*p);”的输出结果是 [10,10]
168、在C语言程序中,符号常量的定义要使用 [宏定义]预处理命令。
169、若a=6,b=4,c=2,则表达式!(a-b)+c-1&&b+c/2的值是 。【1
170、下面程序段的运行结果是 。【231
for(a=1,i=-1;i<1;i++)
{a++; printf('%d',a);}
printf('%d',i);
171、用来存放【 字符数据】的数组称为字符数组。
172C语言中每个变量和函数有两个属性:数据类型和数据的【存储】 类别。
173、已知:下面程序段中第一个printf语句的输出是200,则第二个printf语句的输出是 。【200
int a[3][4],*p=*a;
printf('%d',a);
printf(''%d',p);
174、下面程序
void ss(char *s,char t)
{ while(*s)
{ if(*s==t) *s=t-‘a’+’A’;
s++;
}
}
main()
{ char str1[100]=“abcddfefdbd”,c=’d’;
ss(str1,c); printf(“%s”,str1);
}
运行后的输出结果是 。【abcDDfefDbD
175、若有定义:int b=7;float a=2.5,c=4.7;则表达式a+(int)(b/3*(int)(a+c)/2)%4的值为 [5.5]
176、如果一函数直接或间接地调用自身,这样的调用称为[递归调用]
177、以下程序的输出结果是 [7]
main()
{ int x=0;
sub(&x,8,1);
printf('%d',x);
}
sub(int *a,int n,int k)
{ if(k<=n) sub(a,n/2,2*k);
*a+=k;
}
178int s=6;则表达式s%2+(s+1)%2的值为 [1]
179int a=2,b=3;float x=3.5,y=2.5;则表达式(float)(a+b)/2+(int)x%(int)y的值为
180、以下程序的输出结果是 [9]
#include
#include
fut (int **s, int p[2][3])
{
**s=p[1][1];
}
int main(int argc, char argv[])
{
int a[2][3]={1,3,5,7,9,11},*p;
p=(int*)malloc(sizeof(int));
fut(&p,a);
printf('%d',*p);
return 0;
}
181、在C语言中,十六进制整型常量以[0x ]作为前缀。
182、函数内部可以在复合语句中定义变量,这些变量在[该函数中] 的范围内有效。
183、对数组元素的引用方法有下标法和 【指针法】两种。

我的更多文章

下载客户端阅读体验更佳

APP专享