vos2cifabc的简单介绍

本文目录一览:

新买的Dell 戴尔 VOS 5460 (2626)晚上开机突然发现3个USB接口中 的2个没反应了,是怎么回事啊?

您好:

以下方法供您参考:

您的USB接口无法使用(大部分为USB3.0接口),这种情况一般是因为有安装了一些优化或者安全软件,禁用USB3.0驱动程序导致。建议您到官网驱动页面下载相应驱动安装即可。

您需要登陆戴尔官网进行驱动下载:

;s=bsdcs=cnbsd1l=zh

安防监控系统CIF、D1、Qcif、4cif等格式的解释?什么意思?具体是什么?

CIF、D1、Qcif、4cif指图象的分辨率。你给的问题补充里面已经说的非常清楚。不知道你还有什么不明白的。

分辨率就是图像的精密度,比如显示器的分辨率是1024X768这时候看上去很细腻、舒服。如果分辨率设置成600X800图标就显的更大,分辨率更低。

CIF分辨率352×288,

D1分辨率=4CIF=704 × 576

Qcif分辨率=176 × 144

眼科检查中VOS:指数/眼前(2尺)什么意思

右眼视力:指数/眼前(2尺) —— 只能数出2尺远的手指数(说明近乎失明)。

求C语言编程题

逻辑运算和判断选取控制

1、编制程序要求输入整数a和b,若a2+b2大于100,则输出a2+b2百位以上的数字,否则输出两数字之和。

#includestdio.h

int main()

{

int a,b;

printf(“input two number:”);

scanf(“%d %d”,a,b);

if((a*a+b*b)=100)

printf(“\n %d”,(a*a+b*b)/100);

else

printf(“\n %d”,a+b);

getch();

}

2、试编程判断输入的正整数是否既是5又是7的整数倍数。若是,则输出yes;否则输出no。

#includestdio.h

int main()

{

int a;

printf(“input a number:”);

scanf(“%d”,a);

if(a%5==0 a%7==0)

printf(“yes”);

else

printf(“no”);

getch();

}

指针

1、编一程序,将字符串computer赋给一个字符数组,然后从第一个字母开始间隔的输出该串,请用指针完成。

#includestdio.h

int main()

{

char string[]=”computer”;

char *p=string;

while(*p)

{

printf(“%c”,*p);

p++;

p++;

}

getch();

}

2、输入一个字符串string,然后在string里面每个字母间加一个空格,请用指针完成。

#includestdio.h

#includeCONIO.H

#includeSTDLIB.H

#define max 100

char * copyString;

void copy(char *,char*);

void insert(char *);

int main()

{

char * string;

string = (char *)malloc(max*sizeof(char));

scanf(“%s”,string);

insert(string);

printf(“%s”,string);

getch();

return 0;

}

void copy(char * c,char * s)

{

while(*s!=’\0′)

{

*c=*s;

s++;

c++;

}

*c=’\0′;

}

void insert(char * s)

{

copyString = (char*)malloc(2*max*sizeof(char));

copy(copyString,s);

while(*copyString!=’\0′)

{

*s=*copyString;

s++;

copyString++;

*s=’ ‘;

s++;

}

*s=’\0′;

}

一.选择:

1.给出以下定义:

char acX[ ]= “abcdefg”;

char acY[ ]= {‘a’,’b’,’c’,’d’,’e’,’f’,’g’};

则正确的叙述为( )

A) 数组acX和数组acY等价 B) 数组acX和数组acY的长度相同

C) 数组acX的长度大于数组acY的长度 D) 数组acX的长度小于数组acY的长度

答案:C

2.

void example(char acHello[])

{

printf(“%d”, sizeof(acHello));

return;

}

void main()

{

char acHello[] = “hello”;

example(acHello);//数组名称作参数,传的是地址,一个地址占四个字节

return;

}

的输出是

A 4 B 5 C 6 D不确定

答案:A

3. 有以下程序段

char acArr[]= “ABCDE”;

char *pcPtr;

for(pcPtr = acArr; pcPtr acArr + 5; pcPtr++)

{

printf(“%s\n”, pcPtr);

}

return;

输出结果是( )

