内容发布更新时间 : 2025/10/31 19:51:42星期一 下面是文章的全部内容请认真阅读。
三、编程题
1. 编写函数求两个整数的最小值。在主函数中通过键盘输入x和y的值,调用该
函数,输出其中的最小值。
2. 编写函数对x进行判断,如果x的值大于0,返回1;否则返回0,在主函数中
通过键盘输入x的值,调用该函数,输出返回值。
3. 写一个判别素数的函数,在主函数中调用该函数,求出100~300之间所有的素
数。
4. 写一个判别水仙花数的函数,在主函数中调用该函数,求出所有水仙花数。 5. 写一个判别完数的函数,在主函数中调用该函数,求出1000以内所有的完数。 6. 写一个函数,求正整数n从右边开始数的第k个数字。并设计一个主程序测试
这个函数。
7. 写两个函数,分别求两个整数的最大公约数和最小公倍数,用主函数分别调用
这两个函数,并输出结果,两个整数由键盘输入。
8. 金字塔图形问题:编写一个函数,其函数原型声明为“void draw(int n);”。函
数功能是根据n的个数(0      A  ABC    ABCDE   ABCDEFG  ABCDEFGHI ABCDEFGHIJK   第7章  编译预处理 选择题  1.下列叙述中错误的是          。  A) 预处理命令必须以#号开头  B) 预处理命令可以写成多行  C) 预处理命令必须置于源文件的开始处  D) 预处理命令以回车结束  2.C语言编译系统对宏替换的处理是在          进行的。  A) 源程序编译前   B) 源程序编译时  C) 程序连接时   D) 程序运行时  3.在宏定义“#define  PI  3.14159”中,3.14159是            。   A) 单精度数    B) 双精度数  C) 字符串    D) 由PI位置确定其类型  4.设有宏定义 “#define  A  B  abcd” ,则宏替换时,          。  A) 宏名A用 B  abcd 替换  B) 宏名A  B用abcd 替换  C) 宏名A 和宏名B都用abcd 替换  D) 语法错误,无法替换  5.下列有关宏的叙述中错误的是          。  A) 宏名必须使用大写英文字母  B) 宏替换不占用程序的运行时间   C) 宏参数没有数据类型  D) 宏名没有数据类型  6.下列宏定义,最不会引起二义性的是          。  A) #define  ADD(a,b)  a+b  B) #define  ADD(a,b)  (a)+(b)  C) #define  ADD(a,b)  (a+b)  D) #define  ADD(a,b)  ((a)+(b)) 7.设有宏定义“#define  M  3+2”,则表达式 2 * M * 3 的值为            。  A) 30    B) 12  C) 10    D) 13  8.设有宏定义“ #define Y(n)  (4*n) ”, 则表达式 3+Y(5+1)的值为            。  A) 21    B) 24  C) 27    D) 30 9.设有宏定义:   #define  N  3  #define  M  N+2   则表达式 2*M/N的值为            。  A) 6     B) 3  C) 3.333    D) 错误  10.在#include命令中,#include后面的文件名用双引号定界,则系统寻找被包含文件的方式是           。  A) 在C系统的include文件夹查找  B) 在源程序所在文件夹查找  C) 先在C系统的include文件夹查找,查找失败后再到源程序所在文件夹查找  D) 先在源程序所在文件夹查找,查找失败后再到C系统的include文件夹查找 11.设有以下A、B两个程序段,则说法正确的是           。  //A程序段       //B程序段 #define  N  3      #define  N  3 void main()       void main() {         {  if(N>0)         #if(N>0)     printf(\    printf(\ else         #else     printf(\      printf(\           #endif }         } A) 两个程序目标代码相同,运行结果也相同  B) 两个程序目标代码不同,但运行结果相同  C) 两个程序目标代码相同,但运行结果不同  D) 两个程序目标代码不同,运行结果也不同 12.执行以下程序,结果为           。  #define  DEBUG void main() {     编程题  1. 编写一个计算圆的面积程序,将π的值定义为符号常量。  2. 将求圆柱体的体积写成带参数的宏定义,并使用该宏定义计算圆柱体的体积。 3. 定义一个带有三个参数的宏MAX,求三个参数中的最大值。   第8章 数组 一、选择题  1.以下数组定义中,错误的是          。  A)  int a[]={1,2,3};    B)  int a[5]={1,2,3};  C)  int a[3]={1,2,3,4};   D)  int a[5],b;  2.设有定义 int a[10]={0};  则说法正确的是          。  A) 数组a有10个元素,各元素的值为0  B) 数组a有10个元素,其中a[0]的值为0,其他元素的值不确定  C) 数组a有1个元素,其值为0  D) 数组初始化错误,初值个数少于数组元素个数 3.以下数组定义中,正确的是          。  A)  int  n=4 , a[n]={1,2,3,4}; B)  int a[][2]={1,2,3,4};  C)  int a[2][]={1,2,3,4};   D)  int a[][]={{1,2},{3,4}};  4.设有如下定义:int  a[8][10];在VC中一个整数占用4字节,设a的起始地址为1000,则a[1][1]的地址是          。  A)  1000    B)  1004  C)  1036    D)  1044  5.已知有数组定义: int a[ ][3]={1,2,3,4,5,6,7,8,9},则a[1][2]的值是          。  A) 2   B) 5   C) 6   D) 8  6.在以下字符串定义、初始化和赋值运算中,错误的是          。  A) char  str[10]; str= \   B) char  str[10]= \\   C) char  str[10]= { 'S' ,'t', 'r' ,'i','n', 'g'};    D) char  str[]= { 'S' ,'t', 'r' ,'i','n', 'g',0};  7.设有以下字符串定义,则s1和s2          。  char  s1[]={ 'S' ,'t', 'r' ,'i','n', 'g'};  char  s2[]= \ A) 长度相同,内容也相同    B) 长度不同,但内容相同 C) 长度不同,但内容相同   D) 长度不同,内容也不同  8.设已定义 char str[6]= { 'a','b','\\0','c','d','\\0'};  执行语句 printf((\后,输出结果为         。  #ifdef  DEBUG  printf(\#endif   printf(\}  A)  DEBUG OK   C)  宏定义错误    B) OK   D) #ifdef命令错误     A) a   B) ab  C) abcd   D) ab\\0cd\\0 9.引用数组元素时,数组元素下标不可以是         。  A) 字符常量    B) 整型变量  C) 字符串    D) 算术表达式  10.已定义字符数组s1和s2,以下错误的输入语句是         。  A) scanf(\B) scanf(\  C) gets(s1,s2) ;    D) gets(s1) ; gets(s2) ;  11.下面程序段的运行结果是         。  void main() {  char  a[]=\   strcpy(a,b);   printf(\ }  A) 123     B) 123d   C) abcd     D) abcd123 12. 下面程序段的运行结果是         。  void main()  {char  a[]=\  if(a>b) printf(\  else     printf(\ }  A) 123     B) 编译时出错   C) abcd     D) 运行时出错   二、程序设计题  1. 一维整型数组a的值已知,求一维数组中最小元素的值及其在数组中的位置。  2. 一维整型数组a有20个元素,各元素的值已知,求一维数组中所有元素之和及其平均 值。  3. 一维数组a的值已知,请把数组中的值按逆序存放,然后输出数组。例如数组中原来的 值为:3,4,2,1,6。颠倒后变成6,1,2,4,3。 4. 输入一个整数(位数不确定),从高位到底位依次输出各位数字,其间用逗号分隔。例 如输入整数为2345,则输出应为:2,3,4,5。  5. 输入一个由大写字母组成的字符串,求字符串中包含了几个不同的字母。 6. 用选择排序法对整型数组排序。  7. 请找出1~999中的所有平方为回文数的数,并输出这些数。例如11的平方为121,11 为要找的数。  8. 找出二维数组的所有鞍点。所谓鞍点就是在该位置上的元素在该行上最大,而在该列上 最小。数组元素由随机函数自动产生。  9. 输入一个5*5的整数矩阵,计算对角线以上所有元素之和。  10.文本加密。输入一字符串,将其中所有的大写英文字母+3,小写英文字母-3,然后再输 出加密后的字符串。  11.输入一字符串,统计出某指定字符在字符串中出现的次数。  12.输入一个英文句子,如果两单词之间多于一个空格,则删除多余的空格。然后输出处理 前后该句子的长度。  13.不要调用strcpy函数,把字符数组str2中的字符串复制到字符数组str1中。 14.输入一组英文单词,按字典顺序排序后输出。     第9章  结构体、共用体和枚举类型 一、选择题   1. 若已经定义   struct  stu { int a, b; } student ;  ,则下列输入语句中正确的是       。  A) scanf(\ B) scanf(\C) scanf(\ D) scanf(\ 2. 若已有以下结构体定义和初始化,则值为2的表达式是       。     struct  cmplx{  int x ;   int y; } c[]={1,2,3,4}; A) c[0].y   B) y   C) c.y[0]  D) c.y[1] 3. 设有如下程序段,则vu.a 的值为       。  union u{          int a,b;    float c;    } vu;  vu.a=1; vu.b=2; vu.c=3;  A) 1    B) 2   C) 3   D) A、B、C都不是  4. 设已经定义union u{ char  a; int  b;} vu;  在VC中存储char 型数据需要1个字节,存储int型数据需要4个字节,则存储变量vu需要          个字节。  A) 1    B) 4   C) 5   D) 8 5. 设有定义 enum   date {year,month,day}  d ;则下列叙述中正确的是       。  A) date是类型、d是变量、year是常量 B) date是类型、d和year是变量 C) date和d是类型、year是常量 D) date和d是变量、year是常量 6. 设有定义 enum   date {year,month,day}  d ;则正确的表达式是       。  A)  year=1   B) d=year C) d=\  D) date=\ 7. 若已经定义  typedef  struct  stu { int a, b; } student ;  ,则下列叙述中正确的是       。  A)  stu 是结构体变量    B) student 是结构体变量  C)  student 是结构体类型   D) a和b是结构型体变量 8. 下面有关typedef语句的叙述中,正确的是       。  A) typedef语句用于定义新类型 B) typedef语句用于定义新变量  C) typedef语句用于给已定义类型取别名 D) typedef语句用于给已定义变量取别名   二、程序设计题  1. 设计一个通信录的结构体类型,并画出该结构体变量在内存的存储形式。