c语言(函数,数组,指针)练习题.
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C语言第2次练习题
一. 选择题
1)一个C程序的执行是________.
A.从程序的main( 函数开始执行。
B.从本程序的第一个函数开始执行。
C.从本程序第一条语句开始执行
D.从#include 处开始执行
3 定义 int a, *p1; 若使p1指向a,在程序中应使用_______。
A.*p1=&a; B. p1=&a; C. p1=a; D. p1=*a;
4 下列为一维数组初始化时, 正确的是_______.
A int a[ ]={1,3,5,….15};
B int a[5]=1;
C int a[3]={5,6,8,3};
D int a[5]={0};
5.下列要将2,4,6,8存入数组a中,不正确的是______.
B int a[4]={2,4,6,8}; B int a[ ]={2,4,6,8};
C int a[4]; a={2,4,6,8};
D int a[4]; a[0]=2;a[1]=4,a[2]=6;a[3]=8;
6.下列二维数组定义并初始化中, 正确的是
A int a[2][ ]={{3,4},{5,10,15}};
B int a[2][3]={2,3,4,5,6,7,8,9};
C int a[ ][3]={{0},{1,2},{3,4,5}};
D int a[ ][4]={(1,2,4,5),(2,3),(3,4,9),(5,6,8)};
7. 若有说明: int a[5][5]; 则对数组元素的正确引用是______.
A a[3+2][3]
B a[0,3]
C a[4][1+2]
D a[ ][2]
8.若有定义: char ch[ ]=”book120”; 则数组ch的存储长度是____;
A 7
B 8 C9 D10
9 设有定义: char s[20]; 向数组s中输入含有中间空格的字符串应使用的语句是______.
Ascanf(“%s”,&s; B scanf(“%s”,s; Cs=getchar(; Dgets(s;
10.在数组: int a[][3]={{1},{3,2},{4,5,6},{0}}; 中, 数组元素a[2][1]的值是________.
A3 B 4 C 5 D 2
11 以下字符串赋值错误的是________。
Achar s1[ ]=”abcdef”; Bchar s2[10]; s2=”abcdefg”;
Cchar *ps=”abcdef”; Dchar *pa; pa=”abcdefg”;
12 设有如下定义: char s1[20 ]=”Tianjin”, s2[10 ]=”Bbeijing”;
执行语句: strcpy(s1,s2; printf(“%s”,s1; 后, 输出结果是:_______.
A Tiajinn
B Beijing
C TianjinBeijing
D TianBeij
13.设有定义语句:int m[ ]={5,4,3,2,1},i=2;,下面数组元素引用错误的是____,
Am[--i] Bm[i*i] Cm[m[0]] Dm[i-2]
14. 下面的函数调用语句中fun函数的参数个数是
fun(fun(a,a+b,a+c,(a+b+c,25;
A 3 B)4 C)5 D)6
15设有定义:int a[6]={1,2,3,4,5,6 }, *p=a;, *(p+3的值是
A 3 B)4 C)5 D)6
二.阅读程序选择题
1.有以下程序:
#include
void f (int a, int b
{ int c;
c=a; a=b ; b=c;
}
void main(
{ int x =2, y = 3 ;
f (x, y ;
printf(“%d, %d \n”, x, y ;
}
程序的输出结果是:
A)2,3 B)2,2 C)3,3 D)3,2
2.有以下程序:
#include
void sub (int x,int y,int *z
{ *z=x-y; }
void main(
{ int a,b,c;
sub(10,6,&c;
sub(8,c,&b;
sub(c,b,&a;
printf(“%d %d %d\n”,a,b,c;
}
程序的输出结果是:
A 10 8 0
B 10 6 4 C8 4 4 D 0 4 4
3.有以下程序:
#include
void fun(int s[ ];
void main(
{ int a[ ]={1,2,3,4,5,6},k;
fun(a; //数组作参数
for(k=0;k<=5;k++ printf(“%d ”,a[k];
printf(“\n”;
}
void fun(int s[ ]
{ int i=0;
while(i<3 { s[i]=s[i]+5; i++; }
}
程序的输出结果是:
A 1 2 3 4 5 6
B 6 7 8 9 10 11
C 6 7 8 4 5 6
D 6 7 8 9 5 6
4. 有以下程序:
void main(
{ int j,k,a[5]={1,2,3,4,5};
k=a[0];
for(j=0; j<4; j++
a[j]=a[j+1];
a[4]=k;
for(j=0;j<=5;j++
printf(“%d ”,a[j]
}
程序的输出结果是:
A 1 2 3 4 5
B 2 3 4 5 1
C 5 1 2 3 4
D 5 4 3 2 1