(本大题共20小题.每小题1分,共20分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。
1.一个完整的计算机系统应该包括( )
A.主机和外设
B.主机和操作系统
C.硬件系统和系统软件
D.硬件系统和软件系统
2.若用八位二进制表示一个整数,则-4在计算机中的表示是( )
A.11111100
B.11111011
C.10000100
D.00000100
点击进入:自考有疑问、不知道如何选择主考院校及专业、不清楚自考当地政策,点击立即了解》》
3.下列转义字符中,表示回车的是( )
A.
B.
C.
D.f
4.若定义double d;则d在内存中分配的字节数是( )
A.1个
B.2个
C.4个
D.8个
5.下列表达式中运算结果为3的表达式是( )
A.(-7)%4
B.7/4+2
C.7/4*4-4
D.8/3+8/3
6.设有int a=3,b=-4,c=5;表达式a++-c+b++的值是( )
A.-6
B.-5
C.-4
D.-3
7.在printf语句中,格式说明符u表示( )
A.以十进制带符号形式输出整数
B.以十六进制带符号形式输出整数
C.以十进制无符号形式输出整数
D.以十六进制无符号形式输出整数
8.若有int a=3,b=4,c=5,d=6,x=4;执行下列程序段后x的值是( )if(a﹤b){if(c= =d)x=c;}elsex=d++
A.4
B.5
C.6
D.7
9.关于switch中的表达式,正确的说法是( )
A.它必须是算术表达式
B.它必须是关系表达式
C.它必须是逻辑表达式
D.它可以是任意类型的表达式
10.对do语句while(表达式);结构的循环,下列说法正确的是( )
A.当表达式的值为非零时不执行循环体
B.循环体至少被执行一次
C.当表达式的值为零时循环体一次也不执行
D.循环体仅被执行一次
11.只能在循环语句中用于结束本轮循环的语句是( )
A.break;
B.continue;
C.goto
D.if
12.若有定义int a[4]={1,2,3,4};则a[(a[1]*a[3]+a[0])/3-1)]的值是( )
A.1
B.2
C.3
D.4
13.若有定义int a[3][5];则数组a在内存中分配的字节数是( )
A.8
B.15
C.24
D.30
14.已知strl和str2是字符串数组,下列哪一个函数能正确的完成字符串的输入?( )
A.gets(strl)
B.gets(strl,str2)
C.getchar(strl)
D.getchar(strl,str2)
15.下列关于函数的描述中正确的是( )
A.C程序中有调用关系的所有模块必须放在同一个源文件中
B.函数必须有返回值,否则不能使用函数
C.C程序必须由一个或一个以上函数构成
D.C函数既可以嵌套定义又可以嵌套调用
16.设有下列程序,则( )int d=10;main(){int a=3;printf(“%d,%d ,a,d);}
A.a是全局变量,d是全局变量
B.a是局部变量,d是全局变量
C.a是全局变量,d是局部变量
D.a是局部变量,d是局部变量
17.若有说明:int*p1,*p2,m=5,n;以下进行赋值的语句中合理的是( )
A.p1=m;
B.&p2=n;
C.pl=&m;p2=p1;
D.*p1=&m;
18.下列为指针数组定义的是( )
A.float(*)[6];
B.float p[6];
C.float(*)();
D.float *p[6];
19.设有说明:FILE*fp;对于fp=fopen(″c:\abc.dat″, ″rb″);语句,下列说法中不正确的是( )
A.fp将指向abc.dat文件
B.以只读方式打开二进制文件
C.打开文件的文件名是abc.dat
D.以读写方式打开ASCII码文件
20.ASCII码文件的结束可以用符号常量EOF表示。EOF的值是( )
A.0
B.1
C.-1
D.不能确定的值
(本大题共5小题.每小题2分.共10分)在每小题列出的五个备选项中有二至五个是符合题目要求的.请将其代码填写在题后的括号内。错选、多选、少选或未选均无分。
11.下列数据数值相等的有( )
A.(11111111)2
B.(377)8
C.(255)10
D.(FF)16
E.(256)10
12.以下if语句中没有语法错误的有( )
A.if(x﹥0)printf(″%f″,x);else printf(″%f″,x);
B.if(x﹥0){x=x+y;printf(″%f″,x)}else printf(″%f″,x)
C.if(x﹥0){x=x+y;printf(″%f″,x);}else printf(″%f″,x);
D.if(x﹥0)x=x+y;printf(″%f″,x);else printf(″%f″,x)
E.if x﹥y x++;else x--;
13.设有程序如下: main(){ int i,j,a[]={1,3,5,7,9,11,13,15};i=5;switch(i){ default;printf(″%d ″,a[i]);case 1:printf(″%d ″,a[3]);case 2:printf(″%d ″,a[++i]);break;case 3:printf(″%d ″,a[--i]);}}上述程序的输出结果不包括( )
A.5
B.7
C.9
D.11
E.13
14.设有定义及赋值:( )int a[10]={0,1,2,3,4,5,6,7,8,9},*p;p=a;则引用a中值为5的元素的正确形式是
A.a[5]
B.a[4]
C.*(a+5)
D.p[5]
E.*(p+5)
15.设有说明:int u=1,v=3,w=7;下列表达式的值为7的有( )
A.u&v|w
B.u|v|w
C.u^v|w
D.w&v|u
E.u^w|v
(本大题共4小题。每小题4分。共16分)
21.C语言中整型常量有几种形式,它们是如何表示的?
22.写出语句if(表达式)语句1 else语句2的执行过程。
23.若定义char *str;然后用gets(str);输入字符串可以吗?为什么?
24.单个字符的读函数fgetc(fp),其中fp表示什么?该函数的功能是什么?
(本大题共6小题,每小题5分,共30分)
31.阅读下面程序并写出运行结果。main(){int a=47,x,y,z,w;x=a/2;y=a%2;z=a++;w=++a;printf(″%d,%d,%d,%d″,x,y,z,w);}
32.阅读分析下面程序,请说明程序的功能;然后写出当键盘输入14时,程序的运行结果。main(){int x;scanf(″%d″,&x);if(x%5= =0 & & x%7= =0)printf(″yes″);elseprintf(″no″);}
33.阅读下面程序并写出运行结果。main(){static int a[]={5,3,7,2,1,5,4,10};int s=0,k;for(k=0;k﹤8;k+ =3){s+ =a[k];printf(″a[%d] =%d,s=%d ″,k,a[k],s);}}
34.阅读下面程序并写出运行结果。check(int n,int k){int m;do{m=n%10;n=n/10;}while(k- -);return(m);}main(){int j,y=2345;for(j=1;j﹤4;j++)printf(″j=%d,number is %d ″,j,check(y,j));}
35.阅读分析下面程序并写出运行结果。main(){char *a[]={″Pascal″,″C Language″,″dBase″,″Cobol″};int j;for(j=3;j﹥=0;j- -)printf(″%s ″,a[j]);}
36.阅读下面程序并说明语句:x=p-﹥d[0]﹥p-﹥d[1]?p-﹥d[0]:p-﹥d[1];的含义,然后写出程序的运行结果。struct number{int d[2];} n={12,8},*p=&n;main(){int x;x=p-﹥d[0]﹥p-﹥d[1]?p-﹥d[0]:p—>d[1];printf(″%d″,x);}
(本大题共2小题.每小题12分.共24分)
41.从键盘上输入一个正整数n(n≤10),求n的阶乘并输出结果。
42.由键盘输入n*m个数,并把它们存放在一个n行m列的数组中(n、m均不超过20)。(1)按n行m列输出该二维数组;(2)求出该二维数组全部元素的平均值;(3)把该二维数组中大于平均值的元素的值、以及它们行列下标打印出来。
热门推荐:
推荐阅读: