二级C语言复习资料数组
更新时间:2023-11-28 01:48:01 阅读量: 教育文库 文档下载
- 二级建造师复习资料推荐度:
- 相关推荐
1.下列叙述中正确的是( )。答案:A
A)两个连续的双引号(\)是合法的字符串常量
B)两个连续的单引号(’’)是合法的字符常量
C)可以对字符串进行关系运算
D)空字符串不占用内存,其内存空间大小是0
2.以下数组定义中错误的是( )。
A)int x[2][3]={{1,2},{3,4},{5,6}};
B)int x[][3]={0};
C)int x[][3]={{1,2,3},{4,5,6}};
D)int x[2][3]={1,2,3,4,5,6};
3.下列定义数组的语句中,正确的是( )。答案:A
A)#define N 10 int x[N];
B)int N=10; int x[N];
C)int x[0..10];
D)int x[];
4.有以下程序 #include
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+=b[i][b[j][i]]; printf(\}
程序运行后的输出结果是( )。
A)4
B)3
C)1
D)9
5.以下定义数组的语句中错误的是( )。答案:A
A)int num[2][4]={ {1,2},{3,4},{5,6} };
B)int num[][3]={ {1,2},3,4,5,6 };
C)int num[]={ 1,2,3,4,5,6 };
D)int num[][4]={1,2,3,4,5,6};
6.有以下程序 #include
{ int x[3][2]={0}, i;
for(i=0; i<3; i++) scanf(\
printf(\}
若运行时输入:2 4 6<回车>,则输出结果为( )。
A)2 0 4
B)2 0 0
C)2 4 0
D)2 4 6
7.下列选项中,能正确定义数组的语句是( )。答案:A
A)#define N 2008 int num[N];
B)int num[];
C)int N=2008; int num[N];
D)int num[0..2008];
8.有以下程序 #include
int a[4][4]={{1,4,3,2},{8,6,5,7},{3,7,2,5},{4,8,6,1}}; int i, j, k, t; for (i=0; i<4; i++) for (j=0; j<3; j++) for (k=j+1; k<4; k++) if (a[j][i] > a[k][i]) {
t=a[j][i];
a[j][i] = a[k][i]; a[k][i] = t; } /* 按列排序 */ for(i=0; i<4; i++) printf(\}
程序运行后的输出结果是( )。
A)1, 6, 5, 7
B)8, 7, 3, 1
C)4, 7, 5, 2
D)1, 6, 2, 1
9.若要求定义具有10个int型元素的一维数组a,则以下定义语句中错误的是( )。答案:A
A)int n=10,a[n];
B)#define n 5int a [2*n];
C)int a[5+5];
D)#define N 10 int a[N]; 10.有以下程序 #include
int i, t[][3]={9,8,7,6,5,4,3,2,1}; for(i=0;i<3;i++) printf(\}
程序执行后的输出结果是( )。
A)3 5 7
B)7 5 3
C)3 6 9
D)7 5 1
11.有以下程序
#include
int a[4][4]={ {1,4,3,2},{8,6,5,7},{3,7,2,5},{4,8,6,1}}, i, k, t; for (i=0; i<3; i++) for (k=i+1; k<4; k++) if (a[i][i] < a[k][k])
{ t=a[i][i]; a[i][i]=a[k][k]; a[k][k]=t;} for (i=0; i<4; i++) printf(\}
程序运行后的输出结果是( )。答案:A
A)6,4,3,2
B)6,2,1,1
C)1,1,2,6
D)2,3,4,6
12.有以下程序 #include
int s[12]={1,2,3,4,4,3,2,1,1,1,2,3},c[5]={0},i; for(i=0; i<12; i++) c[s[i]]++;
for(i=1; i<5; i++) printf(\printf(\}
程序的运行结果是( )。
A)4 3 3 2
B)2 3 4 4
C)1 2 3 4
D)1 1 2 3
13.以下错误的定义语句是( )。答案:A
A)int x[4][]= {{1,2,3},{1,2,3},{1,2,3},{1,2,3}};
B)int x[4][3]={{1,2,3},{1,2,3},{1,2,3},{1,2,3}};
C)int x[][3]={{0},{1},{1,2,3}};
D)int x[][3]={1,2,3,4};
14.有以下程序 #include
{ int i, t[][3]={9,8,7,6,5,4,3,2,1}; for(i=0;i<3;i++) printf(\}
程序执行后的输出结果是( )。
A)3 5 7
B)7 5 3
C)3 6 9
D)7 5 1
15.以下叙述中正确的是( )。答案:A
A)每个数组包含一组具有同一类型的变量,这些变量在内存中占有连续的存储单元
B)一条语句只能定义一个数组
C)数组说明符的一对方括号中只能使用整型常量,而不能使用表达式
D)在引用数组元素时,下标表达式可以使用浮点数
16.以下叙述中正确的是( )。
A)char c1, c2, *c3, c4[40];是合法的变量定义语句
B)数组下标的下限由数组中第一个非零元素的位置决定
C)数组下标的下限由数组中第一个被赋值元素的位置决定
D)数组下标的下限是1
17.以下叙述中正确的是( )。答案:A
A)语句int a[8] = {0}; 是合法的
B)语句 int a[] = {0};是不合法的,遗漏了数组的大小
C)语句 char a[2] = {\是合法的,定义了一个包含两个字符的数组
D)语句 char a[3]; a = \是合法的,因为数组有三个字符空间的容量,可以保存两个字符
18.以下叙述中正确的是( )。
A)在逻辑上,可以把二维数组看成是一个具有行和列的表格或矩阵
B)语句 int a[4][3] = {1,2,4,5}; 是错误的初始化形式
C)语句 int a[][3] = {1,2,4,5}; 是错误的初始化形式
D)语句 int a[4][3] = {{1,2}, {4,5}}; 是错误的初始化形式
19.有以下程序
#include
int i, x[3][3] = { 1,2,3,4,5,6,7,8,9 }; for( i=0; i<3; i++ )
printf( \printf( \}
程序的输出结果是 ( )。答案:A
A)3 5 7
B)1 5 0
C)1 4 7
D)3 6 9
20.有以下程序 #include
if ( *c<=’Z’ && *c>=’A’) *c -= ’A’-’a’; return *c; } main() {
char s[81], *p=s; gets( s );
while( *p ) {
*p =fun( p ); putchar( *p ); p++; }
printf( \}
若运行时从键盘上输入OPEN THE DOOR<回车>,程序的输出结果是( )。
A)open the door
B)oPEN tHE dOOR
C)OPEN THE DOOR
D)Open The Door
21.设有定义: int x[2][3];
则以下关于二维数组x的叙述错误的是( )。答案:A
A)可以用x[0]=0;的形式为数组所有元素赋初值0
B)数组x可以看作是由x[0]和x[1]两个元素组成的一维数组
C)元素x[0]可看作是由3个整型元素组成的一维数组
D)x[0]和x[1]是数组名,分别代表一个地址常量
22.设有定义: char s[81]; int i=0;
以下不能将一行(不超过80个字符)带有空格的字符串正确读入的语句或语句组是( )。
A)scanf(\
B)while((s[i++]=getchar())!=’\\n’);s[i]=’\\0’;
C)gets(s);
D)do{ scanf(\\\n’); s[i]=’\\0’;
23.设有定义:
char p[]={’1’, ’2’,’3’},*q=p;
以下不能计算出一个char型数据所占字节数的表达式是( )。答案:A
A)sizeof(p)
B)sizeof(char)
C)sizeof(*q)
D)sizeof(p[0])
24.有以下程序 #include
{ char str[][20]={\printf(\}
程序运行后的输出结果是( )。
A)10,One*Dream!
B)9,One*Dream!
C)9,One*World
D)10,One*World
25.有以下程序
#include
{ char s[]=\int i, n=0;
for ( i=0; s[i]!=0; i++ )
if(s[i] >= ’0’ && s[i] <= ’9’) n++; printf(\}
程序运行后的输出结果是( )。答案:A
A)3
B)0
C)7
D)8
26.以下语句中存在语法错误的是( )。
A)char ss[6][20]; ss[1]= \
B)char ss[ ][20]={ \
C)char *ss[6]; ss[1]= \
D)char *ss[ ]={ \
27.下列语句组中,正确的是( )。答案:A
A)char *s;s=\
B)char s[7];s=\
C)char *s;s={\
D)char s[7];s={\
28.若有定义语句:
char s[10]=\则strlen(s)的值是( )。
A)7
B)8
C)9
D)10
29.有以下程序
#include
{ char p[20]={’a’, ’b’, ’c’, ’d’}, q[strcat(p, r); strcpy(p+strlen(q), q); printf(\}
程序运行后的输出结果是( )。答案:A
A)6
B)9
C)11
D)7
30.以下选项中正确的语句组是( )。
]=\A)char *s; s=\
B)char *s; s={\
C)char s[10]; s=\
D)char s[]; s=\
31.若有定义语句:
char *s1=\
以下选项中,能够输出\的语句是( )。答案:A
A)if (strcmp(s1,s2)!=0) puts(s1);
B)if (strcmp(s1,s2)!=0) puts(s2);
C)if (strcmp(s1,s2)==1) puts(s1);
D)if ( strcmp(s1,s2)==0) puts(s1);
32.有以下程序(strcat函数用以连接两个字符串) #include
char a[20]=\strcat(a,b); printf(\}
程序运行后的输出结果是( )。
A)ABCDIJK
B)ABCDE\\0FG\\0IJK
C)IJK
D)EFGIJK
33.以下选项中正确的语句组是( )。答案:A
A)char *s; s=\
B)char *s; s={\
C)char s[10]; s=\
D)char s[]; s=\
34.若有以下定义和语句 #include
char s1[10]= \printf(\则输出结果是( )。
A)5 5
B)10 5
C)10 7
D)5 8
35.以下能正确定义字符串的语句是( )。答案:A
A)char str[]=\
B)char str=\
C)char str=’’;
D)char str[]={’\\064’};
36.以下关于字符串的叙述中正确的是( )。
A)空串比空格打头的字符串小
B)两个字符串中的字符个数相同时才能进行字符串大小的比较
C)可以用关系运算符对字符串的大小进行比较
D)C语言中有字符串类型的常量和变量
37.若要求从键盘读入含有空格字符的字符串,应使用函数( )。答案:A
A)gets()
B)getc()
C)getchar()
D)scanf()
38.有以下程序 #include
{ char s[]=\s+=2;
printf(\}
执行后的结果是( )。
A)程序出错
B)输出字符c的ASCII码
C)输出字符c
D)输出字符a的ASCII码
39.以下正确的字符串常量是( )。答案:A
A)\
B)’abc’
C)Olympic Games
D)\
40.下列选项中,能够满足\只要字符串s1等于字符串s2,则执行ST\要求的是( )。
A)if(strcmp(s2,s1)==0) ST;
B)if(s1==s2) ST;
C)if(strcpy(s1,s2)==1) ST;
D)if(s1-s2==0) ST;
41.有以下程序
#include
for(i=0; i<7; i++)
if(p[i][0]== ’T’) n++; return n; }
main()
{ char str[][10]={\printf(\}
程序执行后的输出结果是( )。答案:A
A)2
B)1
C)3
D)0
42.有以下程序 #include
void fun(char *t , char *s) { while(*t!=0) t++;
while( (*t++ = *s++ )!=0 ) ; } main()
{ char ss[10]=\fun(ss, aa); printf(\}
程序的运行结果是( )。
A)accbbxxyy,bbxxyy
B)acc,bbxxyy
C)accxxyy,bbxxyy
D)accxyy,bbxxyy
43.若有以下程序 #include
{ int i,j=0;
char a[]=\for (i=0; a[i]; i++)
if (a[i] != ’ ’) a[j++]=a[i]; a[j]=’\\0’
printf(\}
则程序的输出结果是( )。答案:A
A)Howareyou!
B)Howareyou
C)Hay!
D)How are you!
44.若有以下程序 #include
{ char a[20], b[ ]=\for (i=0; i<7; i++) scanf(\gets(a); printf(\}
执行时若输入: (其中
A)wer is red.Fig flo is blue.
B)wer is red.Fig flo
C)wer is red.The sky is blue.
D)Fig flower is red.The sky is blue.
45.若有以下程序 #include
main()
{ char w[20], a[5][10]={\int p[6][2]={{0,1},{1,5},{0,0},{0,2},{1,4},{4,4}}, i; for (i=0; i<6; i++) w[i]=a[ p[i][0] ][p[i][1] ]; puts(w); }
则程序的输出结果是( )。答案:A
A)black
B)ababj
C)ckbdl
D)catis
46.若有以下程序 #include
{ int i, j=0;
char a[]=\for ( i=0; a[i]; i++ )
if (a[i] == ’’) b[j++]=a[i+1]; b[j]=’\\0’; printf(\}
则程序的输出结果是( )。
A)ay
B)Howareyou
C)Hay!
D)Howareyou!
47.若有以下程序 #include
{ char a[20], b[ ]=\for (i=0; i<10; i++) scanf(\a[i]=’\\0’ gets(b);
printf(\}
执行时若输入:
Fig flower is red. <回车> 则输出结果是( )。答案:A
A)Fig flower is red.
B)Fig flower is red.is blue.
C)Fig floweris red.
D)Fig floweris
48.以下选项中,能正确进行字符串赋值的是( )。
A)char *s = \
B)char s[5] = { ’A’, ’B’, ’C’, ’D’, ’E’ };
C)char s[4][5] = { \
D)char *s ; gets( s );
49.以下fun函数的功能是将形参s所指字符串内容颠倒过来 void fun( char *s ) { int i, j, k;
for( i=0, j=strlen(s) __________ ; i } 在横线处应填入的内容是( )。答案:A A)-1 B)+1 C)+0 D),k=0 50.有以下程序 #include char a[10]; strcpy( a,\s = a; } main() { char *p=\fun( p ); printf(\} 程序运行后的输出结果是(此处□代表空格) A)PROGRAM B)STRING□□□□ C)STRING□□□ D)STRING )。 (51.有以下程序 #include { char c[2][5]={\int i, j, s=0; for( i=0; i<2; i++ ) p[i]=c[i]; for( i=0; i<2; i++ ) for( j=0; p[i][j]>0 ; j+=2 ) s=10*s+p[i][j]-’0’ printf(\} 程序运行后的输出结果是( )。答案:A A)6385 B)9824 C)6982 D)9284 52.下面选项中的程序段,没有编译错误的是( )。 A)char* sp, s[10]; sp = \ B)char* sp, s[10]; s = \ C)char str1[10] = \ D)char mark[]; mark = \ 53.以下叙述中正确的是( )。答案:A A)下面的语句用赋初值方式来定义字符串,其中,’\\0’是必须的 char str1[] = {’s’, ’t’, ’r’, ’1’, ’\\0’}; B)有定义语句: char str1[] = \,数组str1将包含4个元素 C)字符串常量\的类型是:字符串数据类型 D)字符数组的每个元素可存放一个字符,并且最后一个元素必须是’\\0’字符 54.以下叙述中正确的是( )。 A)字符串数组,是指数组中的每个元素都是一个存放字符串的一维数组 B)char ca[3][5] = {\是不合语法的 C)char ca[ ][5] = {\是不合语法的 D)char *ca[3] = {\是不合语法的 55.以下叙述中正确的是( )。答案:A A)C语言本身没有提供对字符串进行整体操作的运算符 B)函数调用strlen(s);会返回字符串s实际占用内存的大小(以字节为单位) C)两个字符串可以用关系运算符进行大小比较 D)当拼接两个字符串时,结果字符串占用的内存空间是两个原串占用空间的和 56.以下叙述中正确的是( )。 A)不能用字符串常量对字符数组名进行整体赋值操作 B)字符串常量\会被隐含处理成一个无名字符型数组,它有5个元素 C)char str[7] = \在语法上是合法的,运行也是安全的 D)char *str; str = \与char str[]; str = \效果是一样的 57.以下叙述中正确的是( )。答案:A A)对于字符串常量 \,系统已自动在最后加入了’\\0’字符,表示串结尾 B)语句 char str[10] = \和 char str[10] = {\并不等价 C)对于一维字符数组,不能使用字符串常量来赋初值 D)在语句char str[] = \中,数组str的大小等于字符串的长度 58.设有定义 char str[] = \则语句 printf(\的输出结果是( )。 A)6 5 B)6 6 C)5 5 D)5 6 59.在32位编译器上,设有定义 char *str1 = \, 则以下语句 printf(\的输出结果是( )。答案:A A)4 5 B)5 5 C)6 6 D)5 6 60.设有定义语句: char *aa[2]={ \则以下叙述正确的是( )。 A)aa[0]存放了字符串\的首地址 B)aa数组的两个元素只能存放含有4个字符的一维数组的首地址 C)aa数组的值分别是字符串\和\ D)aa是指针变量,它指向含有两个元素的字符型数组 61.有以下程序 #include { char c[2][5]={ \int i, j,s=0; for( i=0; i<2; i++ ) p[i]=c[i]; for( i=0; i<2; i++ ) for( j=0; p[i][j]>0 && p[i][j]<=’9’; j+=2 ) s = 10*s + p[i][j] - ’0’ printf( \} 程序的输出结果是( )。答案:A A)6385 B)69825 C)63825
正在阅读:
二级C语言复习资料数组11-28
考研必备公司财务学教学大纲10-20
视听语言案例分析05-17
APN排班模式在我院的应用08-26
上海牛津英语8A教案M2U511-30
控轧控冷技术在钢材生产中的应用08-10
最新全国医学博士英语统一考试词汇表(10000词全) - 打印版名师精心制作教学资料05-04
项目管理核心任务是项目的目标控制10-13
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 复习资料
- 数组
- 二级
- 语言
- 石羊畜牧猪场用水量分析报告
- 哈工大微电子IC思考题、作业、提问总结1
- 自我认知与成长小组
- 2018年上海市崇明区中考化学二模试卷
- 大连市城市规划管理技术规定
- Flassh大气校正
- 年春期初中七年级地理下册 6.1 亚洲的自然环境说课稿 新人教版
- 成立工会流程
- 2006中南大学考试试卷答案
- 安江稻源路改扩建搬迁安置项目施工组织设计
- 研学后教工作小结
- 英语国家概况1
- 司考刘凤科刑法讲义:危害公共安全罪
- PDP性格测试
- 万达广场的商圈分析 - 图文
- 2018届高三下学期5月高考拉练模拟(一)地理试题 含答案 - 图文
- 噶米老户朱小学食堂消毒人员岗位职责
- CA6140普通车床主轴变速箱设计及主轴箱设计说明书
- 高等教育学模拟考试试题及答案
- 中华2015经济法基础最后5套题0501