云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > C语言复习题

C语言复习题

  • 62 次阅读
  • 3 次下载
  • 2025/12/2 21:02:05

(3) #include

int main()

{ static int a[2][3]={{1,2,3},{4,5,6}}; int m,*ptr; ptr=&a[0][0];

m=(*ptr)*(*ptr+2)*(*(ptr+4)); printf(\ return 0; }

则程序的执行结果是 。 (4) #include

#include int main()

{ char str[80];

void prochar(char *str,char ch); printf(\输入一字符串:\\n\ scanf(\ prochar(str,'r'); puts(str); return 0; }

void prochar(char *str,char ch) { char *p;

for(p=str;*p!='\\0';p++) if(*p= =ch) { *str=*p; (*str)++; str++; } *str='\\0'; }

则程序的执行结果是 。 (5) #include

int main()

{ int a=2,*p,**pp; pp=&p; p=&a; a++;

printf(\ return 0; }

则程序的执行结果是 。 3. 分析程序的运行结果。

(1)先分析程序的运行结果,再上机验证。

#include int main()

{ int i,j,*pi,*pj; pi=&i; pj=&j; i=5; j=7;

printf(\

printf(\ return 0;

}

① 先静态分析程序运行的结果,再与上机运行的结果比较是否一致,若不一致分析产生的原因。 ②程序中的pi,pj是地址值,通过两次运行程序或在不同的机器中运行程,观察其结果是否一样,从中可得到什么结论?程序输出语句中“\\t”的作用是什么? (2)先分析程序的运行结果,再上机验证。

#include

int main()

{ int a[]={1,2,3}; int *p,i; p=a;

for(i=0;i<3;i++)

printf(\ return 0; }

① 先静态分析程序运行的结果,再与上机运行的结果比较是否一致,若不一致分析产生的原因,特别注意输出的格式是如何控制的。

② 通过本题的练习,希望学生掌握数组元素与指向数组的指针是不同的。

a[i]:表示数组的下标为i的元素。a[i]←p[i]←*(p+i)←*(a+i)。a是数组名,表示数组首地址,(p+i)表示数组中第i个元素的地址,*(p+i)相当于a[i]。

(3)先分析程序的运行结果,再上机验证。

#include void fun(char *str,int i) { str[i]='\\0';

printf(\ if(i>1)

fun(str,i-1); }

int main()

{ char str[]=\ fun(str,4); return 0; }

① 先静态分析程序运行的结果,再与上机运行的结果比较是否一致,若不一致分析产生的原因。 ② main()函数调用fun函数时传递的一个是 str数组首地址和一个常量值4,则要求fun函数的形参必须是什么类型?在fun函数中又调用fun函数,这种调用称为什么调用?又是如何退出调用的?

(4)输出a数组的10个元素的程序如下并指出程序问题所在。 #include int main() { int a[10]; int *p,i; p=a;

for(i=0;i<10;i++) { *p=i; p++; }

for(i=0;i<10;i++,p++) printf(\ return 0; }

通过上机调试,输出的结果不是0~9,原因是什么?修改程序使其输出正确的结果为止。

(5)以下程序的功能是:输入10个数,将其中最小的数与第一个数对换,把最大的数与最后一个数对换。将空缺处语句填写完整并调试运行。

#include

int main()

{ int number[10]; int *p,i;

void maxminvalue(int array[10]); printf(\ for(i=0;i<10;i++)

scanf(\ maxminvalue(number); printf(\

for(p=number;p<=number+9;p++) printf(\ return 0; }

void maxminvalue(int array[10]) { int *max,*min,*p,*end; end=array+9; max=array; min=array;

for(p=array+1;p<=end;p++) if(*max<*p) max=p;

; ; for(p=array+1;p<=end;p++) if(*min>*p) min=p;

; ; ; return; }

(6) 调试以下程序并说出该程序实现的功能。 #include #include int main() { char s[8]; int n;

int chnum(char *p); gets(s); if(*s= ='-')

n=-chnum(s+1); else

n=chnum(s); printf(\ return0; }

int chnum(char *p) { int num=0;

for(;*p!='\\0';p++) num=num*10+*p-'0'; return(num); }

该程序的功能是: 。当输入-23456回车时,程序输出的结果是: 。当输入23456回车时,程序输出的结果是: 。

第10章 文 件

习题9

一、选择题

1.设有以下说明语句

struct ex { int x; float y; char z; }example;

则下面的叙述中不正确的是 。 A.struct是结构体类型的关键字 B.example是结构体类型名 C.x,y,z都是结构体成员名 D.struct ex是结构体类型 2.当定义一个结构体变量时,系统分配给它的内存是 。

A.各成员所需内存量的总和 B.变量中第一个成员所需的内存量 C.成员中占内存量最大者所需的容量 D.变量中最后一个成员所需的内存量 3.有如下定义:

union data {

int i; char c;

float a; }test;

则sizeof(test)的值是 。 A.4 B.5 C.6 D.7

4.有如下的结构体类型定义和结构体变量定义,其中正确的结构体成员形式是 。

struct ss {

char x[10]; float y; };

struct ss abc={“hi”, 123.456}; A.ss.abc.y B.abc.x[0] C.ss.abc.x D.abc.x[] 5.根据下面的定义,能输出字母M的语句是 。

struct person {

char name[9]; int age; };

struct person class[10]={{\A.printf(\ B.printf(\C.printf(\ D.printf(\6.已知学生记录描述为:

struct student { int no; char name[20]; char sex; struct date { int year; int month; int day; }birth; };

struct student s;

设变量s中的“生日”应是“1991年11月11日”,下列对“生日”的正确赋值方式是 。 A.year = 1991;month = 11;day = 11;

B.birth.year = 1991;birth.month = 11;birth.day = 11; C.s.year = 1991;s.month = 11; s.day = 11;

D.s.birth.year = 1991;s.birth.month = 11;s.birth.day = 11;

搜索更多关于: C语言复习题 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

(3) #include int main() { static int a[2][3]={{1,2,3},{4,5,6}}; int m,*ptr; ptr=&a[0][0]; m=(*ptr)*(*ptr+2)*(*(ptr+4)); printf(\ return 0; } 则程序的执行结果是 。 (4) #include #include int main() { char str[80]; void prochar(char *str,char ch); printf(\输入一字符串:\\n\ scanf(\ prochar(str,'

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com