长沙学院

  • 官方网址: http://www.ccsu.cn
  • 官方电话:0731-84261447
  • 电子邮箱:zsjy@ccsu.cn
  • 院校地址:湖南省长沙市开福区洪山路98号

长沙学院2022《程序设计基础》专升本考试大纲

一、命题形式及适用对象

本考试命题采用客观试题与主观试题相结合、概念理解与综合应用相结合的闭卷笔试形式。

考试对象为参加物联网工程专业专升本选拔考试的所有考生。


二、考试题型

考试题型:单选题、程序填空题、程序改错题及程序设计题等。


三、考试时间及总分

本课程考试时间为90分钟,满分为100分。


四、参考教材

谭浩强.C程序设计(第五版).清华大学出版社,2017.


五、考试内容

﹙一﹚考核要求

本课程考核要求由低到高共分为“了解”、“熟悉”、“掌握”三个层次。其含义是:了解是指要求考生简单知晓的知识点;熟悉是指要求考生能领会相关概念,进行简单应用的知识点;掌握是指要求考生全面系统知晓,并能分析其原因和熟练运用的知识点。

(二)考核内容

一、C语言程序设计概述 

1.熟悉程序、语言和算法的基本概念

2.掌握C语言的字符集、标识符

3.掌握Microsoft Visual C++ 2010 Express 的集成开发环境。

二、基本数据类型与表达式 (约7%)

1.熟悉基本数据类型(char、int、long、unsigned、float、double)及空类型

2.熟悉常量与符号常量,变量与变量定义,变量赋初值

3.熟悉运算符及运算符的优先级

4.熟悉常规的算术表达式,常规的赋值表达式

5.熟悉常规的关系表达式,常规的逻辑表达式,单级的逗号运算符和条件运算符

6.了解char、int、long之间以及int、float、double之间的类型自动转换

7.了解赋值转换。

三、顺序程序设计

1.熟悉表达式语句,复合语句的使用

2.熟悉库函数(只要求部分数学函数以及四个输入输出函数)调用规则

3.熟悉字符输入函数getchar,字符输出函数putchar

4.掌握格式输出函数printf的常规格式控制,格式输入函数scanf的常规格式控制

5.掌握综合以上语句、函数的顺序结构程序设计。

四、选择结构程序设计

1.掌握if语句的语法形式,两层的if语句嵌套

2.熟悉switch语句的语法形式,break和default在switch语句中的运用

3.掌握if语句结合关系表达式、逻辑表达式,复合语句符号{}和if语句结合运用。

五、循环结构程序设计  

1.掌握while语句,do-while语句,for语句,for语句的变形

2.熟悉break、continue在单层循环语句中的运用

3.熟悉两重循环的嵌套

4.掌握关系表达式、逻辑表达式在三种循环语句中的运用

5.掌握复合语句符号{}和三种循环语句结合运用

六、函数与编译预处理  

1.了解常用的几个标准库函数

2.掌握函数的定义,无参和有参的函数调用

3.熟悉函数的直接递归调用

4.掌握实际参数和形式参数的参数传递

5.熟悉变量的作用域(只限于局部变量和全局变量)

6.熟悉变量的存储方式(只限于静态变量和自动变量)

7.了解宏定义。

七、数组  

1.掌握一维数组的定义及引用,一维数组的存储结构与初始化

2.掌握二维数组的定义及引用,二维数组的存储结构与初始化

3.掌握字符数组的定义与初始化,字符串的概念及存储

4.熟悉字符串处理函数(只限于strcpy、strcat、strcmp、strlen)

5.掌握数组作为函数参数。

八、指针

1.了解指针的概念

2.了解指针变量的定义与初始化

3.了解指针的赋值运算、算术运算、关系运算

4.熟悉指向一维数组的指针

5.熟悉指针作为函数的参数

6.熟悉指针与字符串。

九、知识点综合

1.掌握结合表达式、选择结构、循环结构、函数、数组的程序设计

     

六、样题

(一)单选题

第1题      

下列程序的输出结果是().

        void main()

        {  int a=1,b;

           for(b=1;b<=10;b++)

           {  if(a>=8) break;

              if(a%2= =1)

                {a+=5;continue;}

              a=3;  }

           printf("%d\n",b);  }


A:3

B:4

C:5

D:6




第2题       

以下运算符中,优先级最高的运算符是().

A:?:

B:++

C:&&

D:,



第3题       

下列字符数组长度为5的是().

A:char  a[]={'h', 'a', 'b', 'c', 'd'};

B:char b[]= {'h', 'a', 'b', 'c', 'd', '\0'};

C:char    c[10]= {'h', 'a', 'b', 'c', 'd'};

D:char   d[6]= {'h', 'a', 'b', 'c', '\0' };


……

(二)程序填空题

第1题       

/*-------------------------------------------------------

【程序填空】在【?】处填空实现程序功能

(注意:【?】需删除)

---------------------------------------------------------


功能:输出Fibonacci数列的前15项,要求每行输出5项。

      Fibonacci数列:1,1,2,3,5,8,13...........


-------------------------------------------------------*/


#include <stdio.h>


main()

{

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

  int fib【?】,i;                                

  fib[0]=1;fib[1]=1;

  for (i=2;i<15;i++)

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

    fib[i]=【?】;                                        

  for(i=0;i<15;i++)

  {

    printf("%d\t",fib[i]);

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

    if ( 【?】 ) printf("\n");                        

  }

}


……

(三)程序改错题

第1题       

/*-------------------------------------------------------

【程序改错】在FOUND的下一行找到错误并改正,实现程序功能

---------------------------------------------------------


功能:从键盘输入十个学生的成绩,统计最高分,最低分和平均分。max代表最高分,min

      代表最低分,avg代表平均分。


-------------------------------------------------------*/


#include <stdio.h>

main( ){

  int i;

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

  float a[],min,max,avg;

  printf("input 10 score:");

  for(i=0;i<=9;i++)  {

    printf("input a score of student:"); 

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

    scanf("%f",a);

  } 

  max=min=avg=a[0];

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

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

    if(min<a[i])  

      min=a[i];

    if(max<a[i])

      max=a[i];

    avg=avg+a[i];

  }

  avg=avg/10;

  printf("max:%f\nmin:%f\navg:%f\n",max,min,avg);

}


……


(四)程序设计题

第1题        

/*------------------------------------------------

【程序设计】在Program和End之间编写程序,实现程序功能

(要求将程序运行一遍)

--------------------------------------------------


功能:根据整型形参m,计算如下公式的值:y=1/2+1/4+

      1/6+...+1/2m 。

例如:若m=9,则应输出:1.414484


------------------------------------------------*/


#include <stdio.h>

  

double fun(int m)   

{

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

  

  

  

  

  

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

}


main()   

{

  int n;   

  printf("Enter n: ");   

  scanf("%d", &n);   

  printf("\nThe result is %1f\n", fun(n));

 

}   


……