C语言程序设计习题集3Word下载.docx

上传人:b****4 文档编号:13510774 上传时间:2022-10-11 格式:DOCX 页数:13 大小:20.81KB
下载 相关 举报
C语言程序设计习题集3Word下载.docx_第1页
第1页 / 共13页
C语言程序设计习题集3Word下载.docx_第2页
第2页 / 共13页
C语言程序设计习题集3Word下载.docx_第3页
第3页 / 共13页
C语言程序设计习题集3Word下载.docx_第4页
第4页 / 共13页
C语言程序设计习题集3Word下载.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

C语言程序设计习题集3Word下载.docx

《C语言程序设计习题集3Word下载.docx》由会员分享,可在线阅读,更多相关《C语言程序设计习题集3Word下载.docx(13页珍藏版)》请在冰豆网上搜索。

C语言程序设计习题集3Word下载.docx

A12B15C16D20

5以下程序运行后的输出结果是_C__。

#definef(x)(x*x)

{inti1,i2;

i1=f(8)/f(4);

i2=f(4+4)/f(2+2);

%d,%d\n"

i1,i2);

A64,28B4,4C4,3D64,64

6若已定义a为int型变量,则__D_是对指针变量p的正确说明和初始化。

Aintp=&

a;

Bint*p=a;

Cint*p=*a;

Dint*p=&

7已知下列说明语句:

staticinta[]={2,4,6,8}

staticint*p[]={a,a+1,a+2,a+3};

int**q;

q=p;

则表达式**(q+2)的值是_A__。

A6B2C4D8

8下面是一个初始化指针的语句:

int*px=&

,其中指针变量的名字应该__C_。

A*pxBaCpxD&

a

9若指针px为空指针,则_B__。

Apx指向不定Bpx的值为零Cpx的目标为零Dpx的地址为零

10对下语句int*px[10];

,下面正确的说法是_B__。

Apx是一个指针,指向一个数组,数组的元素是整数型。

Bpx是一个数组,其数组的每一个元素是指向整数的指针。

CA和B均错,但它是C语言的正确语句。

DC语言不允许这样的语句。

11具有相同基类型的指针变量p和数组y,下列写法中不合法的是_D__。

Ap=yB*p=y[i]Cp=&

y[i]Dp=&

y

12已知staticinta[]={5,4,3,2,1},*p[]={a+3,a+2,a+1,a},**q=p;

则表达式*(p[0]+1)+**(q+2)的值是_A__。

A5B4C6D7

13说明语句int*(*p)();

的含义为_D__。

Ap是一个指向int型数组的指针

Bp是指针变量,它构成了指针数组

Cp是一个指向函数的指针,该函数的返回值是一个整型

Dp是一个指向函数的指针,该函数的返回值是一个指向整型的指针

14设有如下程序段

chars[20]="

Beijing"

*p;

p=s;

则执行p=s;

语句后,以下叙述正确的是_A__。

A可以用*p表示s[0]

Bs数组中元素个数和p所指字符串长度相等

Cs和p都是指针变量

D数组s中的内容和指针变量p中的内容相同

15设int型变量i、n均已定义,指针变量s1、s2各指向一个字符串。

在for(i=0;

i<

n;

i++)循环中,下列语句用以实现将s2所指字符串中前n个字符复制到s1所指字符串中,其中代码正确的是_A__。

A*s1++=*s2++;

Bs1[n-1]=s2[n-1];

C*(s1+n-1)=*(s2+n-1);

D*(++s1)=*(++s2);

16给出下列程序的运行结果_B__。

#include<

stdio.h>

voidmain()

