當前位置:首頁 » 編程語言 » 華為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;
}

熱點內容
ipad訪問google 發布:2024-11-30 18:33:13 瀏覽:696
360怎麼修改密碼 發布:2024-11-30 18:33:07 瀏覽:167
英雄之城源碼 發布:2024-11-30 18:27:03 瀏覽:440
培養人的腳本 發布:2024-11-30 18:03:54 瀏覽:255
wapphp源碼 發布:2024-11-30 18:02:37 瀏覽:516
濟南獲取網路時間伺服器地址 發布:2024-11-30 17:51:39 瀏覽:924
vivo忘記賬戶密碼怎麼辦 發布:2024-11-30 17:49:44 瀏覽:811
java上傳ftp時500 發布:2024-11-30 17:47:31 瀏覽:213
dnf配置打團卡是怎麼回事 發布:2024-11-30 17:46:42 瀏覽:658
為什麼搜不到麒麟9000的緩存 發布:2024-11-30 17:10:11 瀏覽:250