一、选择题

1、C 语言中,函数返回值类型的定义可以缺省,此时函数返回值的隐含类型是____

> A. void
> B. int
> C. float
> D. double
答案:A

2、在 VS2013 下,这个结构体所占的空间大小是____字节

typedef struct{int a;
char b;
short c;
short d;
}AA_t;
A. 16 B. 9  C. 12 D. 8

分析:

> 一般编译器为 12 个字节。
因为 一般编译器 定义 int 为 4 字节,short 为 2字节, char 为 1字节,而且要考虑 内存分配 4 字节对齐。
int a; -- 需要 4 bytes
char b; -- 需要 1 byte
short c; -- 需要 2 bytes
short d; -- 需要 2 bytes.
分配 a 4 字节
分配 b c 4 字节 (浪费1字节 )
分配 d 4 字节 (浪费2字节 )
共用去 12 字节.
-----------------------------------------------------------
>国内尚用的过时的编译器TC,定义 int 为 2 字节. 内存分配 2 字节对齐:
int a; -- 需要 2 bytes, 分配 2
char b; -- 需要 1 byte, 分配 2
short c; -- 需要 2 bytes, 分配 2
short d; -- 需要 2 bytes. 分配 2
共用去 8 字节.答案:C

3、不正确的赋值或赋初值的方式是____

A. char str[6]={‘\0’};
B. char str[7] = "string";
C. char str[10];str = "string";
D. char str[6] = "g";
答案:C

4、 若有以下定义和语句,则选项中错误的语句是____

int a = 4,b = 3,*p,*q,*w;
p = &a;
q = &b;
w = q;
q = NULL;
A. *q = 0 B. w = p C. *p = a D. *p = *w
答案:A

5、1<<3+2 的值是____

A. 32 B. 10 C. 16 D. 6

注意优先级 13

答案:A

6、运行以下 C 语言代码,输出的结果是____

int main()
{char *str[3] = {"stra","strb","strc"};
char *p = str[0];
int i = 0;
while(i < 3)
{printf("%s ",p++);
i++;
} r
eturn 0;
}
A. stra strb strc B. stra tra ra C. s s s D. s t r
答案:B

7、 在C语言中,若有定义: int a[4][10] (其中0<=i<4,0<=j<10); 则下列选项中不能表示数组元素 a[i][j] 值的是____

A. *(a+i)+j
B. *(&a[0][0]+10*i+j)
C. *(a[i]+j)
D. *(*(a+i)+j)
答案:A

8、若 p1、p2 都是整形指针, p1 已经指向变量 x ,要使 p2 也指向 x , ____是正确的

A. p2 = p1; B. p2 = **p1; C. p2 = &p1; D. p2 = *p1;
答案:A

9、若有以下说明语句

struct student
{int num;char name[32];float score;
}stu;

则下面的叙述不正确的是____

A. struct 是结构体类型的关键字
B. struct student 是用户定义的结构体类型
C. num, score 都是结构体成员名
D. stu 是用户定义的结构体类型名
答案:D

10、下列可用于C语言程序标识符的一组是(名字间以逗号分隔)_____

A. For, -abc, IF
B. For, _abc, IF
C. 2_a, xyz, b1_s
D. void, d, WORD
答案:C

11、以下哪个 for 语句是错误的____

A. for(i=0; i<10; i--);
B. for(int i=0; i<10, j<10; i++);
C. for(i=0; i++);
D. for(i=0; i<10,j<10; i++);
答案:B

12、以下不能正确进行字符串初始化的语句是____

A. char str[8] = {'g', 'o', 'o', 'd', '!'};
B. char str[5] = "good!";
C. char *str = "good!";
D. char str[5] = {'g', 'o', 'o', 'd', '!'};
答案:B


二、填空题

1、下面的程序,输出结果正确的是____

int main()
{int a = 5;
if( a = 0 ){printf("%d", a - 10);
} e
lse
{printf("%d", a++);
} r
eturn 0;
}
A. -5 B. 6 C. 1 d. 0
答案:D

2、有如下代码

char acHello[] = "hello\0world";
char acNew[15] = {0};
strcpy(acNew,acHello);
则 strlen(acNew) =_____________, sizeof(acHello) = ______________
答案:5 12

3、如下代码的输出结果是_________

#pragma pack(4)/*编译选项,表示4字节对齐 平台:VS2013。语言:C语言*/int main(int argc, char* argv[])
{struct tagTest1{short a;char d;long b;long c;};struct tagTest2{long b;short c;char d;long a;};struct tagTest3{short c;long b;char d;long a;};struct tagTest1 stT1;struct tagTest2 stT2;struct tagTest3 stT3;printf("%d %d %d", sizeof(stT1), sizeof(stT2), sizeof(stT3));return 0;
} #pragma pack()
答案:12 12 16

4、下面的代码中,函数Test执行完毕后,打印的结果是 ____________

unsigned long g_ulGlobal = 0;
void GlobalInit(unsigned long ulArg)
{ulArg = 0x01;return;
} void Test()
{GlobalInit(g_ulGlobal);printf("%lu", g_ulGlobal);return;
}
答案:0

5、写出函数指针,要求返回值是 void , 无参数 _____________

答案:void(*p)()

6、如下代码结果是多少 a= ____ , x=____

int main()
{int a,x;for(a = 0,x = 0; a<=1 && !x++; a++){a++;} printf("%d %d",a,x);return 0;
}
答案:2 1

7、如下代码运行结果是多少_______

int main()
{unsigned char a = 0xA5;
unsigned char b = ~a>>4+1;
printf("%d\n",b);
return 0;
}
答案:250

8、 如下代码输出结果是什么_______

const int i = 0;
int *j = (int *) &i;
*j = 1;
printf("%d,%d", i, *j)
答案:1,1

9、写出中缀表达式: 12 + 5 * (2 + 6) - 1 对应的后缀表达式:_______________

答案:12 5 2 6+* + 1-

10、如下代码输出结果是多少__________

int f(int x,int y)
{return (x&y)+((x^y)>>1);
} int main()
{int result = f(2,4);printf("%d\n", result);return 0;
}
答案:3

11、如下代码的输出结果是________

int main()
{int j=4;int i=j;for ( ; i<=2*j; i++ ){switch ( i/j ){case 0:case 1:printf("*");break;case 2:printf("#");}} return 0;
}
答案:****#

12、如下代码输出结果是__________

int main()
{int arr[] = {1,2,3,4,5};int *ptr = (int *)(&arr+1);printf("%d %d\n",*(arr+1),*(ptr - 1));return 0;
}
答案:2 5

13、以下程序运行后,输出结果是____

void main()
{char *szStr = "abcde";
szStr += 2;
printf("%lu\n",szStr);
return;
}
A. cde
B. 字符 c 的 ASCLL 码值
C. "abcde" 这个常串中字符 c 所在的地址
D. 出错
答案:C

14、假设所有变量均为整型,则表达式 (a=2,b=5,a++,b++,a+b) 的值为_______________

答案:9

15、以下代码的输出是________

int main()
{int i,x,y;i = x = y = 0;do {++i;if( i%2 )x += i,i++;y += i++;} while ( i<=7 );printf("%d %d %d", i, x, y);
}
答案:9 1 20

16、写一个表达式,表示一个整数即是奇数又是3的倍数___________

答案:n%2!=0 && n%3==0


三、智力题

1、夜晚过桥

A、B、C、D 四个人,要在夜里过一座桥。他们通过这座桥分别需要耗时 1、2、5、10 分钟,只有一支手电,并且同时最多只能两个人一起过桥。请问,如何安排,能够在17分钟内这四个人都过桥?

每次让用时最短的人回来送手电:1、CD  -->  AB过桥 -- 2min  -->  AB
2、ACD -->  A回来  -- 1min  -->  B
3、A   -->  CD过桥 -- 10min -->  BCD
4、AB  -->  B回来  -- 2min  -->  CD
4、    -->  AB过桥 -- 2min   -->  ABCD总计:2+1+10+2+2 = 17min

2、判断疯狗

有 50 家人家,每家一条狗。有一天警察通知, 50 条狗当中有病狗,行为和正常狗不一样。每人只能通过观察别
人家的狗来判断自己家的狗是否生病,而不能看自己家的狗,如果判断出自己家的狗病了,就必须当天一枪打死自
己家的狗。结果,第一天没有枪声,第二天没有枪声,第三天开始一阵枪响,问:一共死了几条狗?

第一天没有枪声,说明病狗数量大于1,
如果只有一条病狗,其他人看到的是48条正常狗和1条病狗,病狗主人发现没有枪声就会知道是自己的狗病了,就会开枪,但没有枪声,病狗>1;第二天没有枪声,说明病狗数量大于2,
如果有两条病狗,其他人看到47条正常狗和2条病狗,病狗主人看到48条正常狗和1条病狗,第一天没有枪声所有人意识到病狗数量大于1,如果一共2条病狗,那么两个病狗主人第二天就会判断出自己的狗是病狗,就会开枪,但没有枪声,病狗>2;第三天开始一阵枪声,说明病狗数量为3,
前两天没有枪声,所有人意识到病狗数量大于2,病狗数量为3,其他人看到的是46条正常狗和3条病狗,病狗主人看到47条正常狗和2条病狗,但通过前两天的判断,病狗数量大于2,从而判断出自己的狗是病狗,第三天病狗主人开枪;一共死了3条病狗。

3、用数字 5,5,5,1 ,进行四则运算,每个数字当且仅当用一次,要求运算结果值为24

#include <stdio.h>
#include <math.h>int main()
{int number = 5 * sqrt(5 * 5) - 1;printf("%d\n", number);return 0;
}

4、镜像问题

假设你站在镜子前,抬起左手,抬起右手,看看镜中的自己。当你抬起左手时,镜中的自己抬起的似乎是右手。可
是当你仰头时,镜中的自己也在仰头,而不是低头。为什么镜子中的影像似乎颠倒了左右,却没有颠倒上下?

 镜子原理:物像对称,以镜面为对称面镜中成像的点和你的身体同样位置的点总是与镜面垂直

5、操纵开灯

一个屋子有一个门(门是关闭的)和3盏电灯。屋外有3个开关,分别与这3盏灯相连。你可以随意操纵这些开关,可一旦你将门打开,就不能变换开关了。确定每个开关具体管哪盏灯?

 开关A B C把A打开一段时间,闭合A,打开B开门亮着的是B用手感受剩下两个的温度,热的是A,剩下的是C

6、飞机绕地球

每个飞机只有一个油箱,飞机之间可以相互加油(注意是相互,没有加油机)一箱油可供一架飞机绕地球飞半圈。
问题:为使至少一架飞机绕地球一圈回到起飞时的飞机场,至少需要出动几架飞机?(所有飞机从同一机场起飞,
而且必须安全返回机场,不允许中途降落,中间没有飞机场)

3架飞机5此起飞ABC 3架同时起飞,
1/8时,C给AB加满油,C返航,
1/4时,B给A加满油,B返航,
A到达1/2时,C从机场逆向起飞,3/4时,C和空油的A平分油,同时B从机场逆向起飞,
AC达7/8时,与B平分油,ABC同时返航。

7、3ml 5ml 杯子各一个,拼出 4ml 的容量。

方法1:
3ml的杯子装满水,倒进5ml杯中,此时5ml杯中还剩2ml空间,重复一遍,3ml的杯中就剩1ml了,把5ml的杯中水都倒了,把1ml倒进5ml杯中,再把装满3ml的杯中水倒入,这样一共4ml。方法2:
把装满5ml的杯中水倒入3ml的杯子,把3ml的杯子水倒了,把5ml杯子剩下的2ml水倒入3ml的杯子,再装满5ml的杯子,把水倒入3ml的杯子,剩下的就是4ml。

8、盲人分袜

有两位盲人,他们都各自买了两对黑袜和两对白袜,八对袜子的布质、大小完全相同,而每对袜子都有一张商标纸连着。两位盲人不小心将八对袜子混在一起。他们每人怎样才能取回黑袜和白袜各两对呢?

  因为每对袜子都有一张商标纸连着,而且袜子不分左右,将每队袜子拆开,每拆开一对就分给双方,八对袜子分完,每人拿到两对黑袜和白袜。

9、黑白帽子

一群人开舞会,每人头上都戴着一顶帽子。帽子只有黑白两种,黑的至少有一顶。每个人都能看到其他人帽子的颜
色,却看不到自己的。主持人先让大家看看别人头上戴的是什么帽子,然后关灯,如果有人认为自己戴的是黑帽
子,就打自己一个耳光。第一次关灯,没有声音。于是再开灯,大家再看一遍,关灯时仍然鸦雀无声。一直到第三
次关灯,才有劈劈啪啪打耳光的声音响起。问有多少人戴着黑帽子

1、第一次观察,关灯,如果只有一顶黑帽子,那没有看见黑帽子的人就是自己,但没有人打自己,说明黑帽子>1;

2、第二次,如果有2顶黑帽子,如果只看到一顶黑帽子,就可以断定自己是黑帽子,就会打自己,但是也没有,说明黑帽子>2;

3、第三次,有打耳光声音,戴黑帽子的人看到2顶黑帽子,但通过前两次判断,黑帽子大于2,所以判断出自己是黑帽子,就会打自己。

一共3人带着黑帽子。


10、被污染的药丸

你有四个装药丸的罐子,每个药丸都有一定的重量,被污染的药丸是没被污染的重量+1.只称量一次,如何判断哪
个罐子的药被污染了?
将4个罐子分别命名1,2,3,4;设没被污染的药丸重量x,被污染的药丸重量x+1,
取对应罐子名数字的药丸:罐子1中取1颗药丸,罐子2中取2颗药丸,罐子3中取3颗药丸,罐子4中取4颗药丸,
称重:
如果罐子1的药丸被污染,重量:(10x+1);
如果罐子2的药丸被污染,重量:(10x+2);
如果罐子3的药丸被污染,重量:(10x+3);
如果罐子4的药丸被污染,重量:(10x+4)。

11、天平秤球

假设你有8个球,其中一个略微重一些,但是找出这个球的惟一方法是将两个球放在天平上对比。最少要称多少次
才能找出这个较重的球?
第15天
将球分为3份,ABC,AB各有3个球,C有2个球,比较AB:
1、平衡,比较C中的两个即可,
2、不平衡,比较重的一方,任取两个球比较,平衡,则剩下的球是较重的球;不平衡,天平指向的一方就是较重的球。

12、砝码分盐

有7克、2克砝码各一个,天平一只,如何只用这些物品三次将140克的盐分成50、90克各一份?
1、平分140g盐,每份70g
2、平分70g盐,每份35g
3、用7g、2g反码分出35g盐,一份20g一份15g,天平两边:15+7和20+2把15g和剩下的35g相加成50g,20g和70g相加成90g盐。

13、如何过桥

小明一家过一座桥,过桥时是黑夜,所以必须有灯。现在小明过桥要1秒,小明的弟弟要3秒,小明的爸爸要6秒,
小明的妈妈要8秒,小明的爷爷要12秒。每次此桥最多可过两人,而过桥的速度依过桥最慢者而定,而且灯在点燃
后30秒就会熄灭。问:小明一家如何过桥
1、小明       1s
2、弟弟+爸爸  6s
3、妈妈+爷爷  12s总计:1+6+12=19s

14、烧绳子计时

烧一根不均匀的绳,从头烧到尾总共需要1个小时。现在有若干条材质相同的绳子,问如何用烧绳的方法来计时一
个小时十五分钟呢?

AB两条绳子,同时烧,其中A绳两头都烧,
30min后,A烧完,点燃B另一头,15min后烧完,一共45min,
再取一根绳子,两头烧,烧完30min,总计一小时十五分钟。

15、楼梯捡钻石

一楼到十楼的每层电梯门口都放着一颗钻石,钻石大小不一。你乘坐电梯从一楼到十楼,每层楼电梯门都会打开一
次,只能拿一次钻石,问怎样才能拿到最大的一颗?

  前5层时不拿,如果遇到比前5层大的钻石就拿,否则拿最后一颗钻石。

16、七天分金条

你让工人为你工作7天,给工人的回报是一根金条。金条平分成相连的7段,你必须在每天结束时给他们一段金条,
如果只许你两次把金条弄断,你如何给你的工人付费?

分成(1) (2,3) (4,5,6,7)1、(1)
2、用(2,3)换(1)
3、(1)
4、用(4,5,6,7)换(1)和(2,3)
5、(1)
6、用(2,3)换(1)
7、(1)