{staticchara[]="

language"

b[]="

program"

;

char*ptr1=a,*ptr2=b;

intk;

for(k=0;

k<

7;

k++)

if(*(ptr1+k)==*(ptr2+k))printf("

%c"

*(ptr1+k));

AgaeBgaClanguageD有语法错误

17以下程序执行后的输出结果是_A__。

voidfun1(char*p)

{char*q;

while(*q!

='

\0'

){(*q)++;

q++;

}

{chara[]={"

Program"

},*p;

p=&

a[3];

fun1(p);

printf("

%s\n"

a);

AProhsbnBPrphsbnCProgsbnDProgram

18以下程序执行后的输出结果是_C__。

voidswap(char*x,char*y)

{chart;

t=*x;

*x=*y;

*y=t;

{char*s1="

abc"

*s2="

123"

swap(s1,s2);

%s,%s\n"

s1,s2);

A123,abcBabc,123C1bc,a23D321,cba

19以下程序执行后的输出结果是__C_。

{char*p[]={"

3697"

"

2584"

};

inti,j;

longnum=0;

for(i=0;

2;

i++)

{j=0;

while(p[i][j]!

{if((p[i][j]-'

0'

)%2)num=10*num+p[i][j]-'

j+=2;

num);

A35B37C39D3975

20下列程序运行后的输出结果是_A__。

{charstr[]="

The_Microsoft"

intn=4;

sub(str,0,n-1);

sub(str,0,strlen(str)-1);

str);

sub(str,n1,n2)

char*str;

intn1,n2;

{charc,*p;

p=str+n2;

str=str+n1;

while(str<

p)

{c=*str;

*str=*p;

*p=c;

str++;

p--;

AtfosorciMThe_B.ehT_MicrosoftCtfosorciM_ehTD.Microsoft_The

二填空题(每空3分,共30分)

1以下程序的定义语句中,x[1]的初值是2,程序运行后输出的内容是2468。

{intx[]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16},*p[4],i;

i<

4;

i++)

{p[i]=&

x[2*i+1];

%d"

p[i][0]);

\n"

);

2以下程序的输出结果是25。

voidswap(int*a,int*b)

{int*t;

t=a;

a=b;

b=t;

{inti=2,j=5,*p=&

i,*q=&

j;

swap(p,q);

%d%d\n"

*p,*q)

3以下程序的输出结果是4。

{inta[5]={2,4,6,8,10},*p;

p=a;

p++;

*p);

4以下程序的输出结果是__55__。

#defineM5

#defineNM+M

{intk;

k=N*N*5;

k);

5若有定义语句:

inta[4]={0,1,2,3},*p;

a[1];

则++(*p)的值是2。

6若有定义:

inta[2][3]={2,4,6,8,10,12};

则*(&

a[0][0]+2*2+1)的值是12,*(a[1]+2)的值是12。

7若有程序段:

int*p[3],a[6],i;

3;

i++)p[i]=&

a[2*i];

则*p[0]引用的是a数组元素a[0],*(p[1]+1)引用的是a数组元素a[3]。

三程序填空题(每空3分,共30分)

1下面函数的功能是从输入的十个字符串中找出最长的那个串,请填空使程序完整。

voidfun(charstr[10][81],char**sp)

{inti;

*sp=【1】str[0];

for(i=1;

10;

if(strlen(*sp)<

strlen(str[i]))【2】*sp=str[i];

2下面函数的功能是将一个整数字符串转换为一个整数,例如:

"

1234"

转换为1234,请填空使程序完整。

intchnum(char*p)

{intnum=0,k,len,j;

len=strlen(p);

for(;

【3】*p;

p++)

{k=【4】*p-'

;

j=(--len);

while(【5】j--)k=k*10;

num=num+k;

return(num);

3下面函数的功能使统计子串substr在母串str中出现的次数,请填空使程序完整。

intcount(char*str,char*substr)

{inti,j,k,num=0;

【6】str[i];

for(【7】j=i,k=0;

substr[k]==str[j];

k++,j++)

if(substr[【8】k+1]==’\0’)

{num++;

break;

4下面函数的功能是用递归法将一个整数存放到一个字符数组中,存放时按逆序存放,如483存放成“384”,请填空使程序完整。

voidconvert(char*a,intn)

if((i=n/10)!

=0)convert(【9】a+1,i);

else*(a+1)=0;

*a=【10】n%10+'

0’;

结构体文件

单项选择题(1~8题每题5分,9~18题每题6分,共100分)

1有以下说明语句,对结构变量中成员age的正确引用是__A_。

structstudent

{intage;

intsex;

}stud1,*p;

Ap->

ageBstudent.ageC*p.ageDstud1.student.age

2说明语句如下,则正确的叙述是_D__。

uniondata{intx;

chary;

floatz;

}a;

Adata和a均是共用体类型变量

Ba所占内存长度等于其成员x、y、z各在内存所占长度之和

C

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1