- 1、本文档共25页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
全国计算机二级考试C语言易错知识点课案
计算二级C语言易错知识点
指针是用来存放地址的变量,用(类型名 *指针变量名)的形式定义。赋值时应将某个变量地址即x 赋给指针变量
设fp为指向某二进制文件的指针,且已读到此文件末尾,则函数feof(fp) 的返回值为 A) 0
B) \0
C) 非0值
D) NULL
【解析】本题考查文件的定位,feof函数的用法是从输入流读取数据,如果到达文件末尾(遇文件结束符),eof函数值为非零值,否则为0,所以选项C正确。有以下程序#include stdio.hmain(){ int a=5,b=1,t; t=(a2)|b; printf(%d\n,t);}程序运行后的输出结果是 A) 1
B) 11
C) 6
D) 21
【解析】本题考查位运算,以及按位或操作,将a左移一位相当于是将a乘以了4,所以a2等于20,二进制表示与b按位或得即21,所以选项D正确。有以下程序 #include stdio.h #define N 5 #define M N+1 #define f(x) (x*M) main() { int i1,i2; i1=f(2) ; i2=f(1+1) ; printf(%d %d\n,i1,i2); }程序的运行结果是
A) 12 7
B) 12 12
C) 11 11
D) 11 7
【解析】本题考查宏定义的用法,宏定义只是做个简单的替换,所以本题中执行f(2)=(2*N+1)=11,执行f(1+1)=(1+1*N+1)=7。选项D正确。有以下程序#include stdio.h#include string.hstruct A{ int a; char b[10]; double c;};void f(struct A t);main(){ struct A a={1001,ZhangDa,1098.0}; f(a); printf(%d,%s,%6.1f\n, a.a,a.b,a.c);}void f(struct A t){ t.a=1002; strcpy(t.b,ChangRong); t.c=1202.0;}程序运行后的输出结果是
A) 1002, ZhangDa,1202.0
B) 1002,ChangRong,1202.0
C) 1001, ChangRong,1098.0
D) 1001,ZhangDa,1098.0
【解析】本题考查结构体的相关操作以及传值、传址的区别,该题中调用f函数后,会生成参数a的一个副本,而不会改变a的值,所以a值维持原值,选项D正确。假定已建立以下链表结构,且指针p和q已指向如图所示的结点:则以下选项中可将q所指结点从链表中删除并释放该结点的语句组是
A) p-next=q-next;free(q);
B) p=q-next;free(q);
C) p=q;free(q);
D) (*p).next=(*q).next;free(p);
【解析】本题考查删除链表中的节点操作,其方法是将要删除节点的上个节点的下个节点指向要删除节点的下个节点,然后释放该要删除节点,所以选项A正确。以下结构体类型说明和变量定义中正确的是 A) struct REC;{ int n;char c;};REC t1,t2;
B) typedef struct{ int n;char c;} REC;REC t1,t2;
C) typedef struct REC;{ int n=0; char c=A;} t1,t2;
D) struct{ int n;char c;} REC;REC t1,t2;
【解析】本题考查结构体的相关知识,选项A中struct REC后面不能有分号,C选项中typedef struct REC的后面也不能有分号,选项D中REC已经是结构体变量,不能当做结构体类型来使用。下列函数的功能是void fun(char *a,char *b){ while((*b=*a)!=\0) { a++;b++;} }
A) 将a所指字符串赋给b所指空间
B) 使指针b指向a所指字符串
C) 将a所指字符串和b所指字符串进行比较
D) 检查a和b所指字符串中是否有\0
【解析】While循环条件为:(*b=*a)!=
文档评论(0)