77范文网 - 专业文章范例文档资料分享平台

C语言-基本选择题及答案(2)

来源:网络收集 时间:2020-05-08 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

if(x

A. 0 B. 1 C. 2 D. 3

19. 以下程序段的输出结果是( B )

int a=10,b=50,c=30; if(a>b) a=b; b=c; c=a;

printf(\;

A) a=10 b=50 c=10 B) a=10 b=30 c=10 C) a=50 b=30 c=10 D) a=50 b=30 c=50

四、循环结构

*1.在C语言中,下列说法中正确的是( D )。

A) do-while语句构成的循环不能用其它语句构成的循环来代替。 B) do-while语句构成的循环只能用break语句退出。

C) do-while语句构成的循环在while后的表达式非零时结束循环。 D) do-while语句构成的循环,在while后的表达式为零时结束循环。 2. break语句不能出现在( D )语句中

A. switch B.for C. while D. if?else *3.对于break语句和continue语句的说法错误的是( B )

A) break语句不能用于循环语句和switch语句之外的任何其他语句中。 B) break和continue也可以用于if语句中

C) continue语句只结束本次循环,而不是终止整个循环的执行。 D) break语句是结束整个循环过程,不再判断执行循环的条件是否成立。 4.语句while(!y);中的表达式!y等价于 A

A)y==0 B)y!=1 C)y=!0 D) y==1

5.若有“int a=1,x=1;”,则循环语句“while(a<10) x++; a++;”的循环执行(A A.无限次 B.不确定次 C.10次 D.9次 6. 有以下程序段

int k=0

while(k)k++;

则while循环体执行的次数是 C A) 无限次

B) 有语法错,不能执行 C) 一次也不执行

D) 执行1次

7. 下列循环语句中有语法错误的是( D )

A while(x=y) 5; B while(0) ;

C do 2;while(x= =b); D do x++ while(x= =10); *8.当运行时输入:abcd$abcde?, 下面程序的运行结果是 B

#include main()

6

{ while(putchar(getchar())!='$'); printf(\}

A) abcd$abcde B)abcd$end C)abcdend D) abcd$abcdeend 9. 以下程序段 ( A )

x=-1; do { x=x*x; } while(x>0);

A. 是死循环 B. 循环执行一次 C. 循环执行二次 D. 有语法错误 10. 下面程序段执行后的结果为: ( B ) int sum=0, n=10; do { sum=sum+n; n++; } while(n<10)

printf(“%d,%d”,sum,n)

A. 0, 10 B. 10, 11 C. 0, 11 D. 以上结果都不对 11.对以下程序段的叙述正确的是___A____.

int x=1; do

{ x= -1*x; } while(!x)

A) 是死循环 B) 循环执行一次 C)循环执行二次 D)有语法错误 12.循环“for(i=0,x=1;i=10&&x>0;i++);”的循环执行( A )。

A.无限次 B.不确定次 C.10次 D.9次 13.执行语句{for(j=0;j<=3;j++) a=1;}后变量j的值是 C .

A)0 B) 3 C)4 D) 1

14. 有如下程序

main()

{ int i,sum=2;

for(i=1;i<=3;i+=2) sum+=i; printf(“%d\\n”,sum); } 该程序的执行结果是 A

A) 6 B) 3 C) 死循环 D) 4 *15、执行语句”for ( i=0; i++<3 ; ) ;”后,变量i的值为( C )。 A、2 B、3 C、4 D、5

16.设x和y均为int型变量,则执行以下的循环后,y的值为( D )。 for(y=1,x=1;y<=50;y++) {

if(x>=0) break;

if(x%2==1) {x+=5;continue;}

x-=3; }

A.2 B.4 C.6 D.1 五 数组

1. 以下对一维数组a的正确说明是: D

A) char a(10);

B) int a[];

7

C)int k=5,a[k]; D)char a[3]={‘a’,’b’,’c’}; 2.以下能对一维数组a进行初始化的语句是: ( C ) A. int a[5]=(0,1,2,3,4,) B. int a(5)={} C. int a[3]={0,1,2} D. int a{5}={10*1} 3.在C语言中对一维整型数组的正确定义为 D 。 A)int a(10); B)int n=10,a[n];

C)int n;a[n]; D)#define N 10 int a[N];

