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

当前位置:首页 > C语言课件及补充练习题

C语言课件及补充练习题

  • 62 次阅读
  • 3 次下载
  • 2025/5/4 11:53:38

6.有#define N 80 和 printf(“*******”); 以下说法中正确的是

A. 两者都是C语句 B. 前者是C语句,后者不是 C. 前者不是,而后者是C语句 D. 两者都不是C语句 7.程序 #define f(x) x*x

main()

{ int a=6,b=2,c; c=f(a)/f(b); printf(“%d\\n”,c); } 的输出结果是

A. 9 B. 6 C. 36 D. 18 8.头文件的扩展名可以是

A. .h和.obj B. .h和.c C. .c和.obj D. 任意

二、 填空题:

1.宏展开是在______时进行的,不分配______,不进行值的______处理。 2.宏替换不占______时间,只占______时间。 3.以下的for循环体共执行循环 次。

# define “stdio.h” # define N 2 # define M N+1

# define NUM (M+1)*M/2 main()

{ int i,n=0;

for (i=1; i<=NUM; i++) { n++ ; printf (“%d”,n); } printf(“\\n”); }

4.文件包含使用 命令,其作用是将一已知文件的内容 到命令处。 5.写出判断x是否是奇数的宏定义,宏名为isodd: 。 6.C语言的编译预处理命令主要有三类: 、 、 。 7.若所需头文件file1.h恰巧在源文件目录下,则应用 形式来实现。

三、 判断题

1.宏替换时先求出实参表达式的值,然后代入形参运算求值。( ) 2.宏名无类型,其参数也无类型。( )

3.使用宏次数多时,宏展开后源程序不会变长。( )

4.调用函数只能得到一个返回值,而用宏可以得到几个结果。( )

5.在一被包含文件中又可以包含另一被包含文件,文件包含是可以嵌套的。( ) 6.用一个指定的标识符来代表一个字符串,它的一般形式为 #define 标识符 字符串;( )

7.在宏定义#define PI 3.l4l59中,如果将1误输成小写的L,则编译时不出错,

运行时出错。( )

8.取消PI的宏定义为 #undef PI 0 ( )

四、程序阅读题

1. #define POWER(x) x*x

37

#include main()

{ int x=5, y=3; int t, z; t=POWER(x+y); z=POWER(x*y); printf(“%d, %d\\n”,t,z); }

该程序的运行结果为:

2.main()

{int b=5;

#define b 2

#define f(x) b*(x)

int y=3; printf(“%d\\n”,f(y+1)); #undef b

printf(“%d\\n”,f(y+1)); #define b 3

printf(“%d\\n”,f(y+1)); }

该程序的运行结果为:

五、程序填充题:

1.求数组中的最大元素,在调试程序时如下: N 10 #define TEST 1

main()

{ int i,max,a[N];

# if TEST

for (i=0; i< ,i++) a[i]=10+i; # else

for (i=0; i

第八章 构造数据类型

一、

单项选择题:

1.设有以下语句:

struct st{int n; struct st *next;};

static struct st a[3]={5,&a[1],7,&a[2],9,?\\0?},*p; p=&a[0];

则表达式 的值是6。

38

A. p++ ->n B. p->n++ C. (*p).n++ D. ++p->n 2.若有下面的说明和定义,则sizeof(struct aa)的值是 。 struct aa{int r1; double r2; float r3;} mya;

A. 8 B. 10 C. 12 D. 14 3. 若程序中有下面的说明和定义: struct abc{int x; char y;} struct abc s1,s2; 则会发生的情况是 。

A. 编译出错 B. 程序将顺利编译、连接、执行 C. 能顺利通过编译、连接,但不能执行 D. 能顺利通过编译,但连接出错 4.选择出k的正确值 。

enum {a,b=5,c,d=4,e} k; k=e;

A.3 B. 4 C. 5 D. 6 5.选择出不正确的函数定义: 。 A. struct tree func(s) B. int *func(s) struct tree s[]; char *s[]; { { ... ... } }

C. struct tree *func(s) D. int *func(s) char **s; char *s[10][]; { { ... ...

} }

6.若有以下的说明,则在scanf函数调用语句中对结构体变量成员的不正确引用方

式为 。

struct pupil { char name[20]; int age; int sex; } pup[5], *p; p=&pup[0];

A.scanf(“%s”, pup[0].name); B. scanf(“%d”, &pup[0].age); C. scanf(“%d”, &(p->sex)); D. scanf(“%d”, &p->age); 7. 设有100个学生的考试成绩数据表如下形式:

学号NO

姓名NAME 39

成绩SCORE 整型 字符型数组 实型

在下面结构体数组的定义中,不正确的是:

A. struct student B. struct stud [100]

{ {

int no; int no;

char name [10]; char name [10]; float score; float score; }; }; struct student stud[100];

C. struct student D. struct

{ {

int no; int no; char name [10]; char name [10]; float score; float score; } stud[100]; ]stud[100]; 8. 设有一结构体类型变量定义如下:

struct date

{ int year; int month; int day; }; struct worklist { char name [20]; char sex; struct date birthday; }person;

若要对结构体变量person的出生年份进行赋值时,下面正确的赋值语句是:

A. year=1976 B. birthdat.year=1976 C. person.birthday.year=1976 D. person.year=1976

9.有以下程序

#include struct stu { int num;

char name[10]; int age; };

void fun(struct stu *p)

40

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

共分享92篇相关文档

文档简介:

6.有#define N 80 和 printf(“*******”); 以下说法中正确的是 A. 两者都是C语句 B. 前者是C语句,后者不是 C. 前者不是,而后者是C语句 D. 两者都不是C语句 7.程序 #define f(x) x*x main() { int a=6,b=2,c; c=f(a)/f(b); printf(“%d\\n”,c); } 的输出结果是 A. 9 B. 6 C. 36 D. 18 8.头文件的扩展名可以是

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价: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