C 语言程序设计_单元测试题三 本单元包含“数组、函数”的内容。 一、选择题 1.以下为一维整型数组a 的正确说明是_________. A)int a(10); B)int n=10,a[n]; C)int n; D)#define SIZE 10; scanf("%d",&n); int a[SIZE]; int a[n]; 2.以下对二维数组a 的正确说明是________. A)int a[3][]; B)float a(3,4); C)double a[1][4] D)float a(3)(4); 3.若二维数组a 有 m 列,则计算任一元素a[i][j]在数组中位置的公式为______. (假设a[0][0]位于数组的第一个位置上。) A)i*m+j B)j*m+i C)i*m+j-1 D)i*m+j+1 4.若二维数组a 有 m 列,则在a[i][j]前的元素个数为________. A)j*m+i B)i*m+j C)i*m+j-1 D)i*m+j+1 5. 25.若有以下程序段: 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.有两个字符数组a、 b,则以下正确的输入语句是_______. A)gets(a,B); B)scanf("%s%s",a,B); C)scanf("%s%s",&a,&B); D)gets("a"),gets("b"); 7.下面程序段的运行结果是_________. char a[7]="abcdef"; char b[4]="ABC"; strcpy(a,B); printf("%c",a[5]); A)空格 B)\0 C)e D)f 8.判断字符串s1 是否大于字符串s2,应当使用_______. A)if(s1>s2) B)if(strcmp(s1,s2)) C)if(strcmp(s2,s1)>0) D)if(strcmp(s1,s2)>0) 9.下面程序的功能是从键盘输入一行字符,统计其中有多少个单词,单词之间用 空格分隔,请选择填空。 #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(___)num++ i++; } printf("There are %d words.\n",num); } A)c1==''&&c2=='' B)c1!=''&&c2=='' C)c1==''&&c2!='' D)c1!=''&&c2!='' 10.下面程序的运行结果是________. #include main() {char str[]="SSSWLIA",c; int k; for(k=2;(c=str[k])!='\0';k++) {switch(C) {case 'I':++k;break; case 'L':continue; default:putchar(C);continue; } putchar('*'); } } A)SSW* B)SW* C)SW*A D)SW 11.以...