(本大题共20小题.每小题1分,共20分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。
1.I/O设备指的是计算机的( )
A.存储设备
B.输入和输出设备
C.控制器
D.运算器
2.具有只读功能的内存储器是指( )
A.ROM
B.RAM
C.硬盘
D.CD-ROM
点击进入:自考有疑问、不知道如何选择主考院校及专业、不清楚自考当地政策,点击立即了解》》
3.十进制数-5在八位的微机内的存储形式是( )
A.00000101
B.10000101
C.11111010
D.11111011
4.C语言源程序的基本单位是( )
A.过程
B.函数
C.子程序
D.语句
5.设有int p,q;以下不正确的语句是( )
A.p *=3;
B.p/=q;
C.p+=3;
D.p&&=q;
6.若有下列程序段,欲使a=2,b=3,对应正确的数据输入方法是(其中﹤CR﹥表示换行)( )int a,b;scanf('%d%d',&a,&b);
A.2﹤CR﹥
B.a=2 b=3﹤CR﹥ 3﹤CR﹥
C.a=2,b=3﹤CR﹥
D.2,3﹤CR﹥
7.设有说明 int x=0,y=2;则执行 if(x=0) y=1+x;else y=x-1; 后,变量y的值是( )
A.-1
B.0
C.1
D.2
8.下面程序的输出结果是( )main( ) {int x=5,y;if(x﹥0) y=1; y=0;if(x﹤0) y=-1;printf('%d',y); }
A.-1
B.0
C.1
D.5
9.执行下面程序段后,输出字符B的个数是( )x=0;while(x﹤=5){ printf('B'); x+=2; }
A.0个
B.3个
C.5个
D.6个
10.在下述程序中,for循环执行的次数是( )main( ) {int i =0,j=10,k=2,s=0;for(; ;){ i+=k;if(i﹥j){printf('%d ',s);break;}s+=i;} }
A.4
B.5
C.6
D.7
11.若有定义:int a[10];则数组元素的下标的下限和上限分别是( )
A.0和1
B.1和9
C.0和9
D.1和10
12.下列说法不正确的是( )
A.一个源程序文件由一个或多个函数组成
B.一个C程序由一个或多个源程序文件组成
C.一个C程序以函数为独立的编译单位
D.一个C程序必须有一个main( )函数
13.在C语言中,确定函数返回值的类型由( )
A.return语句中的表达式类型决定
B.调用该函数的主函数类型决定
C.调用函数时临时决定
D.定义函数时所指定的函数类型决定
14.若有以下定义和语句,且0≤i<10,则对数组元素地址的正确表示是( )int a [ ]={0,1,2,3,4,5,6,7,8,9},*p;p=a;
A.&(a+1)
B.a++
C.&p
D.&p[i]
15.若有以下说明:char s[10]=“ABCDEFGH”,*p=s;不能表示字符C的是( )
A.s[2]
B.s[3]
C.s['c'-'a']
D.*(p+2)
16.有下列程序:func(int x, int y, int*jia, int*jian){*jia=x+y;*jian=x-y;}main( ){int i =10,j=3,x1,x2;func( i ,j,&x1,&x2 );printf('%d,&d ',x1,x2);}则其运行结果是( )
A.0,0
B.10,3
C.13,7
D.7,13
17.设有结构体的定义如下:struct data{int n;char c;float f;};则sizeof (struct data)的值是( )
A.1
B.3
C.7
D.11
18.如果在程序中要使用系统提供的函数sqrt,则需要书写的编译预处理命令是( )
A.#include﹤stdio. h﹥
B.#include﹤math. h﹥
C.#include﹤string.h﹥
D.#include﹤malloc.h﹥
19.设有说明:int x=12,y=3;则x¦y的值是( )
A.0
B.3
C.12
D.15
20.测试文件是否结束函数的函数名是( )
A.feof
B.EOF
C.eof
D.FEOF
(本大题共5小题.每小题2分.共10分)在每小题列出的五个备选项中有二至五个是符合题目要求的.请将其代码填写在题后的括号内。错选、多选、少选或未选均无分。
11.下列设备中属于外存储设备的有( )
A.RAM
B.光盘
C.硬盘
D.软盘
E.磁带
12.设a=1,b=3,c=0;下面表达式的值为1的有( )
A.!a&&b| |a&&(c+1)
B.a-b+3
C.(a﹥b)==c
D.(a=0)&&(b=10)
E.b﹥a&&a﹥c
13.设有说明:char s[20];下面各项中能够正确的将一个字符串'abcd'赋给s数组的有( )
A.s='abcd';
B.gets(s);
C.scanf('%s',s);
D.strcpy(s,'abcd');
E.strcpy('abcd',s);
14.关于结构体,下面各项中不正确的有( )
A.struct person{long bh; char *name; int age;} psl={9100,'wang',20},* pst; pst=psl; printf('%d',*pst→age);
B.struct my_data {int num; struct my_data *next;};
C.struct test {char *course; char *class}
D.struct worker {char name[9]; float gz;}Li={'Li Ping',532.67};
E.struct int_num {int i _num;struct int_num *next; }ione, *pi; pi=&ione;
15.设有说明:int x=1,y=2,z=3;则下面表达式的值为0的有( )
A.x&y&z
B.x¦y¦z
C.x^x+y^y
D.z﹥﹥y
E.x&0xff00
(本大题共4小题。每小题4分。共16分)
21.C语言中的运算符“=”与运算符“= =”的意义相同吗?为什么?
22.变量的存储类别分为哪几种?它们分别存储在什么区域?
23.试定义一个三行的二维字符数组s,并用'I am a boy', 'you are a girl', 'he is a teacher'对其进行初始化。
24.设有说明:int a[2][3];请用四种方式来表示数组元素a[1][2]。
(本大题共6小题,每小题5分,共30分)
31.从键盘输入字符A时,写出下面程序的运行结果。(注:字符A的ASCII码是65) #include'stdio.h'main( ){char ch;ch=putchar(getchar( ) );printf(',%d,%o,%c',ch+1,ch+1,ch+32);}
32.阅读下面程序:void main(void){ int s=0,n=0,x; label: scanf('%d',&x); if(x﹥0){ s+=x; n++; printf('s=%d,n=%d,even=%f ',s,n,1.0,*s/n); }if(x!=0) goto label;else printf('good bye!');}当依次输入12 -3 -6 5 13 0↙时,写出程序的运行结果。
33.阅读下面程序,写出程序的运行结果。char a [ ]={'9','8','7','6','5','4','3','2,'1','0',''};void main (void){int i =8,j;for(j=0;j﹤4;j++)printf('%s ',&a[i -j ]);}
34.请写出下面程序的运行结果。long fun (int k ){long fac;if(k= =0)return 1;else{fac=k* fun(k-1);printf('fac=%ld ',fac);}return fac;}void main(void){int n=3;printf('result=%ld ',fun(n+1)/n);}
35.阅读下面程序,写出运行结果。#include﹤stdio.h﹥#include﹤string.h﹥void f(char *s){char *t, c, *p=s;for(t=s+strlen(s)-1;s﹤t;s++,t――){ c=*s,*s=*t,*t=c;printf('%s ',p);}}void main (void){ char a [20]='abcdefg';f(a);}
36.阅读下面程序段,说明其功能:int x, y=0,k; FILE* fp;fp=fopen('data.txt','rb');for(k=0;k﹤5;k++)fread(&x,sizeof(int),1,fp),y+=x;printf('%d,'y);fclose(fp);
(本大题共2小题.每小题12分.共24分)
41.从键盘输入10个整数并依次赋给整型数组中的元素,然后求该数组中值为正数的元素的累加和并输出该累加和。
42.在c盘根目录下有一个ASCII码文件month.dat,文件中有12个字符串分别为英文1~12月的名字,现从键盘上输入一个表示月份的整数,输出该月份的名字。若输入的整数不在1~12之间,则打印“Illegal month”。
热门推荐:
推荐阅读: