程序设计基础期末样题.docx
- 文档编号:3487658
- 上传时间:2022-11-23
- 格式:DOCX
- 页数:20
- 大小:20.07KB
程序设计基础期末样题.docx
《程序设计基础期末样题.docx》由会员分享,可在线阅读,更多相关《程序设计基础期末样题.docx(20页珍藏版)》请在冰豆网上搜索。
程序设计基础期末样题
单项选择
==================================================
题号:
23095
任何一个C语言的可执行程序都是从()开始执行的.
A、main()函数的入口处
B、程序中的第一条语句
C、程序中的第一个函数
D、编译预处理语句
答案:
A
题号:
23285
C语言程序的三种基本结构是顺序结构,选择结构和()结构.
A、循环
B、转移
C、递归
D、嵌套
答案:
A
题号:
23286
C语言中,定义结构体的保留字是().
A、enum
B、union
C、struct
D、typedef
答案:
C
题号:
23333
程序流程图PFD中的"□"代表的是().
A、控制流
B、加工步骤
C、数据流
D、组成关系
答案:
B
题号:
23161
C语言中,下列叙述正确的是().
A、do-while语句构成的循环不可用
B、do-while语句构成的循环,没有break语句就是死循环
C、do-while语句构成的循环,当while语句中的表达式值为零时结束循环
D、do-while语句构成的循环,当while语句中的表达式值为非零时跳出循环
答案:
C
题号:
23405
以下不能正确进行字符串赋初值的语句是().
A、char*str="good!
";
B、charstr[5]={'g','o','o','d',0};
C、charstr[5]="good!
";---超界
D、charstr[]="good!
";
答案:
C
题号:
23400
下述错误的C语言常量是().
A、5.
B、.25
C、0xf
D、090
答案:
D
题号:
23577
以下对C语言中联合类型数据的正确叙述是().
A、定义了联合变量后,即可引用该变量或该变量中的任意成员
B、一个联合变量中可以同时存放其所有成员
C、在向联合中的一个成员进行赋值时,联合中其他成员的值不会改变
D、联合中的各个成员使用共同的存储区域
答案:
D
题号:
23584
如已定义x和y为double类型,则表达式x=1,y=x+5/2的值是().
A、3.0
B、3.5
C、2
D、3
答案:
A
题号:
23493
有以下程序:
#include
main()
{inta1,a2;charc1,c2;
scanf("%d%c%d%c",&a1,&c1,&a2,&c2);
printf("%d,%c,%d,%c",a1,c1,a2,c2);
}
若想通过键盘输入,使得a1的值为12,a2的值为34,c1的值为字符a,c2的值为字符b,程序输出结果是:
12,a,34,b,则正确的输入格式是以下代表空格,
A、12,a,34,b
B、12a34b
C、12a34]b
D、12a34b
答案:
D
题号:
24158
关于%-m.nf格式符,下列描述中,正确的是().
A、字符"-"表示在输出字符前面加上字符"-".
B、字符"-"表示输出字符靠左对齐.
C、字符"-"表示在输出字符最后加上字符"-".
D、字符"-"表示输出字符靠右对齐.
答案:
B
题号:
23674
下面程序的输出结果是().
main()
{inti=2,p;
p=f(i,i+1);
printf("%d",p);
}
intf(inta,intb)
{intc;
c=a;
if(a>b)c=1;
elseif(a==b)c=0;
elsec=-1;
returnc;
}
A、0
B、1
C、2
D、-1
答案:
D
题号:
23833
在数据库设计中,将E-R图转换成关系数据模型的过程属于().
A、物理设计阶段
B、需求分析阶段
C、逻辑设计阶段
D、概念设计阶段
答案:
C
题号:
23779
已有声明"intx=5,y;floatz=2;",则以下表达式语法正确的是().
A、x>0?
y=x:
y=-x
B、y=x/2=z
C、y=x=z/2
D、y=x%z
答案:
C
题号:
23735
关系表中的每一横行称为一个.
A、元组
B、字段
C、行
D、码
答案:
A
题号:
24289
若有inti=0;,则以下程序段中,while循环的循环次数是()
while(i<10)
{
if(i<1)continue;
if(i==5)break;
i++;
}
A、6
B、死循环,不能确定次数
C、1
D、4
答案:
B
题号:
24605
以下不是无限循环的语句为().
A、while
(1){x++;}
B、for(i=10;;i--)sum+=i;
C、for(y=0,x=1;x>++y;x=i++)i=x;
D、for(;;x++=i);
答案:
C
题号:
24655
下面程序的功能是将从键盘输入的一对数,由小到大排序输出.当输入一对相等数时结束循环.请选择.
#include
voidmain()
{inta,b,t;
scanf("%d%d",&a,&b);
while()
{if(a>b)
{t=a;a=b;b=t;}
printf("%d,%d\n",a,b);
scanf("%d%d",&a,&b);
}
}
A、!
a=b
B、a=b
C、a!
=b
D、a==b
答案:
C
题号:
24192
请阅读以下程序:
#include
main()
{intx=1,y=0,a=0,b=0;
switch(x)
{case1:
switch(y)
{case0:
a++;break;
case1:
b++;break;
}
case2:
a++;b++;break;
}
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
题号:
24329
有以下程序:
#include
inta=1;
intf(intc)
{staticinta=2;
c=c+1;
return(a++)+c;
}
main()
{inti,k=0;
for(i=0;i<2;i++){inta=3;k+=f(a);}
k+=a;
printf("%d\n",k);
}
程序的运行结果是().
A、15
B、14
C、程序不正确,无法编译
D、16
答案:
B
题号:
24750
设有数组定义:
chararray[]="China";,则数组array所占的空间为().
A、5个字节
B、4个字节
C、6个字节
D、7个字节
答案:
C
题号:
24979
有以下程序:
#include
#include
main(){chara[10]="abcd";
printf("%d,%d\n",strlena,sizeofa);
}
程序运行后的输出结果是().
A、8,8
B、10,10
C、7,4
D、4,10
答案:
D
题号:
24996
下面程序的输出结果是().
#include
#include
main()
{charp1[]="WHO",p2[]="who",str[50]="xyz";
strcpy(str+1,strcat(p1,p2));
printf("%s",str);}
A、zWHOwho
B、zWHOwho
C、xWHOwho
D、xyzWHOwho
答案:
C
题号:
24949
有以下程序:
#include
main()
{intaa[5][5]={{1,2,3,4},{5,6,1,8},{5,9,10,2},{1,2,5,6}};
inti,s=0;
for(i=0;i<4;i++)
s+=aa[i][2];
printf("%d",s);
}
程序运行后的输出结果是().
A、19
B、10
C、26
D、20
答案:
A
题号:
24888
语句printf"%d\n",strlen"msn\t\01\\\t";的输出结果有几个字符.
A、10
B、6
C、9
D、7
答案:
D
题号:
25059
有以下程序:
#include
main()
{chars[]="012xy\08s34f4w2";
inti,n=0;
for(i=0;s[i]!
=0;i++)
if(s[i]>='0'&&s[i]<='9')n++;
printf("%d\n",n);
}
程序运行后的输出结果是().
A、8
B、7
C、3
D、0
答案:
C
题号:
24935
以下能正确定义数组并正确赋初值的语句是().
A、intd[3][2]={{1,2},{34}};
B、intc[4][]={{1,2},{3,4}};
C、intb[1][3]={{1},{3}};
D、inta=1,b[a][a];
答案:
A
题号:
24981
以下程序的输出结果是().
voidchangeintk[]{k[0]=k[5];}
main(){intx[10]={1,2,3,4,5,6,7,8,9,10},n=0;
while(n<=4){change&x[n];n++;}
for(n=0;n<5;n++)printf("%d",x[n]);
printf("\n");
}
A、13579
B、62345
C、12345
D、678910
答案:
D
题号:
25123
以下对数组初始化错误的是().
A、inta[2][3]={{1,2,3},{4,5}}
B、inta[2][3]={1,2,3,4};
C、int[2][]={1,2,3,4,5,6};
D、inta[][3]={1,2,3,4,5,6};
答案:
C
题号:
25050
若有如下说明,且int类型占两个字节,则正确的叙述为().
structst
{inta;
intb[2];
}a;
A、程序运行时为结构体st分配8字节存储单元
B、程序只在执行到该结构体时才为结构体st分配存储单元
C、结构体变量a与结构体成员a同名,定义是合法的
D、类型名structst可以通过extern关键字提前引用
答案:
C
题号:
25530
下列不能正确计算代数式值的C语言表达式是().
A、1/3.0*pow(sin(1.0/2),2)
B、pow(sin(0.5),2)/3
C、1/3*sin(1/2)*sin(1/2)
D、sin(0.5)*sin(0.5)/3
答案:
C
题号:
25543
已有定义:
charc;,程序前面已在命令行中包含ctype.h文件,不能用于判断c中的字符是否为大写字母的表达式是().
A、c<=("'z''"-32)&&("'a'"-32)<=c
B、isupper(c)
C、A'"<=c&&c<="'Z'
D、A'"<=c<="'Z'
答案:
D
题号:
26457
以下程序段中与语句:
k=a>b?
b>c?
1:
0:
0;功能相同的是().
A、if(a<=b)k=0;elseif(b<=c)k=1;
B、if((a>b)‖(b>c))k=1;elsek=0;
C、if((a>b)&&(b>c))k=1;elsek=0;
D、if(a>b)k=1;elseif(b>c)k=1;elsek=0;
答案:
C
题号:
25404
若变量x,y已正确定义并赋值,以下符合C语言语法的表达式是().
A、++x,y=x--
B、x+1=y
C、double(x)/10
D、x=x+10=x+y
答案:
A
题号:
26092
调用函数时,基本类型变量做函数参数,实参和对应的形参().
A、同名时才能共用存储单元
B、各自占用独立的存储单元
C、不占用存储单元
D、共占用一个存储单元
答案:
B
程序设计
==================================================
题号:
32147
/*------------------------------------------------
【程序设计】
--------------------------------------------------
功能:
求小于lim的所有素数并放在aa数组中,该函数返回
所求出素数的个数。
*********Begin**********和**********End**********不可删除
------------------------------------------------*/
#include"stdio.h"
#include"conio.h"
#defineMAX100
intfun(intlim,intaa[MAX])
{
/*********Begin**********/
/**********End**********/
}
main()
{
intlimit,i,sum;
intaa[MAX];
voidNONO();
printf("PleaseInputaInteger:
");
scanf("%d",&limit);
sum=fun(limit,aa);
for(i=0;i if(i%10==0&&i! =0)printf("\n"); printf("%5d",aa[i]); } NONO(); } voidNONO() { inti,j,array[100],sum,lim; FILE*rf,*wf; rf=fopen("in.dat","r"); wf=fopen("out.dat","w"); for(j=0;j<=5;j++) { fscanf(rf,"%d",&lim); sum=fun(lim,array); for(i=0;i fprintf(wf,"%7d",array[i]); fprintf(wf,"\n"); } fclose(rf); fclose(wf); } 示例代码: intn=0,i,j; for(i=2;i<=lim;i++) {for(j=2;j if(i%j==0)break; if(j==i)aa[n++]=i; } returnn; 程序填空 ================================================== 题号: 31799 /*给定程序中,函数fun的功能是: 计算N×N矩阵的主对角线元素和反向对角线元素之和,并作为函数值返回。 注意: 要求先累加主对角线元素中的值,然后累加反向对角线元素中的值。 例如,若N=3,有下列矩阵: 123 456 789 fun函数首先累加1、5、9,然后累加3、5、7,函数的返回值为30。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意: 不得增行或删行,也不得更改程序的结构! */ #include #defineN4 fun(intt[][N],intn) {inti,sum; /**********FILL**********/ ___1___; for(i=0;i /**********FILL**********/ sum+=___2___; for(i=0;i /**********FILL**********/ sum+=t[i][n-i-___3___]; returnsum; } main() {intt[][N]={21,2,13,24,25,16,47,38,29,11,32,54,42,21,3,10},i,j; printf("\nTheoriginaldata: \n"); for(i=0;i {for(j=0;j printf("\n"); } printf("Theresultis: %d",fun(t,N)); } 答案: 位置1: sum=0 位置2: t[i][i] 位置3: 1 程序改错 ================================================== 题号: 31952 /*------------------------------------------------------ 【程序改错】 -------------------------------------------------------- 题目: 从键盘输入的整数中找出最小值,输入负数时结束。 -------------------------------------------------------- 注意: 不可以增加或删除程序行,也不可以更改程序的结构。 ------------------------------------------------------*/ #include"stdio.h" main() { intmin,a; scanf("%d",&a); min=a; /**********ERROR**********/ while(a<0) { /**********ERROR**********/ if(a>min)min=a; scanf("%d",&a); } } 答案: 位置1: while(a>=0) 位置2: if(a
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 程序设计 基础 期末