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.进程 ...
随机推荐
- Windows curl开启注意事项
php.ini 开启curl扩展 设置有时候开启之后,curl还是不行:将php目录下的libssh2.dll复制到apache/bin下.(基本上可以成功) 如果没有开启成功,将php安装目录下 ...
- gcc编译链接std::__cxx11::string和std::string的问题
今天公司的小伙伴遇到一个问题,这里做一个记录. 问题是这样的,他编译了公司的基础库,然后在程序中链接的时候遇到点问题,报错找不到定义. 用到的函数声明大概是这样的: void function(con ...
- 考勤打卡机导出的excel考勤时间表如何生成实用的考勤表
该excel表有如下结构 姓名\日期 周1 周2 周3 周4 周5 张三 7:3518:02 7:3518:02 7:46 17:56 李四 7:3518:02 7:02 18:00 18:02 ...
- [转]vscodesvn安装和使用
原文链接:https://blog.csdn.net/wzh66888/article/details/90145340 1.安装svn插件 2.安装成功后会出现这样的图标 如果没有安装之后不能使用, ...
- git rebase命令
使用git rebase合并多次commit. 当年提交代码后,管理员发现,你的代码不能提交到服务器上,注意原因在于,你的commit中的commit和服务器中的有些commit不在同一时间轴上,即: ...
- 012-MySQL 索引添加以及优化说明
一.索引概述 数据库的索引可以加快查询速度,原因是索引使用特定的数据结构(B-Tree)对特定的列额外组织存放,加快存储引擎(索引是存储引擎实现)查找记录的速度. 如果查询语句使用索引(通常是wher ...
- 【转】模糊测试(fuzzing)是什么
一.说明 大学时两个涉及“模糊”的概念自己感觉很模糊.一个是学数据库出现的“模糊查询”,后来逐渐明白是指sql的like语句:另一个是学专业课时出现的“模糊测试”. 概念是懂的,不外乎是“模糊测试是一 ...
- sqlserver2012 用户指定数据库访问权限
这样 用户进入的时候 就只能访问指定数据库 点击其他 显示
- SSAS 项目部署失败的问题
在创建SSAS项目过程中,创建数据源.数据源视图.多维数据集.纬度等一切都没有问题.但是在“进程”这一步的时候,发现总是报错,提示如下.OLE DB 错误: OLE DB 或 ODBC 错误 : 用户 ...
- RestHighLevelClient查询es
本篇分享的是es官网推荐的es客户端组件RestHighLevelClient的使用,其封装了操作es的crud方法,底层原理就是模拟各种es需要的请求,如put,delete,get等方式:本篇主要 ...