当前位置:首页 » 编程语言 » 华为c语言上机题

华为c语言上机题

发布时间: 2023-12-13 11:53:56

⑴ 9月计算机二级《C语言》上机考题及答案

1、以下选项中属于C语言的数据类型是()。

A. 复合型

B. 双精度型

C. 逻辑型

D. 集合型

2、以下说法中正确的是()。

A. C语言程序总是从第一个的函数开始执行

B. 在C语言程序中,要调用的函数必须在main()函数中定义

C. C语言程序总是从main()函数开始执行

D. C语言程序中的main()函数必须放在程序的开始部分

3、选出下列标识符中不是合法的标识符的是()。

A. hot_do

B. cat1

C. _pri

D. 2ab

4、下列描述中不正确的是()。

A、字符型数组中可能存放字符串。

B、可以对字符型数组进行整体输入、输出。

C、可以对整型数组进行整体输入、输出。

D、 不能在赋值语句中通过赋值运算符“=”对字符型数组进行整体赋值。

5、若已定义:int a[9], *p=a;并在以后的语句中未改变p的值,不能表示a[1]地址的表达式为()。

A. p+1

B. a+1

C. a++

D. ++p

6、设有如下定义: int x=10,y=3,z; 则语句printf("%d ",z=(x%y,x/y)); 的输出结果是()。

A. 1

B. 0

C. 4

D. 3

7、定义如下变量和数组: int i, x[3][3]={1,2,3,4,5,6,7,8,9};则下面语句for(i=0;i<3;i++) printf("%d",x[i][2-i]); 的输出结果是()

A. 1 5 9

B. 1 4 7

C. 3 5 7

D. 3 6 9

8、读出以下语句的输出结果是()。

int x=10,y=10;

printf(“%d %d ”,x--,--y);

A. 10 10

B. 9 9

C. 9 10

D. 10 9

9、两次运行下面的程序,如果从键盘上分别输入6和3,则输出结果是()。

if(x++>5) printf("%d",x);

else printf("%d ",x - -);

A. 7和5

B. 6和3

C. 7和4

D. 6和4

10、设有如下定义:char *aa[2]={"abcd","ABCD"};则以下说法中正确的是()。

A)aa数组成元素的值分别是"abcd"和ABCD"

B)aa是指针变量,它指向含有两个数组元素的字符型一维数组

C)aa数组的两个元素分别存放的是含有4个字符的一维字符数组的`首地址

D)aa数组的两个元素中各自存放了字符’a’和’A’的地址

11、以下语句的输出结果是()。

int a=-1,b=4,k;

k=(+ +a<0)&&!(b - -<=0);

printf("%d,%d,%d ",k,a,b);

A. 1,0,4

B. 1,0,3

C. 0,0,3

D. 0,0,4

12、下列程序的输出结果是()。

char *p1="abcd", *p2="ABCD", str[50]="xyz";

strcpy(str+2,strcat(p1+2,p2+1));

printf("%s",str);

A. xyabcAB

B. abcABz

C. ABabcz

D. xycdBCD

13、执行下面的程序后,a的值是()。

#define SQR(X) X*X

main()

{ int a=10,k=2,m=1;

a/=SQR(k+m)/SQR(k+m);

printf("%d ",a); }

A. 10

B. 1

C. 9

D. 0

14、设A为存放(短)整型的一维数组,如果A的首地址为P,那么A中第i 个元素的地址为()。

A.P+i*2

B. P+(i-1)*2

C. P+(i-1)

D. P+i

15、下列程序执行后输出的结果是()。

int d=1;

fun (int p)

{ int d=5;

d + =p + +;

printf("%d,",d); }

main()

{ int a=3;

fun(a);

d + = a + +;

printf("%d ",d); }

A. 8, 4

B. 9, 6

C. 9, 4

D. 8, 5

16、表达式:10!=9的值是()。

A. true

B. 非零值

C. 0

D. 1

17、若有说明: int i,j=7, *p=&i;, 则与i=j; 等价的语句是()。

A. i= *p;

B. *p=*&j;

C. i=&j;

D. i=* *p;

18、不能把字符串:Hello!赋给数组b的语句是()。

A. char b[10]={’H’,’e’,’l’,’l’,’o’,’!’};

B. char b[10]; b="Hello!";

C. char b[10]; strcpy(b,"Hello!");

D.char b[10]="Hello!";

19、在C程序中有如下语句:char *func(int x,int y); 它是()。

A. 对函数func的定义。

B. 对函数func的调用。

C.对函数func的原型说明。

D. 不合法的。

20、以下程序的输出结果是()。

char str[15]=”hello!”;

printf(“%d ”,strlen(str));

A. 15

B. 14

C. 7

D. 6

参考答案:

1、B 2、C 3、D 4、C 5、C 6、D 7、C 8、D 9、C 10、D

11、D 12、D 13、B 14、B 15、A 16、D 17、B 18、B 19、C 20、D

⑵ 华为机考试考什么题型呢

华为南京地区校园招聘软件类上机考试说明同学您好!欢迎您应聘华为公司。软件研发类岗位(软件研发、云计算、操作系统开发、数据库开发)需要提前进行上机考试。现将上机考试做如下说明。一、 题目类别本次上机考试题目设置C/C++、java两个类别,根据个人情况选作一个类别。二、 题目数量每个考生有三道题,第一二道题必答,第三道题为附加题可以选作,附加题做出,成绩会计入总分。三、 考试时间安排1、简历筛选后,从9月17日开始分批安排上机考试2、每个考生上机考试时间为2小时一、 上机考试步骤1、打开IE输入服务器的IP地址或者直接打开收藏夹中已经收藏好的地址;2、输入姓名和手机号,选择考试语言,提交登录: 3、登录后会进入试题说明页面,考试阅读完试题要求后,在页面下方点击 下载试题框架并解压到D盘。如果是C/C++则用VC打开 工程进行编程,只在func.cpp文件中进行函数编写,函数名已经定义好;如果是Java则用Eclips打开Java工程进行编程,只在SWTest.java文件中进行函数编写,函数名已经定义好。注意,考生不要进行任何IO输入输出的处理(题目说明中已经有写了),否则会得0分。4、编完代码并编译和调试通过后,点击试题页面下方的 按钮,在弹出的窗口中,如果是C/C++则将test.exe和func.cpp拷贝到一个名为test的目录中然后打包该目录上传,如果是Java则将工程仍然打包为SWTest.rar一次性上传(这个过程非常重要,否则会因无法自动判卷而得0分)。上传之后页面会显示“提交成功”,然后关闭所有IE窗口并清空客户机中您所创建的所有内容后结束考试离开考场。二、 如何阅卷1、考生提交试卷后,我们在服务器后台执行系统阅卷程序,进行自动判卷,不进行人工阅卷。2、系统设置了多个测试用例,根据用例执行的情况判断考生所上机考试的分数。三、 样题编写一个函数,统计出具有n个元素的一维数组中大于等于所有元素平均值的元素的个数并返回。 预祝您上机考试顺利! 华为南京校园招聘组2011年9月 华为南京校园招聘组
华为技术有限公司Huawei Technologies Co., Ltd.
Email: [email protected]
地址:南京雨花台软件大道101号华为南京基地 邮编:210012
Huawei Technologies Co., Ltd.

⑶ C语言的初级上机题,阅读下面的程序并分析其运行结果。

A:不管你输入什么数字,结果都是OK!
分析:对if中的条件表达式来看,他的格式是x=1.23,咋一看,好像是判断输入的值与1.23比较,但是,你要明白,C中一个=是赋值的意思,而两个==是判断的意思,完全是不同的运算符。所以,这个x=1.23就编程了赋值的意思了,可不是判断哦。那么,判断在哪儿呢?这就要给你说了,对于用在判断或者条件部分的表达式如果不是显示表达式,那么首先将这个表达式化简,就是看他到底是用哪个量来参与运算的了。这儿明显是x直接参与运算。这时候,系统默认是这个量与0进行比较。如果这个量正好为0,那么好,算条件不成立,如果是非零值,那么好,算条件成立,但是这个判断是虚拟判断,他可完全又不等价与写成显示表达方式的,这个要区别开。即,在条件部分 x 与 x==0,可不是一样的哦 假设x正好为0,你算一下给你的这两个表达式做条件时其条件结果各为多少。
2、那这时候,有可能是OK!,有可能就什么也没有输出。

⑷ C语言数据结构上机题

#include "stdafx.h"
#include<iostream>
using namespace std;
typedef struct LNode
{
char data;
struct LNode * next;
}LNode,* LinkList;
void CreateList(LinkList &L)//创建链表存放26个字母组成的线性表
{
L=(LinkList)malloc(sizeof(LNode));
L->next=NULL;
char c='z';
for(int i=26;i>0;i--)
{
LNode *p;
p=(LinkList)malloc(sizeof(LNode));
p->data=c--;
p->next=L->next;
L->next=p;
}
}
bool ListInsert(LinkList &L,int i,char c)//在第i个位置插入字母c
{
LNode * p=L;int j=0;
while(p&&j<i-1)
{
p=p->next;
++j;
}
if(!p||j>i-1)
return false;
LinkList s=(LinkList)malloc(sizeof(LNode));
s->data=c;
s->next=p->next;
p->next=s;
return true;
}
void main()
{
LinkList L;
CreateList(L);//1.创建链表存放26个字母组成的线性表
char c;int i;
cout<<"输入插入的字母"<<endl;
cin>>c;
cout<<"输入插入的位置(整数)"<<endl;
cin>>i;
if(ListInsert(L,i,c))//在第i个位置插入字母c
{
while(L->next!=NULL)//将插入后的线性表输出
{
cout<<L->next->data;
L=L->next;
}
}
}

//辛苦写完...刚调试通过...加分啊..
调试是在C++环境下调试的,如果你要在C环境下..把
cout<<L->next->data; 改为:
printf("%d",L->next->data);
cin>>c;改为:scanf("%c",c);
就ok了......

ps: o_o一般上机都是C++吧......

⑸ 华为C语言上机试题

#include <stdio.h>
#include <assert.h>

void take_num(const char *strIn, int *n, unsigned int *outArray)
{
const char * p = strIn;
int next = 0;

*n = 0;
outArray[0] = 0;
assert(p && n && outArray);

for (p = strIn;*p;p++) {
if (('0'<=*p)&&(*p<='9')) {
outArray[*n] = (outArray[*n] * 10)+((*p) - '0');
next = 1; /*后面还有*/
} else {
if (next == 1) {
(*n)++;
}
next = 0;
}
}
}

void max_prefix_match(const char *ip_addr, const char *net_addr_array[], int *n)
{
int ip,tar_net,tar_mask;/*ip地址*/
int ip_it[4],net_it[4],mask_it[4];
char * p;
int index,max_index,cur_bits,max_bits = 0,bit;

*n = -1;
sscanf(ip_addr,"%d.%d.%d.%d",&ip_it[0],&ip_it[1],&ip_it[2],&ip_it[3]);

ip = ((ip_it[0]<<24)+(ip_it[1]<<16)+(ip_it[2]<< 8)+ip_it[3]);
for (index = 0;net_addr_array[index][0] != '\0';index++) {
/*获取网络号和掩码*/
p = net_addr_array[index];

sscanf(p,"%d.%d.%d.%d/%d.%d.%d.%d",
&net_it[0],&net_it[1],&net_it[2],&net_it[3],
&mask_it[0],&mask_it[1],&mask_it[2],&mask_it[3]);

tar_mask = ((mask_it[0]<<24)+(mask_it[1]<<16)+(mask_it[2]<< 8)+mask_it[3]);
tar_net = ((net_it[0]<<24)+(net_it[1]<<16)+(net_it[2]<< 8)+net_it[3]);

if (((tar_mask) & (ip)) == (tar_net)) {
cur_bits = 0;
/*计算1的个数*/
for (bit = 0;bit < sizeof(tar_mask) * 8;bit++) {
cur_bits += tar_mask&1;
tar_mask >>= 1;
}

if (cur_bits > max_bits) {
max_bits = cur_bits;
max_index = index;
}
}
}
if (max_bits != 0) {
*n = max_index;
}
}

int main()
{
int i, n,arrayOut[100] = {0};
char *strIn = "ab00cd+123fght456-25 3.005fgh";
char *ip_addr = "192.168.1.100 ";
char *net_addr_array[1024] = {
"192.168.1.128/255.255.255.192",
"192.168.1.0/255.255.255.0",
"192.168.1.64/255.255.255.192",
"0.0.0.0/0.0.0.0",
""
};

take_num(strIn,&n,arrayOut);
printf("<1>:input:%s\noutput: [%d]\n",strIn,n);
for (i = 0;i < n;i++) {
printf("%d\n",arrayOut[i]);
}

max_prefix_match(ip_addr,net_addr_array,&n);

if (n != -1) {
printf("<2>max:[%d] %s",n,net_addr_array[n]);
}

return 0;
}

热点内容
ios6G与安卓12G哪个更快 发布:2025-01-24 11:26:22 浏览:827
下线源码 发布:2025-01-24 11:26:22 浏览:523
windows8解压软件 发布:2025-01-24 11:04:41 浏览:559
蓝牙聊天源码 发布:2025-01-24 11:03:13 浏览:124
安卓是什么意思是vivo吗 发布:2025-01-24 11:01:32 浏览:486
悬赏网源码 发布:2025-01-24 10:53:14 浏览:733
c语言时间变量 发布:2025-01-24 10:40:24 浏览:870
ppiandroid 发布:2025-01-24 10:25:50 浏览:1001
儿童压缩机 发布:2025-01-24 10:25:09 浏览:75
苹果的允许访问在哪里 发布:2025-01-24 10:24:32 浏览:32