A) ABCD B) A C) E D) ABCDE

B D BCDE

C C CDE

D B DE

E A E

答案:D

4.在中断中,不能同步获取信号量,但是可以释放信号量。

A.正确 B.错误

答案:A

5.以下叙述中不正确的是( )

A) 在不同的函数中可以使用相同名字的变量

B) 函数中的形式参数是局部变量

C) 在一个函数内定义的变量只在本函数范围内有效

D) 在一个函数内的复合语句中定义的变量在本函数范围内有效(复合语句指函数中的成对括号构成的代码)

答案:D

6.设有如下定义:

unsigned long pulArray[] = {6, 7, 8, 9, 10};

unsigned long *pulPtr;

则下列程序段的输出结果为( )

pulPtr = pulArray;

*(pulPtr + 2) += 2;

printf (“%d,%d\n”, *pulPtr, *(pulPtr + 2));

A)8,10 B)6,8 C)7,9 D)6,10

答案:D

7. 定义结构体时有下面几种说法,请指出正确的(多选):______

A、结构体中的每个部分,最好进行四字节对齐;

B、结构体的总长度最好是四字节对齐;

C、结构中成员的存放不用考虑字节对齐情况;

答案:A、B

8.void example()

{

int i;

char acNew[20];

for(i = 0; i 10; i++)

{

acNew[i] = ‘0’;

}

printf(“%d\n”, strlen(acNew));

return;

}

的输出为( )

A 0 B 10 C 11 D不确定

答案:D

9.switch(c)中的c的数据类型可以是char、long、float、unsigned、bool. ( )

A. 正确 B. 错误

答案:B

10. 网络上传输的字节序默认是大字节的,如果主机是小字节序,在网络通信时则须进行字节序转换;如果主机是

大字节序,为了程序的一致性及可移植性,最好也在程序中加上字节序转换的操作(空操作)。

A. 正确 B.错误

答案:A

11. struct stu

{

int num;

char name[10];

int age;

};

void fun(struct stu *p)

{

printf(“%s\n”, (*p).name);

return;

}

void main()

{

struct stu students[3]={ {9801,”Zhang”,20},

{9802,”Wang”,19},

{9803,”Zhao”,18} };

fun(students + 2);

return;

}

输出结果是( )

A) Zhang B)Zhao C) Wang D) 18

答案:B

12.以下程序运行后,输出结果是( )

void main( )

{

char *szStr = “abcde”;

szStr += 2;

printf(“%lu \n”,szStr);

return;

}

A cde B 字符c的ASCLL码值

C “abcde”这个常串中字符c所在的地址 D 出错

答案:C

13. 在X86下,有下列程序

#include stdio.h

void main()

{

union

{

int k;

char i[2];

}*s,a;

s = a;

s-i[0] = 0x39;

s-i[1] = 0x38;

printf(“%x\n”, a.k);

}

输出结果是( )

A) 3839 B) 3938 C) 380039 D) 不可预知

答案:D

14. 全局变量可以定义在被多个.C文件包含着的头文件中。

A. 正确 B. 错误

答案:B

15.void example()

{

int i;

char acNew[20] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};

for(i = 0; i 10; i++)

{

acNew[i] = ‘0’;

}

printf(“%d\n”, strlen(acNew));

return;

}

的输出为:

A 0 B 10 C 11 D不确定

答案:B

16.下列定义正确的有(多选):( )

A: char *pcPtr = “abcd”;

B: char pc[4]= “abcd”;

C: char pc[] = “abcd”;

D: char pc[] = ‘abcd’;

E: char pc[] = {‘a’,’b’,’c’,’d’,’\0′};

F: char pc[] = ‘a’ ‘b’ ‘c’ ‘d’;

答案:ACE

17.在函数内部定义的变量(静态变量、寄存器变量等特殊变量除外)的内存是在栈内存中,所以在定义函数内部的变量的时候,一定要保证栈不能够溢出。如果临时变量

占用空间较大,应该使用内存申请的方式,这样该变量指向的内存就是在堆内存中了。

A. 正确 B. 错误

答案:A

18.局部变量可以和全局变量重名,编译的时候不会出现错误,但一旦不小心,就可能导致使用错误变量,所以在定时局部变量的时候,不要和全局变量重名。

