1、- 1 -第 1 页 共 6 页计算机程序设计技术(C 语言)理论题一、选择题(每小题 1.5 分,共 60 分)得 分 阅 卷1、C 语言的编译系统对宏命令的处理是( )A)在程序运行时进行的B)在程序连接时进行的C)和 C 程序中的其它语句同时进行编译的D)在对源程序中其它语句正式编译之前进行的2、以下说法正确的是( )A)main 函数必须放在 C 程序的开头B)C 语言程序中要求每行只能写一条语句C)注释可以出现在 C 语言程序中的任何位置D)最小的 C 语言程序中可以没有 main 函数3、下列表达式中值为 false(假)的是( )A)1void main()int x, y, z
2、;scanf (“%d”,if (x5)y =100;z =-5;printf (“%d %d%d”,x, y, z);A) 3, 无用数据, -5 B) 5, 无用数据, 3C) 3, 无用数据, 无用数据 D) 无用数据, 无用数据, 无用数据12、do-while 结构繁荣循环体中的语句要执行的次数是( )A)0 B)只有一次C)至少一次 D)以上三项皆错13、在下面的代码段中语句 x = 1 会执行( )次for(j =1;j 10);A) 读取0,11范围之内的一个整数 B)读取 -1,10范围之内的一个整数C)读取 1,10范围之内的一个整数 D)以上三项皆错15、在以下四个运算符
3、中,优先级最低的是( )A)* B)+C) / D)=16、如果 n=2,以下输出的结果是( )switch(n)- 3 -第 3 页 共 6 页case(1): printf(“You have chosen to add datan”);break;case(2): printf(“You have chosen to delete datan”);case(3): printf(“You have chosen to view datan”);break;case(4): printf(“You have chosen to print datan”);break;default:pri
4、ntf(“Invalid inputn”);break;A)You have chosen to add data B)You have chosen to delete dataC) You have chosen to delete data D)You have chosen to delete dataInvalid input You have chosen to view data17、假设 char str10=“China0”;执行 strlen(str )后的结果是( )A)5 B) 6C) 7 D) 918、以下数组定义中不正确的是( )A)int a23 ; B)int
5、b3=0,1,2,3 ;C) int c100=0; D)int d3=1,2 ,1,2,3,1 ,2,3,419、运行以下程序的输出结果是( )void main()int n5=0,i,k=2 ;for( i=0;j1)的值是( )A)0 B)2C) 4 D)8二、阅读与选择题(每空 2 分,共 30 分)得 分 阅 卷(一)C 语言中的合法标识符由 41 、 42 、 43 组成,且必须以 42 、 43 开头。A)任意字符 B)大写字母 C)任意字母 D)数字E)小写字母 F)下横线 G)反斜杠 H)关键(二)下面程序的功能是输出以下形式的金字塔图案:*void main() int
6、i,j;- 7 -第 7 页 共 6 页for(i=1;i=0;-i)printf(“%c”,bc I );试题三、以下程序的功能是从键盘上输入若干个学生的成绩,从中求出最高成绩和最低成绩并输出,当输入负数时结束输入。 (12 分)# include “stdio.h”void main()float x,max ,min;scanf(“%f”,int a100=0, n=0;- 12 -第 12 页 共 6 页printf(“二维数据 w :n“); /* 输出二维数据 w */for (i=0; ivoid main()char str81;int count_a=0,count_e=0,
7、count_i=0,count_o=0,count_u=0,i; puts(“请输入长度不超过 80 个字符的英语句子:“);gets(str);for(i=0;stri!= 0;i+)switch (stri)case a:case A:count_a+;break;case e:case E:count_e+;break;case i:case I:- 13 -第 13 页 共 6 页count_i+;break;case o:case O:count_o+;break;case u:case U:count_u+;break;printf(“字母 A(含 a)个数=%dn“,count_
8、a);printf(“字母 E(含 e)个数=%dn“,count_e);printf(“字母 I(含 i)个数=%dn“,count_i);printf(“字母 O(含 o)个数=%dn“,count_o);printf(“字母 U(含 u)个数=%dn“,count_u);评分标准:1 算法流程图 10 分,不完整的酌情给分;2 正确定义所需变量、数组,7 分3 正确读入字符串,3 分4 能 够 运 用 switch 或 if . else if .else 语 句 进 行 分 类 统 计 , 并 能 正 确 判 断 大 小 写 字 母 15分具体可以根据对 A(a)、E(e)、I(i)、O(o)、U(u)各字母的处理情况给分5 按照题目要求格式输出结果,3 分6 程序结构合理、清晰,2 分参考输入英文:输入:Dont cry because it is over smile because it happened输出:字母 A 的个数=3字母 E 的个数=8字母 I 的个数 =4字母 O 的个数=2字母 U 的个数=2