4、已知:int a[10]; 则对a数组元素的正确引用是( D )。 A、a[10] B、a[3.5] C、a(5) D、a[0] 5. 执行下面的程序段后,变量k中的值为 C

A) 不定值 B) 33 C) 30 D) 10 int k=3, s[2]; s[0]=k; k=s[0]*10; *6. 下列说法中错误的是 C

A 构成数组的所有元素的数据类型必须是相同的 B 用指针法引用数组元素允许数组元素的下标越界 C 一维数组元素的下标依次是1、2、3?? D 定义数组时的长度可以是整型常量表达式

7. 若有以下数组说明,则数值最大的和最小的元素下标分别是( B )。

int a[12]={1,2,3,4,5,6,7,8,9,10,11,12};

A.1,12 B.0,11 C.1,11 D.0,12 8.若有以下数组说明,则i=10;a[a[i]]元素数值是( B )。

int a[12]={1,4,7,10,2,5,8,11,3,6,9,12}; A.10 B.9 C.6 D.5

9. 假定int类型变量占用两个字节,其有定义:int x[10]={0,2,4};,则数组x在内存中所占字节数是 D

A) 3

B) 6

C) 10

D) 20

10.若有说明:int a[][3]={{1,2,3},{4,5},{6,7}}; 则数组a的第一维的大小为: ( B ) A. 2 B. 3 C. 4 D.无确定值 11.以下定义语句中,错误的是 ( D )

A) int a[]={1,2};

B) char *a; D) int n=5,a[n];

C) char s[10]=“test”; int i;

int x[3][3]={1,2,3,4,5,6,7,8,9}; for (i=0;i<3;i++) printf(\

A) 1 5 9 B) 1 4 7 C) 3 5 7 D) 3 6 9 13.对二维数组的正确定义是( C )

A.int a[ ] [ ]={1,2,3,4,5,6}; B.int a[2] [ ]={1,2,3,4,5,6};

C.int a[ ] [3]={1,2,3,4,5,6}; D.int a[2,3]={1,2,3,4,5,6}; 14.已知int a[3][4];则对数组元素引用正确的是__C___ A)a[2][4] B)a[1,3] C)a[2][0] D)a(2)(1)

七.指针

1. 语句int *p;说明了 C 。

A)p是指向一维数组的指针

8

12.下面程序段的输出结果是: ( C )

B)p是指向函数的指针,该函数返回一int型数据 C)p是指向int型数据的指针

D)p是函数名,该函数返回一指向int型数据的指针 2. 变量的指针,其含义是指该变量的:( B )

A. 值 B. 地址 C. 名 D.一个标志

3.若x是整型变量,pb是基类型为整型的指针变量,则正确的赋值表达式是( A )

A) pb=&x B) pb=x C) *pb=&x D) *pb=*x

4、已知:int a, *p=&a; 则下列函数调用中错误的是( D )。

A、scanf(“%d”,&a); B、scanf(“%d”,p); C、printf(“%d”,a); D、printf(“%d”,p); 5.对于同类型的指针变量,不可能进行的运算是( C )。

A.- B.= C.+ D.== 6. 对于基类型相同的两个指针变量之间,不能进行的运算是 C

A) < B) = C) + D) - 7.下列不正确的定义是( A )。

A. int *p=&i,i; B.int *p,i; C.int i,*p=&i; D.int i,*p;

8. 若有说明:int n=2,*p=&n,*q=p,则以下非法的赋值语句是: ( D )

A)p=q B)*p=*q C)n=*q D)p=n 9. int *p,a=10,b=1; p=&a; a=*p+b;

执行该程序段后,a的值为 C

A) 编译出错 B) 10 C) 11 D) 12

10.下列函数的功能是 A 。 void fun(int *p1,int *p2)

{ int p;

p=*p1;*p1=*p2;*p2=p; }

A) 交换*p1和*p2的值 B) 语法正确,但无法交换*p1和*p2的值 C) 交换*p1和*p2的地址 D)有语法错误

八、函数

1.C语言中函数返回值的类型是由 A 决定的.

A)函数定义时指定的类型 B) return语句中的表达式类型 C) 调用该函数时的实参的数据类型 D) 形参的数据类型 2. 在C语言中,函数的数据类型是指( A )

