安徽大学_C语言平时作业 下载本文

内容发布更新时间 : 2024/4/27 0:01:31星期一 下面是文章的全部内容请认真阅读。

return y;} main()

{ int a=7,b=8,*p,*q,*r; p=&a; q=&b; r=f(p,q);

printf(\ 程序执行后输出结果是

A) 7,8,8 B) 7,8,7 C) 8,7,7 D) 8,7,8 20.以下正确的说法是_______

A) 定义函数时,形参的类型说明可以放在函数体内 B) return后边的值不能为表达式

C) 如果函数值的类型与返回值类型不一致,以函数值类型为准

D) 如果形参与实参的类型不一致,以实参类型为准 答案:ABACB ADABD BCBCC ABDBC

结构 共用 枚举

1.当说明一个结构体变量时系统分配给它的内存是( )

A)各成员所需内存的总和 B)结构中第一个成员所需内存容量 C)成员中占内存量最大者所需的容量 D)结构中最后一个成员所需内存容量 [A] [B] [C] [D]

2.当说明一个联合体变量时系统分配给它的内存是

A)各成员所需内存的总和 B)结构中第一个成员所需内存容量 C)成员中占内存量最大者所需的容量 D)结构中最后一个成员所需内存容量

3.设有定义语句struct {int x ;int y;} d[2]={{1,3},{2,7}};,则printf(\的值为( )

A)0 B)1 C)3 D)6

4.设有定义语句\team {my,your=4,his,her=his+10}; 则printf(\值为( )

A)0,1,2,3 B)0,4,0,10 C)0,4,5,15 D)1,4,5,15 5.以下对枚举类型名的定义中正确的是( )

A)enum a ={one,two,three}; B)enum a{ a1,a2,a3};

C)enum a ={'1','2','3'}; D)enum a{\ 6.若有如下定义

typedef union {long x[2];int y[4];char z[8];} MYTYPE; MYTYPE them;

则printf(\的输出是( ) A)32 B)16 C)40 D)24 7.设有以下说明和定义:

typedef union {long i;int k[5];char c;} DATE; struct date {int cat; DATE cow;double dog;} too; DATE max;

则下列语句printf(\的执行结果是( ) A)52 B)30 C)18 D)8

8.根据下面的定义,能打印字母M的语句是( )

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

struct person c[10]={\ A)printf(\ B)printf(\ C)printf(\ D)printf(\ 9.设有如下定义,则对data中的a成员的正确引用是( ) struct sk {int a ;float b;}data,*p=&data;

A)(*p).data.a B)(*p).a C)p->data.a D)p.data.a 10.设有以下说明的语句 sturct stu {

int a; float b; } stutype;

则下面的叙述不正确的是( ) A)struct 是结构体的类型的关键字 B)struct stu是用户定义的结构体类型 C)stutype是用户定义的结构体类型名 D)a和b都是结构体成员名

11.以下scanf函数调用语句中对结构体变量成员的的不正确引用是( struct pupil {

char name[20]; int age; int sex; }pup[5],*p; p=pup;

A)scanf(\ B)scanf(\ C)scanf(\ D)scanf(\ 12.下面程序的输出结果是( ) #include \ main() {

union {

int a[2]; long b; char c[4]; }s;

s.a[0]=0x39; s.a[1]=0x38;

printf(\ printf(\ }

A)390038,39 B)39,71 C)3938,38 D)3839,39

)

13.下面对typedef的叙述中不正确的是( )

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

C)用typedef只是将已存在的类型用一个新的标识符来代表 D)使用typedef有利于程序的通用和移植 [A] [B] [C] [D] 14.以下程序的运行结果是( ) #include \ main() {

int j; union {

int a; long b; char c; }m;

m.b=0x12345678;

printf(\ }

A)1234,12 B)12345678,78 C)12345678,12 D)0,5678 15.设有如下定义:(本题选做) struct sk {

int n; float x; }data,*p;

若要使p指向data中的n域,正确的赋值语句是( ) A)p=&data.n; B)*p=data.n;

C)p=(struct sk *)&data.n D)p=(struct sk *)data.n 答案:ACDCB BADBC DBBBC

C语言实验参考答案

实验一

5、输入并运行自已编写的程序(教材第一章P14 三 编程题)。

实验二

1、编写一个程序,从键盘接收3个实数(分别为10.0、20.0、5.0),输出这3个数的和s、乘积t和平均值a。

#include main()

{float x,y,z,s,t,a; printf(“x,y,z=”);

scanf(“%f,%f,%f”,&x,&y,&z); s=x+y+z; t=x*y*z; a=s/3;

printf(“s=%f,t=%f,a=%f\\n”,s,t,a); }

2、编程。要求用户输入两个整数a、b(分别为20、10), 读取用户从键盘输入的值,然后:

1)用整数输出这两个数的和、差;

2)用长整型输出这两个数的积,用float输出商;

3)用整数输出这两个数的余数,用float输出平均值。 #include main()

{int a,b,he,cha,yu; long ji;

float shang,aver; printf(“a,b=”);

scanf(“%d,%d”,&a,&b); he=a+b; cha=a-b; ji=(long)a*b; shang=1.0*a/b; yu=a%b;

aver=(a+b)/2.0;

printf(“a+b=%d,a-b=%d,a*b=%ld\\n”,he,cha,ji);

printf(“a/b=%f,a%%b=%d,aver=%f\\n”,shang,yu,aver); }

3. 再次运行程序第2题中的程序,使整数a、b的值分别为10、20,分析程序运行结果,并给出说明。

程序同上。

实验三

1、编写一个程序,从键盘接收一个一位的整型数,经转换,用字符函数putchar输出。例如,输入整数5,程序运行后输出字符5。

#include main() {int a; char c;

printf(“a=”); scanf(“%d”,&a); c=a+48; putchar(c); }

2、编程。输入半径,计算球体表面积(S?4??r)和球体积 (

2V?4??r33)。

#include

#define PI 3.1415926 main() {float r,s,v; printf(“r=”); scanf(“%f”,&r); s=4*PI*r*r;

v=4/3.0*PI*r*r*r;

printf(“s=%f,v=%f\\n”,s,v); }

3、编写一个程序,要求通过键盘给6个变量赋值,然后将变量的值在屏幕上打印输出。这六个变量的值分别为:10,-10,40000,a,3.14,hello。

#include main() {int a,b; long c;

char d,ch[6]; float e;

scanf(“%d%d%ld%c%f%s”,&a,&b,&c,&d,&e,ch); printf(“%d,%d,%ld,%c,%f,%s\\n”,a,b,c,d,e,ch); }

实验四

1. 编程实现:键盘输入三个整数,分别存放到变量a,b,c中,输出其中的最小值(要求不改变a、b、c的值)。

#include main()

{int a,b,c,min;

printf(\请输入三个整数a,b,c=\scanf (\min=a>b?(b>c?c:b):(a>c?c:a); printf(\}