1、20、C语言的volatile的含义是什么。使用时会对编译器有什么暗示。一.2、问答题。1、 “匈牙利命名法”有什么优缺点?(2分)2、下面x, y, *p的值是多少,有什么问题?int x, y, z = 2;int *p=&z;x=sizeof*p;y=x/*p; /* x=?, *p=?, y=?, 有什么问题?*/3、下面的语句是什么意思?如何声明或定义才使它们更易懂?(10分)int (*foo()();int (*foo();int (*foo)();(*(void(*)()0)();void (*signal(int,void(*)(int)(int);4、本题(2分)。一般使用
2、malloc时,需要进行强制类型转换,如:char *s; s = (char *)malloc(31);下面中?该如何填写,才可以正确执行强制类型转换?int (*monthp)31; monthp = (?)malloc(31);5、关于C语言运算符优先级的记忆技巧是什么?/* 下面r的值是多少 */int hi, low, r;hi=7;low=3;r=hi4+low;6、指针和数组的区别是什么?用一个简单的声明把它们区分开。指针和数组的声明在什么情况下是相同的?7、C语言的左值(lvalue)和右值(rvalue)的含义是什么?8、为什么C语言可以实现printf(char *form
3、at, )这样可变参数的调用形式?这样有什么缺点?9、说明C语言中术语”声明”定义”原型”的含义?10、举一个例子,说明使用assert和防错代码的区别。(5分)11、对语句 if else 与操作符 ? : 使用场合的比较。12、编写一个函数,输入一个的整型数字,可以选择按照8/10/16进制输出字符串。注意边界值。13、下面是一个1616的黑白图标:static unsigned short stopwatch = 007c6,1ff7,383b,600c,0xc006,0xdf06,0xc106,610c,3838,1ff0,07c0,0000,;如何修改声明,可以使之在源代码中形象地表
4、现出图形的模样。14、说出可以使用calendar1130变量的四种类型定义。如:int calendar1231; /* 二维数组 */15、使用strcmp,当字符串相同时会返回0。但0一般作为逻辑假,因此下面的语句不容易理解:if (!strcmp(s, “string”) return EQUATION;如何经过简单修改,使之更易懂?16、编写一个自己的完全C语言版本的memset函数,并且评价这个实现的性能和可移植性。17、在树和图这些数据结构中,通常使用指针来组织数据。如果我们要把这些数据保存到文件中,指针是没有意义的。我们该如何解决这个问题。18、用2种不同的方法计算long变量
5、的”1bit的个数。19、任意给出一个C的基本数据类型,如何编码判断这个数据类型是有符号还是无符号的?不得上机实验,写出下面代码的输出。解释这个行为是标准定义的,还是依赖实现的。int i;for (i = 0; i = 0xa1 & c2 = 0xa1)return 1;return 0;下面x, y的值是多少,有什么问题?int x = 10, y = 3;x = y;y = x;/* x=?, y = ?int days=31,28,31,30,31,30,31,31,30,31,30,31,;int *dayp;memset(calendar, 0, sizeof(calendar);
6、i = 0;for (monthp = calendar; monthp &calendar12; monthp+) for (dayp = *monthp; dayp (*monthp)31; dayp+) if (dayp - *monthp dayscalendar - monthp) *dayp = i+ % 7 + 1;void printnum(long n)if (n = 10) printnum(n/10);putchar (”0123456789n%10);void * memchr(void *pv, unsigned char ch, size_t size)unsigned char *pch = (unsigned char *) pv;unsigned char *pchEnd = pch + size;while (pch pchEnd) if (*pch = ch)return (pch);pch+;return NULL;unsigned char *pchPlant = pch + size;unsigned char chSave = *pchPlant;*pchPlant = ch;while (pch != ch) *pchPlant = chSave;return (pch = pchPlant) ? NULL :
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1