C语言补考复习题填空及程序题答案

C语言二级无忧

共 6206字,需浏览 13分钟

 ·

2021-05-17 01:46

二、填空   

1题     

C语句句尾用___;_______结束.

 

2题           

C语言中一个函数由函数首部和___函数体__________两部分组成.

 

3题           

C语言的三种基本结构是___顺序___________结构、选择结构、循环结构.

 

4题          

c语言程序的三种基本结构是:顺序结构,选择结构,______循环________结构.

 

5题      

预处理命令行都必须以______#________号开始.

 

6题         

从函数的形式上看,函数分为无参函数和______有参函数________两种类型.

 

7题           

若在程序中用到strlen()函数时,应在程序开头写上包含命令# include  "______string.h________".

 

8题           

C语言中,数组元素的下标下限为______0________.

 

9题           

将数组a的首地址赋给指针变量p的语句是______p=a________.

 

10题           

变量的指针,其含义是指该变量的______地址________.

 

11           

一个C程序总是从______main函数________开始执行.

 

12题           

一个C源程序中至少应包括一个______main________函数.

 

13           

执行下列语句后,*(p+1)的值是______b________.

 

char  s[3]="ab",*p;

p=s;

 

14          

按内存排列顺序, 数组char a[2]中的所有元素是a[1]和______a[0]________.

 

15           

若有定义:double w[10];

w数组元素下标的上限为_____9______,下限为_____0______.


三、程序填空   

1题       

 

请补充main函数,该函数的功能是:从键盘输入一个字符串并保

存在字符str1中,把字符串str1中下标为偶数的字符保存在字符

str2中并输出。

 

例如,当str1="cdefghij",则str2="cegi"。

 


试题程序:

#include<stdlib.h>

#include<stdio.h>

#include<conio.h>

#define LEN 80

 

void main()

{

    char str1[LEN],str2[LEN];

    char *p1=str1,*p2=str2;

    int i=0,j=0;

    system("CLS");

    printf("Enter the string:\n");

/***********SPACE***********/

    scanf( 【?】);

    printf("***the origial string***\n");

    while(*(p1+j))

    {

/***********SPACE***********/

        printf("【?】",*(p1+j));

        j++;

    }

    for(i=0;i<j;i+=2)

        *p2++=*(str1+i);

    *p2='\0';

/***********SPACE***********/

    printf("\nThe new string is:%s\n",【?】);

}

 

 

答案:

=======(答案1)=======

"%s",str1

=======(答案2)=======

%c

=======(答案3)=======

str2

 

 

2题        


功能:从键盘输入一个大写字母赋给c1,要求改用小写字母输出。

 

#include <stdio.h>

void main()

{

char c1,c2;

/***********SPACE***********/

c1= 【?】;

/***********SPACE***********/

c2= 【?】;

printf("%c,%c",c1,c2);

}

 

 

答案:

=======(答案1)=======

getchar()

=======(答案2)=======

c1+32

 

 

3        

 

题目:下列程序从键盘输入所需数据,求出z的值并输出,要求输出结果保留2位小数。


#include <stdio.h>

/***********SPACE***********/

    ?】      

main()

{  int x;

  double y,z;

/***********SPACE***********/

  scanf("【?】",&x,&y);

  z=2*x*sqrt(y);

/***********SPACE***********/

  printf("z=【?】",z);

 }

 

 

答案:

=======(答案1)=======

#include<math.h>

 

=======(答案2)=======

%d%lf

 

=======(答案3)=======

%.2lf


 

四、程序改错   

1题     


题目:下列程序的功能为:按下列公式计算并输出x的值。其中a和b的值由键盘输入。请纠正程序中存在的错误,使程序实现其功能。公式: x=2ab/(a+b)^2(平方)


#include <stdio.h>

 main()

{

    int a,b;

    double x;

/***********FOUND***********/

    scanf("%d,%d",a,b);

/***********FOUND***********/

    x=2ab/(a+b)(a+b);

/***********FOUND***********/

     printf("x=%d\n",x);

}

 

 

答案:

 

=======(答案1)=======

scanf("%d,%d",&a,&b);

 

=======(答案2)=======

x=2.0*a*b/((a+b)*(a+b));

 

=======(答案3)=======

printf("x=%f\n",x);

 

 

五、程序设计   

1题      


题目:已知某位学生的数学、英语和计算机课程的成绩分别是87分、72分和93分,求该生3门课程的平均分。


#include <stdio.h>

void main( )

{

    int math, eng, comp, average;  

 

    /**********Program**********/

 

 

 

 

 

    /**********  End  **********/

 

    printf("math = %d, eng = %d, comp = %d, average = %d\n", math, eng, comp, average);

}

 

 

答案: math = 87;

    eng = 72;

    comp = 93;

    average = (math + eng + comp) / 3;

 

2       

 

题目:从键盘给n赋值,分别求出 n 的个位数字(digit1)、十位数字(digit2)和百位数字(digit3)的值。

 

#include <stdio.h>

void main( )

{

    int n, digit1, digit2, digit3;  

 

    /**********Program**********/

 

 

 

 

 

    /**********  End  **********/

 

    printf("整数%d的个位数字是%d, 十位数字是%d, 百位数字是%d\n", n, digit1, digit2, digit3);

}

 

 

 

答案:  n = 152;

    digit1 = n % 10;

    digit2 = (n / 10) % 10;

    digit3 = n / 100;

 

 

 

3     

 

题目:计算表达式 1 + 2 + 3 + ...... + 100的值。


#include <stdio.h>

void main( )

{   

    int i, sum;

          

    /**********Program**********/

 

 

 

 

 

    /**********  End  **********/

 

    printf("sum = %d\n", sum);

}

 

 

答案:  sum = 0;      

      for(i = 1;i <= 100;i++)

        sum = sum + i;

 

 

 

 

 


浏览 74
点赞
评论
收藏
分享

手机扫一扫分享

举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

举报