1、学院领导审批并签名 A / B 卷广州大学 学年第 学期考试卷课程 程序设计基础 考试形式(开/闭卷,考试/查)学院 信息 系 专业 班级 学号 姓名 . 题次 一 二 三 四 五 六 七 八 九 十 总分 评卷人分数 60 20 20评分一:选择题(每题 3 分,共 60 分)(1)若有以下定义:char a; int b;float c; double d;则表达式 a*b+d-c 值的类型为A) float B) int C) char D) double (2)表示关系 x3;j-) if(j%3) j-;-j; -j;printf(“%d “,j);A) 6 3 B) 7 4 C)
2、6 2 D) 7 3(13)设有以下宏定义:#define N 3#define Y(n) ( (N+1)*n)则执行语句:z=2 * (N+Y(5+1);后,z 的值为A) 出错 B) 42 C) 48 D)54(14)设 P1 和 P2 是指向同一个 int 型一维数组的指针变量,k 为int 型变量,则不能正确执行的语句是A)k=*P1+*P2; B)p2=k; C)P1=P2; D)k=*P1 * (*P2);(15)设有如下定义:int arr=6,7,8,9,10;int * ptr;则下列程序段的输出结果为ptr=arr;* (ptr+2)+=2;printf (“%d,%dn“
3、,*ptr,*(ptr+2);A)8,10 B)6,8 C)7,9 D)6,10(16)以下程序的输出结果是main() int i,k,a10,p3;k=5;for (i=0;imain() union short int k;char i2; *s,a;s=s-i0=0x39; s-i1=0x38;printf(“%xn“,s-k);输出结果是A) 3839 B) 3938 C) 380039 D) 390038二:填空题(每题 4 分,共 20 分)(1)以下程序的功能是:从键盘上输入一行字符,存入一个字符数组中,然后输出该字符串,请填空.#include“ctype.h“#includ
4、e“stdio.h“main() char str81,*sptr;int i;for(i=0;i main() char str1100,str2100,c;int i,s;printf(“n input string 1:n“); gets(str1);printf(“n input string 2:n“); gets(str2);i=0;while(str1i=str2i)s= (2);printf(“%dn“,s);(3)以下程序的功能是:从键盘上输入一个字符串, 把该字符串中的小写字母转换为大写字母,输出到文件 test.txt 中,然后从该文件读出字符串并显示出来.请填空.#in
5、cludemain() FILE *fp;char str100; int i=0;if(fp=fopen(“text.txt“, (1)=NULL) printf(“cant open this file.n“); return 0; printf(“input astring:n“); gets(str);while (stri) if(stri=aint c64,d,i=0,base;long n;printf(“enter a number:n“); scanf(“%ld“,printf(“enter new base:n“); scanf(“%d“,do ci= (1);i+; n=
6、n/base; while(n!=0);printf(“transmite new base:n“);for(-i;i=0;-i) d=ci;printf(“%c“,b (2);(5) 下面程序的功能是打印 100 以内个位数为 6 且能被 3 整除的所有数。请填空。#include main() int i,j;for(i=0; (1);i+) j=i*10+6;if( (2) continue;printf(“%d ”,j);三:程序编写题(下面 3 题任选 2 题,每题 10 分,共 20 分)题目 1:有一个已经排好序的数组。现输入一个数,要求按原来的规律将它插入数组中。题目 2:海滩上有一堆桃子,五只猴子来分。第一只猴子把这堆桃子平均分为五份,多了一个,这只猴子把多的一个扔入海中,拿走了一份。第二只猴子把剩下的桃子又平均分成五份,又多了一个,它同样把多的一个扔入海中,拿走了一份,第三、第四、第五只猴子都是这样做的,问海滩上原来最少有多少个桃子?题目 3:有 1、2、3、4 个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?