C_C++编程题:选择填空、智力题相关推荐

  1. 面试真题:经典智力题最详汇总

    前言 同学们只要掌握了整理的这些智力题解答思路,以后面试再遇到智力题,一可以嘎嘎乱杀,如果不能那你过来把我的头打歪. 秋招不是要来了嘛,需要面试技巧的朋友点--[思维导图]--即可! 1. 掰巧克力问 ...

  2. 面试真题:经典智力题最详汇总(中)

    前言 大家好,我是小七,下面我来说说我朋友给我分享的一些面试真题中的智力题,他目前是腾讯微信的一名算法工程师.前几天整理了一些面试中常见的经典智力题面试真题:经典智力题最详汇总(上) ,没想到获得了3 ...

  3. java mysql选择题_MySQL选择填空基础题

    1.三级模式是对( 数据 )的三个抽象级别. 2.下列选项中,不属于DDL语句的是( SELECT语句 ). 3.下列选项中,哪个是MySQL默认提供的用户( root ). 二.多选题(共2题,14 ...

  4. 计算机组成原理期末复习90分以上选择填空大题总考点

                                                                                同学,你好! 若觉得有用请点赞或关注~以后会发布 ...

  5. 单选 a class.forname mysql_MySQL选择填空基础题

    1.三级模式是对( 数据 )的三个抽象级别. 2.下列选项中,不属于DDL语句的是( SELECT语句 ). 3.下列选项中,哪个是MySQL默认提供的用户( root ). 二.多选题(共2题,14 ...

  6. adb流化显示功能_化工原理复试真题选择填空

    2000年 一. 填空及选择题(共25分): 1. 当管路的特性曲线写为H=A+BQ 2时,______. A. A 只包括单位重量流体增加的位能. B. A 只包括单位重量流体增加的位能与 静压能之 ...

  7. python会考题_python会考复习(50题 选择 填空 判断)

    *你的班级: 一班 二班 *你的姓名: *你的学号: *1. 请将下列语句输出的结果填写上 print("123") *2. 请将下列语句输出的结果填写上 print(&quo ...

  8. 富士康计算机类笔试题,明天去富士康面试,还要笔试英语智力题?这个英语智力题,难不难,有没有从富士康面试完毕的大虾们,都是什么类型的题?(本人英语不好),比较着急,再次给回答人50分!...

    基本就是些这 给你题库: 1.What letter is a body of water? 2.What is it that found in the every center of Americ ...

  9. 分享一些有趣的面试智力题

    原文作者:matrix67 原文地址:面试智力题(上)  面试智力题(下) 偶然间在网上看到几个原来没见过的面试智力题,有几个题目在国内流传相当广,什么n个人怎么分饼最公平,屋里的三个灯泡分别由哪个开 ...

  10. 【面试】场景 智力题

    目录 一.场景题 二.智力题 一.场景题 (1)十个海量数据问题及解决方案:面试必须掌握的十个海量数据问题及解决方案_hitxueliang的专栏-CSDN博客_海量数据问题 二.智力题 (1)5只猫 ...

最新文章

  1. python3中format方法_python3 自定制format格式化,很多很多的内置方法。。。。。。。。。。。...
  2. 如何用excle制作黑人拉馆_家居DIY带你学习如何用塑料勺制作壁挂!
  3. 关于简单动态规划(Dynamic Programming)的总结
  4. 从零开始学习OpenGL ES之五 – 材质
  5. 「工具」PWA Manifest图标及 favicon.ico 生成工具
  6. 深度学习--Keras总结
  7. workbench提示工作负载高度不平衡_功率因数负载组
  8. Ergo生态:首个算法稳定币SigmaUSD正式启动
  9. CString to LPWSTR
  10. idea导入本地idea的web项目(服务器用的是tomcat)
  11. Python中用冒号表达式对列表切片
  12. 全自动抠图换背景软件下载_抠图换背景的证件照软件
  13. python破解百度网盘提取码_Python 一键获取百度网盘提取码
  14. 如何用Java将DWG和DXF文件转换为PDF?看了这篇就懂了
  15. 游戏主机系统,破旧老电脑秒变高性能儿时复古游戏主机
  16. Why “the CUDA Samples are not meant for performance measurements”?
  17. js除法保留小数_javascript(js)的小数点乘法除法问题详解
  18. 在虚拟机中ping了停不下来怎么办?
  19. 用vue+element-ui快速写一个注册登录页面
  20. 罗克韦尔编程软件RSLogix5000 win7 64位那什么的方法

热门文章

  1. python用户登陆,Python入门基础--用户登陆
  2. python基础数据类型操作系统_python基础数据类型
  3. Java Concurrent--java.util.Concurrent包
  4. Kerberos 协议和 KDC 实现 Apache Kerby
  5. shell脚本中if流程控制语句的应用
  6. 查看目录中的内容及权限
  7. Mysql5.6.x版本半同步主从复制的开启方法
  8. [读码时间] 记住密码提示框
  9. dtgrid 手动条件删除表格中的某一行
  10. 返回行javascript比较时间大小