c笔试题
以下程序的输出是()。
struct st { int x; int *y; } *p;
int dt[] = { ,,, };
struct st aa[] = { ,&dt[],,&dt[],,&dt[],,&dt[] };
void main()
{
p = aa;
printf("%d\n", ++(p->x));
}
A、10
B、11
C、51
D、60
答案:C
分析:aa是大小为4的结构体数组,p是一指向该结构体的指针,将数组名aa赋给
p,p将指向数组aa的第一个元素aa[0],p->x其实就是利用指针p来引用aa[0]的成员x,
其值为50,加1后输出的结果为51.故正确答案是C
以下程序的输出是多少?
main() {
int a[] = { ,, };
int *p;
int *q;
p = a;
q = &a[];
printf("%d", a[q-p]);
return ;
}
A、0
B、1
C、2
D、未知
答案:C
分析: 这里q-p的实际运算是:(q的地址值-p的地址值)/sizeof(int),所以为2。
若有定义语句:char s[3][10],(*k)[3],*p;则以下赋值语句错误的是()
1.p=s;
2.p=k;
3.p=s[0];
4.k=s;
A、124
B、1234
C、12
D、234
答案:A
用 C 语言编写的源程序须经过编译连接后,生成扩展名为 .exe 的可执行文件,才能运行。
A、正确
B、错误
答案:B
分析:只有在windows环境下c源程序编译后才会生成.exe的可执行文件,Linux下生成的不是EXE文件。
给定一个数组int arr[] = {3,8,3,9,9,7,7},筛选出其中没有重复的一个数。
方法一、先定义一个动态数组将重复的数据放入动态数组中,然后将原数组与动态数组进行比较,最后筛选出没有重复的数字。
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
int arr[] = { 3,8,3,9,9,7,7 };//给定的数组
int len = sizeof(arr) / sizeof(arr[0]);//得到数组长度
int value_arr[sizeof(arr) / sizeof(arr[0])];//放置重复数据的数组
//将重复结果放在数组中
int index = 0;
for (int i = 0; i < len; i++)
{
for (int j = i + 1; j < len; j++)
{
bool flag = false;
for (int z = 0; z < len; z++)
{
if (arr[i] == value_arr[z]) {
flag = true;
break;
}
}
if (arr[i] == arr[j] && !flag)
{
value_arr[index++] = arr[i];
break;
}
}
}
//筛选没有重复的数据
for (int i = 0; i < len; i++)
{
bool flag = false;
for (int j = 0; j < len; j++) {
if (arr[i] == value_arr[j])
{
flag = true;
break;
}
}
if (!flag)
{
printf("%d\n", arr[i]);
}
}
system("PAUSE");
return 0;
}
方法二、将原数组进行排序,若有重复数据数据则从重复数据之后进行遍历。
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
int arr[] = { 3,8,3,9,9,7,7 };//给定的数组
int len = sizeof(arr) / sizeof(arr[0]);//得到数组长度
//先给数组进行排序
for (int i = 0; i < len; i++)
{
for (int j = i + 1; j < len; j++)
{
//升序
if (arr[i] > arr[j])
{
int temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
}
//筛选没有重复的数据
for (int i = 0; i < len; i++)
{
if (i != 0 && i != len - 1 && len > 1) {
if (arr[i] != arr[i - 1] && arr[i] != arr[i + 1]) {
printf("%d\n", arr[i]);
}
}
else if (len == 1)
{
printf("%d\n", arr[0]);
}
else
{
if (i == 0 && arr[0] != arr[1]) {
printf("%d\n", arr[0]);
}
if (i == len - 1 && arr[len - 2] != arr[len - 1]) {
printf("%d\n", arr[len - 1]);
}
}
}
system("PAUSE");
return 0;
}
c笔试题的更多相关文章
- 对Thoughtworks的有趣笔试题实践
记得2014年在网上看到Thoughtworks的一道笔试题,当时觉得挺有意思,但是没动手去写.这几天又在网上看到了,于是我抽了一点时间写了下,我把程序运行的结果跟网上的答案对了一下,应该是对的,但是 ...
- 从阿里巴巴笔试题看Java加载顺序
一.阿里巴巴笔试题: public class T implements Cloneable { public static int k = 0; public static T t1 = new T ...
- 我设计的ASP.NET笔试题,你会多少呢
本笔试题考查范围包括面向对象基础.HTML.CSS.JS.EF.jQuery.SQL.编码思想.算法等范围. 第1题:接口和抽象类有何区别? 第2题:静态方法和实例方法有何区别? 第3题:什么是多态? ...
- C#经典笔试题-获取字符串中相同的字符以及其个数
public Dictionary<char,int> GetStrSameAs(string str){ //将字符串转换成一个字符数组. char[] charArray=str.To ...
- flhs笔试题-回家上机实践
这是最近参加的一个公司的笔试题,回家上机写了下代码,希望对有需要的小伙伴有用,简单实现字符串和数组在指定位置的插入: package org.flhs; import com.google.commo ...
- 也许你需要点实用的-Web前端笔试题
之前发的一篇博客里没有附上答案,现在有空整理了下发出来,希望能帮助到正在找工作的你,还是那句话:技术只有自己真正理解了才是自己的东西,共勉. Web前端笔试题 Html+css 1.对WEB标准以及w ...
- [c#基础]关于try...catch最常见的笔试题
引言 在翻看之前总结的常见面试题中,关于try...catch异常处理的还是蛮多了,今天看到这个面试题,也就重新学习一下. try..catch语法 try-catch语句由一个try块后跟一个或多个 ...
- js作用域之常见笔试题,运行结果题
笔试题中经常有运行结果题,而大多体型都是围绕作用域展开,下面总结了几种相关的题: 外层的变量函数内部可以找到,函数内部的变量(局部变量)外层找不到. function aaa() { var a = ...
- 【Android】一道Android OpenGL笔试题
一道Android OpenGL笔试题 SkySeraph May. 5th 2016 Email:skyseraph00@163.com 更多精彩请直接访问SkySeraph个人站点:www.sky ...
- C/C++ 笔试题
/////转自http://blog.csdn.net/suxinpingtao51/article/details/8015147#userconsent# 微软亚洲技术中心的面试题!!! 1.进程 ...
随机推荐
- 集合类 collection接口 Set
Collection接口的另外一种实现为Set集合,主要有两种实现方式一种为HashSet另一种为TreeSet,两种实现都依赖与对应的Map实现类. 代码如下: public HashSet() { ...
- 【Beta】Scrum meeting 7
目录 写在前面 进度情况 任务进度表 Beta-1阶段燃尽图 遇到的困难 照片 commit截图记录 后端代码仓库 技术博客 写在前面 例会时间:5.11 22:30-22:50 例会地点:微信群语音 ...
- 冰多多团队-第四次Scrum会议
冰多多团队-第四次Scrum会议 工作情况 团队成员 已完成任务 待完成任务 zpj 撰写团队任务拆解博客 完成部分Action的实现 牛雅哲 完成了词典单词,词典映射的代码实现,设计了初步的词典异常 ...
- .NETCore websocket
.NETCore websocket 实现简易.高性能.集群即时通讯组件,支持点对点通讯.群聊通讯.上线下线事件消息等众多实用性功能. https://github.com/2881099/im
- CentOS7 增加回环地址
添加回环地址的命令和说明如下: #添加一个回环地址到lo网卡,添加多个可以改lo:后边的序号 [要添加的地址] netmask 255.255.255.255 broadcast [要添加的地址] # ...
- 【Eclipse】Eclipse如何导出java项目为jar包
1.首先确定要导出的项目 从项目结构可以看出,笔者的项目是一个Dynamic Java Project.com/db下面有一个config的数据库配置文件.WEB-INF/lib文件夹下面有依赖的ja ...
- Kafka安装教程(详细过程)
安装前期准备: 1,准备三个节点(根据自己需求决定) 2,三个节点上安装好zookeeper(也可以使用kafka自带的zookeeper) 3,关闭防火墙 chkconfig iptables o ...
- Spring-boot +Shiro 导致事务无效
今天在开发过程中,遇到一个情况,就是事务事务,同项目的别的service都在事务中,可以就是有一个事务失效. 排除了各种情况 1.检查数据库的引擎是否是innoDB 2.方法是否为public 3.这 ...
- linux查看实时日志命令
tail -f localhost_access_log.2018-12-11.txt(当前时间)今天的实时日志,操作一下系统,就会报出相应的日志
- [错误解决] Libreoffice转换不成功,直接不做任何操作
问题描述: Libreoffice在版本5.3.0之前都存在这个问题.现象是:当你运行其中一个LibreOffice的时候,再运行另外一个Libreoffice转换时,将不做任何操作. 解决方案: 如 ...