A 函数返回值的数据类型 B. 函数形参的数据类型 C 调用该函数时的实参的数据类型 D.任意指定的数据类型 *3.C程序中函数返回值的类型是由 A 决定的.

A)函数定义时指定的函数类型 B) 函数中使用的最后一个变量的类型 C)调用函数时临时确定 D) 调用该函数的主调函数类型

*4. C语言规定,简单变量做实参时,它和对应形参之间的数据传递方式为 ( B A. 由系统选择 B. 单向值传递 C. 由用户指定传递方式 D. 地址传递

9

) 5. 在函数调用时,以下说法正确的是( B ) A.函数调用后必须带回返回值 B.实际参数和形式参数可以同名

C.函数间的数据传递不可以使用全局变量 D.主调函数和被调函数总是在同一个文件里 *6. 在C语言程序中,有关函数的定义正确的是( B )。

A.函数的定义可以嵌套,但函数的调用不可以嵌套 B.函数的定义不可以嵌套,但函数的调用可以嵌套 C.函数的定义和函数的调用均不可以嵌套 D.函数的定义和函数的均可以嵌套

A.在C语言程序中,调用函数时,如函数参数是简单变量,则只能把实参的值传递给形参,形参的值B.C语言函数既可以嵌套定义又可递归调用 C.C语言函数必须有返回值,否则不能使用函数

D.在C语言程序中有调用关系的所有函数必须放在同一个源程序文件中

*7. 以下对C语言函数的有关描述中,正确的是( A )。 不能传送给实参

*8.C语言中对函数的描述正确的是 C .

A)可以嵌套调用,不可以递归调用 B) 可以嵌套定义 C)嵌套调用,递归调用均可 D)不可以嵌套调用 9.以下叙述中正确的是 A

A) 构成C程序的基本单位是函数 B) 可以在一个函数中定义另一个函数 C) main()函数必须放在其它函数之前

D) 所有被调用的函数一定要在调用之前进行定义 A)数组首地址 B)数组第一个元素的值 C)数组全部元素的值 D)数组元素的个数

11.有一函数的定义如:void fun(char *s){……},则不正确的函数调用是( D )。 A.main()

{char a[20]=”abcdefgh”; fun(a); ?? } B.main()

{ char a[20]=”abcdefgh”; fun(&a[0]); ??

} C. main()

{ char a[20]=”abcdefgh”; char *p=a;fun(p); ?? } D. main()

{char a[20]=”abcdefgh”; fun(a[]); ??

10.用数组名作为函数调用时的实参时,传递给形参的是 A 。

10

}

12、函数的功能是交换变量x和y中的值,且通过正确调用返回交换的结果。能正确执行此功能的函数是( D )。

A、funa(int *x, int *y) { int *p;

*p=*x ; *x=*y; *y=*p; }

C、func(int *x, int *y) { int *p;

p=x;x=y; y=p;

}

13. 有如下程序

int func(int a,int b) { return(a+b);} main()

{ int x=2,y=x,z=8,r;

r=func(func(x,y),func(y,z)); printf(“%d\\n”,r); } 该程序的输出的结果是 C

A) 12 B) 13 C) 14 D) 15 *14. 以下程序的输出结果是 B

int a, b;

void fun()

{ a=100; b=200; } main()

{ int a=100, b=100;

fun();

printf(“%d%d \\n”, a,b); }

A) 100200

B) 100100

C) 200100

D) 200200

B、funb(int x , int y) { int t;

t=x; x=y; y=t; }

D、fund(int *x, int *y) { int t;

t=*x; *x=*y; *y=t; }

*15. 下列说法中正确的是:( A )

A. 局部变量在一定范围内有效,且可与该范围外的变量同名。

B. 如果一个源文件中,全局变量与局部变量同名,则在局部变量范围内,局部变量不起作用。 C. 局部变量缺省情况下都是静态变量。

D. 函数体内的局部静态变量,在函数体外也有效。 16. 在C语言中,表示静态存储类别的关键字是: ( C )

A) auto

B) register

C) static

D) extern

17.未指定存储类别的变量,其隐含的存储类别为( A )。 A)auto B)static C)extern D)register

11

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说教育文库C语言-基本选择题及答案(2)在线全文阅读。

C语言-基本选择题及答案(2).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/jiaoyu/1035920.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: