c语言04
- 格式:ppt
- 大小:524.50 KB
- 文档页数:28
1、在16位C编译系统上,若定义long a; ,则能给a赋40000的正确语句是A) a=20000+20000;B) a=4000*10;C) a=30000+10000;D) a=4000L*10L;2、在C语言中,合法的长整型常数是A) OLB) 4962710C) 324562&D) 216D3、以下选项中可作为C语言合法整数的是A)10110BB)0386C)0XffaD)x2a24、以下程序的输出结果是【】。
main(){ unsigned short a=65536; int b;printf(“%d\n”,b=a);}5、以下所列的C语言常量中,错误的是A) 0xFFB) 1.2e0.5C) 2LD) ‘\72’7、有以下程序main( ){int x=102,y=012;printf("%2d,%2d\n",x,y);} 执行后输出结果是A)10,01B)002,12C)102,10D)02,108、有以下程序main(){int m=0256,n=256;printf("%o %o\n",m,n);}程序运行后的输出结果是A)0256 0400B)0256 256C)256 400D)400 4009、以下程序段的输出结果是【】int i=9;printf("%o\n",i);10、以下程序运行后的输出结果是【】main(){int a,b,c;a=25;b=025;c=0x25;printf("%d%d%d\n",a,b,c);}11、若有以下程序段(n所赋的是八进制数)int m=32767,n=032767;printf("%d,%o\n",m,n);执行后输出结果是A) 32767,32767B) 32767,032767C) 32767,77777D) 32767,07777712、若有以下程序段int m=0xabc,n=0xabc;m-=n;printf("%X\n",m);执行后输出结果是A) 0X0B) 0x0C) 0D) 0XABC13、以下程序的输出结果是【】。
面试c语言常见问题01堆栈溢出堆栈溢出一般是由没有回收垃圾资源导致的。
02ISR 不能传递参数ISR 不能传递参数,如果你没有看到这一点,你被雇用的机会等同第一项。
03程序哪里有错误程序中可能会出现错误,比如使用指针操作、未初始化等。
这些错误会导致程序出现错误,影响程序的正常运行。
因此,在程序中使用指针、初始化等操作可以有效避免程序错误的发生。
04动态内存分配动态内存分配是C语言中的一个常见问题,它涉及内存分配的机制和算法。
在嵌入式系统中,动态内存分配可能发生的问题包括内存碎片过多,内存地址分配不准确,甚至内存泄漏等问题。
05数组访问越界数组访问越界是指在程序运行过程中,数组下标超出数组范围时可能会存在内存访问错误。
这会导致程序运行过程中可能会出现一系列内存问题,甚至可能影响到程序的正常运行。
06系统开销在C语言面试中,系统开销是一个常见的问题。
在创建或撤消进程时,由于系统需要分配和回收资源,因此系统的开销明显大于创建或撤消线程时的开销。
这是正常现象。
07程序的内存分配程序的内存分配是C语言中的一个重要概念,通过分配内存来提高程序的运行效率和性能。
在C语言中,内存分配由栈区、堆区、全局区、常量区、代码区等组成。
08队列和栈有什么区别队列和栈的区别在于,队列是按照先进先出的顺序进行操作的,而栈是按照后进先出的顺序进行操作的。
09写出二分查找的代码写出二分查找的代码是:int binary_search(int* arr, int key, int n){ int low = 0; int h igh = n - 1; int m id; while (low <= high){ mid = (high + low) / 2; if (key>arr[mid]){ low = low+1; }else if(key<arr[mid]){ high = high-1; }else{ return mid; }} return -1; }10volatile关键字的作用volatile关键字的作用是使代码更加稳定和可靠,因为如果关键字被系统、硬件或进程改变,编译器将无法正确地获取变量的值,而不会从优化后的寄存器中读取。