c语言选择题.docx
《c语言选择题.docx》由会员分享,可在线阅读,更多相关《c语言选择题.docx(35页珍藏版)》请在冰豆网上搜索。
![c语言选择题.docx](https://file1.bdocx.com/fileroot1/2023-7/12/75e0e4cb-9faf-4b55-90fe-d68138c79268/75e0e4cb-9faf-4b55-90fe-d68138c792681.gif)
c语言选择题
单项选择
==================================================
题号:
411
结构化程序设计的3种结构是().
A、顺序结构,选择结构,循环结构
B、分支结构,跳转结构,循环结构
C、顺序结构,分支结构,跳转结构
D、分支结构,选择结构,循环结构
答案:
A
题号:
412
任何一个C语言的可执行程序都是从()开始执行的.
A、main()函数的入口处
B、程序中的第一条语句
C、程序中的第一个函数
D、编译预处理语句
答案:
A
有如下程序:
main()
{intx=1,a=0,b=0;
switch(x)
{case0:
b++;
case1:
a++;
case2:
a++;b++;}
printf("a=%d,b=%d\n",a,b);
}
该程序的输出结果是
A、a=1,b=1
B、a=2,b=2
C、a=2,b=1
D、a=1,b=0
答案:
C
题号:
2395
若有定义:
doublea=22;inti=0,k=18;,则不符合C语言规定的赋值语句是
A、i=(a+k)<=(i+k);
B、i=a%11;
C、a=a++,i++
D、i=!
a;
答案:
B
题号:
417
在一个C程序中,().
A、main()函数必须出现在所有函数之前
B、main()函数必须出现在所有函数之后
C、main()函数可以在任何地方出现
D、main()函数必须出现在固定位置
答案:
C
题号:
425
以下合法的C语言赋值语句的是()
A、x=y==58
B、x++;
C、k=int(x+y);
D、x=58,y=58
答案:
B
题号:
920
当把4个表达式用作if语句的控制表达式时,有一个选项与其他3个选项含义不同,这个选项是().
A、!
k%2==1
B、(k%2)!
=0
C、k%2==1
D、k%2
答案:
D
题号:
1412
根据下面的输出结果,正确的输出语句是:
();
x=2.23000,y=4.35000
A、printf("x=%7.2f,y=%7.2f",x,y);
B、printf("x=%f,y=%f\n",x,y);
C、printf("x=%7.2f,y=%7.2f",&x,&y);
D、printf("x=%7.5f,y=%7.5f\n",x,y);
答案:
D
题号:
723
以下不合法的字符常量是().
A、\xcc
B、\"
C、\018
D、\\
答案:
C
题号:
1953
下面的程序中是有错误的地方.每行程序前面的数字是行号.
1#include
2main()
3{
4floata[3]={0.0};
5inti;
6fori=0;i<3;i++scanf("%d",a[i]);
7for(i=1;i<3;i++a[0]=a[0]+a[i];
8printf("%f\n",a[0]);
9}
A、第8行
B、第6行
C、没有错误的语句
D、第7行
答案:
B
题号:
574
构成C语言程序的基本单位是().
A、过程
B、函数
C、子例程
D、子程序
答案:
B
题号:
2115
若语句"t=fun(fun(x,y,a),(a+b,a+c),x+y+z);"对fun函数的调用正确,则fun函数的形参个数为().
A、3
B、4
C、5
D、6
答案:
A
题号:
2556
若有以下定义(设int类型变量占2个字节)
inti=8,j=9;
则以下语句:
printf("i=%%d,j=%%%d\n",i,j);
输出的结果是().
A、i=8,j=9
B、i=%d,j=%d
C、i=%d,j=%8
D、8,9
答案:
C
题号:
1983
下列字符数组初始化语句中不正确的是().
A、charc[4]={'a','b','c','d'};
B、charc[]='goodmorning';
C、charc[12]={"goodmorning"};
D、charc[20]="goodmorning";
答案:
B
题号:
2420
若a是float型变量,b是unsigned型变量,以下输入语句中,合法的是().
A、scanf("%6.2f%d",&a,&b);
B、scanf("%f%3o",&a,&b);
C、scanf("%f%n",&a,&b);
D、scanf("%f%f",&a,&b);
答案:
B
题号:
2225
以下程序执行后的输出结果是().
intfun(intx,inty)
{staticintm=0,i=2;
i+=m+1;m=i+x+y;
returnm;}
main()
{intj=1,m=1,k;
k=fun(j,m);
printf("%d,",k);5
k=fun(j,m);
printf("%d\n",k);}11
A、5,11
B、11,5
C、11,11
D、5,5
答案:
A
题号:
1927
有以下程序:
main()
{inta[][3]={{1,2,3},{4,5,0}},*pa[3],i;
pa=a;
for(i=0;i<3;i++)
{if(i<2)pa[1][i]=pa[1][i]-1;
elsepa[1][i]=1;
}
printf("%d\n",a[0][1]+a[1][1]+a[1][2]);
}
执行后输出结果是().
A、9
B、7
C、0
D、8
答案:
B
题号:
713
按照C语言规定的用户标识符命名规则,不能出现在标识符中的是().
A、下划线
B、连接符
C、数字字符
D、大写字母
答案:
B
题号:
2083
假定有以下变量定义:
intk=7,x=12;
则能使值为3的表达式是:
()
A、x%=(k%=5)
B、x%=k-k%5
C、x%=(k-k%5)
D、(x%=k)-(k%=5)
答案:
D
题号:
2021
若想将一个字符数组a的内容存入另一个字符数组b中,下列正确的是().:
A、strcat(b,a);
B、strcpy(b,a);
C、b=a;
D、strcpy(a,b);
答案:
B
判断题
==================================================
题号:
2549
C语言规定变量只能在main函数的开始部分定义.
答案:
错误
题号:
2921
语句scanf("%f",&a);是一个合法的scanf函数.
答案:
正确
题号:
1005
设x=1,y=2,z=3,则逻辑表达式x-y>z&&y!
=z的值为0.
答案:
正确
题号:
2742
gets函数是用来输入一个字符的函数.
答案:
错误
题号:
1883
若有定义staticinta[5];则有a[0]=0,a[5]=0;
答案:
错误
题号:
2441
语句intmax(intx,intmax(inty,intz));是正确的函数声明语句.
答案:
错误
题号:
2693
函数说明中的形参名可以和函数定义中的形参名不一样.
答案:
正确
题号:
2277
若有定义:
inta=15,b=240;则表达式((a&b)&b||b)的结果为1.
答案:
正确
题号:
763
若有定义:
inti=3,j;执行j=i++;后,i,j的值都为4.
答案:
错误
题号:
1352
若定义:
inta=0,b=0;则执行表达式(++a>0||++b>0)后,a的值为1,b的值为0,表达式的值为1.
答案:
正确
填空题
==================================================
题号:
1878
已知inta[10]={11,2,31,4,5,6,7,8,9,10};最大的元素的下标值是_____.
答案:
2
题号:
2824
设x和y均为int型变量,且x=1,y=2,则表达式1.0+x/y的值为_____.
答案:
1.0
题号:
507
C语言语句的结束标志是_____。
答案:
分号【或】;【或】;
题号:
1831
若有定义inta[3][4]={1,2,3,4,5,6,7,8,9};,则a[1][3]=_____,a[2][3]=_____。
答案:
空1:
8
空2:
0
题号:
640
一个C程序总是从_____开始执行。
答案:
主函数main()【或】主函数【或】main函数【或】main()
题号:
2844
请写出与表达式!
(x>0)等价的表达式是_____。
答案:
空1:
x<=0【或】0>=x
题号:
2346
C语言中,格式输入操作是由库函数_____完成的,格式输出操作是由库函数_____完成的.
答案:
空1:
scanf
空2:
printf
题号:
1003
intx=4,y=4,z=2;
x=((x==y)==z);则x的值为_____.
答案:
空1:
0
题号:
2539
如果函数不要求带回值,可用_____来定义函数返回值为空.
答案:
空1:
void
题号:
1855
已知char[]={"student"};数组s中字符串strlen长度是_____.sizeof(8)
答案:
空1:
7
程序设计
==================================================
题号:
4591
/*------------------------------------------------
【程序设计】
--------------------------------------------------
题目:
求1到w之间的奇数之和。
(w是大于等于100小于等
于1000的整数)
*********Begin**********和**********End**********不可删除
------------------------------------------------*/
#include
#include"conio.h"
voidbky();
longfun(intw)
{
/**********Begin**********/
/**********End**********/
}
main()
{
intm;
printf("Enterm:
");
scanf("%d",&m);
printf("\nTheresultis%ld\n",fun(m));
bky();
}
voidbky()
{
FILE*IN,*OUT;
intc;
intt;
longo;
IN=fopen("in.dat","r");
if(IN==NULL)
{
printf("ReadFILEError");
}
OUT=fopen("out.dat","w");
if(OUT==NULL)
{
printf("WriteFILEError");
}
for(c=1;c<=5;c++)
{
fscanf(IN,"%d",&t);
o=fun(t);
fprintf(OUT,"%ld\n",o);
}
fclose(IN);
fclose(OUT);
}
示例代码:
longy=0;
inti;
for(i=1;i<=w;i++)
if(i%2==1)y+=i;
returny;
题号:
4551
/*------------------------------------------------
【程序设计】
--------------------------------------------------
题目:
对任意输入的x,用下式计算并输出y的值。
5x<10
y=0x=10
-5x>10
注意:
部分源程序给出如下。
请勿改动主函数main和其
它函数中的任何内容,仅在函数fun的花括号中填
入所编写的若干语句。
*********Begin**********和**********End**********不可删除
------------------------------------------------*/
#include
voidVV();
intfun(intn)
{
/**********Begin**********/
/**********End***********/
}
voidmain()
{
intx,y;
printf("enterx:
");
scanf("%d",&x);
y=fun(x);
printf("x=%d,y=%d\n",x,y);
VV();
}
voidVV()
{
FILE*IN,*OUT;
inti;
intiIN;
longintiOUT;
IN=fopen("in.dat","r");
if(IN==NULL)
{
printf("PleaseVerifyTheCurrerntDir..itMayBeChanged");
}
OUT=fopen("out.dat","w");
if(OUT==NULL)
{
printf("PleaseVerifyTheCurrentDir..itMayBeChanged");
}
for(i=0;i<5;i++)
{
fscanf(IN,"%d",&iIN);
iOUT=fun(iIN);
fprintf(OUT,"%ld\n",iOUT);
}
fclose(IN);
fclose(OUT);
}
示例代码:
intm;
if(n<10)
m=5;
else
if(n==10)m=0;
elsem=-5;
returnm;
题号:
4756
/*------------------------------------------------
【程序设计】
--------------------------------------------------
题目:
把20个随机数存入一个数组,然后输出该数组中的
最大值。
--------------------------------------------------
注意:
部分源程序给出如下。
请勿改动主函数
main和其它函数中的任何内容,仅在函
数的花括号中填入所编写的若干语句。
*********Begin**********和**********End**********不可删除
------------------------------------------------*/
#include
#include
voidTestFunc();
intvector[20];
intfun(intlist[],intsize)
{
/*********Begin**********/
/**********End**********/
}
main()
{
inti;
for(i=0;i<20;i++)
{
vector[i]=rand()%50;
printf("Vector[%d]=%6d\n",i,vector[i]);
}
i=fun(vector,20);
printf("\nMaxnum:
Vector[%d]=%6d\n",i,vector[i]);
TestFunc();
}
voidTestFunc()
{
inti,t;
FILE*fp;
fp=fopen("out.dat","w");
for(i=0;i<20;i++)
{
fprintf(fp,"Vector[%d]=%d\n",i,vector[i]);
}
t=fun(vector,20);
fprintf(fp,"\nMaxnum:
Vector[%d]=%d\n",t,vector[t]);
fclose(fp);
}
示例代码:
inti,max=0;
for(i=1;iif(list[max]max=i;
returnmax;
题号:
5195
/*------------------------------------------------
【程序设计】
--------------------------------------------------
题目:
编写函数求1~100中奇数的平方和。
结果为166650.000000。
注意:
部分源程序给出如下。
请勿改动主函数main和其
它函数中的任何内容,仅在函数sum的花括号中填
入所编写的若干语句。
*********Begin**********和**********End**********不可删除
------------------------------------------------*/
#include
voidbky();
floatsum(intn)
{
/**********Begin**********/
/**********End**********/
}
main()
{
printf("sum=%f\n",sum(100));
bky();
}
voidbky()
{
FILE*IN,*OUT;
inti;
floato;
IN=fopen("in.dat","r");
if(IN==NULL)
{
printf("ReadFILEError");
}
OUT=fopen("out.dat","w");
if(OUT==NULL)
{
printf("WriteFILEError");
}
for(j=0;j<5;j++)
{
fscanf(IN,"%d",&i);
o=sum(i);
fprintf(OUT,"%f\n",o);
}
fclose(IN);
fclose(OUT);
}
示例代码:
floats=0;
inti;
for(i=1;i<=n;i=i+2)
s=s+i*i;
return(s);
题号:
5335
/*------------------------------------------------
【程序设计】
--------------------------------------------------
题目:
用while语句求1~100的累计和。
注意:
部分源程序给出如下。
请勿改动主函数main和其
它函数中的任何内容,仅在函数fun的花括号中填
入所编写的若干语句。
*********Begin**********和**********End**********不可删除
------------------------------------------------*/
voidbky();
intfun(intn)
{
/**********Begin**********/
/**********End**********/
}
voidmain()
{
intsum=0;
sum=fun(100);
printf("sum=%d\n",sum);
bky();
}
voidbky()
{
FILE*IN,*OUT;
inti;
intiIN,iOUT;
IN=fopen("in.dat","r");
if(IN==NULL)
{
printf("PleaseVerifyTheCurrerntDir..itMayBeChanged");
}
OUT=fopen("out.dat","w");
if(OUT==NULL)
{
printf("PleaseVerifyTheCurrentDir..itMayBeChanged");
}
for(i=0;i<5;i++)
{
fscanf(IN,"%d",&iIN);
iOUT=fun(iIN);
fprintf(OUT,"%d\n",iOUT);
}
fclose(IN);
fclose(OUT);
}
示例代码:
inti=1,sum=0;
while(i<=n)
{
sum=sum+i;
i++;
}
returnsum;
题号:
5555
/*------------------------------------------------
【程序设计】
--------------------------------------------------
题目:
计算一维数组中n个元素的平均值。
具体要求如下:
(1)函数。
doublefun(inta[],intn):
计算一维数组a中前n个元素的平均值。
(2)在主程序进行测试。
在主函数中定义一个数组
inta[10]:
存储数组值,其初值为{23,34,21,45,67,75,13,68,90,88}。
调用fun函数,求出数组a中前6个元素的平均值,结果保留两位小数。
*********Begin**********和**********End**********不可删除
*/
#include
doublefun(inta[],intn)
{
/**********