C语言上机题库1
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、选择题
1.下列变量说明语句中,正确的是()。
A、char a;b;c;
B、char:a b c;
C、int x;z;
D、int x,z;
2.设以下变量均为int类型,则值不等于7的表达式是()。
A、(x=6,x+1,y=6,x+y)
B、(x=y=6,x+y,y+1)
C、(y=6,y+1,x=y,x+1)
D、(x=y=6,x+y,x+1)
3.x,y,z,t均为整型变量,则执行以下语句后,t的值为:()
x=y=z=1;
t=++x||++y&&++z;
A、0
B、1
C、2
D、不定值
4.如果int a=2,b=3,c=0,下列描述正确的是()。
A、a&&b>c的结果为假
B、!a!=(b!=c)表达式的值为1
C、a||(b=c)执行后b的值为0
D、a>b!=c和a>(b!=c)的执行顺序是一样的
5.从键盘输入的整数中找出最小值min,输入0时结束.请在A处填写正确语句()。#include "stdio.h"
main()
{ int min=0,a;
do{
scanf("%d",&a);
if(min>a) min=a;
}while(___A___);
printf("%d",min);
}
A、a=0
B、a==0
C、a>0&&a<0
D、a!=0
6.设有如下程序段:
int k=10;
while(k==0)
k--;
则下述说明中正确的是().
A、循环体一次也不执行
B、循环体执行一次
C、死循环
D、循环体执行10次
7.static char str[10]="China";数组元素个数为()。
A、6
B、9
C、5
D、10
8.函数调用:strcat(strcpy(str1,str2),str3)的功能是()。
A、将串str1复制到串str2中后再连接到串str3之后
B、将串str2连接到串str1之后再将串str1复制到串str3中
C、将串str1连接到串str2之后再复制到串str3之后
D、将串str2复制到串str1中后再将串str3连接到串str1之后
9.C语言程序中必须有的函数是()。
A、#include "stdio.h"
B、main
C、printf
D、scanf
10.程序运行结束后,屏幕上输出值为().
static int x=10;
main( )
{ int x=3;
f( );
x- -;
printf("%d",x);
}
f( )
{ x++;
}
A、10
B、2
C、11
D、3
11.file1.c中有命令,#include
A、a在file1.c中应用extern说明.
B、a在file1.c中有效,不必用extern说明.
C、a在file1.c中不生效
D、a在file1.c和file2.c中均不生效.
12.若有说明:int n=2,*p=&n,*q=p;,则以下非法的赋值语句是()。
A、*p=*q;
B、n=*q;
C、p=n;
D、p=q;
13.以下程序的输出结果是().
main()
{char str[ ]="ABCD",*p=str;printf("%d\n",*(p+3));}
A、68
B、不确定的值
C、字符D的地址
D、0
14.使用共用体变量,不可以().
A、同时访问所有成员
B、进行动态管理
C、节省存储空间
D、简化程序设计
15.以下字符中不是转义字符的是()。
A、'\c'
B、'\b'
C、'\\'
D、'\a'
16.设a=12,且a定义为整型变量。执行语句a+=a-=a*=a;后a的值为()。
A、0
B、144
C、132
D、12
17.已定义float x=1.25,y=3.37;
根据下面的输出结果,正确的输出语句是().
y+x=4.62,y-x=2.12
A、printf("y+x=%6.2f,y-x=%6.2f\n",y+x,y-x);
B、printf("y+x=%f,y-x=%f\n",y+x,y-x);
C、printf("y+x=%.2f,y-x=%.2f\n",y+x,y-x);
D、printf("y+x=%5.2f,y=%5.2f\n",y+x,y-x);
18.执行下面程序段后,b的值为().
int s=35;
char t='A';
int b;
b=((s&&4)&&(t<'a'));
A、1
B、3
C、2
D、0
19.若k是整型,则以下程序段的执行结果是:()
k=-3;
if(k<=0) printf("####")
else printf("&&&&");
A、####
B、有语法错误,无结果
C、&&&&
D、####&&&&
20.设j和k都是int类型,则下面的for循环语句()。for(j=0,k=0;j<=9&&k!=876;j++) scanf("%d",&k);
A、最多执行9次
B、是无限循环
C、循环体一次也不执行
D、最多执行10次
21.以下正确的描述是().
A、只能在循环体内和switch语句内使用break语句
B、continue语句的作用是终止整个循环的执行
C、从多层嵌套的外层循环中退出时,只能使用goto语句
D、在循环体内使用break和continue语句的作用相同
22.以下能对一维数组a进行正确初始化的语句是()。
A、int a[10]={};
B、int a[]={0};
C、int a[10]={10*1};
D、int a[10]=(0,0,0,0,0)
23.以下正确的说法是().
A、函数的类型决定返回值的类型
B、定义函数时,形参的类型说明可以放在函数体内
C、return后面不能为表达式
D、如果形参与实参的类型不一致,以实参类型为准