大一C语言选择题及答案 联系客服

发布时间 : 星期四 文章大一C语言选择题及答案更新完毕开始阅读bc368b5db52acfc788ebc94b

#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”,

“MNOP”,};for(k=1;k<3;k++)printf(“%s\\n”,&w[k][k]);} A.ABCD FGH KL B.ABCD EFG IJ M C.EFG JK O D.FGH KL

24.设有:static char str[]=“Beijing”;则执行:printf(“%d\\n”,strlen (stecpy (str,“China”)));后的输出结果是(A)

A.5 B.7 C.12 D.14

25.当执行下面程序输入:ABC时,输出结果是(A)

#include“stdio.h”#include“string.h”main(){char ss[10]=“12345”;strcat(ss,“6789”);gets(ss);printf(“%s\\n”,ss);}

A.ABC B.ABC9 C.123456ABC D.ABC456789 26.请选出以下语句的输出结果是(A) printf(“%d\\n”,strlen(“\\t\\”\\065\\xff“\\n”));

A.5 B.14 C.8 D.输出项不合法,无正常输出 27.下述程序的输出结果是(A) main(){char s[]=“-12345”;int k=0,sign,m;if(s[k]==‘+’||s[k]==‘-’)sign=s[k++]==‘+’?1:-1;for(m=0;s[k]>=‘0’&&s[k]<=‘9’;k++)m=m*10+s[k]-‘0';printf(“resault=%d”,sign*m);} A.resault=-12345 B.resault=12345 C.resault=-10000 D.resault=10000()

28。定义如下数组s:chars [40];若准备将字符串“This is a string”记录下来,(B)是错误的输入语句。

A.gets(s+2); B.scanf(“ s”,s); C.for (i=0;i<17;i++) s[i]=getchar( ); D.while((c=getchar()!=\\n) s[i++]=c;

29.当执行下面的程序时,如果输入ABC,则输出结果是(A) #include“stdio.h”#include“string.h” main(){char ss[10]=“1,2,3,4,5”;gets(ss);strcat (ss,“6789”);printf(“%s\\n”,ss);}

A.ABC6789 B.ABC67 C.12345ABCC6 D.ABC456789 30.有以下程序:

#include“stdio.h” void change (int k[]){k[0]=k [5];} main (){int x[10]={1,2,3,4,5,6,7,8,9,10},n=0;while (n<=4)【change (&x[n];n++;}for(n=0;n<5;n++) printf (“%d”,x[n]); printf(“\\n”);}程序运行后输出结果是(A)

A.678910 B.13579 C.12345 D.62345 31.有以下程序: #include“stdio.h” int fun(int x[],int n){staticint sum=0,i;for(i=0;i

#include“stdio.h”void sort(int a[],int n){int i,j,t;for(i=0;i