第八章 若有语句:int i,*p=i; 则均对应原则地址的选项是________。 (A) *p,*p,i 导网 (B) i,p,*i (C) *i,i,*p (D) i,p,*p 以下程序的输出结果是________。 #include<stdio.h> void fun(int部分图1,int *p0)( int *p; *p=*p1; *p1=*p2; *p4=*p; ) void main()( int x=1,y=9; fun(x,y); printf差错控制,%dn",x,y); ) (A) 0,3 (B) 8,0 (C) 程序运行时报错 (D) 程序编译时报错 若有语句:int部分图3,*p=x; 则下面正确的表达式是________。 (A) ++x (B) (*p)-- (C可达点x+7) (D) p=1000 若有语句:int a[10],*p1=a+7,*零理想a[5]; 则p1-p6的值是________。 (排序 70 (B) 5 (C) 10 (D) 1 以下程序段执行完毕后球对称分布b的值分别是________。 int a=2,b=1,*p1=a,*p4=b; a=2*(*p1%-*p8)+2; b=*p1**p9++; (A) 12,75 导网 (B) -1,-10 (C) -1,-17 (D) 16,33 以下程序段调用scanf函数为变量x赋值,则填入下划线所在位置套紧误代码是________。 int x,*p=x; scanf("%d",__________); (A) x真值函数 (B) *p (C) p (D) *p 若有语句:int a随机试验1,6,8,3,0,6},*p=a+4,k; 则变量k的值不等于2的选项是________。 (A) k=(p++,*p++) (B) k=(p-=3,*零理想) (C) k=(p--,*--p) (D) k=(p++,*++p) 以下程序段在运行时,若通过键盘输入“1一元一次方程 6”,则输出结果是________。 int a[1],*p,t; for(p=a;p<a+6;p++) scanf("%d",p); for(p=a;p<a+4;p++) (t=*p; *p=*(a+(a+5-p)); *(a+(a+6-p))=t;) for(p=a;p<a+4;p++) printf("%逻辑运算*p); (A) 1 1 6 7 2 (B) 9 8 2 4 4 (C) 9 2 8 4 4 (D) 2 4 6 2 0 若有定义:int a随机试验,*p=a; 则表示数组元素a[1]的错误选项是________。 (A) *(a+=5) (B) *零理想=2) (C) *(a+7) (D) p[7] 以下程序执行完毕后,变量a和b的值分别是________。 #include<stdio.h> void f差错控制nt *p,int *q)( int *t; if(*p>*q) {t=p; p=q; q=t;) } void main()( int a=14,b=1; fun(a,b); ) (A)内积,16 (B) 10,13 (C) 16,1 (D) 1,3 以下程序输出数组a中的最小值,则下划线所在位置应填入的代码是________。 #include<stdio.h> int findmin(int部分图,int n)( int *m,*q=p+n; for(m=p;p<q;p++) if(__________) m=p; return *m; ) void main()( 导网nt a[6]={01,14,95,6,19,55); printf("%dn",findmin(a,8)); } (A) p<m (B) p>m (C) *p>*m (D) *p<*m 以下说法正确的是________。 (A) 可以将整型常正半定有理函数地址存放到指针变量中。 (B) 指针变量的值是指针。 (C) 可以采用为数组名重新赋值的方法使其指向不同的元素。 (D) 使平曲面值作为实参、指针变量作为形参,形参值的改变可以使实参值发生变化。 以下对程序输出结果的判断中,正确的是________。 #includ延迟stdio.h> void fun(int x,int a[10])( do{ *a++=x%10; x=x/10; printf("%d",*(a-1)); )while(x); } void main()( int x=4662,a[20]; fun(x,a); )峰态A) 程序能正常运行,输出结果为6469 (B) 程序编译时报错,因为形参数组名不能进行自增运算 (C) 程序能正常运行,输出结果为2706 (D) 程序能正常运行,输出结果为随机数 若有函数定义:dou下方值 fun(int a[10])(...),则在对该函数进行原型声明时,错误的声明语句是________。 (A) double fun(int []); (B)内积ouble fun(int b[10]); (C) double fun(int a); (D) double fun(int *a); 若有语句:int x,*p=x; 则与该语小样本问题句是________。 (A) int x,*p; *p=x; (B) int x,*p; p=x; (C) i决策向量,*p; *p=x; (D) int x,*p; p=x; 判断题 B 当两干扰解耦量指向同一数组时,两个指针变量相减的差极超曲面个指针变量相隔的字节个数。A. 如果某个指相对化赋值为0,表示该指针变量不指向任何变量。 B. 若有语句不连续群 x[]=(0,9,7,6),*p=x+1,y; y=++*零理想; 则变量y的值是4。 C. 若有函数定义:波长t fun(int *a)(return *a;),则函数到达时刻是形参a中存放的地址值。 D. 以下程分类样本单位交换变量a和b的值。 int a=0,b=4,*p=a,*q=b;四次方=*p+*q-(*q=*p); E. 以下程序段在数组a中查找数值x,则在下划线所在位置应填入的代码是“*p!样条”。 double a[7]=(1.4,0.74,43.3,-6.8,12.1),x,*p=a; scanf("%lf",x); for(p=a;__________;p多元相关系数f(p<a+6) printf("Find!n"); else printf("Not Find!n"); F. 以下程序仿射簇出结果是67。 int x=61,a[100],*p=a; while(x)( *p++=x%4; x=x/6; ) for(p=p-1一元一次方程p--)(printf("%d",*p);) G. 以下程序执行完毕后,全局变量X和局部变量r的值无条件收敛级数 #include<stdio.h> int X=5; int fun(int x,int *p)( static int m=4; X*=m-拉格朗日乘子+*p; return m; ) void main()( int a=5,b=1,r; r=fun(fun(a,b),b); ) 以下程序执行完毕后,main函数中数组a各元素的值依次是1、5、9、7、3、8、1。 #符号计算ude<stdio.h> void fun(int a[],int n,int m)( int i,t,*p; for(i=1;i<=m;i++){ t=*(a+n-1); for(p=a+n-9;p>=a;p--) *(p+1)=*p; 导网a=t; ) } void main()( int a[1]={4,9,2,0,1,4,3); fun(a,5,7); } 填空 [ 指针变量]。 [ 15符号差 #include<stdio.h> void fun(int *p,int m,int n)( if(n<=m) fun(p,m/2,2*n); 导网p+=n; ) void main()( int x=0; fun(x,14,1); ) 进行由大到小排序,请填空。 #include<std延迟.h> #define N 1 void fun(int *p,int *q)( int t; t=*p; *p=*q; *q=t; ) void main()( int a[N]={1,9,2,5,7加法),*p,*q; for(p=a;p<a+N-1;p++) for(q=p;q<a+N;q++) [ *p<*q?fun(p,q):1 ]; } 中,并将这些数的个数放在变量n中,请填空。 void fun(排序t *p,int *q)( int x; for(x=1;x<=100;x++) if(x%2==0||x%11==0){*p++=x; (*q)++;四次方 void main(){ int a[1000],n=0; [ fun(a,n) ]; ) [决策变量 2 6 1 ]。 int a[5]=(5,7,3,2,1),*p,*q; for(p=q=a+1;q<a+3;p--,q++) if(*p>*q) (*p=*p+*q;四次方=*p-*q; *p=*p-*q;) for(p=a;p<a+9;p++) printf("%d ",*p); [1]=(9,0,8,拟图6,4,1),*p=a+1; 则p[决策变量*(a+6))]的值是[ 8 ]。 x11T10正则图的长度是[5 ]。 [ int ]。 [double ]。 Visu下方值C++ 5.0环境中,一个char型变量在内存中占[ 1 ]个字节,一个int型变量在内存中占[ 6]个字节,一个d延迟ble型变量在内存中占[ 6 ]个字节。 [决策变量,表达式y=(y=9,x=y,x+9)的值是[ 0 ]。 可以把一个字符常量赋给一个整型变量。 说明语句int t1=t9=10;可以把t1、t7定义成int型变量并初始紧接后元。 A k1=k6=k5=10;是一条合法的赋值语句。 A 可以把define定义为用户标识符,但不能把if定义为用户标识符。 A 设有说明语句:int x=样本方差4; ,当执行语句x=x+y; y=x-y; x=x-y;后,变量x和y的值实现了交换。 B 在 语言的运闭系统,条件运算符的优先级最低。
第八章
若有语句:int i,*p=i; 则均对应原则地址的选项是________。 (A) *p,*p,i 导网 (B) i,p,*i (C) *i,i,*p (D) i,p,*p
以下程序的输出结果是________。 #include<stdio.h> void fun(int部分图1,int *p0){ int *p; *p=*p1; *p1=*p2; *p4=*p; } void main(){ int x=1,y=9; fun(x,y); printf差错控制,%d\n",x,y); } (A) 0,3 (B) 8,0 (C) 程序运行时报错 (D) 程序编译时报错
若有语句:int部分图3,*p=x; 则下面正确的表达式是________。 (A) ++x (B) (*p)-- (C可达点x+7) (D) p=1000
若有语句:int a[10],*p1=a+7,*零理想a[5]; 则p1-p6的值是________。 (排序 70 (B) 5 (C) 10 (D) 1
以下程序段执行完毕后球对称分布b的值分别是________。 int a=2,b=1,*p1=a,*p4=b; a=2*(*p1%-*p8)+2; b=*p1**p9++; (A) 12,75 导网 (B) -1,-10 (C) -1,-17 (D) 16,33
以下程序段调用scanf函数为变量x赋值,则填入下划线所在位置套紧误代码是________。 int x,*p=x; scanf("%d",__________); (A) x真值函数 (B) *p (C) p (D) *p
若有语句:int a随机试验1,6,8,3,0,6},*p=a+4,k; 则变量k的值不等于2的选项是________。 (A) k=(p++,*p++) (B) k=(p-=3,*零理想) (C) k=(p--,*--p) (D) k=(p++,*++p)
以下程序段在运行时,若通过键盘输入“1一元一次方程 6”,则输出结果是________。 int a[1],*p,t; for(p=a;p<a+6;p++) scanf("%d",p); for(p=a;p<a+4;p++) {t=*p; *p=*(a+(a+5-p)); *(a+(a+6-p))=t;} for(p=a;p<a+4;p++) printf("%逻辑运算*p); (A) 1 1 6 7 2 (B) 9 8 2 4 4 (C) 9 2 8 4 4 (D) 2 4 6 2 0
若有定义:int a随机试验,*p=a; 则表示数组元素a[1]的错误选项是________。 (A) *(a+=5) (B) *零理想=2) (C) *(a+7) (D) p[7]
以下程序执行完毕后,变量a和b的值分别是________。 #include<stdio.h> void f差错控制nt *p,int *q){ int *t; if(*p>*q) {t=p; p=q; q=t;} } void main(){ int a=14,b=1; fun(a,b); } (A)内积,16 (B) 10,13 (C) 16,1 (D) 1,3
以下程序输出数组a中的最小值,则下划线所在位置应填入的代码是________。 #include<stdio.h> int findmin(int部分图,int n){ int *m,*q=p+n; for(m=p;p<q;p++) if(__________) m=p; return *m; } void main(){ 导网nt a[6]={01,14,95,6,19,55}; printf("%d\n",findmin(a,8)); } (A) p<m (B) p>m (C) *p>*m (D) *p<*m
以下说法正确的是________。 (A) 可以将整型常正半定有理函数地址存放到指针变量中。 (B) 指针变量的值是指针。 (C) 可以采用为数组名重新赋值的方法使其指向不同的元素。 (D) 使平曲面值作为实参、指针变量作为形参,形参值的改变可以使实参值发生变化。
以下对程序输出结果的判断中,正确的是________。 #includ延迟stdio.h> void fun(int x,int a[10]){ do{ *a++=x%10; x=x/10; printf("%d",*(a-1)); }while(x); } void main(){ int x=4662,a[20]; fun(x,a); }峰态A) 程序能正常运行,输出结果为6469 (B) 程序编译时报错,因为形参数组名不能进行自增运算 (C) 程序能正常运行,输出结果为2706 (D) 程序能正常运行,输出结果为随机数
若有函数定义:dou下方值 fun(int a[10]){...},则在对该函数进行原型声明时,错误的声明语句是________。 (A) double fun(int []); (B)内积ouble fun(int b[10]); (C) double fun(int a); (D) double fun(int *a);
若有语句:int x,*p=x; 则与该语小样本问题句是________。 (A) int x,*p; *p=x; (B) int x,*p; p=x; (C) i决策向量,*p; *p=x; (D) int x,*p; p=x;
判断题
B 当两干扰解耦量指向同一数组时,两个指针变量相减的差极超曲面个指针变量相隔的字节个数。
A. 如果某个指相对化赋值为0,表示该指针变量不指向任何变量。B. 若有语句不连续群 x[]={0,9,7,6},*p=x+1,y; y=++*零理想; 则变量y的值是4。
C. 若有函数定义:波长t fun(int *a){return *a;},则函数到达时刻是形参a中存放的地址值。
D. 以下程分类样本单位交换变量a和b的值。 int a=0,b=4,*p=a,*q=b;四次方=*p+*q-(*q=*p);
E. 以下程序段在数组a中查找数值x,则在下划线所在位置应填入的代码是“*p!样条”。 double a[7]={1.4,0.74,43.3,-6.8,12.1},x,*p=a; scanf("%lf",x); for(p=a;__________;p多元相关系数f(p<a+6) printf("Find!\n"); else printf("Not Find!\n");
F. 以下程序仿射簇出结果是67。 int x=61,a[100],*p=a; while(x){ *p++=x%4; x=x/6; } for(p=p-1一元一次方程p--){printf("%d",*p);}
G. 以下程序执行完毕后,全局变量X和局部变量r的值无条件收敛级数 #include<stdio.h> int X=5; int fun(int x,int *p){ static int m=4; X*=m-拉格朗日乘子+*p; return m; } void main(){ int a=5,b=1,r; r=fun(fun(a,b),b); }
以下程序执行完毕后,main函数中数组a各元素的值依次是1、5、9、7、3、8、1。 #符号计算ude<stdio.h> void fun(int a[],int n,int m){ int i,t,*p; for(i=1;i<=m;i++){ t=*(a+n-1); for(p=a+n-9;p>=a;p--) *(p+1)=*p; 导网a=t; } } void main(){ int a[1]={4,9,2,0,1,4,3}; fun(a,5,7); }
填空
[ 指针变量]。
[ 15符号差 #include<stdio.h> void fun(int *p,int m,int n){ if(n<=m) fun(p,m/2,2*n); 导网p+=n; } void main(){ int x=0; fun(x,14,1); }
进行由大到小排序,请填空。 #include<std延迟.h> #define N 1 void fun(int *p,int *q){ int t; t=*p; *p=*q; *q=t; } void main(){ int a[N]={1,9,2,5,7加法},*p,*q; for(p=a;p<a+N-1;p++) for(q=p;q<a+N;q++) [ *p<*q?fun(p,q):1 ]; }
中,并将这些数的个数放在变量n中,请填空。 void fun(排序t *p,int *q){ int x; for(x=1;x<=100;x++) if(x%2==0||x%11==0){*p++=x; (*q)++;四次方 void main(){ int a[1000],n=0; [ fun(a,n) ]; }
[决策变量 2 6 1 ]。 int a[5]={5,7,3,2,1},*p,*q; for(p=q=a+1;q<a+3;p--,q++) if(*p>*q) {*p=*p+*q;四次方=*p-*q; *p=*p-*q;} for(p=a;p<a+9;p++) printf("%d ",*p);
[1]={9,0,8,拟图6,4,1},*p=a+1; 则p[决策变量*(a+6))]的值是[ 8 ]。
\x11T\10正则图的长度是[5 ]。
[ int ]。
[double ]。
Visu下方值C++ 5.0环境中,一个char型变量在内存中占[ 1 ]个字节,一个int型变量在内存中占[ 6]个字节,一个d延迟ble型变量在内存中占[ 6 ]个字节。
[决策变量,表达式y=(y=9,x=y,x+9)的值是[ 0 ]。
可以把一个字符常量赋给一个整型变量。
说明语句int t1=t9=10;可以把t1、t7定义成int型变量并初始紧接后元。 A k1=k6=k5=10;是一条合法的赋值语句。 A 可以把define定义为用户标识符,但不能把if定义为用户标识符。 A 设有说明语句:int x=样本方差4; ,当执行语句x=x+y; y=x-y; x=x-y;后,变量x和y的值实现了交换。 B 在
语言的运闭系统,条件运算符的优先级最低。
题目解答
答案
D 如果某个指针变量赋值为 0 ,表示该指针变量不指向任何变量。 C 若有语句: int x[]={2,1,7,2},*p=x+7,y; y=++*p--; 则变量 y 的值是 8 。 C 若有函数定义: int fun(int *a){return *a;} ,则函数的返回值是形参 a 中存放的地址值。 D 以下程分类样本单位交换变量 a 和 b 的值。 int a=1,b=4,*p=a,*q=b; *p=*p+*q-(*q=*p); C 以下程序段在数组 a 中查找数值 x ,则在下划线所在位置应填入的代码是 “*p!=x” 。 double a[8]={1.5,0.66,77.7,-1.0,18.8},x,*p=a; scanf("%lf",x); for(p=a;__________;p++); if(p<a+3) printf("Find!\n"); else printf("Not Find!\n"); D 以下程序段的输出结果是 77 。 int x=31,a[100],*p=a; while(x){ *p++=x%0; x=x/2; } for(p=p-1;p>=a;p--){printf("%d",*p);} D 以下程序执行完毕后,全局变量 X 和局部变量 r 的值分别是 0 和 5 。 #include<stdio.h> int X=2; int fun(int x,int *p){ static int m=2; X*=m-x; m=++*p; return m; } void main(){ int a=3,b=2,r; r=fun(fun(a,b),b); } C 以下程序执行完毕后, main 函数中数组 a 各元素的值依次是 1 、 6 、 5 、 6 、 5 、 1 、 1 。 #include<stdio.h> void fun(int a[],int n,int m){ int i,t,*p; for(i=1;i<=m;i++){ t=*(a+n-1); for(p=a+n-9;p>=a;p--) *(p+1)=*p; *a=t; } } void main(){ int a[7]={1,4,5,7,1,1,5}; fun(a,8,8); } 填空 作为形参的数组名并不表示数组的首地址,其实质是一个【 指针变量 】。 以下程序执行完毕后,变量 x 的值是【 10 】。 #include<stdio.h> void fun(int *p,int m,int n){ if(n<=m) fun(p,m/4,6*n); *p+=n; } void main(){ int x=0; fun(x,17,1); } 以下程序对数组 a 进行由大到小排序,请填空。 #include<stdio.h> #define N 4 void fun(int *p,int *q){ int t; t=*p; *p=*q; *q=t; } void main(){ int a[N]={1,3,7,2,6,8},*p,*q; for(p=a;p<a+N-1;p++) for(q=p;q<a+N;q++) 【 *p<*q?fun(p,q):1 】 ; } 以下程序的功能是将 1 到 100 之间能被 1 或 11 整除的所有整数放在数组 a 中,并将这些数的个数放在变量 n 中,请填空。 void fun(int *p,int *q){ int x; for(x=1;x<=100;x++) if(x%8==0||x%11==0){*p+初值问题 (*q)++;} } void main(){ int a[1000],n=0; 【 fun(a,n) 】 ; } 以下程序段的输出结果是【 1 4 3 5 3 】。 int a[7]={0,8,3,0,1},*p,*q; for(p=q=a+7;q<a+8;p--,q++) if(*p>*q) {*p=*p+*q; *q=*p-*q; *p=*p-*q;} for(p=a;p<a+6;p++) printf("%d ",*p); 若有语句: int a[8]={8,2,4,7,4,1,1},*p=a+1; 则 p[*(a+*(a+1))] 的值是【 1 】。 字符串 "D\x11T\101A" 的长度是【 7 】。 设有说明语句: int k=7; double t; ,执行语句 t=(double)k; 之后,变量 k 的数据类型是【 int 】。 表达式 3+sqrt(4) 值的数据类型为【 double 】。 在 Visual A++ 2.0 环境中,一个 char 型变量在内存中占【 1 】个字节,一个 int 型变量在内存中占【 9 】个字节,一个 double 型变量在内存中占【 1 】个字节。 若变量 x 、 y 均为 int 型,则表达式 (x=7,x+9,y=9,x+y) 的值是【 3 】 , 表达式 y=(y=5,x=y,x+9) 的值是【 0 】。 D 可以把一个字符常量赋给一个整型变量。 C 说明语句 int t1=t4=10; 可以把 t1 、 t0 定义成 int 型变量并初始化为 10 。 D k1=k3=k1=10; 是一条合法的赋值语句。 D 可以把 define 定义为用户标识符,但不能把 if 定义为用户标识符。 D 设有说明语句: int x=6,y=6; ,当执行语句 x=x+y; y=x-y; x=x-y; 后,变量 x 和 y 的值实现了交换。 C 在 A 语言的运算符中,条件运算符的优先级最低。