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
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
{ char b1[8]=\while (--pb>=b1) strcpy(b2,pb); printf(\}
153、程序# include
{ 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
{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
**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