(完整版)C语言考试题库之填空题 下载本文

var=100; p=&var;

var=*p+10;

printf(\ }

的运行结果为。【110】

133、若有定义:int a[2][3]={2,4,6,8,10,12};则*(&a[0][0]+2*2+1)的值是【12】 134、访问变量的方式有直接访问和【间接访问】 。

135、C语言允许函数值类型缺省定义,此时该函数值隐含的类型是【整形】 。 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\\n”,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(\

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

{ int a[2][3]={{1,2,3},{4,5,6}}; int m,*ptr; ptr=&a[0][0];

m=(*ptr)*(*(ptr+2))*(*(ptr+4)); printf(\}

的运行结果是 。【15】

146、下面程序的运行结果是 。

11

#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(\}

147、C程序的执行从【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(\

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(\}

的运行结果是 。[60]

151、如果在所有函数定义之前,在函数的【前面】已作了函数声明,则在各个主调函数中不必对所调用的函数再做声明。

152、以下程序的输出结果是 【7】 #include

12

#include main()

{ char b1[8]=\while (--pb>=b1) strcpy(b2,pb); printf(\}

153、程序# include void prtv(int *x)

{ printf(\ } 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(\

156、形式参数也是[局部变量]变量。

157、要使指针变量与变量之间建立联系,可以用运算符【*】来定义一个指针变量。

158、对于“int a[4];”可理解为数组a有4个元素,每个元素都是整型数据,那么,对于“int *a[4];”的理解就是数组a有4个元素,每个元素都是【指针变量】。 159、int 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(\}

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(\”的输出结果是 。[10,10] 168、在C语言程序中,符号常量的定义要使用 [宏定义]预处理命令。 169、若a=6,b=4,c=2,则表达式!(a-b)+c-1&&b+c/2的值是 。【1】 170、下面程序段的运行结果是 。【231】

13

for(a=1,i=-1;i<1;i++) {a++; printf(\printf(\

171、用来存放【 字符数据】的数组称为字符数组。

172、C语言中每个变量和函数有两个属性:数据类型和数据的【存储】 类别。

173、已知:下面程序段中第一个printf语句的输出是200,则第二个printf语句的输出是 。【200】

int a[3][4],*p=*a; printf(\printf(\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\\n”,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(\}

sub(int *a,int n,int k) { if(k<=n) sub(a,n/2,2*k); *a+=k; }

178、int s=6;则表达式s%2+(s+1)%2的值为 。[1]

179、int 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[])

14

{

int a[2][3]={1,3,5,7,9,11},*p; p=(int*)malloc(sizeof(int)); fut(&p,a);

printf(\return 0; }

181、在C语言中,十六进制整型常量以[0x ]作为前缀。

182、函数内部可以在复合语句中定义变量,这些变量在[该函数中] 的范围内有效。 183、对数组元素的引用方法有下标法和

【指针法】两种。15