[G]福建省C语言二级考试(选择+填空+程序填空+输出结果)-学生 联系客服

发布时间 : 星期日 文章[G]福建省C语言二级考试(选择+填空+程序填空+输出结果)-学生更新完毕开始阅读

printf(\ \

A. 5 18 7 16 9 12 B. 15 18 17 16 19 12 C.15 8 17 6 19 2 D.5 8 7 6 9 2

51010下面关于数组的叙述中,正确的是( A )。

A. 定义数组后,数组的大小是固定的,且数组元素的数据类型都相同 B. 定义数组时,可不加类型说明符

C.定义数组后,可通过赋值运算符\对该数组名直接赋值 D.在数据类型中,数组属基本类型

51011以下程序段的运行结果是( C )。 int a[]={1,2,3,4},i,j; j=1;

for(i=3;i>=0;i--) {a[i]=a[i]*j; j=j*3; } for(i=0;i<4;i++) printf(\ \

A. 3 6 9 12 B. 18 12 9 4 C.27 18 9 4 D.54 18 9 4

51012下面关于字符数组的叙述中,错误的是( B )。 A. 可以通过赋值运算符“=”对字符数组整体赋值 B. 不可以用关系运算符对字符数组中的字符串进行比较

C.字符数组中的字符串可以整体输入、输出 D.字符数组可以存放字符串 51013若有定义:int a[10],i=2; 能正确引用a数组元素的是( B )。 A. a[9+i] B. a[10-i] C.a[10] D.a(7)

51014( A )是正确的数组定义。

A. int arr[10]; B. int n=5; int arr[n]; C.int N=5, arr[N]; D.int n; n=5; int arr[n]; 51015若有定义:int arr[15],n=5; 无法正确引用arr数组元素的是( C )。 A. arr[0] B. arr[n] C.arr[10+n] D.arr[15-n] 51016以下程序段运行后x的值为( B )。 int a[8]={1,2,3,4,5,6,7,8},i,x=0; for(i=0;i<8;i++,i++) x=x+a[i];

A. 36 B. 16 C.20 D.18

51017以下程序段运行后x的值为( A )。 int a[8]={1,2,3,4,5,6,7,8},i,x=0; for(i=1;i<8;i++,i++) x=x+a[i];

A. 20 B. 16 C.18 D.36

51018下面叙述错误的是( C )。

A. 数组中每一个元素都属于同一个数据类型 B. C语言数组名称是数组在内存中的首地址

C.C语言数组长度在定义数组时可不作确定

D.C语言规定可逐个引用数组元素但不能一次引用整个数组 51100以下程序段的运行结果是( D )。 main() { int i=4,j; j=i;

pic(i+2*j-2,'*'); putchar('\\n'); for(j-=2;j>=0;j--) { pic(3-j, ' '); pic(i+2*j, '*'); putchar('\\n'); } } pic(int len,char c) { int k;

for(k=1;k<=len;k++) putchar(c); }

A. * B. ********** C.**** D.********** *** ********* ****** ******** ***** ********** ******** ****** ******* ********** ********** **** 51101以下程序段执行后输出的结果是( D )。 int a[][4]={1,2,3,4,5,6,7,8,9,10,11,12}; printf(\

A. 2 B. 3 C.6 D.7

51102以下程序段执行后p的值是( A )。 int a[3][3]={3,2,1,3,2,1,3,2,1}; int j,k,p=1;

for(j=0;j<2;j++)

for(k=j;k<4;k++) p*=a[j][k];

A. 108 B. 18 C.12 D.2

51103不能对二维数组a进行正确初始化的语句是(A )。

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

51104若有定义:int s[3][4]={{1,2},{0},{3,4,5}};则s[2][1]的值为( B )。 A. 3 B. 4 C.0 D.

51105若有定义:int a[3][4];则表达式&a[2][1]-a的值为( C )。 A. 7 B. 8 C.9 D.10

51106以下程序段运行后sum的值为( D )。 int k=0,sum=0;

int a[3][4]={1,2,3,4,5,6,7,8,9,10,11,12}; for(;k<3;k++) sum+=a[k][k+1];

A. 9 B. 18 C.19 D.21

51107若有定义int a[2][3];则合法引用数组元素的是( A )。 A. a[0][1/2] B. a[2][1] C.a[2][3] D.a[1][3] 51108在以下数组定义中,错误的是( A )。 A. int a[2][]={1,2,3,4,5}; B. int a[][2]={{0},{1}}; C.int a[2][2]={{1,2},{3}}; D.int a[][2]={1,2,3,4};

51109若定义int a[][4]={1,2,3,4,5,6,7,8};则表达式sizeof(a[0][1])的值为(D )。 A. 1 B. 2 C.3 D.4

51110以下程序段运行后s的值是( C )。 int a[3][3]={1,2,3,4,5,1,2,3,4}; int i,j,s=1;

for(i=0;i<3;i++) for(j=i+1;j<3;j++) s+=a[i][j];

A. 6 B. 120 C.7 D.240

51111设已定义: int a[][4]={0,0,0}; 则下列描述正确的是( C )。 A. 数组a包含3个元素 B. 数组a的第一维大小为3 C.数组a的行数为1 D.元素a[0][3]的初值不为0

51112在C语言中,若定义二维数组a[2][3],设a[0][0]在数组中位置为1,则a[1][1]在数组中位置是( C )。 A. 3 B. 4 C.5 D.6

51113以下程序段的运行结果是( A )。 int t[][3]={1,2,3,4,5,6,7,8,9,10,11,12}; printf(\ A. 5 B. 3 C.4 D.6

51114以下程序段运行后s的值是( B )。 int a[3][3]={1,2,3,1,2,3,1,2,3}; int i,j,s=0;

for(i=0;i<3;i++) for(j=i;j<3;j++) s+=a[i][j];

A. 13 B. 14 C.15 D.12

51115以下(C )对二维数组arr的初始化是错误的。

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

51116若有定义:int a[3][4]={{1,2},{3,4},{5,6,7}}; ,则a[1][1]的值为(A )。 A. 4 B. 2 C.1 D.3

51117若有定义:int a[3][2]; ,则表达式&a[2][1]-a的值为( A )。 A. 5 B. 4 C.3 D.2

51118以下程序段运行后x的值为( C )。 int i=0,x=0;

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

A. 0 B. 12 C.15 D.18

51200设有下列语句,则( D )是对a数组元素的不正确引用,其中0≤i<10。 int a[10]={0,1,2,3,4,5,6,7,8,9}, *p=a;

A. a[p-a] B. *(&a[i]) C.p[i] D.*(*(a+i))

51201设已定义: char s1[8],s2[8]=\能将字符串\赋给数组s1的语句是( C )。

A. s1=s2; B. strcpy(s2,s1); C.strcpy(s1,s2); D.s1=\51202以下程序段的运行结果是( A )。 char str[3][2]={ 'a', 'b', 'c', 'd', 'e', 'f'}; str[2][0]= '\\0'; printf(\

A. abcd B. ab C.abcd0 D.abcd0f

51203有如下定义:char str[10]={ \ 则分配给数组str的存储空间是( B )个字节。

A. 11 B. 10 C.9 D.8

51204以下程序段运行后输出结果是( C )。 char a[]=\ char b[]=\ strcpy(a,b);

printf(\

A. n B. u C.e D.m

51205以下程序段运行后输出结果是( A )。 char s[]=\ printf(\ A. 4 B. 5 C.8 D.9

51206以下程序段运行后a的值为( D )。 int a=2;

char *s1=\ a=strcmp(s1,s2);

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

51207以下对C语言字符数组描述中,错误的是( B )。

A. 可以用strlen函数计算字符数组中字符串的长度 B. 可以在赋值语句中通过赋值运算符\对字符数组整体赋值

C.存放在字符数组中的字符串,以'\\0'作为该字符串结束标志 D.字符数组可以存放字符串或字符