admin 管理员组文章数量: 887053
2024年1月25日发(作者:magento2)
程序设计基础试题及答案二
《程序设计基础》考试试卷二
1.
1966年,Bohra和Jacopini提出的三种基本程序设计结构是:________
A.
if、while和for; B. switch、do-while和for;
C.
while、do-while和for;D.顺序结构、分支结构和循环结构。
2.
算法的特征不包括:______。
A.
有穷性 B.可行性 C.确定性 D.有1个或者多个输入。
3.
C语言源程序的基本组成单位是______。
A.
函数 B. 语句 C. 声明和语句 D. 文件
4.
下列标识符中,只有______是合法的。
A.
if B. 3ab C. Int D. A-4
5.
下列常量中,只有______是合法的。
A.
3e-0.3 B. ‘abc’ C. 02a1 D. ‘377’
6.
下列说法中正确的是:______。
A.
C语言中的for语句的三个表达式都可以省略,而且分号也可以省略。
B.
C.
D.
宏替换比函数调用的执行速度慢。
实质上,C语言中的指针就是一个变量的地址。
C语言中的任何函数都可以由程序员命名。
7.
C语言中,运算对象必须是整型的运算符是_______。
1 / 14
程序设计基础试题及答案二
A.
/ B. % C. + D. -
8.
以下叙述中错误的是_______。
A.
B.
C.
D.
C语句必须以分号结束
复合语句在语法上被看作一条语句
空语句出现在任何位置都不会影响程序运行
赋值表达式末尾加分号就构成赋值语句
9.
以下叙述中正确的是_______。
A.调用printf函数时,必须要有输出项
B.使用putchar函数时,必须在之前包含头文件stdio.h
C.在C语言中,整数可以以十二进制、八进制或十六进制的形式输出
D.调用getchar函数读入字符时,可以从键盘上输入字符所对应的ASCII码
10.
以下关于函数的叙述中正确的是_______。
A.每个函数都可以被其它函数调用(包括main函数)
B.每个函数都可以被单独编译
C.每个函数都可以单独运行
D.在一个函数内部可以定义另一个函数
有以下程序段typedef struct NODE{
int num;
2 / 14
11.
程序设计基础试题及答案二
struct NODE *next;
} OLD;
以下叙述中正确的是_______。
A.以上的说明形式非法
B.NODE是一个结构体类型
C.OLD是一个结构体类型
D.OLD是一个结构体变量
以下叙述中错误的是_______。 12.
A.C语言中对二进制文件的访问速度比文本文件快
B.C语言中,随机文件以二进制代码形式存储数据
C.语句 FILE fp; 定义了一个名为fp的文件指针
D.C语言中的文本文件以ASCII码形式存储数据
当把以下四个表达式用作if语句的控制表达式时,有一个选项及其它13.
三个选项含义不同,这个选项是_______。
A.k%2 B. k%2==1 C. (k%2)!=0 D.!k%2==1
14.
以下不能正确计算代数式值的C语言表达式是_______。
A.1/3*sin(1/2)*sin(1/2) B.sin(0.5)*sin(0.5)/3
C.pow(sin(0.5),2)/3 D.1/3.0*pow(sin(1.0/2),2)
3 / 14
程序设计基础试题及答案二
15.
以下能正确定义且赋初值的语句是_______。
A.int n1=n2=10; B.char c=32;
C.float f=f+1.1; D.double x=12.3E2.5;
16.
以下程序的功能是:当a
#include
void main() /* Beginning */
{ int a,b,c;
scanf(“%d%d%d”,&a,&b,&c);
if (a
程序不能得到正确结果的的原因是_______。
A.注释语句书写位置错误
B.a、b、c不能以八进制进行输出
C.没有按照八进制进行输入
D.if语句的条件表达式错误
设有定义:int k=1,m=2; float f=7;,则以下选项中错误的表达17.
式是_______。
A.k=k>=k B.-k++ C.k%int(f) D.k>=f>=m
18.
设有定义:int a=2,b=3,c=4;,则以下选项中值为0的表达式是_______。
4 / 14
程序设计基础试题及答案二
A.(!a==1)&&(!b==0); B.(a
C.a && b; D.a||(b+b)&&(c-a)
19.
有以下程序段int k=0,a=1,b=2,c=3; k=a
k=k>c ? c:k;
执行该程序段后,k的值是_______。A.3 B.2 C.1 D.0
20.
设变量a、b、c、d和y都已正确定义并赋值。若有以下if语句 if
(a
if(c==d) y=0;
else y=1;
该语句所表示的含义是_______。
A.
B.
C.
D.
一、
阅读程序,写出下列程序的运行结果。(20分)
1、
已知字母A的ASCII码为65。
#include
5 / 14
程序设计基础试题及答案二
void main(){
char a, b;
a='A'+'5'-'3'; b=a+'6'-'2' ;
printf("%d %cn", a, b);}
2、#include
void f(int v, int w) {
int t;
t=v;v=w;w=t;}
void main(){
int x=1,y=3,z=2;
if (x>y) f(x,y);
else if (y>z)
else
f(y,z);
f(x,z);
printf(“%d,%d,%d”,x,y,z);}
3、#include
int a[4][4]={{3,2,-3,-4},{0,-12,-13,14},{-21,23,0,-24},{-31,12,-33,0}};
int i,j,s=0; for(i=0;i<4;i++) { for(j=0;j<4;j++) { if(a[i][j]<0)
continue; if(a[i][j]= =0) break; s+=a[i][j] } }
printf("%dn",s);}
6 / 14
程序设计基础试题及答案二
4、#include
void main(){
int a=100,b=10;
int *p1=&a, *p2=&b;
*p1=b; *p2=a;
printf(“%d, %d,”,a,b);
printf(“%d, %dn”,*p1,*p2);}
二、
程序改错:找出下列程序存在的错误,并进行改正。(20分)
1、以下程序的功能是:给r输入数据后计算半径为r的圆面积s。
#include
#define PI 3.1415926
void main(){
int r;
float s;
scanf("%d",r);
s=PI*r^2;
printf("s=%fn",s);}
2、
以下程序用于计算一个一维数组各元素平方根的和。
#include
7 / 14
程序设计基础试题及答案二
#include
void main(){
int a[10],i;
float sum;
for (i=0;i<=10;i++)
scanf(“%d”,&a[i]); i=0;
while (i<=9)){
sum+=sqrt(a[i]);
i++;}
以下程序用于通过指针对数组进行输入和输出 3、
#include
void main(){
int a[10];
int *p=a;
int i;
for (i=0;i<10;i++)
scanf(“%d”,p++);
for (i=0;i<10;i++)
printf(“%5d”,p++);}
8 / 14
程序设计基础试题及答案二
4、
以下程序通过判断输入的成绩判断其级别:其中90分以上为A,80分以上为B,70分以上为C,60分以上为D,其他为E。
#include
void main(){
int score,temp;
temp=score/10;
switch (temp){
case 10,9: printf(“A”);
case 8: printf(“B”);
case 7:printf(“C”);
case 6:printf(“D”);
default:printf(“E”);}}
三、
程序填空题:阅读程序,填充空白使之能完成预定功能。(10分)
1、以下程序的功能是计算:s=1+12+123+1234+12345。请填空。
#include
void main() {
int t=0,s,i;
_________;
for( i=1; i<=5; i++) {
9 / 14
程序设计基础试题及答案二
t=i+______;
s=s+t; }
printf("s=%dn",s); }}
2、以下程序的功能是输出如下形式的方阵:
13 14 15 16
9 10 11 12
5 6 7 8
1 2 3 4
请填空。#include
void main() {
int i,j,x;
for(j=4; _______; j--) {
for(i=1; i<=4; i++) {
x=(j-1)*4 + ______;
printf("%4d",x); } printf("n"); }}
四、
编程题(要求给出PAD图或者N-S图)(30分)
1、
设计一个C函数,对输入的a、b两个整型参数,返回其中的最小数。利用main函数调用该函数,并输出结果。
2、
编程输入10个学生5门课程的成绩,实现:
10 / 14
程序设计基础试题及答案二
①计算每个学生的平均分;
②计算每门课程的平均分;
,其中xi为第i个学生的平均分。
③计算平均方差:3、
编写一个C程序,求解n!。要求分别用非递归程序和递归程序实现。
一、
选择题。DDACD CBCBB CCDAB DCABC
二、
程序阅读题 (每个5分,共20分)
1、67 G 2、1,3,2 3、40 4、10,10,10,10
程序改错题 (每个5分,共20分)
1、
第一个错误:scanf(“%d”,r)应为scanf(“%d,&r”)。
第二个错误:s=PI*r^2应为s=PI*r*r。
2、
第一个错误:for循环中的第二个表达式应为 i<10。
11 / 14
程序设计基础试题及答案二
第二个错误:sum未赋初值,应加入:sum=0;
3、
4、
应该在第二个for之前加入:p=a;
应该在每个case语句之后加入break;
三、
程序填空题(每个5分,共10分)
1、
s=0; t*10
四、
编程题 2、j>0;i12 / 14
程序设计基础试题及答案二
五、
1、#include
int min(int a,int b){
return (a
}
void main(){
int a,b;
scanf(“%d %d”,&a,&b);
printf(“%d”,min(a,b)); }
stuave[i]=0;
temp1=0; temp2=0;
for (j=0;j<5;j++){
scanf(“%f”,&a[i][j]);
stuave[i]+=a[i][j];}
stuave[i]/=5.0;
temp1+=stuave[i]*stuave[i];
temp2+=stuave[i]; }
for (j=0;j<5;j++){
courseave[j]=0;
for (i=0;i<10;i++)
2、#include
void main(){
float score[10][5],
stuave[10],courseave[5],fangcha;
float temp1,temp2;
int i,j;
printf(“Please input
the scores :”);
for (i=0;i<10;i++){
courseave[j]+=score[i][j];
courseave[j]/=10.0;}
fangcha=temp1/n-(temp2/n)*(temp2/n);
13 / 14
程序设计基础试题及答案二
printf(“the average printf(“%ld”,fac);
} scores of each student are: ”);
for (i=0;i<10;i++)
递归方法:
#include
long fac(int n){
}
void main(){
int n;
scanf(“%d”,&n);
printf(“%ld”,fac(n));
}
if (n= =0||n= =1) return 1;
else return n*fac(n-1);
printf(“%5.2f”,stuave[i]);
printf(“the average
scores of each course are: ”);
for (i=0;i<5;i++)
printf(“%5.2f”,courseave[i]);
printf(“the fangcha
is %5.2f”,fangcha);}
3、非递归方法
#include
void main(){
int n,i=0;
long fac=1;
scanf(“%d”,&n);
while (i i++; fac*=i; } 14 / 14
版权声明:本文标题:程序设计基础试题及答案二 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/free/1706162021h502459.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论