视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
程序设计基础试题及答案二
2025-09-22 17:52:44 责编:小OO
文档
《程序设计基础》考试试卷二

1.1966年,Bohra和Jacopini提出的三种基本程序设计结构是:________

A.if、while和for; 、do-while和for;

C.while、do-while和for;D.顺序结构、分支结构和循环结构。

2.算法的特征不包括:______。

A.有穷性 可行性 确定性 有1个或者多个输入。

3.C语言源程序的基本组成单位是______。

A.函数 语句 声明和语句 文件

4.下列标识符中,只有______是合法的。

A.if     B.  3ab    C.  Int     D.  A-4

5.下列常量中,只有______是合法的。

A.3e-0.3    B.   ‘abc’    C.   02a1‘\\377’

6.下列说法中正确的是:______。

A.C语言中的for语句的三个表达式都可以省略,而且分号也可以省略。

B.宏替换比函数调用的执行速度慢。

C.实质上,C语言中的指针就是一个变量的地址。

D.C语言中的任何函数都可以由程序员命名。

7.C语言中,运算对象必须是整型的运算符是_______。

A./     B.  %    C.   +   D.   -

8.以下叙述中错误的是_______。

A.C语句必须以分号结束

B.复合语句在语法上被看作一条语句

C.空语句出现在任何位置都不会影响程序运行

D.赋值表达式末尾加分号就构成赋值语句

9.以下叙述中正确的是_______。

A.调用printf函数时,必须要有输出项

 .使用putchar函数时,必须在之前包含头文件stdio.h

 .在C语言中,整数可以以十二进制、八进制或十六进制的形式输出

 .调用getchar函数读入字符时,可以从键盘上输入字符所对应的ASCII码

10.以下关于函数的叙述中正确的是_______。

A.每个函数都可以被其它函数调用(包括main函数)

 .每个函数都可以被单独编译

 .每个函数都可以单独运行

 .在一个函数内部可以定义另一个函数

11.有以下程序段typedef struct NODE{

 int  num; 

struct NODE  *next;

以下叙述中正确的是_______。

 .以上的说明形式非法

 .NODE是一个结构体类型

 .OLD是一个结构体类型

 .OLD是一个结构体变量

12.以下叙述中错误的是_______。

A.C语言中对二进制文件的访问速度比文本文件快

 .C语言中,随机文件以二进制代码形式存储数据

 .语句 FILE  fp; 定义了一个名为fp的文件指针

 .C语言中的文本文件以ASCII码形式存储数据

13.当把以下四个表达式用作if语句的控制表达式时,有一个选项与其它三个选项含义不同,这个选项是_______。

A.k%2    B.   k%2==1..!k%2==1

14.以下不能正确计算代数式值的C语言表达式是_______。

A.1.sin(0.5)*sin(0.5)/3

 .p.1/3.0*pow(sin(1.0/2),2)

15.以下能正确定义且赋初值的语句是_______。

A.i.char  c=32;

C.f.double  x=12.3E2.5;

16.以下程序的功能是:当a#include

void main() 

 a,b,c; 

 %d%d%d”,&a,&b,&c);

 “%o%o%o”,a,b,c); }

程序不能得到正确结果的的原因是_______。

 .注释语句书写位置错误

 .a、b、c不能以八进制进行输出

 .没有按照八进制进行输入

 .if语句的条件表达式错误

17.设有定义:int  k=1,m=2;  float  f=7;,则以下选项中错误的表达式是_______。

A.k.-.k.k>=f>=m

18.设有定义:int  a=2,b=3,c=4;,则以下选项中值为0的表达式是_______。

A.(.(aC.a.a||(b+b)&&(c-a)

19.有以下程序段int  k=0,a=1,b=2,c=3;  

执行该程序段后,k的值是_______。A.3 .2   .1 .0

20.设变量a、b、c、d和y都已正确定义并赋值。若有以下if语句

 

        else   y=1;

该语句所表示的含义是_______。

 . 

 . 

 .  

D. 

一、阅读程序,写出下列程序的运行结果。(20分)

1、已知字母A的ASCII码为65。

#include

void main(){

char a, b;

  a='A'+'5'-'3'; b=a+'6'-'2' ;

  printf("%d  %c\\n", 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;

else if (y>z) 

else 

printf(“%d,%d,%d”,x,y,z);}

3、#include

void main(){ 

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("%d\\n",s);}

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, %d\\n”,*p1,*p2);}

二、程序改错:找出下列程序存在的错误,并进行改正。(20分)

1、以下程序的功能是:给r输入数据后计算半径为r的圆面积s。

void main(){

  int  r;

  float  s;

  scanf("%d",r);

  s=PI*r^2;

printf("s=%f\\n",s);}

2、以下程序用于计算一个一维数组各元素平方根的和。

#include

#include

void main(){

 =10;i++) 

    i=0;

while (i<=9)){

3、以下程序用于通过指针对数组进行输入和输出

#include

void main(){

  “%d”,p++);

  “%5d”,p++);}

4、以下程序通过判断输入的成绩判断其级别:其中90分以上为A,80分以上为B,70分以上为C,60分以上为D,其他为E。

#include

void main(){

  “A”);

  “B”);

  “C”);

  “D”);

  “E”);}}

三、程序填空题:阅读程序,填充空白使之能完成预定功能。(10分)

1、以下程序的功能是计算:s=1+12+123+1234+12345。请填空。

void main()

   int  t=0,s,i;

_________;

  for( i=1; i<=5; i++) {

   

s=s+t; }

printf("s=%d\\n",s); }

2、以下程序的功能是输出如下形式的方阵:

 

  

      5   6   7   8

      1   2   3   4

请填空。#include

void main()

 int  i,j,x;

  

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门课程的成绩,实现:

①计算每个学生的平均分;

②计算每门课程的平均分;

③计算平均方差:,其中xi为第i个学生的平均分。

3、编写一个C程序,求解n!。要求分别用非递归程序和递归程序实现。

一、选择题。DDACD   

二、程序阅读题       (每个5分,共20分)

1、67  G  2、1、4、10,10,10,1      程序改错题        (每个5分,共20分)

1、第一个错误:scanf(“%d”,r)应为scanf(“%d,&r”)。

第二个错误:s=PI*r^2应为s=PI*r*r。

2、第一个错误:for循环中的第二个表达式应为 i<10。  

第二个错误:sum未赋初值,应加入:sum=0;

3、应该在第二个for之前加入:p=a;

4、应该在每个case语句之后加入break;

三、程序填空题(每个5分,共10分)

1、s、j>0;i

四、编程题

五、1、#include

void main(){

 “%d %d”,&a,&b);

printf(“%d”,min(a,b));  }        

2、#include

void main(){

 float score[10][5], stuave[10],courseave[5],fangcha;

 “Please input the scores :”);

 

 

 “%f”,&a[i][j]);

 

stuave[i]/=5.0;  temp1+=stuave[i]*stuave[i];  temp2+=stuave[i]; }

 

  

   

   

  

   “the average scores of each student are: ”);

   “%5.2f”,stuave[i]);

   “the average scores of each course are: ”);

   “%5.2f”,courseave[i]);

   “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;

}

printf(“%ld”,fac);

}       

递归方法:

#include

long fac(int n){

}

void main(){

scanf(“%d”,&n);

printf(“%ld”,fac(n));

}下载本文

显示全文
专题