(本大题共20小题.每小题1分,共20分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。
1.存储容量1KB等于( )
A.23字节
B.210字节
C.220字节
D.230字节
2.在计算机中指令通常是由( )
A.操作码、操作数组成
B.源操作数、目标操作数组成
C.反码、补码组成
D.直接寻址、目的寻址组成
3.与十进制数39等值的二进制数是( )
A.00100111
B.01001001
C.10100111
D.01011000
点击进入:自考有疑问、不知道如何选择主考院校及专业、不清楚自考当地政策,点击立即了解》》
4.下列设备中属于输出设备的是( )
A.扫描仪
B.键盘
C.鼠标
D.显示器
5.整数-2在机器内存中的表示是( )
A.1000000000000010
B.1111111111111110
C.11111111111111101
D.1111111111111111
6.下列运算符中优先级最低的是( )
A.﹥
B.!
C.%
D.= =
7.设有int a=3,b=-4,c=5;表达式++a-c+b++的值是( )
A.-6
B.-5
C.-4
D.-3
8.以十进制无符号形式输出整数的格式说明符是( )
A.%u
B.%x
C.%o
D.%d
9.下列程序段的输出结果是( )void main(void){ iny y=1,x=5; if(x﹤0)y=-1; if(x﹥=0)y=0; printf('%d ',y);}
A.-1
B.0
C.1
D.5
10.执行如下程序段后,x的值是( )int x=1,y=-1;if(y﹤0)x-=y;else x+=y;
A.-1
B.0
C.1
D.2
11.执行while(表达式)循环的条件是( )
A.当表达式的值为0时
B.仅当表达式的值为1时
C.当表达式的值非0时
D.当表达式的值不为1时
12.下列程序段输出的结果是( )for(i=1;i﹤3;i+ +) for(j=1;j﹤3;j+ +) printf('%d',i+j);
A.2 3 3 4
B.2 3 4
C.2 3
D.2 3 4 3 4
13.若有定义int s[4]={1,2,3,4};则a[a[2]-3*a[0]+1]的值是( )
A.1
B.2
C.3
D.4
14.下列关于C语言程序说法正确的是( )
A.C语言程序总是从有定义的函数起顺序执行
B.在C语言程序中,被调用函数必须在main函数中定义
C.C语言程序中的main函数必须放在程序的开始部分
D.C语言程序总是从main函数起开始执行
15.若有int a[ ]={1,2,3,4,5,6,7,8,9,10},且0≤i<10,则对数组元素地址正确表示的是( )
A.&a+1
B.&a+ +
C.&a
D.&a[i]
16.下列关于结构体类型定义正确的是( )
17.下列位运算符中,表示按位异或操作的是( )
A.~
B.│
C.^
D.&
18.下列各个位运算符的优先级从左到右依次升高的是( )
A.﹥﹥│& ~
B.│﹥﹥ & ~
C.│& ﹥﹥ ~
D.~│& ﹥﹥
19.设有说明:int u=1,v=3;则表达式u﹤﹤= v的值是( )
A.0
B.1
C.3
D.8
20.如果文件存储的是数据在内存中存放的字节形式,则该文件是( )
A.ASCII文件
B.文本文件
C.二进制文件
D.设备文件
(本大题共5小题.每小题2分.共10分)在每小题列出的五个备选项中有二至五个是符合题目要求的.请将其代码填写在题后的括号内。错选、多选、少选或未选均无分。
11.存储在下列哪些设备中的信息可以长期保存?( )
A.RAM
B.ROM
C.硬盘
D.软盘
E.光盘
12.下列语句中正确的有( )
A.if(x﹥y);
B.if(x=y)&&(x!=0)x+=y;
C.if(x! =y)scanf(“%d,&x);else scanf(“%d”,&y);
D.if(x﹤y){x+ +;y+ +;}
E.if(x﹤y)x+ +;y+ +;else x――;y――;
13.下列循环将会产生死循环的有( )
A.while(1);
B.do{ }while(0);
C.do{ }while(1);
D.for(k=1;k﹥―10;k+ +);
E.for(k=1;k=10;k+ +,k――);
14.设有二维数组int a[4][3];下列表示数组元素a[0][2]地址的有( )
A.a[2]
B.*a
C.*a+2
D.a[0]+2
E.&a[0][2]
15.设有关于结构体类型的定义:( ) struct data { int num; struct data *next; } *p,* head=NULL;下列语句中正确的有
A.p=(struct data *)malloc(sizeof(struct data));
B.p=(struct data )malloc(sizeof(struct data));
C.p=(struct data *)malloc(sizeof(data));
D.p->next=head;
E.p.next=head;
(本大题共4小题。每小题4分。共16分)
21.C语言中的运算符“=”与数学中的“=”的意义相同吗?为什么?
22.简述C语言标准库函数strcpy 的格式(或函数原型)与功能。
23.请按照下列要求写出相应的C语句。假设float类型的变量x1和x2已经定义过,且x1已经初始化为7.3。(1)定义指向float类型变量的指针变量fpt;(2)使fptr指向x1;(3)利用fptr,将fptr指向变量的值赋给x2;(4)利用fptr,输出fptr指向变量的值。
24. fread(stu,size,n,fp);中stu、size、n和fp的含义各是什么?
(本大题共6小题,每小题5分,共30分)
31.请阅读分析下列程序,然后写出运行结果。main( ){ int a=0,b=1; printf('a=%d,b=%d ',a,b); a+=b;b+=a; printf('a=%d,b=%d ',a,b);}
32.若分别输入0和5时,请阅读分析下列程序,然后分别写出两种输入情况下程序的运行结果。main ( ){ int x,y; scanf('%d',&x); if(x﹥2&&x﹤=10) y=x *(x+2); else if(x﹥-1&&x﹤=2) y=2*x; else if(x﹤-1)y=x-1; if(y!=-1) printf('%d,y); else printf('error');}
33.请阅读分析下列程序,然后写出程序的循环次数和运行结果。main(void) {int i;for(i=1; i﹤6; i+ +){ if(i%2) { printf('@');continue; }printf('*');}printf(' ');}
34.请阅读分析下列程序,然后写出程序的运行结果。void fun( );void main(void){fun( );fun( );} void fun( ) {static int a[3]={0,1,2},b=10;int i;if(b= =10){ for(i=0;i﹤3;i+ +) a[i]+=a[i]; for(i=0;i﹤3;i+ +) printf('%d,',a[i]);printf('b=%d ',b);b+ +;}else{ for(i=0;i﹤3;i+ +) a[i]*=a[i];for(i=0;i﹤3;i+ +) printf('%d,'a[i]);printf('b=%d ',b);}}
35.请阅读分析下列程序,然后写出程序的运行结果。void main(void) {int a[ ]={1,2,3,4,5,6},*p;p=a;p+ +;*(p+3)+=2;printf('%d ',*p);printf('%d ',*(p+3)); }
36.设有下列创建单向链表的部分程序:#include'malloc.h' #include'string.h' struct automobile {char type[20];int load;struct automobile *next;} * head=NULL; void main(void) {struct automobile *p;char * automobile_type[3]={'Red_Rock',Yellow_River','East_Wind'};int automobile_load[3]={24,18,42},j;for(j=0;j﹤3;j+ +){ p=(①______________)malloc(sizeof(struct automobile)); strcpy(②_____________,automobile_type[j]); p->load=automobile_load[j]; p->next=head; head=p;} }请阅读分析程序,然后写出①和②下划线处应该填写的内容。
(本大题共2小题.每小题12分.共24分)
41.若数组a中有十个整数8,2,5-3,7,-9,0,-4,10,15,请编程求出该数组中的最大值和最小值。
42.设在c盘根目录下有一个ASCII码文件zm.dat,且文件中有10个字符。请编程将文件中的字符读出,再按照从大到小的次序排序并将排序结果在屏幕上显示出来。
热门推荐:
推荐阅读: