大一C语言选择题及答案(3)

2018-12-23 00:05

30.以下程序的输出结果是(B) #include“stdio.h”void main(){int i=0,a=0;;while(i<20){for(;;){if((i)==0)break;elsei--;}i+=11;a+=i;}printf(“%d\\n”,a);} A.21 B.32 C.33 D.11

第4章函数及预处理命令 一、填空题

1.以下叙述正确的是(A)

A.构成C语言的基本单位是函数 B.可以在一个函数中定义另一个函数 C.main()函数必须放在其他函数之前 D.所有被调用之前进行定义 2.以下叙述中错误的是(D)

A.C语言必须由一个或一个以上的函数组成 B.函数调用可以作为一个独立的语句存在 C.若函数形参的值也可以传回给对应的实参

3.调用一个函数,此函数中没有return语句,则该函数(D) A.没有返回值

B.返回若干个系统默认值

C.能返回一个用户所希望的函数值 D.返回一个不确定的值

4.C语言规定,函数返回值的类型是由(D) A.return语句中的表达式类型所决定 B.调用该函数时的主调函数类型所决定 C.调用该函数时系统临时决定

D.在定义该函数时所指定的函数类型所决定 5.以下程序的输出结果是(B)

#include“stdio”void fun(){int a,b;a=100;b=200;}main(){int a=5,b=7;fun();printf(“%d%d,a,b;} A.100200 B.57 C.200100 D.75

6.以下函数调用语句中包含有(B)个实参。 fun((exp1,exp2),(exp3,exp4,exo5)); A.1 B.2 C.4 D.5 7.以下程序的输出结果是(C)

fun(int a,int b,int c){c=a*a+b*b;}main(){int x=22;fun(4,2,x);printf(“%d”,x);} A.20 B.21 C.22 D.23 8.有如下程序:

int func (int a,int b){return(a+b);}main(){int x=2,y=5,z=8,r;r=func(func(x,y),z);printf(“%d\\n”,r);}该程序的输出结果是(D) A.12 B.13 C.14 D.15 9.以下程序的输出结果是(A)

#includelong fun(int n){long s;if(n==1||n==2)s=2;else s=n-fun(n-1);return s;}main(){printf(“%d\\n”,妇女(3));} A.1 B.2 C.3 D.4

10.以下程序的输出结果是(C)

#include“stdio.h” void fun c1(int i);void fun c2(int i);char st[]=“hello,friend”;void fun c1(int

i){printf(“%c”,st[i]);if(i<3){i+=2;fun c2(i);}}void fun c2(int i);{printf(“%c”,st[i]);if(i<3){i+=2;fun c1(i);}}main(){int i;i=0;fun c1(i);printf(“\\n”;} A.hello B.hel C.hlo D.hlrn 11.C语言中形参的默认存储类别是(A) A.自动(auto) B.静态(static) B.寄存器(register) D.外部(exter) 12.关于全局变量,下列说法正确的是(D) A.本程序的全部范围

B.离定义该变量的位置最接近的函数 C.函数内部范围

D.从定义该变量的位置开始到本文件结束 13.以下程序输出结果是(D)

#include“stdio.h”int f(){static int i=0;int s=1;s+=i;i++;return s;}main(){int i,a=0;for(i=0;i<5;i++)a+=f();printf(“%d\\n”,b);} A.20 B.24 C.25 D.15 14.以下程序的输出结果是(D)

#include void fun1(){int x=0;x++;printf(“%d”,x);}void fun2(){static int x;x++;printf(“%d”,x);}main(){int j;for(j=0;j<3,j++){fun2();fun1();}} A.1,1,1,1,1,1 B.1,1,1,1,2,3 C.1,1,2,2,3,3 D.1,1,2,1,3,1 15.以下程序的输出结果是(B)

#include int m=3;main(){int fun (int k);int m=10;printf(“%d\\n”,fun(5)*m);}int fun (int k){if(k==0)return m;return(fun (k-1)*k);} A.360 B.3600 C.1080 D.1200 16.以下程序的输出结果是()

#include int d=1;fun(int p){static int d=5;d+=p;prntf(“%d”,d);return(d);}main(){int a=3;printf(“%d\\n”,妇女(a+fun(d)));}

A.6 9 9 B.669 C.6 15 15 D.6 6 15 17.以下有关宏替换的叙述不正确的是(D) A.宏替换不占用运算时间 B.宏名无类型

C.宏替换只是字符替换 D.宏名必须用大写字母表示 18.在宏定义#definePI3.14159中,用宏名PI代替一个(D) A.常量 B.单精度数 C.双精度数 D.字符串 19.以下程序的输出结果是(D)

#include #define M(x,y,z)x*y+z main(){int a=1,b=2,c=3;printf(“%d\\n”,M(a+b,b+c,c+a));}

A.19 B.17 C.15 D.12 20.以下程序的输出结果是(B) #include #define SQR(x)x*x main(){int a=16,k=2,m=1;a=(k+a)/SQR(k+m);printf(“%d\\n”,a);} A.16 B.12 C.9 D.1 21.有如下程序:

#include #define N2 #define MN+1 #define NUM2*M+1 main(){printf(“%d”,NUM);} A.5 B.6 C.7 D.8

22.以下程序的输出结果是(C)

#include #define(x)x*x main(){int a=6,b=2,c;c=f(a)/f(b);printf(“%d”,c);} A.9 B.6 C.36 D.18 23.若有以下宏定义:

#define N 2 #define Y(n)((N+1)*n)则执行语句:z=2*(N+Y(5));后的结果是(B) A.语句有错误 B.z=34 C.z=70 D.z无定值

24.若有宏定义:#define MOD(x,y)x%y则执行以下语句后的输出结果为(B) intz,a=15,b=100;z=MOD(b,a);printf(“%d”,z++); A.11 B.10 C.6 D.宏定义不合法 25.以下程序的运行结果是(C)

#include #define MAX (a,b)(a)>(b)(a):(a) #define PRINT(Y)printf(“Y=%d\\t”,Y)

main(){int a=1,b=2,c=3,d=4,t;t=MAX(a+b,c+d);PRINT(t);} A.Y=3 B.存在语法错误 C.Y=7 D.Y=0 26.请读程序:

#include #define“stdio.h”#define MUL (x,y)(x)*y main(){int a=3,b=4,c;c=MUL(a++,b++);printf(“%d”,c);} 上面程序的输出结果是(A) A.12 B.15 C.20 D.16

27.对下面程序段:#defineA3 #defineB (a)(A+1)*a)x=3*(A+B(7));正确的判断是(B) A.程序出错,不允许嵌套宏定义 B.x=93 C.x=21 D.程序出错,宏定义不允许有参数 28.允许程序输出结果是(B)

#include #define PT5.5 #define S(x)PT*x*x main(){int a=1,b=2;printf(“%4.1f”,S(a+b));}

A.12. 0 B.9. 5 C.12. 5 D.33. 5 29.允许正确的描述是(C)

A.C语言预处理功能是指完成宏替换和包含文件的调用 B.预处理指令只能位于C源程序文件的首部

C.凡是C源程序中行首以“#”标识的控制都是预处理指令 D.C语言的编译预处理就是对源程序进行初步的语法检查 30.若有以下调用语句,则不正确的fun函数的首部是(D) main(){...int a[50],n;fun(n,&a,[9]);...}

A.void fun (int m,int x[]) B.void fun(int s,int h[41]) C.void fun (int p,int*s) C.void fun (int n,int a)

第五章 数组与字符串

一、选择题

1.以下能正确定义一维数组的选项是(B) A.int num[]; B.#define N100 intnum[N] C.int num[0..100]; D.int N=100;int num [N]; 2.若有以下说明:

int a[12]={1,2,3,4,5,6,7,8,9,10,11,12];char c=‘a',d,g;则数值为4的表达式是(D) A.a[g-c] B.a[4] C.a[‘d'-‘c'] D.a[‘d'-c]

3.执行下面的程序段后,变量k中的值为(A) int k=3,s[2];s[0]=k;k=s[1]*10;

A.不定值 B.33 C.30 D.10 4.有以下程序: #include “stdio.h” main(){int p[8]={11,12,13,14,15,16,17,18},i=0,j=0;while(i++<7)if(p[i]%2)j+=p[i];printf(“%d\\n”,j);} 程序运行后的输出结果是(B) A.42 B.45 C.56 D.60 5.以下程序的输出结果是(B) main(){int

i,k,a[10],p[3];k=5;for(i=0;i<10;i++)a[i]=i;for(i=0;i<3,i++)p[i]=a[i*(i+1)];for(i=0;i<3;i++)K+=p[i]*2;printf(“%d\\n”,k);}

A.20 B.21 C.22 D.23

6.以下程序段给数组所有的元素输入数据,请选择正确的答案填入(A) main(){int a[10],i=0;while(i<10)scanf(“%d”,);} A.a+i B.&a[i+1] C.a+i D.&a[i++] 7.阅读下面的程序: main(){int

n[2],i,j,k;for(i=0;i<2;i++)n[i]=0;k=2;for(i=0;i

上面程序的输出结果是(A)

A.不确定的值 B.3 C.2 D.1 8.下述程序的输出结果是(B)

main(){int y=18,i=0,j,a[8];do{a[i]=y%2 i++;y=y/2;}while(y>=1);for(j=i-1;j>=0;j--)printf(“%d”,a[j];printf(“\\n”);}

A.10000 B.10010 C.00110 D.10100 9.有如下程序,该程序的输出结果是(D)

main(){int n[5]={0,0,0},i,k=2;for(i=0;i

10.以下能正确定义二维数组的是(B) A.int a[][3]; B.int a[][3]={2*3};

C.int a[][3]={} D.int a[2][3]={{1},{2},{3}}; 11.以下不能正确定义二维数组的是(D)

A.int a[2][2]={{1},{2}}; B.int a[][2]={1,2,3,4}; C.ine a[2][2]={{1},2,3}; D.int a[2][]={{1,2},{3,4}}; 12.以下能正确定义数组并正确赋初值的语句是(D) A.int N=5,b[N][N];

B.int a[1][2]={{1},{3}}; C.int c[2][]={{1,2},{3,4}}; D.int d[2][2]={{1,2};{3,4}}; 13.下述程序输出结果是(A) main(){int a[4][4]={{1,3,5},{2,4,6},{3,5,7}};printf(“%d%d%d%d\\n”,a[0][3],a[1][2],a[2][1],a[3][0]);

A.0650 B.1470 C.5430 D.输出值不定

14.定义如下变量和数组:

int i;int x[3][3]={1,2,3,4,5,6,7,8,9};则下面语句的输出结果是(C)for(i=0;i<3;i++)printf(“%d”,x[i][2-i]);

A.159 B.147 C.357 D.369 15有如下程序,该程序的输出结果是(A) main(){int a[3][3]={{1,2},{3,4},{5,6}},i,j,s=0;for(i=1;i<3;i++)for(j=0,j<=i;j++)s+=a[i][j];printf(“%d\\n”,是);} A.18 B.19 C.20 D.21 16.以下程序的输出结果是(C)

main(){int i,x[3][3]={1,2,3,4,5,6,7,8,9};for(i=0;i<3;i++)printf(“%d,”,x[i][2-i]);} A.1,5,9 B.1,4,7 C.3,5,7 D.3,6,9 17.以下程序的输出结果是(B) main(){int b[3][3]={0,1,2,0,1,2,0,1,2 },i,j,t=1;for(i=0;i<3,i++)for(j=i;j<=i;j++) t=t+b [i][b[j][j]];printf(“%d\\n”,t);} A.3 B.4 C.1 D.9

18.以下合法的数字定义是(D)

A.int a[]=“string” B.int a[5]={0,1,2,3,4,5}; C.char a=“string” D.char a[]={‘0’,‘1’,‘2’,‘3’,‘4’,‘5’}; 19.给出以下定义: char x[]=“abcdefg”;

char y[]={‘a’,‘b’,‘c’,‘d’,‘e’,‘f’,‘g’} 则正确的叙述为(C)

A.数组x和数组y等价 B.数组x和数组y长度相等

C.数组x的长度大于数组y的长度 D.数组x的长度小于数组y的长度 20.不能把字符:Hello!赋给数组b的语句是(B) A.char b[10]={‘H’,‘e’,‘l’,‘l’,‘o’,‘!’}; B.char b[10];b=“Hello”;

C.char b[10];strcpy(b,“Hello”); D.char b[10]=“Hello”;

21.下列描述中不正确的是(C) A.字符型数组中可以存放字符串

B.可以对字符型数组进行整体输入、输出 C.可以对整体数组进行整体输入、输出

D.不能在赋值语句中通过赋值运算符“=”对字符型数组进行整体赋值 22.有以下程序:

#include#defineN 6 main(){char c[N];int i=0;for(;i

输入以下3行,每行输入都是在第1列开始,代表1个回车键符: a b cdef 则程序输出的结果是(C)

A.abcdef B.abcdef C.ab cd D.a b cdef 23.以下程序的输出结果是(D) #include“stdio.h”#include“string.h”main(){int k;char w[][10]={“ABCD”,“EFGH”,“IJKL”,


大一C语言选择题及答案(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:电力B1(线路保护)

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

马上注册会员

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