20xx ~ 20xx学年 xx学期考试时间: 120分钟。
一、单项选择题(本题共3 0 分,每小题2分)
1、下列选项中,合法的c语言关键字是( )
a) var b) break c) integer d) foreach
2、执行完程序段int n=0,x=5;if(!n) x<<=1; x的值为( )
a)0 b)1 c)5 d)10
3、已定义c为字符型变量,则下列语句中正确的是( )
a) c=‘65’ b)c=“65” c) c=65 d)c=“a”
4、若有说明:inta=2,*p=&a; 则以下非法的赋值语句是()
a)p=1;b)*p=1;c)*&a=1;d)&*a=1;
5、 若 static int x; int y=3,c;
c=x + y>x?x:y) ;c的值为( )
a) 0 b) 1 c) 3 d) 错误。
6、若已定义x和y为double类型,则表达式:x=1, y=x+5/2的值是( )
a)3 b)3.0 c)3.5 d)4
7、下列程序段执行后的输出结果是( )
int x=‘h’; printf(“%d”,(x-‘d’+1));
a) 3 b)4 c)5 d)6
8、有以下程序段。
int k=0,n=1; while(k++)n--;
while 循环体执行的次数是( )
a) 无限次 b) 有语法错,不能执行。
c) 一次也不执行 d) 执行1次。
9、设有以下语句。
typedef struct s t;
则下面叙述中正确的是( )
a)可用s定义结构体变量 b)可以用t定义结构体变量
c)s是struct类型的变量 d)t是struct s类型的变量。
10、有以下程序。
void main()
char s=abcd\\\0";
printf("%d,%d",strlen(s),sizeof(s));
执行后输出结果是( )
a) 赋初值的字符串有错 b) 5,6c) 5,7d) 6,6
11、以下符合c语言语法的实型常量是( )
a)1.2e0.5b) 3.141,592,653c) .5e-3d) e15
12、c语言程序由函数组成。以下说法正确的是( )
a)主函数必须在其它函数之前,函数内可以嵌套定义函数。
b)主函数可以在其它函数之后,函数内不可以嵌套定义函数。
c)主函数必须在其它函数之前,函数内不可以嵌套定义函数。
d)主函数必须在其它函数之后,函数内可以定义函数。
13、若有以下程序,执行后的输出结果是( )
main()
int k=2,i=2,m;
m=k*=i+=k;printf(“%d,%d”,m,i);
a) 8,4 b)8,6 c)6,4 d) 16,4
14、有如下程序段:
int *p,a=10,b=1;
p=&a; a=*p + b;
执行该程序段后,a的值是( )
a)12 b) 11 c) 10 d) 编译出错。
15、若有定义 int a=p=a;
则输出结果是3的是( )
a) p+=2;printf(“%d”,*p++)
b) p+=3;printf(“%d”,*p);
c) p+=2;printf(“%d”,(p)++
d) p+=3;printf(“%d”,+p);
二、写出程序的运行结果(本题共 20 分,每小题5分)
1、main()
int i;
for(i=1; ;i++)
puts("*
if(i==3)break;
printf("$n");
int fun(int n)
int s;
if(n==1||n==2)
s=2;else
s=n+fun(n-1);
return s;
main()
printf("%d",fun(3));
void func(int a)
int j;
for(j=0;j<5;j++)a[j]=j;
main()
int b=i;
func(b);
for(i=0;i<5;i++)printf("%d;",b[i]);
#include <>
void f(int *p,int *a)
*p=20;
p=a;*p=50;
main()
int x=0,*p,a[3]=;
p=&x;f(p,a);
printf("%d,%d,%d,%d,%d",x,*p,a[0],a[1], a[2]);
三、程序填空(本题共 20 分,每空2分)
1、 下面程序的功能是:由键盘输入10个整数,计算、输出其平均数,保留2位小数,请填空补充完整。(2空,共4分)
#include<>
int main()
printf**g);
return 0;
2、 下面程序的功能是:键盘输入一个整数k,借助函数indexof( )查找并输出整数k在整型数组a中的下标(若k不在a中则输出-1),函数indexof( )的参数分别是待查找的整数、数组名及数组的长度。请填空补充完整。
(2空,共4分)
#include<>
int indexof(int, int int);
int main(),k;
scanf("%d",&k);
printf("%d",indexof(k,_a,_sizeof(a)/sizeof(int)))
return 0;
int indexof(int key, int array,int length)_;
int i = 0, j = 0, r = 0, c = 0, row = 0, col = n / 2;
for(i=1; i <=n*n; i++)else
for (i=0; i
4、 哥德**猜想即“任何大于4的偶数可以写为两个奇素数之和”,例如8=3+5,16=5+11。下面程序由键盘输入一个大于4的偶数,验证哥德**猜想,请填空补充完整(3空,共6分)
#include<>
#include<>
int isprime(int);
int main()while
for(i=2;i<=n/2;i++)
ifprintf("%d=%d+%d",n,i,n-i);
break;
return 0;
int isprime(int n){
int i;
if(n<2) return 0;
for(i=2;i<=sqrt(n);i++)
ifreturn 0;
return 1;
四、编写程序(本题共30 分)
1、已知两种温度的换算公式c=(5/9)(f-32),试编写一个程序输入华氏度f,输出摄氏度c。(5分)
2、用switch语句完成编程,输入同学的成绩score(闭区间[0,100]之间的一个整数),输出对应等级,score≥90为“优”, 80≤score<90为“良”,70≤score<80为“中”,60≤score<70为“合格”,其他情况为不及格。(提示:用score/10可将成绩分为0~10共11类)(5分)
高级程序设计语言试卷参考
西南交通大学2007 2008学年第2学期考试b卷。课程 3243800 课程名称高级程序设计语言考试时间 120分钟 阅卷教师签字 答题卷b一 单项选择题 210分 二 填空题 115分 三 判断题 正确写t,错误写f 110分 四 阅读程序 43分 五 程序填空题 每空1.510分 六 程序设计...
高级程序设计语言试卷参考
西南交通大学2006 2007学年第 2 学期考试试卷。课程 3243800 课程名称高级程序设计语言考试时间120分钟。试题卷c 2007年6月 一 填空题 1 16分 1.c语言的数组作为函数参数时,数组不能整体拷贝传递,实际传递的是 1 2.一个c程序中必须有 2 函数,无论该函数在整个程序中...
高级程序设计语言课程设计报告
1 1月15号17 00点前,根据选题完成考核内容。2 提交课程报告文档纸制版。格式见此文件下方 3 答辩考核成绩占整个设计成绩的60 30 为文档质量,30 为问题的回答 平时考勤 提交的文档占整个设计成绩的40 题目1 题目5 1 画出软件的功能模块,写出所有的函数申明及描述。2 实现所有功能,...