A.scanf(\,&a); B.scanf(\,a[]); C.gets(a[20]); D.gets(a);
11.下面程序执行后的正确输出项是( )。
#include<>
void swap1(int a[ ])
{ int t;
t=a[0]; a[0]=a[1]; a[1]=t; }
void swap2(int a,int b) { int t;
t=a; a=b; b=t; }
void main() { int x[2]={1,5}; int y[2]={1,5}; swap1(x);
swap2(y[0],y[1]);
printf(\ x[0],x[1]); printf(\ y[0],y[1]);
}
A. x:5 1 B. x:1 5
C. x:1 y:1 5 y:5 1
y:1 12.执行下列程序后的输出结果是( )。
#include <> char f(char s[],int n) { return (s[n]); } main()
{ char a[]=\ printf(\ }
A.D B.C C.B 13.执行下列程序后的输出结果是( )。
#include <> int f(int a[],int n) { if(n==0) return a[0]; else return f(a,n-1)+a[n]; } main()
{ int x[]={1,3,5,7,9}; printf(\ }
A.1 B.4 C.9 解:
5 D. x:5 5
y:5 D.A
D.16
1 1
二、填空题
1.构成数组的各个元素必须具有相同的 。
解:数据类型
2.若有定义“int a[10]={1,2};”,则数组元素a[2]的值为 。
解:0
3.若有定义“int a[3][4];”,则数组a行下标的上限为 ,列下标的下限为 。
解:2 0
4.C语言程序在执行过程中,不检查数组下标是否 。 解:越界
5.C语言中,二维数组元素在内存中的存放顺序是 。 解:按行存放
6.若有定义“int a[3][4];”,则在数组元素a[2][2]前有 个元素。 解:10
7.若用数组名作为函数调用的实参,传递给形参的是 。 解:数组第一个元素的地址
8.若有定义语句“char s1[ ]=\,s2[ ]={'a','b','c'};”,则数组s1有 个元素,数组s2有 个元素。 解:4 3
三、写出下列程序的输出结果 1.#include <>
void main() {
int a[6]={2,3,7,1,9,6},i,j,k,m;
for(i=5;i>=0;i--){
k=a[5];
for(j=4;j>=0;j--) a[j+1]=a[j]; a[0]=k;
for(m=0;m<6;m++)
printf(\ putchar('\\n'); } }
解:6 2 3 7 1 9 9 6 2 3 7 1 1 9 6 2 3 7 7 1 9 6 2 3 3 7 1 9 6 2 2 3 7 1 9 6 2.#include <>
void main() {
int n[3],i,j,k;
for(i=0;i<3;i++)
n[i]=0;
k=3;
for(i=0;i for(j=0;j for(i=0;i<3;i++) printf(\ } 解: 13 14 17 3.#include <> void 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(\ printf(\ } } 解:1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 4.#include <> void main() { int x[10]; int i,m=1; void sort(int a[],int n); for(i=0;i<10;i++){ m=-m; x[i]=m*i; } sort(x,10); for(i=0;i<10;i++) printf(\ } void sort(int a[],int n) { int i,j,t; for(i=1;i<10;i++){ t=a[i]; for(j=i-1; j>=0; j--) if(t>a[j]) break; else a[j+1]=a[j]; a[j+1]=t; } } 解: -8 -6 -4 -2 0 1 3 5 7 9 5.#include <> void main() { char s1[]=\ int i1,i2,i,flag; i1=i2=i=flag=0; while(1){ if(s1[i1]=='\\0'){ flag=1; break; } if(s2[i2]=='\\0'){ flag=2; break; } if(s1[i1] s[i++]=s1[i1++]; else s[i++]=s2[i2++]; } if(flag==1) while(s2[i2]!='\\0') s[i++]=s2[i2++]; else while(s1[i1]!='\\0') s[i++]=s1[i1++]; s[i]='\\0'; puts(s); }
相关推荐: