第09章 指针运算

2026/1/20 8:21:42

延安大学西安创新学院理工系

C语言程序设计习题

puts(s); }

delspace(char *p) {

int i, t; char c[80]; for(i=0, t=0;【1】; i++)

if(!isspace(【2】)) c[t++]=p[i]; c[t]=‘\\0‘; strcpy(p,c); }

A) p[i] B) !p[i] C) p[i]=‘\\0‘ D) p[i]==‘\\0‘ A) p+i B) *c[i] C) *(p+i) D) *(c+i) 9.43下面程序以功能是将字符串s中的内容按逆顺输出,但不改变串中的内容,请选择填空。

#include main( ) {

char s[10]=‖hello!‖; inverp(s); }

inverp( char *s) {

if(【1】) return 0; inverp(a+1);

printf(―%c‖, 【2】)_; }

【1】 A) *a!=‘\\0‘ B) *a!=NULL C) !*a D) !a*==0 【2】 A) *(a-1) B) *a C) *(a+1) D) *(a--) 9.44下面程序的功能是用递归法将一个整数存放到一个字符数组中。存放时按逆顺存放。如

483存放成384,请填空。 #include

void convert(char *a, int n) {

int i;

if((i=n/10)!=0) convert(【1】, i); *a=【2】; }

main( ) {

int number; char str[ ]=‖ ‖; scanf(―%d‖, &number); convert(str, number); puts(str); }

【1】 A) a++ B) a+1 C) a-- D) a-1

C语言精品课程项目组

9

延安大学西安创新学院理工系

C语言程序设计习题

【2】 A) n/10 B) n C) n/10+10 D) n+‘0‘

9.45下面程序的功能是用递归法将一个整数转换成字符形式输出。例如输入483,应输出相

应字符串483。请填空。 #include void convert(int n) {

int i;

if((【1】)!=0) convert(i); putchar(【2】+‘0‘); }

main( ) {

int number; scanf(―%d, &number); if(number<0) { puchar(?-‘); number= -number;} convert(number); }

【1】 A) i=n/10 B) i=n C) i=n-- D) i=--a 【2】 A) n B) n/10 C) n D) i

9.46下面程序的是按字典顺序比较两个字符串s,t的大小,如果s大于t则返回正值,等于

则返回0,小于则返回负值。请选择填空。 #include ―stdio.h‖ s(char *s, char *t)] {

for(; *s==*t; 【1】) if(*s==‘\\0‘) return (0); retrun(*s-*t); }

main ( ) {

char a[20], b[20], *p, *q; int i;

p=&a; q=&b; scanf(―%s%s‖, a, b); i=s(【2】); printf(―%d‖, i); }

【1】A) s++ B) t++ C) s++; t++ D) t++, s++ 【2】A) p, q B) q, p C) a, p D) b, q 9.47下面程序的功能是从键盘接收一个字符串,然后按字符顺序从小到大进行排序,并删除

重复的字符。请选择填空。 #include #include main( ) {

char string[100], *p, *q, * r, c; printf(―Pleast input a string:‖);

C语言精品课程项目组

10

延安大学西安创新学院理工系

C语言程序设计习题

gets(string);

for(p=string; *p; p++) {

for(q=r=p; *q; q++) if(【1】) r=q; if(【2】) { c=*r; *r=p;*p=c; }

}

for(p=string; *p; p++) { for(q=p; *p==*q; q++); string(【3】,q); } printf(―result: %s\\n‖, string);

} 【1】 A) *r>*q B) *r>*p C) r>q D) r>p 【2】 A) r==q B) r!=q C) p!=q D) r!=p 【3】 A) p++ B) p C) p-1 D) p+1 9.48下面程序的功能是将字符串a中的所有字符传送到字符串b中,要求每传三个字符后再

存放一个空格,例如字符串a为“abcdefg‖,则字符串b为“abc def g”,请选择填空。 #include main( ) {

int i, k=0;

char a[80], b[80], *p; p=a; gets(p); while(*p) {

for(i=1; 【1】;p++, k++, i++) b[k]=*p;

if(【2】) { b[k]=? ‘; k++; } }

b[k]=‘\\0‘; puts(b); } 【1】 A) i<3 B) i<=3 C) i<3&&*p!=0 D) i<=2&&*p 【2】 A) i==4 B) *p==‘\\0‘ C) !*p D) i!=4

9.49当运行以下程序时,从键盘输入Happy!<回车>,则下面程序的运行结果是____。

#include #include main( ) {

char str[10], *p=str;

gets(p); printf(―%d\\n‖, stre(p)); }

stre(char str[ ]) {

C语言精品课程项目组

11

延安大学西安创新学院理工系

C语言程序设计习题

int num=0; while(*(str+num)!=‘\\0‘) num++; return (num);

}

【1】 A) 7 B) 6 C) 5 D)10 9.50以下程序的运行结果是____。

#include main( ) {

static char a[ ]= ―Language‖, b[ ]=programme‖; char *p1, *p2; int k; p1=a; p2=b; for(k=0; k<=7; k++)

if(*(p1+k)==*(p2+k)) printf(―%c‖, *(p1+k)); }

A) gae B) ga C) Language D) 有语法错误 9.51下面程序的运行结果是____。

#include main( ) {

int a=28, b; char s[10], *p;

p=s; do {

b=a; if(b<10) *p=b+48; else *=b+55; p++; a/=5; }while(a>0); *p=‘\\0‘; puts(s); }

A) 10 B) C2 C) C51 D) \\0

9.52下面程序的运行结果是____。

#include void delch ( char *s) {

int i, j; char *a; a=s;

for(i=0, j=0; a[i]!=‘\\0‘; i++)

if(a[i]>=‘0‘&&a[i]<=‘9‘) { s[j]=a[i]; j++; } s[j]=‘\\0‘;

} main( ) {

char *item= ―a34bc‖; delch(item);

printf(―\\n%s‖, item);

C语言精品课程项目组

12


第09章 指针运算.doc 将本文的Word文档下载到电脑
搜索更多关于: 第09章 指针运算 的文档
相关推荐
相关阅读
× 游客快捷下载通道(下载后可以自由复制和排版)

下载本文档需要支付 10

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:xuecool-com QQ:370150219