24. 关于vi中的命令和快捷键,以下说法正确的是? A.Ctrl+s 可以保存 正确答案:D解析:
25. 以下代码 int a[2]; scanf (\(\的功能是? A.打印输入的两个整数的大值 C.打印输入的两个整数的均值 正确答案:A解析:
26. 下列关于相对路径和绝对路径的说法错误的是? A.相对路径就是从当前所在目录出发的一种目录描述方式 B.绝对路径就是从根目录出发的一种目录描述形式 C.Unix系统中,绝对路径都是以/开始的 D..和..只能用于相对路径中 正确答案:D解析:
27. 根据下列 变量的类型以及函数参数类型,选出正确的sizeof的结果: 注意:选项给出结果的顺序是按照圆序号的顺序排列的。 char str[] = “Hello”; sizeof(str) = ① char *p = str ; sizeof(p) = ②
int n = 10; sizeof(n) = ③ void Func ( char str[100]) {
sizeof( str ) = ④ }
void *p = malloc( 100 ); sizeof ( p ) = ⑤ A.5 4 4 100 100 B.5 4 4 4 4 C.6 4 4 100 100 D.6 4 4 4 4 正确答案:D解析:
28. 求最大值的宏函数最佳定义代码为: A.#define MAX(x, y) (x>y?x:y)
B.#define MAX(x, y) ((x)>(y)?(x):(y)) C.#define MAX(x, y) (x D.#define MAX(x, y) ((x)<(y)?(x):(y)) 正确答案:B解析: 29. C语言中,下列随机数的实现代码中,哪个是正确的? A.srand(time(0)); int ran = rand(); B.rand(time(0)); int ran = srand(); C.srand(0); int ran = rand(); D.srand(0); int ran = rand(time(0)); B.打印输入的两个整数的小值 D.打印输入的两个整数的差值 B.Ctrl+a 可以全选 D.w 文件名 可以另存为 C.WQ 可以保存退出 正确答案:A解析: 30. 在C语言中,已知int arr[5] = {1,2,3,4,5};不能取到元素2的表示方式是? A.arr[1] B.*(arr+1) C.1[arr] D.*(arr+4) 正确答案:D解析: 31. 命令chmod 644 myfile将myfile文件的权限设置为? A.属主用户可读可执行,同组和其它用户可读 B.属主用户可读可写,同组和其它用户可读 C.属主用户可写可执行,同组和其它用户可执行 D.属主和同组用户可读,其它用户可读可写 正确答案:B解析: 32. 关于预处理指令,以下说法正确的是: A.#elseif主要用于条件编译 B.#if和#endif经常结合使用,用于条件编译 C.#include可以包含文件,但是只能包含.h文件 D.#define可以用于定义宏变量和宏函数,定义宏以后就不能撤销 正确答案:B解析: 33. 所谓“水仙花”数是一个整数等于各位数字立方的和,例如:153 = 1*1*1+5*5*5+3*3*3,下面的程序 用于输出2~1000内的水仙花数: int n; for (n = 2; n <= 1000; n++) { (空白处) if (s == n) { printf(“%d\\n”,n); } } 下列选项中,空白处可以填入的代码是? B.int s = 0, n1 = n; A. int s = 0, n1 = n; while (n1 > 0) { while (n1 > 0) { int t = n1 / 10; int t = n1 % 10; s+= t * t * t; s += t * t * t; n1 %= 10; n1 /= 10; } } D.int n1,s = 0; C.int n1,s; for(n1 = n; n1>0; n1 %= 10) { for(n1 = n; n1>0; n1 /= 10) { int t = n1 / 10; int t = n1; s += t * t * t; s += t * t * t; } } 正确答案:A解析: 34. 在C语言中调用函数f1,当f1函数执行完毕后,哪个变量的内存没有被回收? int a = 1000; void f1(int b){ b = 10; int c = 20; static int d = 30; } A.只有a B.Abcd都没有回收 C.只有d 正确答案:D解析: 35. 关于指针,以下说法中错误的是: D.ad A.指针就是内存的地址,本身是32位(32位操作系统)的数字. B.数组其实也是一种特殊的指针,是常量指针。 C.指针也可以存放函数的地址, 即 函数指针。 D.指针可以做函数的返回值,用于返回任意变量的地址。 正确答案:D解析: 36. 查看如下代码: int a[5] = {1,2,3,4,5}; int *ap = a; int i = 0; 下列代码中,不可以成功打印出数组元素的是: C.for(;i<5;i++){ A.for(;i<5;i++){ printf(“%d\\n”,ap[i]); printf(“%d\\n”,a[i]); } } D.for(;i<5;i++){ B.for(;i<5;i++){ printf(“%d\\n”,*ap++); printf(“%d\\n”,*a++); } } 正确答案:B解析: 37. -80转换成二进制的结果是: A.1011 0000 B.0101 0000 正确答案:A解析: 38. 下列标识符合法的是? A.9D B._9 正确答案:B解析: C.int C.1101 0001 D.1010 1111 D.s@a 39. 以下代码 int x = 9999, y; for (y = 0; x; y++) x = x & (x - 1); printf (\的输出是? A.5 B.6 C.7 D.8 正确答案:D解析: 40. typedef struct Part{ short s; int id; char name; } Part; int main(){ printf(“%d\\n”,sizeof(Part)); } 在考虑结构的对齐和补齐的前提下,打印的结果应该是: A.7 B.8 C.10 D.12 正确答案:D解析: 41. 以下代码 int x = 1; x = x++ + ++x; printf (\的输出是? A.2 B.3 C.4 D.5 正确答案:D解析: 42. 阅读如下代码: char arr[20] = \char b[20] = \char *a = arr; (空白处) int i; for(i=0;;i++){ *a = *(b+i); if(*a=='\\0') break; a++; } printf(\ 如果想打印出abcd1234,空白处需要加上的代码是? A.while(*++a); B.a=a+5; C.while(*arr++); D.while(b++); 正确答案:A解析: 43. C语言中,以下程序的输出结果为? int a = 10; printf(“%d\\n”,sizeof( (a>5)?4:8.0 ) ); A.1 B.2 C.4 D.8 正确答案:D解析: 44. C语言中,下列关于循环的代码有可能编译不通过的是: A.int i; for(i=0;i<10;i++){ } B.for(int i=0;i<10;i++){ } C.int i; for(i=0; ;i++){ } D.for( ; ; ) ; 正确答案:B解析: 45. C语言中,以下程序的输出结果为: int i = 1; int s = i++ + ++i; printf(“%d\\n”,s); A.2 B.3 C.4 D.5 正确答案:C解析: 46. 以下代码 int sum (int a) { static int b = 3; int c = 0; b += 2; c += 1; return a + b + c; } int main (void) { int a = 2; for (int i = 0; i < 5; i++) printf (\ printf (\ return 0; } 的输出是? A.8 8 8 8 8 B.8 9 10 11 12 C.8 10 12 14 16 D.8 11 14 17 20 正确答案:C解析: 47. 如果希望以二进制方式读写文件,文件不存在则创建,文件已存在则保留原内容,那么调用fopen函数时的mode参数应取? A.“ab” B.“a+b“ C.“r+b” D.“w+b” 正确答案:C解析: 48. 已知,有int a1,a2,a3,a4,a5,e;那么以下代码的功能是? e = a1; if(e B.e的值为a1,a2,a3,a4的最小值 C.e的值为a1,a2,a3,a4的最大值 D.e的值为a5 正确答案:C解析: 49. C语言中,定义了数组int arr[10],下列关于数组arr的描述中,正确是? A.arr[0]的值一定是0 B.arr[10]是数组的最后一个元素 C.arr[5]=5.0;会成功赋值,并且arr[5]的值为5 D.arr[5]=5.0;不会成功赋值,因为编译不能通过 正确答案:C解析: 50. 已知,文件a.txt中的内容是abcdefg,那么执行如下代码打印出的结果是: FILE *fp = fopen(\int i = 0; fseek(fp,3L,SEEK_SET); i = getc(fp); printf(\ fseek(fp,-2L,SEEK_CUR); i = getc(fp); printf(\ A.cd B.dc C.ca D.db 正确答案:B解析:
相关推荐: