C+语言试题库(6)

2019-03-23 14:35

以下能对一维数组a进行正确初始化的语句是 A) int a[10]=(0,0,0,0,0) B)int a[10]={} C) int a[]={0}; D) int a[10]={10*1}; *【题6.6】 C

以下对二维数组a的正确说明是

A)int a[3][]; B)float a(3,4); C) double a[1][4]; D)float a(3)(4); *【题6.7】 C

若有说明:int a[3][4]; 则对a数组元素的正确引用是 A) a[2][4] B) a[1,3] C) a[1+1][0] D) a(2)(1); *【题6.8】 D

若有说明:int a[3][4];则对a数组元素的非法引用是 A) a[0][2*1] B) a[1][3] C)a[4-2][0] D)a[0][4] *【题6.9】 B

以下能对二维数组a进行正确初始化的语句是 A) int a[2][]={{1,0,1},{5,2,3}}; B) int a[][3」={{1,2,3},{4,5,6}}; C) int a[2][4]={{1,2,3},{4,5},{6}}; D) int a[][3={{1,0,1},{},{1,1}}; *【题6.10】 C

以下不能对二维数组a进行正确初始化的语句是 A) int a[2][3]={0};

B) int a[][3」={{1,2},{0}};

C) int a[2][4]={{1,2},{3,4},{5,6}}; D) int a[][3」={1,2,3,4,5,6}; *【题6.11】 D

若有说明: int a[3][4]={0};则下面正确的叙述是 A)只有元素a[0][0]可得到初值0 B)此说明语句不正确:。

C)数组a中各元素都可得到初值,但其值不一定为0。 D)数组a中每个元素均可得到初值0 *【题6.12】 D

若有说明:int a[][4]={0,0};则下面不正确的叙述是 A)数组a的每个元素都可得到初值0 B)二维数组a的第一维大小为1

C)因为二维数组0中第二维大小的值除以初值个数的商为1,故数组a行 数为1

D)只有元素a[0][0]和a[0][1]可得初值0,其余元素均得不到初值0 *【题6.13] B

若有说明:int a[3]「4]则数组a各元素 A)可在程序的运行阶段得到初值0

B)可在程序的编译阶段得到初值0 C)不能得到确定的初值

D)可在程序的编译或运行阶段得初值0 *【题6.14】 C

以下各组选项中,均能正确定义二维实型数组a的选项是 A)float a[3][4]; B)float a(3,4); float a[][4]; float a[3][4];

float a[3][]={{1},{0}}; float a[][]={{0},{0}};

C)float a[3][4]; D)float a[3][4]; static float a[][4]={{0},{0}}; float a[3][]; auto float a[][4]={{0},{0},{0}}; float a[][4] *【题6.15] A

下面程序(每行程序前面的数字表示行号) 1 main() 2 {

3 int a[3]={3*0}; 4 int i;

5 for(i=0;i<3;i++) scanf(\ 6 for(i=1;i<3;i++) a[0]=a[0]+a[i] 7 printf(\ 8 }

A)第3行有错误 B) 第7行没有错误 C)第5行有错误 D) 没有错误 *【题6.16] C

下面程序一一一(每行程序前面的数字表示行号)。 1 main() 2 {

3 float a[10]={0.0}; 4 int i

5 for(i=0;i<3;i++) scanf(\6 for(i=0;i<10;i++) a[0]=a[0]+a[i]; 7 printf(\8 }

A)没有错误 B)第3行有错误 C)第5行有错误 D)第7行有错误 *【题6.17】 D

下面程序有错的行是 1 main() 2 {

3 int a[3]={1}; 4 int i;

5 scanf(\

6 for(i=1;i<3;i++) a[0]=a[0]+a[i]; 7 printf(\ 8 }

A)3 B)6 C)7 D)5 *【题6.18】 D

下面程序(每行程序前面的数字表示行号) 1 main() 2 {

3 int a[3]={0}; 4 int i;

5 for(i=0;i<3;i++)scanf(\ 6 for(i=1;i<4;i++)a[0]=a[0]+a[i]; 7 printf(\ 8 }

A)没有错误 B)第3行有错误 C)第5行有错误 D)第6行有错误 *【题6.19】 D

若二维数组a有m列,则计算任一元素a[i][j]在数组中位置的公式为 (假设a[0][0]位于数组的第一个位置上。)

A)i*m+j B)j*p+i。C)i*m+j-1 D)i*m+j+1 *【题6.20】 B

对以下说明语句的正确理解是 int a[10]={6,7,8,9,10};

A)将5个初值依次赋给a[1]至a[5] B)将5个初值依次赋给a[0]至a[4] C)将5个初值依次赋给a[6]至a[10]

D)因为数组长度与初值的个数不相同,所以此语句不正确 *【题6.21】 B

以下不正确的定义语句是__.

A) double x[5]={2.0,4,0,6.0,8.0,10.0}; B) int y「5」={0,1,3,5,7,9};

C) char c1[]={’1’,’2’,’3’,’4’,’5’}; D) char c2[]=}{'\\x10','\\xa','\\x8'}; *【题6.22】 B

若有说明:int a[ ][3]={1,2,3,4,5,6,7};则a数组第一维的大小是 A) 2 B) 3 C) 4 D)无确定值 *【题6.23】 B

若二维数组a有m列,则在a[i][j]前的元素个数为 A)j*m+j B)i*m+j C)i*m+j D)i*m+j+1 *【题6.24】 A

