摘要:
位段的声明和结构是类似的,有两个不同: 1、位段的成员必须是 int 、unsigned int 、或signed int以及char类型(只要是整型家族就行,一般都是相同的类型出现) 2、位段的成员名后边有一个冒号和一个数字 位段是以位(bit)位单位来定义结构体(或者联合体)中成员变量所占的空间 阅读全文
摘要:
#pragma pack() 设置默认对齐数 预处理命令#pragma:程序如下 则根据修改的对齐数来算:则需要占据内存的大小是14 如果不进行设置,则按照编译器默认的对齐数来算:则需要占据的内存的大小是16 offsetof();结构体成员相对于第一个成员的偏移量 函数格式:size_t offs 阅读全文
摘要:
结构体的自引用 在结构体中包含一个类型为该结构体本身的成员称为结构体的自应用 引用方式: typedef struct Node{ int data; struct Node* next; }s; (s在这块是全局变量) 结构体的定义和初始化 struct s{ char c; int a; dou 阅读全文
摘要:
(1).有以下程序: 程序执行后的输出结果是【C】 (A).hAppychristmAs (B).happychristmas (C).HAppyCHrIstmAs (D).HAPPYCHRISTMAS (2).有以下程序: 程序运行的结果是【C】 (A).0 (B).4 (C).1 (D).10 阅读全文
摘要:
char类型与int类型输入时的区别: 在C语言的规则中,规定了scanf函数在接收字符串时——遇到空格或回车就认为前面的输入已经完成且有效! 而对于int类型:表示整数,输入时需要用空格隔开,以确认第一个数输入结束,接着输入第二个数! 验证:有以下程序: 若要求a1,a2,c1,c2的值分别为10 阅读全文
摘要:
(1).有以下程序: 执行后的输出结果是【A】 (A).256,1 (B).1,256 (C).255,1 (D).256,0 (2).以下选项中与(!a==0)的逻辑值不等价的表达式是【B】 (A).a (B).(a==!0) (C).(a>0||a<0) (D).(a!=0) (3).有以下程序 阅读全文
摘要:
(1).若有定义:int a=100;则语句printf(“%d%d%d\n”,sizeof("a"),sizeof(a),sizeof(3.14)); 则输出结果是【C】 (A).238 (B).328 (C).248 (D).421 (2).以下说法正确的是【A】 (A).赋值语句是一种可执行语 阅读全文
摘要:
(1).算术运算符和圆括号有不同的运算优先级,对于表达式:a+b+c*(d+e),关于执行步骤,以下说法正确的是【A】 (A).先执行a+b的r1,再执行(d+e)的r2,再执行c*r2的r3,最后执行r1+r3的表达式最后结果 (B).先执行(d+e)的r2,再执行c*r2的r3,再执行a+b的r 阅读全文
摘要:
(1).有以下程序: 程序运行后的输出结果是【B】 (A).3,5,5,3 (B).3,5,3,5 (C).5,3,3,5 (D).5,3,5,3 这个题其实也可以弄成改错题,传到函数里面要对其值操作,就需要解引用操作符。 (2).有以下程序: 程序运行后的输出结果是【A】 (A).aegi (B) 阅读全文
摘要:
(1).有下列定义语句,int *p[4];以下选项中与此语句等价的是【C】 (A).int p[4]; (B).int **P; (C).int *(p[4]); (D).int (*p)[4]; 分析:int *p[4];是指针数组 int p[4];定义了一个一维数组 int **P;定义了一 阅读全文