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.进程 ...
随机推荐
- Django项目纪要
开发流程 公司高层 项目立项 | 市场部门 需求分析-->需求分析说明书, 需求规格说明书 | 产品部门 产品原型-->产品 UI 前端 后端 测试 移动端 | |------------ ...
- js Map的使用
setExpenseAndAmountSum: function() { var detailList = vehicleVueObj.vehicleData; var expenseAmountSu ...
- dubbo学习笔记(二)dubbo中的filter
转:https://www.cnblogs.com/cdfive2018/p/10219730.html dubbo框架提供了filter机制的扩展点(本文基于dubbo2.6.0版本). 扩展接口 ...
- NOTIC: [8] Trying to get property of non-object
NOTIC: [8] Trying to get property of non-object /home/wwwroot/qwsd/Application/Admin/Controller/Pr ...
- mysql数据库架构设计与优化
mysql数据库架构设计与优化 2019-04-23 20:51:20 无畏D尘埃 阅读数 179 收藏 更多 分类专栏: MySQL 版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA ...
- IDEA光标类的操作
1.Ctrl+Alt+Left/Right 光标定位到上一个/下一个浏览位置处: 2.Ctrl+Shift+Backspace 光标定位到上次修改的地方: 3.Alt+Up/Down 移动 ...
- Cisco ASA 5505配置详解(v8.3之前版本)
在配ASA 5505时用到的命令 2009-11-22 22:49 nat-control命令 在6.3的时候只要是穿越防火墙都需要创建转换项,比如:nat:static等等,没有转换项是不能穿越防火 ...
- springboot docker 部署
1.新建一个最简单的springboot项目 https://code.aliyun.com/859143303/hello-world.git 2.src/main/docker下新建Dockerf ...
- 使用垃圾桶机制防止rm -rf误删文件
偶然看到一个比较好用的工具Trash-Cli.一个类似垃圾桶的机制,可以恢复文件.试了一下,感觉还行 (1)下载安装: https://github.com/andreafrancia/trash-c ...
- linux安装jira
JIRA配置本地MYSQL数据库 https://blog.csdn.net/coin_one/article/details/78376238 jira7.3.6 linux安装及破解 https: ...