C语言指针测试题
C语言指针测试题---------貌似有点难度
做下面的10题,不要上机,每题十分 如果你得了
100分: 恭喜,你完全掌握了,或许你是这方面的专家,我得拜你为师,我想你一定精通编译方法?
80分左右: 你已经把C语言指针掌握的差不多了,不过还得努力,要有点成绩不容易. 60分左右: 你会使用基本指针,但是你不完全理解指针的实质
低于60分: 你或许是个初学者,指针使你认为C语言简直是折磨人
第一题: main() {
char *p,*q;
char str[]=\ q = p = str; p++; printf(q); printf(p); }
运行结果是什么?____________
第二题:
void fun(char* str1, char* str2) {
static char buffer[21]; strncpy(buffer, str1, 10); strncat(buffer, str2, 10); *str1 = *str2; str1 = buffer; }
main() {
char *str1=\ char *str2=\ fun(str1, str2); printf(str1); printf(str2); }
程序运行结果是__________________
第三题: main() {
short ar[11]={1,2,3,4,5,6,7,8,9,0,11}; short* par=&ar[1]; int i;
for(i=0; i<10; i++) {
printf(\ar, par,*(ar+i)); } }
程序运行结果是__________________
第四题: main() {
short *p, *q; short ar[10]={0}; p = q = ar; p++;
printf(\p-q);
printf(\(char*)p - (char*)q); printf(\sizeof(ar)/sizeof(*ar)); }
假设sizeof(short)==2
程序运行结果是__________________
第五题:
int sub(int a, int b) {
return a-b; }
main() {
typedef int (*SUB)(int, int); SUB psub=sub; /* psub++; */
printf(\psub(10,(10,5))); }
程序运行结果是__________________, 如果将中间注释掉的语句加上, 编译为什么会报错?
第六题: main() {
char* pstrar[3]; int i;
for(i=1; i<3; i++) {
pstrar=\ \ }
strcpy(pstrar[1], \你好\
/* strcpy(pstrar[0], \世界\*/ printf(pstrar[2]); }
假设编译器设置字符串常量为可读写,则程序结果是_____________ 为什么说注释掉的程序语句是不正确的?
第七题:
main() {
char *p1,*p2; {
char* pchar;
char charar[] = \你好,世界\ pchar = \ p1 = pchar; p2 = charar; }
printf(p1); printf(p2); }
说出此程序的错误之处?
第八题: main() {
int i; char **p;
int msg[16]={0x40, 0x41, -1, 0x00, 0x01, -1, 0x12, -1, 0x20, 0x27, 0x41, 0x35, -1, 0x51, 0x12, 0x04};
char* strar[]={\\\\\\\
char* (*pstrar)[6];
pstrar = &strar; p = strar;
for(i=0; i<16; i++)
{
if(msg == -1) {
putchar(' '); continue; }
else if(msg&0xF0 == 0x40) {
putchar(p[msg>>4][msg&0x0F]); continue; }
else if(msg&0xF0 == 0x30) {
putchar(*(strar[msg>>4]+(msg&0x0F))); continue; } else {
putchar(*((*pstrar)[msg>>4]+(msg&0x0F))); } } }
此题有故弄玄虚之处,但如理解指针,不难解出. 请问此题的运行结果是____________________
第九题:
main() {
typedef char CA3[2][2][2]; typedef CA3 *PCA3; typedef char CA2[2][2]; typedef CA2* PCA2[2];
CA3 ca3={'A', '\\0', 'B', '\\0', 'C', '\\0', 'D', '\\0'}; PCA3 pca3 = &ca3;
PCA2 pca2={ca3, ca3+1};
int i=0,j=0;
for(i=0; i<2; i++) {
printf(\
printf(\(char*)pca3[0]);
printf(\(*(pca2+i))[0][1]); for(j=0; j<2; j++) {
putchar(*(*(ca3+i)+j)[0]); putchar(' '); } } }
求输出的结果是:_____________________
第十题:
/*C++ 题*/
#include
class Display {
public:
virtual int ShowIt(int num) {printf(\num); return 0;} int ShowIt(double num) {printf(\num); return 0;} };
class DisplayEx: public Display {
public:
int ShowIt(int num) {printf(\is Integer, value is %d\\n\num); return 0;} int ShowIt(const char* str) {printf(\str); return 0;} };
int main() {
DisplayEx dpex;
Display *p_base=&dpex;
p_base->ShowIt(168); p_base->ShowIt(1.68);
dpex.ShowIt(\dpex.ShowIt(1.69);
dpex.Display::ShowIt(1.69); return 0; }
请说出其运行结果___________________ 详细叙述c++编译器实现这一过程的方法.
…… 此处隐藏:895字,全部文档内容请下载后查看。喜欢就下载吧 ……
相关推荐:
- [资格考试]机械振动与噪声学部分答案
- [资格考试]空调工程课后思考题部分整合版
- [资格考试]电信登高模拟试题
- [资格考试]2018年上海市徐汇区中考物理二模试卷(
- [资格考试]坐标转换及方里网的相关问题(椭球体、
- [资格考试]语文教研组活动记录表
- [资格考试]广东省2006年高应变考试试题
- [资格考试]LTE学习总结—后台操作-数据配置步骤很
- [资格考试]北京市医疗美容主诊医师和外籍整形外科
- [资格考试]中学生广播稿400字3篇
- [资格考试]CL800双模站点CDMA主分集RSSI差异过大
- [资格考试]泵与泵站考试复习题
- [资格考试]4个万能和弦搞定尤克里里即兴弹唱(入
- [资格考试]咽喉与经络的关系
- [资格考试]《云南省国家通用语言文字条例》学习心
- [资格考试]标准化第三范式
- [资格考试]GB-50016-2014-建筑设计防火规范2018修
- [资格考试]五年级上册品社复习资料(第二单元)
- [资格考试]2.对XX公司领导班子和班子成员意见建议
- [资格考试]关于市区违法建设情况的调研报告
- 二0一五年下半年经营管理目标考核方案
- 2014年春八年级英语下第三次月考
- 北师大版语文二年级上册第十五单元《松
- 2016国网江苏省电力公司招聘高校毕业生
- 多渠道促家长督导家长共育和谐 - 图文
- 2018 - 2019学年高中数学第2章圆锥曲线
- 竞争比合作更重要( - 辩论准备稿)课
- “案例积淀式”校本研训的实践与探索
- 新闻必须客观vs新闻不必客观一辩稿
- 福师大作业 比较视野下的外国文学
- 新编大学英语第二册1-7单元课文翻译及
- 年产13万吨天然气蛋白项目可行性研究报
- 河南省洛阳市2018届高三第二次统一考试
- 地下车库建筑设计探讨
- 南京大学应用学科教授研究方向汇编
- 2018年八年级物理全册 第6章 第4节 来
- 毕业论文-浅析余华小说的悲悯性 - 以《
- 2019年整理乡镇城乡环境综合治理工作总
- 广西民族大学留学生招生简章越南语版本
- 故宫旧称紫禁城简介




