2008年青岛大学C语言试卷

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

3.Fibonacci 数列前两项值为 0,1,后面每项是前两项之和,试输出前二十项。
void main( ){ int n,m; float s; scanf("%d%d",&n,&m); s=hi(n)/(hi(m)*hi(n-m)); printf("%f\n",s); }
第4页
共4页
#include <stdio.h> void main( ){ int i=0,s=0; while(i<10){s+=i;i+=3;} printf( “%d”,s); } 输出结果是:
6
#include <stdio.h> void main( ){ int a=10; if(a<20)printf( “A”); if(a>10)printf( “B”); else printf( “C”); } 输出结果是:
4
#include <stdio.h> void main( ){ int i,s=0; for(i=1;i<=5;i+=3)s+=i; printf("%d",s); } 输出结果是:
C/C++语言中,以下选项中合法的标识符是
) 18. for(i=0;;i++)s+=i;循环次数是 B. 1 次 C. 无限次 B. short int a; C. 10.11 ) 19. 与变量声明语句 long a;等价的语句是 A. signed long int a ; A.30 得分 B.10.1 阅卷人 C. unsigned long int a; D. unsigned long a 5 D.34 ) 20. 表达式 10+010+0x10 的值是
#include <stdio.h> void main(){ int i,n,s; scanf(“%d”,&n); s= ; for(i=1; i<=n; i++) printf(“%d\n”,s); ;
int i,*m; m=___________; for(i=1;i<len;i++) if(a[i]>*m)__________; return m; } void main(){ int a[10]={23,43,45,232,45,456,33,22,55,77},*p; p=____________; printf("%d\n",*p); } 得分 阅卷人
本试卷共 4 页,做题前请检查试卷是否缺页。
得分 阅卷人
班 学号
一、判断正误(对的打 √,错的打╳,每题 1 分,共 10 分)
( ( ( ( ) 1. C 语言程序中,先定义的函数先执行,main 函数最后执行 ) 2. (int)3.5 表达式的值是 4 ) 3. 逻辑运算符&&和||优先级相同 ) 4. char a=’0’,b=0;变量 a 和 b 的值相等 ) 5. char a=’\0’,b=0; 变量 a 和 b 的值相等 ) 6. i=-3;while(i++);执行结束后,i 的值为 0 ) 7. int a [10];声明中的 10 个单元在内存中是连续存放的 ) 8. 函数声明中省略返回值类型时,函数体中可以没有 return 语句 ) 9. C 语言中,一个函数可以调用其他函数,不能调用自己 ) 10. 定义结构体的关键字是 define 得分 阅卷人 ( ( ( ( C.ah D.2a ( 第1页 ( ( ( ( (
by gaocd
青岛大学课程考试试卷
___2008 春季 学期 课程名称 C 语言程序设计 考试时间 2008.7 A 卷
三 10 四 20 五 20
( ( ( 合计 100 复核
) 2. i=0;下面表达式值不为 0 的是 A. 5/9*18 A. int B. B. i++ C.++i C.Time D.i<0&&>0 D.break ) 3. 下面不属于 C 语言关键字的是 switch ) 4. 有关函数的定义,下面错误的是 A. 函数名必须满足标帜符的要求 B. 函数必须有返回值 C. 函数可以调用自己 D. 一个函数中可以有多个 return 语句
) 7. 下面合法的表达式是 A. (a+b)++ A."\t" A. a[1]的值是 1 ) 10. 5&&2 的值是 A.5 A. 不确定 A. 0 A.a[1]=a[2] B. 2 B.9 B. 1 B.*a=20 ) 11. 有语句组 int a[10]={1,2,3,4},i,s=0;for(i=2;i<10;i++)s+=a[i];则 s 的值为。 ) 12. int i,a=0;for(i=0;i<10;i++){if(i%5!=0)continue;a++;}执行完后 a 的值是。 ) 13. 有语句 int a[10],*p=a;下面对数组元素引用不正确的是。 ) 14. 有说明语句 struct stu{ int age,no;} A. p->age=20 B. st.age=20 st,*p=&st;下面哪个语句是错误的。 ) 8. 下面是合法字符常量的是。 ) 9. 有语句 int a[10]={1,2};则错误的是
专业

( ( ( ( (
学院
(
二、单项选择(请将答案填在题目前的括号内,每题 1 分,共 20 分 )
C. (*p).age=20 D.*p.age=20 D.*p=*x
(
) 1. 下面错误的变量名是。 A. A2B B. AH
) 15. 若有定义 int x,*p;则下面正确的赋值表达式是 A. p=&x B. p=x C. *p=&x ) 16. 有语句组 int a[10]={1,2,3,4};则 a[a[0]]的值为
return (++a)+(++b); void main(){ int b=5; cout<<a+ff()+ff()+b<<endl; } 输出结果是:
共4页
得分
阅卷人
i++;
五、程序填空(每空 2 分,共 20)
1. 下面程序输入整数 n,输出 n! } 4.
} b[j]='\0'; puts(b); 下面程序使用函数 maxp 返回数组中最大元素的地址, 并在主函数中输出该元素, 填 空完成程序。 #include <stdio.h> int * maxp(int *a,int len){
} 2. 下面程序用气泡法对数组从小到大排序,试填空完成程序 #include <stdio.h> void main(){ int a[10]={23,43,12,3,5,7,8,67,89,33},swapFlag,i,t; swapFlag=1;//启动循环 while(swapFlag){ swapFlag=__________ ;//清除标志 for(i=0;i<9;i++) if(a[i]>a[i+1]){//逆序则交换位置 t=a[i];a[i]=a[i+1];a[i+1]=t; swapFlag=__________;//置交换标志 } } for(i=0;i<10;i++)printf("%d,",a[i]); printf("\n"); } 3. 下面程序输入一行字符到 a 字符串中,然后挑选 a 字符串中的大写字母放到 b 字符 串中,并输出 b 字符串,填空完成程序。 #include <stdio.h> void main( ){ ________ a[81],b[81]; int i=0,j=0; gets(a); while(________){ if(a[i]>='A' && a[i]<='Z'){_______=a[i];j++;} 第3页
共4页
A. 1 ( ( ( ( ) 17. A. a#b A.0 次 B.if
B.2 C. 3b
C.3 D.FOR D. 不确定
D.4
3
#include <stdio.h> void main( ){ int i=10; do i++; while(i++<9); printf("%d\n",i); } 输出结果是:
B 卷
六 20
姓名
题号 总分 得分 阅卷
一 10
二 20
Βιβλιοθήκη Baidu
( (
) 5. 下面错误的常量是。 A. 23 A.puts(*p); C.printf(“%s ”,*(p+1)); B. 068 C.2.3e-5 D. 6.7 ) 6. 有语句 char a[10], *p=”ABCD”, 下面正确的语句是 B.putchar(*p); D.strcpy(a,*p); B.023++ B. t C. '\t' B. 没有 a[10]单元 C.1 C.10 C. 8 C.*(p+2)=30 C. (a+b)=5 D.'' C.a[5]的值是零 D. 0 D.7 D.2 D.*(p+10)=40 D. a[1]的值是 2 D.~7
三、填空题(每空 1 分,共 10 分)
1. 有 说 明 语 句 char a[30]="ABCDEFGH";a[3]=’\0’; 且 ’A ’ 的 ASCII 码 为 65 , 执 行
printf( “%c ”,*a) 的 输 出 结 果 是 ________ , 执 行 printf(“%s ”, a) 的 输 出 结 果 是 2. 3. 4. ,执行 printf( “%d”, a[0]) 的输出结果是 结构化程序中三种基本结构是__________、__________和__________。 描述’A ’≤c ≤’Z’ 的 C 语言表达式是_________________________。 语句 int a[10]={1,5},*p=a;执行*p++;后,*p 的值是________ 。 7
四、写出下列程序的运行结果(每题 2 分,共 20 分 )
1
#include <stdio.h> void main( ){ int a=0,b=1,c=2; a=b+c;b=a+c;c=a+b; printf(“%d\n”,a+b+c); }输出结果是:
2
#include <stdio.h> void main( ){ char a=’A ’; switch(a){ case ‘A ’:printf(“A”); case ‘B’:printf( “B”); } }输出结果是: 第2页 }
5. 算法是指在利用计算机解决问题的方法和步骤, 算法可以用自然语言描述, 也可以用 __________图、_________图等图示方法表达 得分 阅卷人 9
#include "iostream.h" int a=0,b=1; int ff(){ int b=2;
10
#include <iostream.h> int f(){ static int a=0; int b=0; a++;b++; return a+b; } void main(){ cout<<f()+f()<<endl; } 输出结果是:
#include <stdio.h> void main( ){ char s[10]=”ABCD”,*p=s; p++; puts(p); } 输出结果是:
8
#include <stdio.h> void f(int *a,int b){ int t;t=*a;*a=b;b=t; } void main(){ int x=1,y=2; f(&x,y); printf("%d,%d",x,y); }输出结果是:
六、编程(每小题 5 分,共 20 分 )
1. 已知两种温度的换算公式 C=(5/9)(F-32), 试编写一个程序输入华氏度 F, 输出摄氏度 C。
共4页
2. 编程实现输入十个整数,输出其最大值和最小值
4.定义一个函数 double hi(int n) 用来计算 n!, 并使用此函数,在主函数内输入整数 m,n (n>m)计算 c= n!/(m!(n-m)!), 并输出 c 的值 #include <stdio.h> //此处完成函数 hi 定义
相关文档
最新文档