A. 正确 B. 错误

答案:A

19.设有以下宏定义:

#define N 3

#define Y(n) ((N+1)*n) /*这种定义在编程规范中是严格禁止的*/

则执行语句:z = 2 * (N + Y(5 + 1));后,z的值为( )

A) 出错 B) 42 C) 48 D)54

答案:C

20. int *(*ptr)();

则以下叙述中正确的是( )

A) ptr是指向一维组数的指针变量

B) ptr是指向int型数据的指针变量

C) ptr是指向函数的指针,该函数返回一个int型数据

D) ptr是指向函数的指针,该函数的返回值是指向int型数据的指针

答案:D

21. 0x12345678 在采用BigEndian中内存的排列顺序是______,在采用LittleEndian内存中的排列顺序是_______.

(答案从左到右内存地址依次增加)

A.12 34 56 78 B.34 12 78 56

C.78 56 34 12 D.56 78 12 34

答案:A C

二、填空:

1. .struct tagAAA

{

unsigned char ucId:1;

unsigned char ucPara0:2;

unsigned char ucState:6;

unsigned char ucTail:4;

unsigned char ucAvail;

unsigned char ucTail2:4;

unsigned long ulData;

}AAA_S;

问:AAA_S在字节对齐分别为1、4的情况下,占用的空间大小是多少?

答案:9 12

2.typedef struct tagTest

{

UCHAR ucFlag;

ULONG ulLen;

}TEST_S;

TEST_S test[10];

四字节对齐方式时: sizeof(TEST_S) = ______, sizeof(test)________.

答案:8 80

3

char acHello[] = “hello\0world”;

char acNew[15] = {0};

strcpy(acNew,acHello);

strlen(acNew) = _____

sizeof(acHello) = ______

答案:5 12

4.#pragma pack(4)/*编译选项,表示4字节对齐*/

int main(int argc, char* argv[])

{

struct tagTest1

{

short a;

char d;

long b;

long c;

};

struct tagTest2

{

long b;

short c;

char d;

long a;

};

struct tagTest3

{

short c;

long b;

char d;

long a;

};

struct tagTest1 stT1;

struct tagTest2 stT2;

struct tagTest3 stT3;

printf(“%d %d %d”, sizeof(stT1), sizeof(stT2), sizeof(stT3));

return 0;

}

#pragma pack()(编译选项结束)

请问输出结果是:_________

答案:12 12 16

5. enum ENUM_A

{

X1,

Y1,

Z1 = 5,

A1,

B1

};

enum ENUM_A enumA = Y1;

enum ENUM_A enumB = B1;

请问 enumA = ____; enumB = ______;

答案:1 7

6.以下程序的输出结果是________.

#include stdio.h

int fun(int x,int y)

{

static int m = 0;8

static int i = 2;3

i += m + 1;12

m = i + x + y;

return m;

}

void main()

{

int j = 4;

int m = 1;

int k;

k = fun(j, m);

printf(“%d,”, k);

k=fun(j, m);

printf(“%d\n”, k);

return;

}

答案:8 17

7.以下程序的输出结果为________

#define CIR(r) r*r /*请注意这种定义的缺陷,不允许这么定义*/

void main()

{

int a = 1;

int b = 2;

int t;

t = CIR(a + b);

printf(“%d\n”, t);

return;

}

答案:5

8.在VRP中,实现了strncpy类似的函数,定义如下:

#define CHAR char

#define ULONG unsigned long

#define VOID void

#define MACRO_COPYWORLDLENGTH 4

CHAR *VOS_strncpy(CHAR *pcDest, const CHAR *szSrc, ULONG ulLength)

{

CHAR *pcPoint = pcDest;

if(( NULL == szSrc ) || ( NULL == pcDest ) ))

{

return NULL;

}

while(ulLength (*pcPoint = *szSrc))/*这里采用了在判断语句中赋值的方式(*pcPoint = *szSrc),建议尽量不使用*/

{

pcPoint++;

szSrc++;

ulLength–;

}

if(!ulLength)

{

*pcPoint = ‘\0’;

}

return pcDest;

}

VOID main(VOID)

{

CHAR szStrBuf[ ] = “1234567890”;

CHAR szStrBuf1[ ] = “1234567890”;

CHAR *szHelloWorld = “Hello World!”;

strncpy(szStrBuf, szHelloWorld, MACRO_COPYWORLDLENGTH);

VOS_strncpy(szStrBuf1, szHelloWorld, MACRO_COPYWORLDLENGTH);

printf(“%s %s”, szStrBuf, szStrBuf1);

}

程序的输出结果为________

答案:Hell567890 Hell

9.

char acHello[] = “hello\0world”;

char acNew[15] = {0};

memcpy(acNew,acHello,12);

strlen(acNew) = _____

sizeof(acHello) = _____

答案:5 12

10. typedef struct Head

{

UCHAR aucSrc[6];

ULONG ulType;

} HEAD_S;

在强制一字节对齐情况下,请指出sizeof(HEAD_S) = ________;

在强制二字节对齐情况下,请指出sizeof(HEAD_S) = ________;

在强制四字节对齐情况下,请指出sizeof(HEAD_S) = ________;

答案:10 10 12

11.union tagAAAA

{

struct

{

char ucFirst;

short usSecond;

char ucThird;

}half;

long lI;

}number;

struct tagBBBBB

{

char ucFirst;

short usSecond;

char ucThird;

short usForth;

}half;

struct tagCCCC

{

struct

{

char ucFirst;

short usSecond;

char ucThird;

}half;

long lI;

};

在字节对齐为1下,sizeof(union tagAAAA)、sizeof(struct tagBBBBB)、sizeof(struct tagCCCC)是____ ____ _____

在字节对齐为4下,sizeof(union tagAAAA)、sizeof(struct tagBBBBB)、sizeof(struct tagCCCC)是____ ____ _____

答案:4 6 8

8 8 12

12.struct tagABC

{

char cB;

short sC;

char cD;

long lA;

}*pAbc;

pAbc = 0x100000;

那么pAbc+0x100 = 0x_________; (ULONG)pAbc + 0x100 = 0x_________;(ULONG *)pAbc + 0x100 = 0x_________;(char *)pAbc + 0x100 = 0x_______;

答案:100C00 100100 100400 100100

13.unsigned long FUNC_C ( unsigned long ulAction )

{

unsigned long ulResult = 0 ;

switch ( ulAction )

{

case ACTION_A:

{

ulResult += 1 ;

break ;

}

case ACTION_B:

{

ulResult += 1 ;

}

default:

{

ulResult += 1 ;

}

}

printf( “ulResult = %u”, ulResult ) ;

return ulResult ;

}

当输入为ACTION_B时,输出结果为: ulResult = _________;

答案:2(因为此分支没有break分支)

14.下面的代码中,函数Test执行完毕后,打印的结果是 _____。

unsigned long g_ulGlobal = 0;

void GlobalInit(unsigned long ulArg)

{

ulArg = 0x01;

return;

}

void Test()

{

GlobalInit(g_ulGlobal);

printf(“%lu”, g_ulGlobal);

return;

}

答案:0

15.以下程序的输出的结果是___________

int x = 3;

void incre();

void main()

{ int i;

for (i = 1; i x; i++)

{

incre();

}

return;

}

void incre()

{

static int x = 1;

x *= (x + 1);

printf(“%d “,x);

return;

}

答案:2 6

16.以下程序的输出的结果是___________

#pragma pack(4)/*四字节对齐*/

int main(int argc, char* argv[])

{

unsigned char puc[4];

struct tagPIM

{

unsigned char ucPim1;

unsigned char ucData0:1;

unsigned char ucData1:2;

unsigned char ucData2:3;

}*pstPimData;

pstPimData = (struct tagPIM *)puc;

memset(puc, 0, 4);

pstPimData-ucPim1 = 1;

pstPimData-ucData0 = 2;

pstPimData-ucData1 = 3;

pstPimData-ucData2 = 4;

printf(“%02X %02X %02X %02X\n”, puc[0], puc[1], puc[2], puc[3]);

return 0;

}

#pragma pack()/*恢复缺省对齐方式*/

答案:01 26 00 00

17.

char *pcColor = “blue1” ;

char acColor[] = “blue1” ;

strlen(pcColor) = _____

strlen(acColor) = _____

sizeof(pcColor) = _____

sizeof(acColor) = _____

答案:5 5 4 6

18.

char str[] = “\\\0”;

char *p = str;

int n = 1000;

请计算

sizeof (str ) = ____________

sizeof ( p ) = ______________

sizeof ( n ) = ______________

答案:3 4 4

19.UCHAR *pucCharArray[10][10];

typedef union unRec

{

ULONG ulIndex;

USHORT usLevel[6];

UCHAR ucPos;

}REC_S;

REC_S stMax,*pstMax;

四字节对齐方式时: sizeof(pucCharArray) = __指针的数组,每个指针的地址都是4字节____, sizeof(stMax)=_______, sizeof(pstMax)=__地址______,sizeof(*pstMax)=________.

答案:400 12 4 12

20.typedef union unHead

{

UCHAR aucSrc [6];

struct tagContent

{

UCHAR ucFlag[3];

ULONG ulNext;

}Content;

}HEAD_S;

32CPU,VC编译环境下:

在强制一字节对齐情况下,请指出sizeof(HEAD_S) = ________;

在强制二字节对齐情况下,请指出sizeof(HEAD_S) = ________;

在强制四字节对齐情况下,请指出sizeof(HEAD_S) = ________;

答案:7 8 8

21.

UCHAR *pszTest = “hello”;

UCHAR aucTest[] = “hello”;

请问 sizeof(pszTest) = _____ , sizeof(*pszTest) = ______, sizeof(aucTest) = ______.

答案:4 1 6

22. struct BBB

{

long lNum;

char *pcName;

short sDate;

char cHa[2];

short sBa[6];

}*p;

p = 0x100000;

p + 0x1 = 0x____

(unsigned long)p + 0x1 = 0x______

(unsigned long *)p + 0x1 = 0x______

(char *)p + 0x1 = 0x______

答案:100018 100001 100004 100001

23.在4字节对齐的情况:

typedef struct tagRec

{

long lA1;

char cA2;

char cA3;

long lA4;

long lA5;

} REC_S;

void main(int argc, char *argv[])

{

REC_S stMax ;

printf(“\r\n sizeof(stMax)= %d”,sizeof(stMax));

return;

}

输出结果为:

sizeof(stMax)=____

答案:16

24.void main ()

{

unsigned long ulA = 0x11000000;

printf(“\r\n%x”,*(unsigned char *)ulA);

return;

}

输出结果为:

答案:0

三、指出下列程序中导致不能出现预期结果的唯一错误(不考虑编程规范错误)

1.下面程序用于输出用户输入的字符串。请指出其中的问题

#define OK 0

#define ERR 1

#define ERROR (-1)

#define BUFFER_SIZE 256

int GetMemory(char **ppszBuf, int num)

{

if( NULL == ppszBuf )

{

ASSERT(0);

return ERROR;

}

*ppszBuf = (char *)malloc(num);

if(NULL == *ppszBuf)

{

return ERROR;

}

return OK;

}

void Test(void)

{

char *pcStr = NULL;

if(OK == GetMemory(pcStr, BUFFER_SIZE))

{

scanf(“%s”,pcStr);/*这里假定BUFFER_SIZE足够大,不会导致越界*/

printf(pcStr);

free(pcStr);

}

return;

}

答案:要采用printf(“%s”, str)的形式打印,否则如果输入为%s, %d等形式可能会导致不可知现象。

2.此函数实现把32位IP地址(主机序)以字符串的方式打印出来,请找出代码中的错误:

char *IpAddr2Str(unsigned long ulIpAddr)

{

char szIpAddr[32];

(void)VOS_sprintf(szIpAddr, “%d.%d.%d.%d”, ulIpAddr 24,

(ulIpAddr 16) 0xff, (ulIpAddr 8) 0xff, ulIpAddr 0xff);

return szIpAddr;

}

答案:函数的局部变量是存放在堆栈中的,此函数返回了堆栈中的地址,函数退出后堆栈中的内容不可用。

3.如下程序用于输出”Welcome Home”。请指出其中的错误:

void Test(void)

{

char pcArray[12];

strcpy(pcArray,”Welcome Home”);

printf(“%s!”, pcArray);

return;

}

答案:数组越界。

4.如下程序用于把”blue”字符串返回,请指出其中的错误:

char *GetBLUE(void)

{

char* pcColor ;

char* pcNewColor;

pcColor = “blue”;

pcNewColor = (char*)malloc(strlen(pColor));

if(NULL == pcNewColor)

{

return NULL;

}

strcpy(pcNewColor, pcColor);

return pcNewColor;

}

答案:申请内存空间不足,字符串结尾还有’\0’。

5.下面程序期望输出str = hello world,请指出其中的错误:

char * GetStr(char *p)

{

p = “hello world”;

return p;

}

void main()

{

char *str = NULL;

if(NULL != GetStr(str))

{

printf(“\r\n str = %s”,str);

}

return;

}

答案:无法返回字符串,参数使用错误。

原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/297576.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小蓝小蓝
上一篇 2024-12-28 12:16
下一篇 2024-12-28 12:16

相关推荐

  • Python简单数学计算

    本文将从多个方面介绍Python的简单数学计算,包括基础运算符、函数、库以及实际应用场景。 一、基础运算符 Python提供了基础的算术运算符,包括加(+)、减(-)、乘(*)、除…

    编程 2025-04-29
  • Python满天星代码:让编程变得更加简单

    本文将从多个方面详细阐述Python满天星代码,为大家介绍它的优点以及如何在编程中使用。无论是刚刚接触编程还是资深程序员,都能从中获得一定的收获。 一、简介 Python满天星代码…

    编程 2025-04-29
  • Python海龟代码简单画图

    本文将介绍如何使用Python的海龟库进行简单画图,并提供相关示例代码。 一、基础用法 使用Python的海龟库,我们可以控制一个小海龟在窗口中移动,并利用它的“画笔”在窗口中绘制…

    编程 2025-04-29
  • Python樱花树代码简单

    本文将对Python樱花树代码进行详细的阐述和讲解,帮助读者更好地理解该代码的实现方法。 一、简介 樱花树是一种图形效果,它的实现方法比较简单。Python中可以通过turtle这…

    编程 2025-04-28
  • Python大神作品:让编程变得更加简单

    Python作为一种高级的解释性编程语言,一直被广泛地运用于各个领域,从Web开发、游戏开发到人工智能,Python都扮演着重要的角色。Python的代码简洁明了,易于阅读和维护,…

    编程 2025-04-28
  • 用Python实现简单爬虫程序

    在当今时代,互联网上的信息量是爆炸式增长的,其中很多信息可以被利用。对于数据分析、数据挖掘或者其他一些需要大量数据的任务,我们可以使用爬虫技术从各个网站获取需要的信息。而Pytho…

    编程 2025-04-28
  • 如何制作一个简单的换装游戏

    本文将从以下几个方面,为大家介绍如何制作一个简单的换装游戏: 1. 游戏需求和界面设计 2. 使用HTML、CSS和JavaScript开发游戏 3. 实现游戏的基本功能:拖拽交互…

    编程 2025-04-27
  • Guava Limiter——限流器的简单易用

    本文将从多个维度对Guava Limiter进行详细阐述,介绍其定义、使用方法、工作原理和案例应用等方面,并给出完整的代码示例,希望能够帮助读者更好地了解和使用该库。 一、定义 G…

    编程 2025-04-27
  • 2的32次方-1:一个看似简单却又复杂的数字

    对于计算机领域的人来说,2的32次方-1(也就是十进制下的4294967295)这个数字并不陌生。它经常被用来表示IPv4地址或者无符号32位整数的最大值。但实际上,这个数字却包含…

    编程 2025-04-27
  • 制作一个简单的管理系统的成本及实现

    想要制作一个简单的管理系统,需要进行技术选型、开发、测试等过程,那么这个过程会花费多少钱呢?我们将从多个方面来阐述制作一个简单的管理系统的成本及实现。 一、技术选型 当我们开始思考…

    编程 2025-04-27

发表回复

登录后才能评论