内容发布更新时间 : 2024/11/8 12:16:12星期一 下面是文章的全部内容请认真阅读。
五)指针小结
定义 int i; int *p; int a[n]; int *p[n]; int (*p)[n]; int f(); int *p(); int (*p)(); int **p; 定义整型变量i 含义 p为指向整型数据的指针变量 定义含n指针的数据类型个元素的整型数组a n个指向整型数据的指针变量组成的指针数组p p为指向含n个元素的一维整型数组的指针变量 f为返回整型数的函数 p为返回指针的函数,该指针指向一个整型数据 p为指向函数的指针变量,该函数返回整型数 p为指针变量,它指向一个指向整型数据的指针变量
八、宏定义、结构体与共用体 一)宏定义
宏替换过程:是原样替换,替换完成后才计算 例题:
1. 运行程序:
#define Tap(X) 2*X+1 main()
{ int a=6,k=2,m=1; a+=Tap(k+m); printf(“%d\\n”,a);
}则输出结果是( )
A)12 B)13 C)7 D)6 2. 对于以下宏定义
# define M(x) x*x
# define N(x,y) M(x)+M(y)
宏调用N (2, 2+5)执行后,值为( ) A) 21 B) 16 C) 9 D) 19
二)结构体
(1)结构体类型、变量、数组、指针变量 struct aa { int x; float f; char c; }a,b[10],*p;
注意:struct aa 是类型 a是单个元素变量 b是数组变量 p是指针变量
不能用aa引用结构体中的成员
16/48
可以用a,b,p引用结构体中的成员,引用方法分别如下: a.x b[3].f;
(*p).x或p->x
例题:
1. 设有结构体及其数组和指针变量的定义语句
struct {int x;} y[2],*p=y;
则下列表达式中不正确的表示结构体成员的是( ) A)(*p).x B) (p+1).x C)y[0].x D)(&y[1])->x 2. 设有结构体及其数组和指针变量的定义语句
struct {int x;} y[2],*p=y;
则下列表达式中不正确的表示结构体成员的是( ) A)(*p).x B) (p+1).x C)y[0].x D)(&y[1])->x
3. 设有定义struct st { int x ; float y; } time, *t; t=&time;则对于time 中成员x
的正确引用是( )
A) w.time.x B) t. x C) (*t). x D) time->x
(2)结构体所占的空间大小:所有成员字节数之和。
三)共用体
共用体所占的空间大小:所有成员字中节数最大的。
例题:
1. 若定义union ex{int I;float f;char a[10];} x;则sizeof(x)的值是( )
A)4 B)6 C)10 D)16
2. 设有下列结构型变量w的定义,则表达式”sizeof(w)”的值是( )
struct { long num; char name[15];
union{float y;short z;} yz; }w;
A)19 B)20 C)23 D)25
四)typedef
用它所定义是类型
例题:
1. 以下语句中,指针p的data域正确的引用方式为( )
typedef struct node { int data;
struct node lchile,rchild; }Btree; Btree *p;
A)p.data B)p->data C)(*p)->data D)p[data] 2. 设有如下说明
17/48
typedef struct ST
{ long a; int b; char c[2]; } NEW;
则下面叙述中正确的是 ( )
A)以上的说明形式非法 B)ST是一个结构体类型 C)NEW是一个结构体类型 D)NEW是一个结构体变量 3. 以下对结构体类型变量td的定义中,错误的是 ( )
A)typedef struct aa B)struct aa { {
int n; int n; float m; float m; }AA; } td;
AA td; struct aa td; C)struct D)struct { {
int n; int n; float m; float m; }aa; }td; struct aa td;
九、位运算 操作符 & | ^ ~ << >> 作用 位逻辑与 位逻辑或 位逻辑异或 位逻辑反 左移 右移 运算时请先转换为二进制,再按位运算 例题:请计算: 4&&6= 3||5= ~4= 5>>2= 5<<2=
十、文件
18/48
文件打开方式 文件读写操作 文件关闭函数 EOF和feof( )
A) 4 B) 6 C) 6 D) 8 例题:
1. 为了向二进制文件尾部追加内容,打开文件的方式应采用( ) A) ‘ab’ B) ‘rb+’ C) ‘wb’ D) ‘wb+’ 2. 设有下面结构体 struct st
{char name[8]; int num; float s[4]; }student[50];
若数组student中已有数据,将这些元素写到磁盘文件中,下列不正确的形式是( )。
A)fwrite(student,sizeof(struct st),50,fp); B)fwrite(student,50*sizeof(struct st),1,fp); C)fwrite(student,25*sizeof(struct st),25,fp);
D)for(I=0;I<50;I++) fwrite(student+i,sizeof(struct st),1,fp);
3. 当顺利地执行了文件关闭操作时,fclose的返回值是( )
A)-1 B)TURE C)0 D)1
19/48
附录1
计算机水平考试模拟试卷1(二级C)
一、选择题(40分)
1、通常将个人计算机简称为_____
A) PLC B) LCD C) PC D) CRT 2、下列表示存储容量的数据中,最大的是______
112010
A) 1GB B) 2MB C) 2 KB D) 2B
3、将十进制数41转换为二进制数,下面结果中正确的是______
A) 00101001 B) 00101011 C) 00100011 D) 00100101 4、按照计算机应用领域分类,学校使用的成绩管理系统属于_______
A) 实时控制 B) 科学计算 C) 数据处理 D) 计算机辅助设计 5、删除Windows桌面上应用程序的快捷图标,意味着___________
A) 该程序连同其图标一起被删除 B) 只删除了该程序,对应的图标被隐藏 C) 该程序连同其图标一起被隐藏 D) 只删除了图标,对应的程序仍然存在 6、以下关于多媒体技术的叙述中,错误的是______
A) 多媒体技术将各种媒体以数字化的方式集成在一起 B) 多媒体技术就是能用来观看DVD电影的技术
C) 多媒体技术已经成为声、文、图等媒体信息在计算机系统中的综合应用的代名词 D) 多媒体技术和计算机技术的融合开辟出一个多学科交叉、跨行业的崭新领域 7、下列的网络IP地址中,正确的是_____________
A) 249.220.258.202 B)204.250.9 C)202.155.98.C D)202.245.101.201 8、“熊猫烧香”是一种__________
A) 办公软件 B) 杀毒软件 C) 计算机病毒 D) 下载工具 9、下列有关计算机病毒和黑客的说法中,不正确的是___________ A) 所有计算机病毒都可以通过杀毒软件彻底清除 B)计算机黑客是指利用网络入侵别人计算机的人
C) 防范计算机病毒的一种常用办法是在计算机上安装正版的防病毒软件 D) 防范计算机黑客的一种常用办法是在计算机上安装网络防火墙 10、____是程序、数据以及相关文档的集合 A) 软件 B) 程序 C) 指令 D)算法
11、下列关于C语言程序说法正确的是__________
A) C程序书写时,不区分大小写字母 B) C程序书写时,一行只能写一条语句 C) C程序书写时,一条语句可分成几行书写 D)C程序书写时,每行必须有行号 12、C语言中的源程序文件和目标文件的扩展名分别是__________ A) c和obj B) c和exe C) com和 exe D)obj和c 13、以下四项中属于ANSI C 语言关键字的是________ A) CHAR B) define C) max D) return 14、在C语言中,double、long、unsigned int、char类型数据所占字节数分别是________ A) 8,2,4,1 B) 2,8,4,1 C) 4,2,8,1 D) 8,4,2,1 15、设 int a=0,b=1,c=2;,则表达式a?a+b:a+c的值是____________ A) 0 B) 1 C) 2 D) 3 16、下列______是字符型常量
A) ‘\\n’ B) “A” C) “\\” D) ‘65’
17、已知 int x,y;,执行语句x=(y=10-5,y*2),y-5;后,变量x和y 的值分别是_________________
A) x=0,y=5 B) x=10,y=5 C) x=5,y=0 D) x=5,y=5
20/48