教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 互联网资料 >

C语言习题集合(指针)(3)

来源:网络收集 时间:2026-08-19
导读: 第七章 指 针 ·11· } main() { int x=1, y=2; fun(x); printf(\%d %d\, x, y); } A. 2 1 4 3 B. 1 2 1 2 C. 1 2 3 4 D. 2 1 1 2 46.下列程序的输出结果是(C)。 #include \stdio.h\ main() { char a[10]={9

第七章 指 针 ·11·

}

main() {

int x=1, y=2; fun(&y, &x);

printf(\%d %d\, x, y);

}

A. 2 1 4 3 B. 1 2 1 2 C. 1 2 3 4 D. 2 1 1 2 46.下列程序的输出结果是(C)。

#include \stdio.h\ main()

{

char a[10]={9,8,7,6,5,4,3,2,1,0}, *p=a+5; printf(\%d\, *--p);

}

A. 非法 B. a[4]的地址 C. 5 D. 3 47.有以下程序

#include \stdio.h\ #include \string.h\ main(int argc, char *argv[]) {

int m, length=0;

for (m=1;m

}

程序编译连接后生成的可执行文件是file.exe,若执行时输入带参数的命令行是: file 1234 567 89↙

则运行结果是(D)。

A. 22 B. 17 C. 12 D. 9 48.有以下函数:

char *fun(char *s) { …

return s; }

该函数的返回值是(B)。

A. 无确定值 B. 形参s中存放的地址值 C. 一个临时存储单元的地址 D. 形参s自身的地址值

49.假定下列程序的可执行文件名为file.exe,则在该程序所在的子目录下输入命令行: file girl boy↙

后,程序的输出结果是(B)。 #include \stdio.h\ main(int argc, char *argv[]) { int m;

第七章 指 针 ·12·

if (argc<=0) return; for (m=1; m

}

A. girl boy B. gb C. gir D. girlboy 50.设有一个名为file的C源程序,且已知命令行为:file girl boy student,则可得到

以下运行结果的C源程序为(B)。 girl boy student

A. main( int argc, char *argv[])

{

while (--argc>1)

printf(\%s%c\, *argv, (argc>1)? '\\n':' ');

}

B. main( int a, char * b[])

{

while (a-->1)

printf(\%s\\n\, *++b);

}

C. main( int argc, char *argv[])

{

while (++argc>0)

printf(\%s%c\, *++argv, (argc>1) ? ' ' :'\\n'); }

D. main(int argc, char *argv[])

{

while (argc>1)

printf(\%s\, *++argv);

}

7.2 填空题

1. 设有定义:int a, *p=&a; 以下语句将利用指针变量p读写变量a中的内容,请将语句补

充完整。

scanf(\%d\, 【p】 ); printf(\%d\\n\, 【*p】 ); 2. 请填空:

W p

c

建立如图所示存储结构所需的说明语句是【n=&c】。

建立如图所示给c输入数据的输入语句是【sacnf(“%d”,n)】。 建立如图所示存储结构所需的赋值语句是【*n=w】。

第七章 指 针 ·13·

3. 以下程序的运行结果是(2)2 2 6 (1)1 2 6。

#include \stdio.h\ #include \string.h\

int *p; main() {

int x=1, y=2, z=3; p=&y;

fun(x+z, &y);

printf(\(1) %d %d %d\\n\, x, y, *p); }

fun( int x, int *y) {

int z=4; *p=*y+z;

x=*p-z;

printf(\(2) %d %d %d\\n\, x, *y, *p);

} 4. 下面程序段是把从终端读入的一行字符作为字符串放在字符数组中,然后输出。请填空。 #include \stdio.h\ #include \string.h\ main() {

int m;

char s[80], *t;

for (m=0; m<79; m++) {

s[m]=getchar();

if (s[m]=='\\n') break; }

s[m]= 【?\\0?】; t=【s】; while (*t)

putchar(*t++);

}

????5. 下面程序段的运行结果是EXAMLE。 char s[80], *t=\EXAMPLE\; t=strcpy(s, t); s[0]='e';

puts(t);

6. 函数sstrcmp()的功能是对两个字符串进行比较。当s所指字符串相等时,返回值为0;

当s所指字符串大于t所指字符串时,返回值大于0;当s所指字符串小于t所指字符串时,返回值小于0(功能等同于库函数strcmp())。请填空。

第七章 指 针 ·14·

#include \stdio.h\

int sstrcmp( char *s, char *t) {

while (*s && *t && *s==【*t】) {

s++;

t++; }

return 【*s-*t】;

}

7. 下面程序的运行结果是3 5。

void swap(int *a, int *b) {

int *t; t=a; a=b; b=t; }

main() {

int x=3, y=5, *p=&x, *q=&y; swap(p,q);

printf(\%d %d\\n\, *p, *q); }

????8. 以下程序的输出结果是_ e。

#include \stdio.h\

main() {

char *p=\abcdefgh\, *r; long *q; q=(long *) p; q++;

r=(char *) q;

printf(\%s\\n\, r);

}

9. 下面程序的功能是将字符串中的数字字符删除后输出。请填空。 #include \stdio.h\ #include \malloc.h\ void delnum( char *t)

{

int m, n;

for (m=0,n=0; t[m]!='\\0';m++)

if (t[m]<'0' 【||】t[m]>'9')

{ t[n]=t[m]; n++;}

第七章 指 针 ·15·

【t[n]=?\\0?】;

}

main()

{

char *s;

s=(char *) malloc (sizeof(char)); /*给s分配一个地址*/

printf(\\\n input the original string:\);

gets(s); delnum(s); puts(【s】);

}

10.下面程序的功能是比较两个字符串是否相等,若相等则返回1,否则返回0。请填空。 #include \stdio.h\ #include \string.h\

fun (char *s, char *t) {

int m=0;

while (*(s+m)==*(t+m) && 【*s!=?0?&&*t!=?0?】) m++; return (【*(s+m)==*(t+m)】);

}

11.下面程序用来计算一个英文句子中最长单词的长度(字母个数)max。假设该英文句子中只含有字母和空格,在空格之间连续的字母串称为单词,句子以'.'为结束。请填空。 #include \stdio.h\ main()

{

static char s[]={\ you make me happy when days are grey.\}, *t; int max=0, length=0; t=s;

while (*t!='.') {

while (((*t<='Z')&&(*t>='A'))||((*t<='z')&&(*t>='a')))

{

…… 此处隐藏:1395字,全部文档内容请下载后查看。喜欢就下载吧 ……

C语言习题集合(指针)(3).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/443629.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)