发布时间 : 星期一 文章LINUX c试题更新完毕开始阅读
char c[80], *p;
int i = 0, j= 0, k = 0;
while( a[i] != ?\\0? && b[j] != ?\\0? ) { if ( a[i] < b[j] ) { ( ① ) } else { ( ② ) } k++; }
c[k] = ?\\0?;
if ( ③ ) p = b + j;
else p = a + i; strcat ( c , p ); puts ( c ); }
① [A] c[k] = a[i]; i++; [C] c[k] = a[i]; j++; ② [A] c[k] = a[i]; i++; [C] c[k] = a[i]; j++; ③ [A] a[i] = ?\\0?
[B] c[k] = b[j]; i++; [D] c[k] = a[j]; j++; [B] c[k] = b[j]; i++;
[D] c[k] = b[j]; j++; [B] a[i] != ?\\0?
[C] b[j] = ?\\0? [D] b[j] != ?\\0?
19. 在一个C源程序文件中,若要定义一个只允许本源文件中所有函数使用的全局变量,则该变量需要
使用的存储类别是( )。
[A] extern [B] register [C] auto [D] static
20. 以下程序的运行结果为( )。
void sub(int x, int y, int *z) { *z = y – x ; } int main(void) { int a,b,c ; sub(10, 5, &a) ; sub(7, a, &b) ; sub(a, b, &c) ; printf( “M,M, M\\n”,a,b,c); }
[A] 5, 2, 3 [B] -5, -12, -7 [C] -5, -12, -17 [D] 5, -2, -7
二、判断题(6题,每题2分,共12分)
1. FAT32是Linux系统中广泛使用的一种文件格式。( F ) 2. Linux系统的文件组织结构犹如倒置的树。( T )
3. Linux操作系统将所有硬件都视为文件来处理,包括硬盘分区、CD-ROM、软驱以及其他USB移动
设备等,将其挂载到文件系统目录树中的一个子目录中。( T )
4. Shell是一个命令编译器,将用户命令编译成二进制程序,交给操作系统执行。( F ) 5. 在默认情况下,所定义的Shell变量的作用域是局部有效。( T ) 6. 使用DHCP服务配置动态IP的过程,就犹如一个租借过程。( T )
三、填空题(6题,第5题4分,其余每题2分,共14分)
1. 条件“2 < x < 3或x < -10”的C语言表达式为( (x>2 && x<3 ) ||x<10) )。
2. 若有以下定义和语句,则*p[0]引用的是a数组元素中的( NO.0 ),*(p[1]+1)引用的是a数组
元素中的( NO.3 )。
int *p[3], a[6], i;
for( i = 0; i < 3; i++) p[i] = &a[2*i];
3. 若有以下输入(
1,2
int main(void) { int a[3][4] = {1,2,3,4,5,6,7,8,9,10,11,12}; int (*p)[4], i, j; p = a; scanf(“%d,%d”,&i,&j); printf(“%d\\n”, *(*(p+i)+j)); return 0; }
4. shell脚本的本质是( 命令行解释器 )。
5. gcc的编译步骤按先后顺序分别为( 预处理,编译,链接,运行 )。
6. make工程管理器根据( 文件的时间戳 )来自动发现更新过的文件从而减少编译的工作量。
四、简答题(2题,每题5分,共10分)
1. Shell是Linux内核与硬件的外部保护层,请在下图中标出Shell、Linux内核、硬件的位置,并简要介
用户1控制用户2 ?控制交互... ?控制用户n ?绍三者的交互过程。 LINUX shell linux 内核 硬件
2. 大多Linux文件系统目录结构都遵循一定的标准,请根据右侧的目录职能描述,将左侧目录名连线。
/home E A:存放系统中最常用的可执行文件(二进制)
/root H /dev C /mnt F
B:存放Linux内核和系统启动文件,包括Grub、lilo启动器程序 C:存放所有设备文件,包括硬盘、分区、键盘、鼠标、USB、tty等 D:存放系统的所有配置文件,例如passwd存放用户账户信息,hostname
存放主机名等
E:用户主目录的默认位置
F:该目录通常用于作为被挂载的文件系统的挂载点 H:根用户(超级用户)的主目录
/boot B /etc D /bin A
五、编程题(3题,第1题6分,2/3每题7分,共20分)
1. 打印出所有的“水仙花”数。所谓“水仙花”数是指一个3位数,其各个位数字立方和等于该数本身。
2. 下面findmax函数将计算数组中的最大元素及其下标值,请编写该函数。 #include
void findmax ( int s[ ], int t, int *k ) {
Int i;
}
int main (void) { int a[10] = {12, 23, 34, 45, 56, 67, 78, 89, 11, 22}, k=0; findmax ( a, 10, &k ); printf ( “ 最大元素为:%d, 其下标值为:%d\\n”, a[k], k );
}
return 0;
3. 打印杨辉三角形前10行。(提示:定义数组a[10][10])
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1