C语言习题及解答(20131021修改)(9)

2019-08-26 18:00

float price; };

int main() { int i; struct cargo cargo[4]={{1,\ {3,\ for(i=0;i<=2;i+=2) printf(\ return 0; }

A)DVD CD B)CD VCD C)DVD VCD D)DVD BLANK 31.根据下面的定义,能打印出字母‘Z’的语句是 。

struct person { char name[20]; int age; };

struct person class[10]={\A)printf(\ B)printf(\ C)printf(\ D)printf(\32.若有以下定义及语句:

struct s1 { char a[3]; int num; }t,*p; p=&t;

则能正确引用t中的num域的是 。

A)*p.t.num B)p->t.num C)p->num D)(*p).t.num 33.若有以下定义及语句:

struct s1 { char a[3]; int num;

}t={'a','b','c',4},*p; p=&t;

则输出值为c的语句是 。

A)printf(\ B)printf(\ C)printf(\ D)printf(\34.以下程序的运行结果是 。

union u { int k;

41

char c[2]; }u1;

int main() {

u1.c[0]=13; u1.c[1]=0; printf(\ return 0; }

A)13 B)208 C)15 D)130 35.下面关于typedef的说法中不正确的是 。

A)用typedef可以定义各种类型名,但不能用来定义变量 B)用typedef可以增加新类型

C)使用typedef有利于程序的通用和移植 D)用typedef是为已存在的类型取一个别名

二.分析程序写结果

1.运行下面程序,输入为0 1 2 3 4 5 6 7 8 9 时,请给出程序运行结果。

int main() { int arr[10],i,j,temp; printf(\ value of array:\\n\ for(i=0;i<10;i++) scanf(\ for(i=0,j=9;i<=j;i++,j--) { temp=arr[i]; arr[i]=arr[j]; arr[j]=temp; } for(i=0;i<10;i++) printf(\ return 0; }

2.请给出程序运行结果。 int main() { int a[10]={1,2,3,4,5,6,7,8,9,10}; int k,s,i; float ave; for(k=s=i=0;i<10;i++) { if(a[i]%2!=0) continue;

42

s+=a[i]; k++; } if(k!=0) { ave=s/k; printf(\ }

return 0; }

3.请给出程序运行结果。

#define N 7 int main() { int i,j,a[N][N]; for (i=1;i

4.请给出程序运行结果。

int main() { char ch[7]={\ int i,s=0; for (i=0;ch[i]>='0' && ch[i]<='9';i++) s=10*s+ch[i]-'0'; printf(\ return 0; }

5.请给出程序运行结果。

int main() { float x,*f=&x;

43

x=5.17; *f=x+4.83; printf(\ return 0; }

6.请给出程序运行结果。

int main() { int w[10],i,*p; for(i=0;i<10;i++) w[i]=3*i; for(p=w,i=0;p-w<10;p++,i++) *p+=1; printf(\ return 0; }

7.请给出程序运行结果。

int main() { char ch[]=\ printf(\ printf(\ return 0; }

8.请给出程序运行结果。

int main() { int a[4][2]={3,5,7,9,11,13},(*pp)[2]=a+2; printf(\ return 0; }

9.请给出程序运行结果。

int main() {

enum team{my,your=4,his,her=his+10}; printf(\ return 0; }

10.请给出程序运行结果。

int x[5]={1,2,3,4,5}; struct { int a; int *b;

}*k,t[3]={100,&x[0],200,&x[2],300,&x[4]};

44

int main() {

k=t; printf(\ \ return 0; }

三.阅读程序并填空

1.以下程序的功能是输入一个整数,插入到一个已排好序的数组中,使其仍然有序。请填空。

int main() { int a[10]={2,5,8,10,15,20,28,37}; int x,i,n=8; scanf(\ for(i=n-1;i>=0;i--) if(a[i]>x) else break; n++; for(i=0;i

2.下面程序的功能是输出5*6阶矩阵中值最大的元素值。请填空。

int main() { int i,j,a[5][6],max; for(i=0;i<5;i++) for(j=0;j<6;j++) scanf(\ ); max=a[0][0]; for(i=0;i<5;i++) for(j=0;j<6;j++) if( ) max=a[i][j]; printf(\ return 0; }

3.对从键盘上输入的两个字符串进行比较,然后输出两个字符串中第一个不相同字符的ASCII码之差。例如:输入的两个字符串分别为abcdefg和abceef,则输出为-1。程序如下,请填空。

int main() {

45


C语言习题及解答(20131021修改)(9).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:铁路弹性轨枕工程 - 图文

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

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