武汉大学c语言题库(6)

2019-06-05 10:58

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) pm (C) *p>*m (D) *p<*m

以下说法正确的是________。

(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 X=4;

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 #define N 6

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语言源程序时,必须采用“缩进”方


武汉大学c语言题库(6).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:知识社会学与法兰克福学派的社会批判理论

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: