c语言试题及答案
(1)在计算机中,一个字节所包含二进制位的个数是
a)2
b)4
c)8
d)16
(2)在多媒体计算机中,cd-rom属于
a)存储媒体
b)传输媒体
c)表现媒体
d)表示媒体
(3)在dos系统中,带有通配符的文件名*.*表示
a)硬盘上的全部文件
b)当前盘当前目录中的全部文件
c)当前盘上的全部文件
d)根目录中的全部文件
(4)十六进制数100转换为十进制数为
a)256
b)512
c)1024
d)64
(5)能将高级语言编写的源程序转换为目标程序的软件是
a)汇编程序
b)编辑程序
c)解释程序
d)编译程序
(6)在internet中,用于在计算机之间传输文件的协议是
a)telnet
b)bbs
c)ftp
d)www
(7)在windows环境下,资源管理器左窗口中的某文件夹左边标有"+"标记表示
a)该文件夹为空
b)该文件夹中含有子文件夹
c)该文件夹中只包含有可执行文件
d)该文件夹中包含系统文件
(8)在windows环境下,下列叙述中正确的是
a)在"开始"菜单中可以增加项目,也可以删除项目
b)在"开始"菜单中不能增加项目,也不能删除项目
c)在"开始"菜单中可以增加项目,但不能删除项目
d)在"开始"菜单中不能增加项目,但可以删除项目
(9) 从windows环境进入dos方式后,返回windows环境的命令为
a)quit b)win c)exit d)esc
(1) 〖1〗 系统软件
(2) 〖2〗 type b.txt >> a.txt
(3) 〖3〗 基本服务
(4) 〖4〗 回收站
(5) 〖5〗 控制面板
(6) 〖6〗 3
(7) 〖7〗 b
(8) 〖8〗 yes
(9) 〖9〗 1 3 2
C语言部分
一、选择题(每小题2分,共10分)
(下在各小题,分别有一个或多个正确答案,请将所有正确答案的编号,填写在该小题题干后的括号内。错选或漏选均不得分)。
1、若定义:int a[2][3]{0,2,4,6,8,10};以下描述正确的有( A,C,D,E )
A、*(a+1)为元素6的地址
这里a+1=a[1]的地址;*(a+1)的值是6,故A正确。
B、*(a[1]+1)的值为2
为8,故B不正确
C、**(a+1)+2的值为8
这里a+1是一个指针,指向的是a[1]. *(a+1)为a[1],a[1]指向的是a[1][0]. **(a+1)为6,加2得8,故C正确;
D、a[0]与a相同
因二者都是指针,指针的地址都是指向数组中的第一个元素的地址,故D正确。
E、a[1][2]的值为10
它是指第二行的第三个元素,为10,正确
2、对函数的正确使用方法描述( A,C,D )。
A、用数组做函数参数时,必须在主调函数和被调函数中分别定义数组
B、实参数组元素和形参数组元素类型可以不一致
C、形参数组长度可以不指定 D、形参数组长度可以大于实参数组长度
E、数组名做参数属于值传递
3、对静态变量的正确描述( A,B,D,E )
A、静态局部变量在静态存储区内分配单元( )
B、静态外部变量可以赋初值,也可以不赋初值
C、静态外部变量的作用与外部变量相同
D、静态局部变量在函数调用结束时,仍保存其值,不会随着消失。
E、静态局部变量只赋一次初值
4、下列描述正确的是( A ,C)。
A、由main 函数及其参数argc和* argv[]可以实现命令行方式
B、使用fclose关闭文件时,先释放文件指针,再写缓冲区数据到文件中
//先写缓冲区数据到文件中,再释放文件指针
C、字符数组并不要求它的最后一个字符是‘\0’
//是的,以字符指针指向的字符串才要求,因为只有这样,才能知道字符串的长度,而在字符数组中,不用\0,一样可以知道到哪里是字符数组的`结尾。
D、‘A’和“A”都是字符串常量
E、若char*S=“\ta\017bc”;则指针变量S指向的字符串所占的字节数是7
5、在缓冲文件系统中用于读写的函数有( A,B,D )
A、putchar () B、fread() C、rewind () D、purw() E、fseek()
二、程序阅读,并给出运行结果(共10分,每题5分)。
(1)main()
{ unsigned a,b,x
int n;
a=0x763 输出结果:
n=6;
b=a<
x=(a>>n2)^b; //+,,的优先级比<>高。
printf(“\nb=%x,\nx=%x”,b,x);
}
在用2个字节表示整数的系统中
结果为
d8c0
d8b6
在用4个字节表示整数的系统中
结果为
1d8c0
1d8b6
故以上两种结果都正确。
(2) #include 〈stdin.h〉
struct m {int x;
int *y;
} *p;
int a [4]={12,33,40,100};
struct m b [4]={10,&a[2],9,&a[3],8,&a[0],7,&a[1]}'
main()
{
p=b; 输出结果:
printf(“%d\n”,++p>x); //>的优先级高于++,因此等于是++(p>x),为11
printf(“%d\n”,(++p)>x); //p后移一个元素,其x值为9;
printf(“%d\n”,++(*p>y));
//>的优先级高于*, 此时p已指向b[1],故*(p>y)为a[3]为100.自加后为101;
}
故输出结果为:
11
9
101
三、程序设计(共10分)
设在文件a.txt和文件b.txt中分别存有两个字符串,设计一个程序将这两个字符串按依序交叉的方式合并为一个字符串(例如“aaaaa”与“bbb”的合并结果为“abababaa”,而“bbb”与“aaaaa”的合作结果为“ bababaa”,)并将结果存入文件a.txt中。
【答案】
写程序时,可以分别读取a.txt文件和b.txt文件,注意(1),无论a文件先读完还是b文件先读完,程序都能作出适应性的判断。注意(2)把a和b合并的结果,写到一个临时文件c中,最后把c的文件覆盖到a文件中,达到题意的要求。
【c语言试题及答案】相关文章: