第一范文网 - 专业文章范例文档资料分享平台

C语言全部考试系统题库含答案

来源:用户分享 时间:2025/8/26 21:51:34 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

avg =+ pa[i]; avg =; return avg; }

main( )

{ int i; a[5]={2,4,6,8,10}; float mean;

mean=average(a,5);

printf(“mean=% f \\n”,mean); }

第五章 指针

一、 判断题(正确的填A,错误的填B)

R1.变量的指针,其含义是指该变量的地址。(A) N2.有以下语句

static int a[]={0,1,2,3,4},*p; p=&a[2];

则表达式(*p)++执行后,指针p指向的元素值是2。( B ) 3 R3.变量的指针,其含义是指该变量的数值。( B ) 4. 有以下语句

static int a[]={0,1,2,3,4},*p; p=&a[1];

则表达式(*p)++执行后,指针p指向的元素值是2。( A ) B 5.若 p 是指向结构体 s 的指针,则 (*p).n 和 (&s)->n 等效。(B) 6、char *p[10];p是指向数组的指针。(B) (9)设:char *px;则赋值表达式px=\正确(A)

N(10)设:int a[3]={1,2,3},*pa;则赋值表达式px=&a正确(B) 7. int *p[5]定义的是一个指针数组。( A) 8. int (*p)[5]定义的是一个指针数组。( B ) 9.当main函数带有形参时,传给形参的值只能从命令行中得到。(A)

下列说法中不正确的是( )

R10.指针是一个变量 11.指针中存放的是地址值

12.指针可以进行加、减等算术运算 13.指针变量不占用存储空间 设变量定义为“int x, *p=&x;”,则&*p相当于___________。

N18)p 19)*p 20)x 21)*&x 设变量定义为“int a[4];”,则表达式 不符合C语言语法。

22)*a 23)a[0] 24)a 25)a++ 已知:int *p, a;则语句“p=&a; ”中的运算符“&”的含义是( )

26、位与运算 27、逻辑与运算 28、取指针内容 29、取变量地址 intn=0,*p=&n,**q=&p;则正确的赋值语句是

30 p=1;31)*q=2;32)q=p;33)*p=5; 二、

单项选择题

1有以下程序(设其文件名为2-5.c) #include

void main(int argc,char *argv[]) { int i; char *p;

printf(\ if(argc>2) p=argv[1]; puts(p+1); }

若运行该程序时,在命令行提示符后输入 2-5 file1 file2 file3

则执行printf(“%d”,argc);时,输出结果为( 4) A 1 B 2 C 3 D 4

2有以下程序(设其文件名为2-5.c) #include

void main(int argc,char *argv[]) { int i; char *p;

printf(\ if(argc>2) p=argv[1]; puts(p+1); }

若运行该程序时,在命令行提示符后输入 2-5 file1 file2 file3

则执行puts(p+1);时,输出结果为( ile1) A file1 B file2 C ile1 D ile2

R3. 变量I的值为3,I的地址为1000,若欲使p为指向I的指针变量,则下列赋值正确的是___________。

A)&I=3 B)*p=3 C)*p=1000 D)p=&I 4.

有如下程序

#include

void fun(int *x,int *y) { int *z; z=x;x=y;y=z; }

void fun2(int *x,int *y) { int z;

z=*x; *x=*y; *y=z; (*x)++; (*y)++; }

void main() { int a=5,b=9; fun1(&a,&b);

printf(“a=%d,b=%d\\n”,a,b); fun2(&a,&b);

printf(“a=%d,b=%d\\n”,a,b); }

main函数中第一个printf输出结果为()

(A)a=9,b=5 (B)a=5,b=9 (C)a=10,b=6 (D)a=6,b=10 R5、

若有以下定义和语句:

int a[10]={1,2,3,4,5,6,7,8,9,10};*p=a; 则不能表示a数组元素的表达式是( )。 A、*p B、a[10] C、*a D、a[p-a] 6、有以下程序 main() {

int a[3][3],*p,i; p=&a[0][0];

for(i=0;i<9;i++)p[i]=i;

for(i=0;i<3;i++)printf(\}

程序运行后的输出结果是

A 0 1 2 B 1 2 3 C 2 3 4 D 3 4 5 7以下程序的输出结果为_________。 char *alpha[6]={“ABCD”,”EFGH”,”IJKL”,”MNOP”,”QRST”,”UVWX”}; char **p; main() {

int i; p = alpha;

for(i=0;i<4;i++) printf(“%c”,*(p[i])); printf(“\\n”); }

A) AEIM B) BFJN C) ABCD D) DHLP 8.下面程序输出数组中的最大值,由s指针指向该元素。

main()

{ int a[10]={6,7,2,9,1,10,5,8,4,3},*p,*s;

for(p=a,s=a;p-a<10;p++) if( ) s=p; printf(“The max:%d”,*s); }

则在if语句中的判断表达式应是( )

A、p>s B、*p>*s C、a[p]>a[s] D、p-a>p-s R9(3)若有定义int *x[3],b[10];则正确的赋值语句是( )

A.x=b[0]; B.x=b; C.x[0]=b[0]; D.x[0]=&b[0]; R10若有以下定义,则______是对数组元素的正确引用。 int a[5],*p=a

A). *&a[4] B、*(p+5) C、*++a D、*(p-1)

11.以下程序段中,不能正确赋字符串(编译时系统会提示错误)的是 A)chars[10]=”abcdefg”; B)chart[]=”abcdefg”,*s=t; C)chars[10];s=”abcdefg”;

D)chars[10];strcpy(s,”abcdefg”);

N12.#include

int find(char *s1, char *s2) {

int t;

char *p1,*p2;

for(t=0;s1[t];t++) {

p1=&s1[t]; p2=s2;

while(*p2&&*p2==*p1)//先算*p2==*p1 {

p1++; p2++; }

if(!*p2) return(t); }

return -1; } main() {

if(find(“c is fun”,”is”)!=-1) L1: printf(“is”);

if(find(“c is fun”,”Basic”)!=-1) L2:printf(“basic\\n”);

搜索更多关于: C语言全部考试系统题库含答案 的文档
C语言全部考试系统题库含答案.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c8zgf58fgpa4mg6283nif6msol1o4w700ux2_11.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top