定义如下变量和数组: int k;

int a[3][3]={1,2,3,4,5,6,7,8,9}; 则下面语句的输出结果是

for(k=0;k<3;k++) printf(\ A) 3 5 7 B) 3 6 9 C) 1 5 9 D) 1 4 7 *【题6.25】 B

若有以下程序段: ......

int a[]={4,0,2,3,1};i,j,t; for(i=1;i<5;i++) {t=a[i];j=i-1;

while(j>=0&&t>a[j]) {a[j+1]=a[j];j- -;} a[j+1]=t;} ......

则该程序段的功能是

A)对数组a进行插入排序(升序) B)对数组a进行插入排序(降序) C)对数组a进行选择排序(升序) D)对数组a进行选择排序(降序) *【题6.26】 D

以下正确的定义语句是

A) int a[1」[4」={1,2,3,4,5}; B) float x[3][]={{1},{2},{3}};

C) long b[2][3]={{1},{1,2},{1,2,3}}; D) double y[][3]={0}; *【题6.27】 C

下面程序的运行结果是 main() {int a[6」「6」,i,j; for(i=1;i<6;i++)

for(j=1;j<6,j++) a[i][j]=(i/j)*(j/i); for(i=1;i<6;i++)

{for(j=1;j<6;j十十) printf(\ A)11111 B)00001 C)10000 D)10001 11111 00010 01000 01010 11111 00100 00100 00100

11111 01000 00010 01010 11111 10000 00001 10001 *【题6.28】 C

下面程序的运行结果是 __. main()

{int a[6],i;

for(i=1;i<6;i++)

{a[i]=9*(i-2+4*(i>3))%5; printf(\

A)—40404 B)—40403 C)一40443 D)一40440 *【题6.29】 D

下面是对s的初始化,其中不正确的是

A) char s[5」={\ C) char s[5]=\*【题6.30】 B

下面程序段的运行结果是

char c[5]={'a','b','\\0','c','\\0'}; printf(\

A)’a’’b’ B)ab C)ab c D)ab (其中 表示空格) *【题6.31】 D

对两个数组a和6进行如下初始化 char a[]=\

char b[]={’A’,’B’,’C’,’D’,’E’,’F’}; 则以下叙述正确的是

A) a与b数组完全相同 B) a与b长度相同

C) a和b中都存放字符串 D) a数组比b数组长度长 *【题6.32】 B

有两个字符数组a、b,则以下正确的输入格式是

A) gets(a,b); B) scanf(\

C) scanf(\*【题6.33】 D

有字符数组a[80]和b[80],则正确的输出形式是 A) puts(a,b); B) printf(\C) putchar(a,b); D) puts(a),puts(b); *【题6.34】 D

下面程序段的运行结果是 char a[7]=\ char b[4]=\ strcpy(a,b);

printf(\

A)一 B)\\O C)e D)f (其中一表示空格) *【题6.35】 D

有下面的程序段

char a[3],b[]=\a=b;

printf(\则

A)运行后将输出China B)运行后将输出Ch C)运行后将输出Chi D)*【题6.36】 B

编译出错

下面程序段的运行结果是

char c[」=\printf(\

A)14 B)3 C)9 D)字符串中有非法字符,输出值不确定 *【题6.37】 D

判断字符串a和b是否相等,应当使用 A) if (a= =b) B) if (a=b)

C) if (strcpy(a,b)) D) if (strcmp(a,b)) *【题6.38】 D

判断字符串s1是否大于字符串s2应当使用 A) if (sl>s2) B) if (strcmp(s1,s2))

C) if (strcmp(s2,sl)>0) D) if (strcmp(s1,s2)>0) *【题6.40】 D

下面描述正确的是

A)两个字符串所包含的字符个数相同时,才能比较字符串 B)字符个数多的字符串比字符个数少的字符串大 C)字符串\与\相等

D)字符串\小于字符串\一表示空格) *【题6.41】 C

下述对C语言字符数组的描述中错误的是 A)字符数组可以存放字符串

B)字符数组的字符串可以整体输入、输出

C)可以在赋值语句中通过赋值运算符\对字符数组整体赋值 D)不可以用关系运算符对字符数组中的字符串进行比较 *【题6.45】 B

下面程序的功能是从键盘输入一行字符,统计其中有多少个单词,单词之间 用空格分隔。请选择填空。 #include main()

{char s[80」,c1,c2=''; int i=0,num=0; gets(s); while(s[i]!='\\0')

{c1=s[i];if(i= =0) c2='';else c2=s[i-1]; if(【1】) num++;i++}

printf(\【1】A)c1='' && c2=='' B)cl!='' && c2=='' C)c1=='' && c2!='' D)cl!='' && c2!='' *【题6.46】 A

下面程序的运行结果是 #indude main()

{char ch[7]={\ int i,s=0;

for(i=0;ch[i]>='0'&&ch[i]<='9';i+=2) s=10*s+ch[i]-'0'; printf(\ }

A)1 B)1256 C) 12ab56 D)1 *【题6.47】 A

当运行以下程序时,从键盘输入:aa bb cc dd

(表示回车),则下面程序的运行结果是 main()

{char a1[5],a2[5」,a3[5],a4[5];


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

下一篇:七年级英语暑假专题 浅谈 whats…的结构、wheres...的结构 外研

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

马上注册会员

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