a[j]=t;} }
void main(){
int a[5]={9,4,5,8,7},i;
for(i=0;i<5;i++) fun(a[i]);
for(i=0;i<5;i++) printf(\} >>>
第八章
若有语句:int i,*p=&i; 则均表示变量地址的选项是________。
(A) *&p,*p,&i (B) i,p,&*i (C) *&i,&i,*p (D) &i,p,&*p
以下程序的输出结果是________。 #include
void fun(int *p1,int *p2){ int *p;
*p=*p1; *p1=*p2; *p2=*p; }
void main(){ int x=5,y=8; fun(&x,&y);
printf(\}
(A) 5,8 (B) 8,5 (C) 程序运行时报错 (D) 程序编译时报错
若有语句:int x=6,*p=&x; 则下面正确的表达式是________。
(A) ++&x (B) (*p)-- (C) &(x+5) (D) p=1000
若有语句:int
a[10],*p1=a+8,*p2=&a[3]; 则p1-p2的值是________。
(A) 20 (B) 4 (C) 16 (D) 5
以下程序段执行完毕后,变量a和b的值分别是________。
int a=4,b=5,*p1=&a,*p2=&b; a=2*(*p1%-*p2)+5; b=*p1**p2++;
26
(A) 13,65 (B) -3,-15 (C) -3,-18 (D) 13,78
以下程序段调用scanf函数为变量x赋值,则填入下划线所在位置的错误代码是________。
int x,*p=&x;
scanf(\(A) &x (B) *p (C) p (D) &*p
若有语句:int
a[]={1,3,2,7,3,4},*p=a+3,k; 则变量k的值不等于3的选项是________。 (A) k=(p++,*p++) (B) k=(p-=2,*p--)
(C) k=(p--,*--p) (D) k=(p++,*++p)
以下程序段在运行时,若通过键盘输入“2 6 9 7 5”,则输出结果是________。 int a[5],*p,t;
for(p=a;p
*p=*(a+(a+4-p)); *(a+(a+4-p))=t;} for(p=a;p
(A) 2 6 9 7 5 (B) 7 5 9 2
6 (C) 5 7 9 6 2 (D) 6 2 7 9 5
若有定义:int a[10],*p=a; 则表示数组元素a[3]的错误选项是________。 (A) *(a+=3) (B)
*(p+=3) (C) *(a+3) (D) p[3]
以下程序执行完毕后,变量a和b的值分别是________。
#include
void fun(int *p,int *q){ int *t;
if(*p>*q) {t=p; p=q; q=t;} }
void main(){ int a=13,b=9; fun(&a,&b); }
(A) 9,13 (B) 13,13 (C) 13,9 (D) 9,9
以下程序输出数组a中的最小值,则下划线所在位置应填入的代码是________。 #include
int findmin(int *p,int n){ int *m,*q=p+n;
for(m=p;p return *m; } void main(){ int a[6]={21,17,34,9,12,45}; printf(\} (A) p 以下说法正确的是________。 (A) 可以将整型常量作为存储单元地址存放到指针变量中。 (B) 指针变量的值是指针。 (C) 可以采用为数组名重新赋值的方法使其指向不同的元素。 (D) 使用地址值作为实参、指针变量作为形参,形参值的改变可以使实参值发生变化。 以下对程序输出结果的判断中,正确的是________。 #include void fun(int x,int a[50]){ do{ *a++=x; x=x/10; printf(\ }while(x); } void main(){ int x=6985,a[50]; 27 fun(x,a); } (A) 程序能正常运行,输出结果为5896 (B) 程序编译时报错,因为形参数组名不能进行自增运算 (C) 程序能正常运行,输出结果为6985 (D) 程序能正常运行,输出结果为随机数 若有函数定义:double fun(int a[10]){...},则在对该函数进行原型声明时,错误的声明语句是________。 (A) double fun(int []); (B) double 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) int x,*p; *p=x; (D) int x,*p; p=x; 判断题 B 当两个指针变量指向同一数组时,两个指针变量相减的差值即为两个指针变量相隔的字节个数。 A 如果某个指针变量赋值为0,表示该指针变量不指向任何变量。 B 若有语句:int x[]={5,7,3,8},*p=x+2,y; y=++*p--; 则变量y的值是3。 B 若有函数定义:int fun(int *a){return *a;},则函数的返回值是形参a中存放的地址值。 A 以下程序段的功能是交换变量a和b的值。 int a=9,b=7,*p=&a,*q=&b; *p=*p+*q-(*q=*p); B 以下程序段在数组a中查找数值x,则在下划线所在位置应填入的代码是“*p!=x”。 double a[5]={1.4,0.78,23.6,-4.5,19.3},x,*p=a; scanf(\ for(p=a;__________;p++); if(p A 以下程序段的输出结果是75。 int x=61,a[100],*p=a; while(x){ *p++=x%8; x=x/8; } for(p=p-1;p>=a;p--){printf(\p);} A 以下程序执行完毕后,全局变量X和局部变量r的值分别是0和5。 #include int fun(int x,int *p){ static int m=5; X*=m-x; m=++*p; return m; } void main(){ int a=2,b=3,r; r=fun(fun(a,&b),&b); } B 以下程序执行完毕后,main函数中数组a各元素的值依次是1、9、6、5、8、7、3。 #include 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-2;p>=a;p--) *(p+1)=*p; 28 *a=t; } } void main(){ int a[7]={8,7,3,5,1,9,6}; fun(a,7,3); } 填空 作为形参的数组名并不表示数组的首地址,其实质是一个【 指针变量】。 以下程序执行完毕后,变量x的值是【 15 】。 #include 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,16,1); } 以下程序对数组a进行由大到小排序,请填空。 #include void fun(int *p,int *q){ int t; t=*p; *p=*q; *q=t; } void main(){ int a[N]={1,2,3,4,5,6},*p,*q; for(p=a;p } 以下程序的功能是将1到100之间能被7或11整除的所有整数放在数组a中,并将这些数的个数放在变量n中,请填空。 void fun(int *p,int *q){ int x; for(x=1;x<=100;x++) if(x%7==0||x==0){*p++=x; (*q)++;} } void main(){ int a[1000],n=0; 【 fun(a,&n) 】; } 以下程序段的输出结果是【 1 5 9 8 6 】。 int a[5]={6,5,9,8,1},*p,*q; for(p=q=a+2;q if(*p>*q) {*p=*p+*q; *q=*p-*q; *p=*p-*q;} for(p=a;p 若有语句:int a[7]={2,5,3,4,7,8,1},*p=a+1; 则p[*(a+*(a+2))]的值是【 8 】。 29 第一章 TYPE=02 AND KENID=33000001 <<< 4,3 A C语言源程序经过编译、链接后生成的可执行文件扩展名是______。 (A).exe (B).cpp (C).c (D).obj >>> TYPE=02 AND KENID=33000001 <<< 4,3 D C语言程序要正确地运行,必须要有______。 (A)printf函数 (B)scanf函数 (C)自定义的函数 (D)main函数 >>> TYPE=02 AND KENID=33000001 <<< 4,3 D 以下均为合法用户标识符的是______。 (A)do,xyz,_printf (B)3a,_tt,IF (C)void,ff,s_v (D)_pi,IF,big_tree >>> TYPE=02 AND KENID=33000001 <<< 4,3 B 以下叙述中正确的是______。 (A)C语言程序从源程序中第一个函数开始执行 (B)C语言规定必须用main作为主函数名,程序将从此开始执行,在此结束 (C)可以在程序中由用户指定任意一个函数作为主函数,程序将从此开始执行 (D)main可作为用户标识符,用以命名任意一个函数作为主函数 >>> 30 TYPE=02 AND KENID=33000001 <<< 4,3 C 以下叙述中错误的是______。 (A)C语言是一种结构化程序设计语言 (B)结构化程序有顺序、选择和循环三种基本结构 (C)使用三种基本结构构成的程序只能解决简单问题 (D)结构化程序设计提倡模块化的设计方法 >>> TYPE=01 AND KENID=33000001 <<< 1,3 函数 C语言程序的基本单位是【 函数 】。 >>> TYPE=01 AND KENID=33000001 <<< 1,3 编辑 编写C语言源程序时,需要使用【 编辑 】器将源代码输入到计算机中。 >>> TYPE=04 AND KENID=33000001 <<< 2,3 A C语言源程序中可以有多处注释。 >>> TYPE=04 AND KENID=33000001 <<< 2,3 B C语言源程序中,main函数必须写在其他函数之前。 >>> TYPE=04 AND KENID=33000001 <<< 2,3 B 编写C语言源程序时,必须采用“缩进”方 百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库武汉大学c语言题库(6)在线全文阅读。
相关推荐: