1、广东海洋大学 学年第 学期 C 程序设计 课程试题 考试 A 卷 闭卷课程号:16232110 考查 B 卷 开卷题 号 一 二 三 四 五 六 七 八 九 十 总分 阅卷教师各题分数 25 20 10 10 5 30 100实得分数一、单项选择题(25 分,每题 1 分)1. 正确的 c 语言标识符是_.A. 2name B. DATA_FILE C. (break) D. A COM答案:B 知识点:标识符 难度:C2. 在 c 语言中,数组元素的下标从_开始.A. 0 B. 1 C. 2 D. 任意答案:A 知识点: 数组 难度:C3. 执行下列程序后,a 的值是_.Int a=9, b
2、, c; a+=2;A. 2 B. 10 C. 11 D. 8答案:C 知识点:运算符 难度:B4. 若有以下定义和语句,且, 则_是对数组元素的正确表示.int a =1,2,3,4,5, *p; p=a;A. D. if(b=0) m=1;n=2;(难度系数 C,知识点:单行语句)答案: D12.若已定义: int a =0,1,2,3,4,5,6,7,8,9, *p=a,i; 其中 0i9, 则对 a 数组元素不正确的引用是( )A. ap-a ( B) *(,则 ss0+2*s2-s3的值是( )A.1 B.2 C.3 D.4数组运算(难度系数 C)答案: D 14 用数组名作为函数的
3、实参时,传递给形参的是( ) 。A. 数组的首地址 B. 数组的第 1 个元素C. 数组中的全部元素 D. 数组的元素个数函数调用(难度系数 C)答案: A15表达式A+4*25.0-b的正确结果是( ) 。.67 .67.0 . 不确定 . 67LC 语言表达式运算(难度系数 B)答案:B16能表示条件 0x100 的表达式是( ) 。.0=0,x=0 i#includestruct Worker char name15; /姓名int age; /年龄float pay; ; /工资void main() Worker x;char *t=“WeiRong“;int d=45; float
4、 f=4000;strcpy(x.name,t);x.age=d; x.pay=f;printf(“%s %d %f n“, x.name, x.age, x.pay); 该程序的运行结果是:_(知识点 指针,字符 难度系数 B)答案:WeiRong 45 4000六、编程题(30 分,每题 10 分)1、打印出所有的“ 水仙花数 ”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。例如:153 是一个“水仙花数” ,因为 153=1 的三次方5的三次方3 的三次方。答案:#include “stdio.h“main()int i,j,k,n;printf(“water flow
5、ernumber is:“);for(n=100;n1000;n+)i=n/100;/* 分解出百位 */j=n/10%10;/*分解出十位*/k=n%10;/*分解出个位 */if(i*100+j*10+k=i*i*i+j*j*j+k*k*k)printf(“%-5d“,n);printf(“n“);知识点: 循环结构,分支结构 难度:B2、编写程序判断某一个数 m 是否为素数,如果是则输出 “m is a prime“,否则就输出“m is not a prime“。(难度系数 C,知识点:素数)答案:main( ) int i, m; printf(“please input a num
6、ber m:n“);scanf(“m=%d“, for (i=2; im; i+) if (m%i=0) printf(“%d is a primen“, m); break ; else continue ; if (i=m) printf(“%d is not a primen“, m); 3.编程将字符数组中的字符串逆序存放并将前后结果输出,要求在一个函数中用指针来实现字符串逆序存放。C 语言指针使用(难度系数 A)答案:char strrev(char *s)char *head=s,*tail; char temp;tail=s+(strlen(s)-1); while(headtail) temp=*tail; *tail=*head; *head=temp;tail-;head+; main()char test=“this is the test.”;printf(“%sn”,test);strrev(test);printf(“%sn”,test);