C语言上机模拟题1.docx
《C语言上机模拟题1.docx》由会员分享,可在线阅读,更多相关《C语言上机模拟题1.docx(19页珍藏版)》请在冰豆网上搜索。
C语言上机模拟题1
1.按照计算机应用领域分类,学校使用的成绩管理系统属于_______。
A.实时控制
B.计算机辅助设计
C.数据处理
D.科学计算
参考答案:
C
2.下面关于计算机系统的叙述中,完整的计算机系统通常是指______。
A.计算机的硬件系统
B.计算机上配置的操作系统
C.计算机的软件系统
D.由硬件系统和软件系统组成
参考答案:
D
3.微型计算机的微处理芯片上集成的主要组件包括______。
A.控制器和运算器
B.内存和控制器
C.控制器和存储器
D.运算器和I/O接口
参考答案:
A
4.Windows的对话框窗口不可以______。
A.关闭
B.移动
C.任意改变大小
D.最小化
参考答案:
C
5.某用户在域名为的邮件服务器上申请了一个账号,账号名为xing,那么该用户的电子邮件地址为______。
A.@xing
B.%xing
C.xing%
D.xing@
参考答案:
D
6.下列对C语言程序的描述中,正确的是_______。
A.C语言程序总是从第一个定义的函数开始执行
B.C语言程序总是从最后一个定义的函数开始执行
C.C语言程序总是从main()函数开始执行
D.C语言程序中的main()函数必须放在程序的开始部分
参考答案:
C
7.设有charch='\\';,则变量ch包含______个字符。
A.1
B.2
C.3
D.4
参考答案:
A
8.以下选项中合法的字符常量是____________。
A.'\101'
B.'\97'
C.'\xyz'
D.'\019'
参考答案:
A
9.下面用户标识符中合法的是____________。
A.iPhone#
B.13a
C.char
D._int
参考答案:
D
10.已知intc1=5,c2=2,c3;,则执行c3=c1/c2后,c3的值是_______。
A.5
B.2.5
C.3
D.2
参考答案:
D
11.设有定义intb=0;,表达式_______与其它表达式的值不相同。
A.b+=1
B.b++
C.++b
D.b+1
参考答案:
B
12.执行语句inta=8;a+=a-=a*a;后,变量a的值是______。
A.-240
B.64
C.112
D.-112
参考答案:
D
13.若a、i和j都是int型变量,则执行语句a=(i=4,j=16);后a的值为_______。
A.4
B.16
C.20
D.12
参考答案:
B
14.已知intx=10;floaty=20;doublez=30;,则表达式(int)(x+y)-z的数据类型是______。
A.int
B.float
C.double
D.无法确定
参考答案:
C
15.下列运算符中优先级最高的是_______。
A.<
B.+
C.&&
D.||
参考答案:
B
16.C语言中基本数据类型包括_______。
A.整型、实型、逻辑型
B.整型、字符型、逻辑型
C.整型、实型、字符型
D.字符型、实型、逻辑型
参考答案:
C
17.已知inta,b,c;,若有scanf("a=%d,b=%d,c=%d",&a,&b,&c);,为使变量a的值为1,b的值为2,c的值为3,从键盘输入数据的正确形式是_______。
A.123
B.1,2,3
C.a=1b=2c=3
D.a=1,b=2,c=3
参考答案:
D
18.下列程序的输出结果是______。
#include
intx=3,y=5;
voidmain()
{
intx=0;
x=x+y;
printf("%d",x);
}
A.3
B.4
C.5
D.8
参考答案:
C
19.有定义intx=1,y=2,z=3;,执行下列程序段后,输出的结果是_______。
if(x>y)z=x;x=y;y=z;
printf("%d,%d,%d",x,y,z);
A.1,2,3
B.2,3,3
C.2,3,1
D.2,3,2
参考答案:
B
20.执行以下程序段后,则输出的结果是______。
inta=1;
switch(a)
{
case1:
printf("你好");
case2:
printf("再见");break;
default:
printf("晚安");
}
A.你好
B.再见
C.晚安
D.你好再见
参考答案:
D
21.在C语言中,用_______表示逻辑真。
A.1
B.非0的数
C.非1的数
D.0
参考答案:
A
22.若i为整型变量,则下列循环体执行次数是_______。
for(i=2;i==0;)printf("%d\n",i--);
A.2次
B.1次
C.0次
D.无限次
参考答案:
C
23.while(leap)和下列_______等价。
A.while(leap!
=0)
B.while(5)
C.while(leap==0)
D.while(0)
参考答案:
A
24.下列程序段中循环体语句_______。
inty=15;
printf("%d",--y);
do
{
printf("%d",--y);
}while(!
y);
A.一次也不执行
B.执行一次
C.有语法错误
D.执行无限次
参考答案:
B
25.在C语言中,表示结束本层循环的语句是_______。
A.extern语句
B.break语句
C.continue语句
D.end语句
参考答案:
B
26.下列数组定义及初始化中,正确的是_______。
A.inta[]="string";
B.inta[5]={0,1,2,3,4,5};
C.chara="string";
D.inta[]={0,1,2,3,4,5};
参考答案:
D
27.若有inta[]={1,2,3,4,5,6,7};charc1='b',c2='2';,则下列表达式值不等于2的是______。
A.a[1]
B.'d'-c1
C.a['3'-c2]
D.c2-0
参考答案:
D
28.已知inta[3][2]={1,2,3,4,5,6};,则a[1][1]的值是_______。
A.4
B.5
C.3
D.2
29.若有定义inta[3][4];,则对数组元素引用正确是_______。
A.a[1][4]
B.a[1,3]
C.a
(2)
(1)
D.a[2][0]
参考答案:
D参考答案:
A
30.下列程序段的运行结果是_______。
charc[5]={'a','b','\0','c','\0'};
printf("%s",c);
A.'a''b'
B.ab
C.abc
D.ab\0c\0
参考答案:
B
31.如果在程序中需要用到strcpy、strcat等库函数时,需要用#include包含_______头文件。
A.math.h
B.string.h
C.ctype.h
D.stdio.h
参考答案:
B
32._______是正确的函数声明语句。
A.floatfunc(inta,intb);
B.floatfunc(inta,b);
C.doublefunc(a,intb);
D.doublefunc(a,b);
参考答案:
A
33.C程序函数中的局部变量是指______。
A.函数外部定义的变量
B.函数体内定义的变量
C.函数之间定义的变量
D.函数之间定义的static类型变量
参考答案:
B
34.若用数组名作为函数调用的实参,传递给形参的是_______。
A.数组元素的个数
B.数组第一个元素的值
C.数组全部元素的值
D.数组的首地址
参考答案:
D
35.下列语句中,定义指针变量p的正确语句是_______。
A.intx,p=&x;
B.intx,*p=x;
C.intx,*p=&x;
D.intx,*p=*x;
参考答案:
C
36.若有定义语句inta[5]={0,1,2,3,4},*p=a;,则不是对a数组元素的正确引用是____________。
A.a[p-a]
B.*(&a[2])
C.*p
D.*(*(a+2))
参考答案:
D
37.若有intx[10],*p=x;,则*(p+5)表示______。
A.数组元素x[5]的地址
B.数组元素x[5]的值
C.数组元素x[6]的地址
D.数组元素x[6]的值
参考答案:
B
38.设有预处理命令#defined2和定义inta=10;longb=20;charc='a';,则下列语句中错误的是_______。
A.a++;
B.b++;
C.c++;
D.d++;
参考答案:
D
39.设有定义语句:
structstu
{
intx;
floaty;
}stutype;则下列的叙述不正确的是_______。
A.struct是定义结构体类型的关键字
B.structstu是用户定义的结构体类型
C.x和y都是结构体成员
D.stutype是用户定义的结构体类型名
参考答案:
D
40.以读写方式打开一个已有的二进制文件cct.bin,以下选项中正确的是______。
A.FILE*fp;fp=fopen("cct.bin","r");
B.FILE*fp;fp=fopen("cct.bin","w");
C.FILE*fp;fp=fopen("cct.bin","rb");
D.FILE*fp;fp=fopen("cct.bin","rb+");
参考答案:
D
题目:
在屏幕上输出以下图形(字符之间没有空格)。
#include
voidmain()
{
inti,j;
charch;
for(i=0;i<5;i++)
{
j=0;
while(j<=5)/*$ERROR$*/
{
ch='A'+(i+j)%5;
printf("%d",ch);/*$ERROR$*/
j++;
}
printf("/n");/*$ERROR$*/
}
}
参考答案:
$1$:
j<5
$2$:
printf("%c",ch);
$3$:
printf("\n");
题目:
给定程序中规定输入的字符串全部为字母,fun函数的功能是:
统计字符串中每个字母出现的次数(不区分大小写),并输出次数最多的字母(如果有多个相同,输出一个即可)。
示例:
输入字符串:
dadbcdbabdb,对应的输出应为:
b或d。
#include
#include
voidfun(chara[])
{
intb[26],i,n,max;/*数组b用于统计26个字母个数*/
for(i=0;i<26;i++)
a[i]=0;/*$ERROR$*/
n=strlen(a);
for(i=0;iif(a[i]>='a'&&a[i]<='z')
b[a[i]-'A']++;/*$ERROR$*/
elseif(a[i]>='A'&&a[i]<='Z')
b[a[i]-'A']++;
max=0;
for(i=1;i<26;i++)
if(b[max]>b[i])/*$ERROR$*/
max=i;
printf("出现次数最多的字符是:
%c\n",max+'a');
}
voidmain()
{
chara[200];
printf("请输入一个待统计的字符串:
");
scanf("%s",a);
fun(a);
}
参考答案:
1|3:
b[i]=0;
2|3:
b[a[i]-'a']++;
3|3:
if(b[max]
题目:
求满足下列条件的三位数之和。
条件如下:
(1)各位数字只能从5、6、7、8中选;
(2)各位数字互不相同。
输出格式:
s=12345
参考程序一:
#include
voidPRINT(longs)
{
FILE*out;
printf("s=%d\n",s);
if((out=fopen("result.dat","w+"))!
=NULL)
fprintf(out,"s=%ld",s);
fclose(out);
}
voidmain()
{
/*考生在此设计程序*/
longs=0;
inta,b,c;
for(a=5;a<=8;a++)
for(b=5;b<=8;b++)
for(c=5;c<=8;c++)
if(a!
=b&&a!
=c&&c!
=b)s+=100*a+10*b+c;
PRINT(s);
}
参考程序二:
#include
voidPRINT(longs)
{
FILE*out;
printf("s=%d\n",s);
if((out=fopen("result.dat","w+"))!
=NULL)
fprintf(out,"s=%ld",s);
fclose(out);
}
voidmain()
{
/*考生在此设计程序*/
longs=0;
inti,j,gw,sw,bw,v[6]={1,2,3,4,9,0};
for(i=567;i<=876;i++)
{
gw=i%10;
sw=i/10%10;
bw=i/100;
if(gw!
=sw&&gw!
=bw&&sw!
=bw)
{
for(j=0;j<6;j++)
if(gw==v[j]||sw==v[j]||bw==v[j])break;
if(j>=6)s=s+i;
}
}
PRINT(s);
}
参考程序三:
#include
voidPRINT(longs)
{
FILE*out;
printf("s=%d\n",s);
if((out=fopen("result.dat","w+"))!
=NULL)
fprintf(out,"s=%ld",s);
fclose(out);
}
voidmain()
{
/*考生在此设计程序*/
longs=0;
inti,v[4]={5,6,7,8};
for(i=0;i<4;i++)
s=s+v[i]*111*6;
PRINT(s);
}
参考程序四:
#include
voidPRINT(longs)
{
FILE*out;
printf("s=%d\n",s);
if((out=fopen("result.dat","w+"))!
=NULL)
{
fprintf(out,"s=%ld",s);
fclose(out);
}
}
voidmain()
{
/*考生在此设计程序*/
#defineN3
longs=0,t,v;
inti,len=0;
charc[]="5678";
while(c[len]!
='\0')len++;
for(i=0,v=0;iv=v*10+1;
for(t=1,i=1;it=t*i;
for(i=0;is=s+(c[i]-'0')*v*t;
PRINT(s);
}
题目:
已知整型数组a存储了50个数。
查找个位数小于6的元素并求和输出。
例如:
3421。
输出结果的形式为:
s=123456
参考程序:
#include
voidPRINT(longs)
{
FILE*out;
printf("s=%ld\n",s);
if((out=fopen("result.dat","w+"))!
=NULL)
{
fprintf(out,"s=%ld",s);
fclose(out);
}
}
voidmain()
{
inta[50]={3421,3834,3124,3349,2842,2384,3459,2338,2348,7234,6482,4823,4829,5234,8449,2042,7383,2438,4592,8343,8342,7234,9432,8432,
8842,8812,4324,7724,7345,9134,7442,7524,6732,7752,7692,1384,2343,8249,7235,7731,7525,6259,2385,7525,6323,7525,7534,8535,7563,7534};
/*考生在此设计程序*/
inti;
longsum=0;
for(i=0;i<50;i++)
if(a[i]%10<6)
sum=sum+a[i];
PRINT(sum);
}