教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 实用模板 >

C语言程序设计习题集及答案(7)

来源:网络收集 时间:2026-03-04
导读: { char *s1=\abc\,*s2=\123\; swap(s1,s2); printf(\%s,%s\\n\,s1,s2); return 0; } A 123,abc B abc,123 C 1bc,a23 D 321,cba 19 以下程序执行后的输出结果是___。 int main() { char *p[]={\3697\,\2584\}; in

{ char *s1=\abc\,*s2=\123\;

swap(s1,s2); printf(\%s,%s\\n\,s1,s2); return 0; }

A 123,abc B abc,123 C 1bc,a23 D 321,cba 19 以下程序执行后的输出结果是___。

int main()

{ char *p[]={\3697\,\2584\}; int i,j; long num=0; for(i=0;i<2;i++) { j=0;

while(p[i][j]!='\\0')

{ if((p[i][j]-'0')%2) num=10*num+p[i][j]-'0'; j+=2; } }

printf(\%d\\n\,num); return 0; }

A 35 B 37 C 39 D 3975 20 下列程序运行后的输出结果是___。

int main()

{ char str[]=\The_Microsoft\; int n=4; sub(str,0,n-1);

sub(str,0,strlen(str)-1); printf(\%s\\n\,str); return 0; }

sub(char *str,int n1,int n2) { char c,*p; p=str+n2; str=str+n1; while(str

{ c=*str; *str=*p; *p=c; str++; p--; } }

A tfosorciMThe_ B. ehT_Microsoft C tfosorciM_ehT D. Microsoft_The

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

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

int main()

{ int x[]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16},*p[4],i; for(i=0; i<4; i++)

{ p[i]=&x[2*i+1]; printf(\%d\, p[i][0]); } printf(\\\n\); return 0; }

30

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

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

t=a; a=b; b=t; }

int main()

{ int i=2,j=5,*p=&i,*q=&j;

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

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

int main()

{ int a[5]={2,4,6,8,10}, *p; p=a; p++;

printf(\%d\, *p); return 0; }

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

#define M 5 #define N M+M int main() { int k;

k=N*N*5; printf(\%d\\n\,k); return 0; }

5 若有定义语句:int a[4]={0,1,2,3},*p;p=&a[1];则++(*p)的值是 ⑥ 。 6 若有定义:int a[2][3]={2,4,6,8,10,12};则*(&a[0][0]+2*2+1)的值是 ⑦ ,*(a[1]+2)的值是 ⑧ 。 7 若有程序段:

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

for(i=0;i<3;i++) p[i]=&a[2*i] ;

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

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

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

void fun(char str[10][81],char **sp) { int i;

*sp = 【1】 ; for(i=1;i<10; i++)

if(strlen(*sp)

2 下面函数的功能是将一个整数字符串转换为一个整数,例如:\1234\转换为1234,请填空使程序完整。

int chnum(char *p) { int num=0,k,len,j; len=strlen(p);

for( ; 【3】 ; p++)

31

{ k= 【4】 ; j=(--len); while( 【5】 ) k=k*10; num=num+k; }

return (num);

}

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

int count(char *str, char *substr) { int i,j,k,num=0;

for(i=0; 【6】 ;i++)

for( 【7】 ,k=0;substr[k]==str[j];k++,j++) if(substr [ 【8】 ]==’\\0’) { num++ ; break ; } return (num); }

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

void convert(char *a, int n) { int i;

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

结构体 文件

单项选择题(1~8题每题5分,9~18题每题6分,共100分) 1 有以下说明语句,对结构变量中成员age的正确引用是___。

struct student

{ int age; int sex; }stud1,*p;

A p->age B student.age C *p.age D stud1.student.age 2 说明语句如下,则正确的叙述是___。

union data { int x; char y; float z; }a; A data和a均是共用体类型变量

B a所占内存长度等于其成员x、y、z各在内存所占长度之和 C 任何情况下,均不能对a作整体赋值 D a的地址和它的各成员地址都是同一地址 3 共用体成员的数据类型___。

A 相同 B 可以不同也可以相同 C 长度一样 D 是结构体变量 4 由系统分配和控制的标准输出文件为___。

A 键盘 B 磁盘 C 打印机 D 显示器 5 下列关于C语言数据文件的叙述中正确的是 。 A C语言只能读写文本文件 B C语言只能读写二进制文件

32

C 文件由字符序列组成,可按数据的存放形式分为二进制文件和文本文件 D 文件由二进制数据序列组成

6 若要用fopen函数建一个新的二进制文件,该文件要既能读也能写,则文件方式字符串应该为___。

A \ab+\ B \wb+\ C \rb+\ D \ab\ 7 下列程序运行后的输出结果是___。

struct s { int n; char *c; }*p; char d[]={'a','b','c','d','e'};

struct s a[]={10,&d[0],20,&d[1],30,&d[2],40,&d[3],50,&d[4]}; #include int main() { p=a;

printf(\%d\\n\,++p->n); printf(\%d\\n\,(++p)->n); printf(\%c\\n\,++(*p->c)); return 0; }

A 11 B 11 C 10 D 10 20 20 20 20 c b c b 8 已知

struct student

{ char *name; int student_no; char grade; }; struct student temp,*p=&temp; temp.name=\chou\;

则下面不正确的是___。

表达式 值 A p->name chou B (*p)->name+2 h C *p->name+2 e D *(p->name+2) o 9 下面程序运行后,其输出结果是___。

#include struct tree

{ int x; char *s; }t; func(struct tree t)

{ t.x=10; t.s=\computer\; return 0; } int main()

{ t.x=1; t.s=\minicomputer\;

func(t); printf(\%d,%s\\n\,t.x,t.s); return 0; }

A 10,computer B 1,minicomputer C 1,computer D 10,minicomputer 10 下列程序的输出结果是___。

33

#include int main() { union

{ int i[2];

long k; char c[4]; }t,*s=&t; s->i[0]=0x39; s->i[1]=0x38;

printf(\%lx \,s->k); printf(\%c\\n\,s->c[0]); return 0; }

A 390038 39 B 380039 9 C 3938 38 D 3839 8 …… 此处隐藏:2637字,全部文档内容请下载后查看。喜欢就下载吧 ……

C语言程序设计习题集及答案(7).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/453207.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)