4. 写出程序运行的结果: main()
{char s[]=\ int i;
for(i=1;i<7;i+=2) printf(\ }
5. 写出程序运行的结果:
int ast ( int x , int y , int *cp , int * dp ) { *cp = x+y ; *dp = x-y ; }
main()
{ int a=4 , b=3 , c , d ; ast( a , b , &c ,&d ) ;
printf(\ }
四.程序设计题(30分,每题10分)
参考知识:C语言数的范围:int型和short型为-32768~32767,long
-3838
型为-2147483648~2147483647,单精度实数为-3.4×10~3.4×10
-308308
(7位有效数字),双精度实数为-1.7×10~1.7×10(15位有效
-49324932
数字),长双精度实数为-1.2×10~1.2×10(18位有效数字)。
1.输入一个华氏温度f,然后计算,最后输出对应的摄氏温度c。换算公式为:
C=5*(F-32)/9 要求输出保留2位小数。
2.已知
x (x<1) y= 2x-1 (1<=x<10) 3x-11 (x>=10)
用scanf函数输入x的值,求y值。
3.编写一个循环结构的程序,求1!+2!+3!+4!+5!+6!+7!+8!+9!+10!的值。
11
一. 单项选择题(30分,每题2分) 1B 6C 11C
2A 7C 12D 3C 8D 13B 4D 9A 14A 5B 10B 15B
二. 程序填空题(20分,每空2分)
①n1=n2 ②n2=temp ③<=10 ⑥sum+a[i][j][k] ⑦i*f ⑧ -f
三. 程序阅读题(20分,每题4分)
1 p=3.500000 2 3,6 3 *0,*1,**2 4 5,4 四.
1. 本题10分。 main() { float c,f;
printf(\ scanf(\ c=5*(f-32) /9; printf(\ }
2.本题10分。 main() { float x,y; scanf(\ if(x<1) y=x;
else if(x>=10) y=3*x-11;
else y=2*x-1;
12
④ n * n ⑨m=4 bdf ⑤0 ⑩m=5 5 71
printf(\ }
3.本题10分。 main()
{ int i;long t=1; long s=0; for(i=1;i<=10;i++) { t=t*i; s+=t;}
printf(\}
C语言程序设计试题集(第3套)
一、单项选择题(每题2分,共20分) 1、下列语言中,CPU能直接识别的是
A)自然语言 B) 高级语言 C) 汇编语言 D)机器语言
2、以下所列的C标识符中,错误的是
A)examp1 B)RS686 C) 2mix D) first_exam
3、下面哪个是不合法的赋值语句
A)x+=2; B)x=y=z=0; C)x+y=z; D)m+=m/=2;
4、设int age,count; double price,weight; 下面哪个语句是正确的 A)scanf(“%lf”,&price); B)scanf(“%d”,age); C)printf(“%d”,&count); D)printf(“%d”,weight);
5、下面哪一项不是程序的控制结构?
13
A)循环 B)选择 C)顺序 D)排序
6、指出下面语句的执行结果 if(5<3)printf(“*”);
else if(7==8)printf(“&”); else printf(“$”);
A)* B)& C)$ D)以上全不是
7、选出最佳答案 s=0;
for(j=0;j<5;++j)s=2*s+j; s最后的值是什么?
A)11 B)4 C)26 D)22
8、下面哪一项是对函数void display(void);的调用?
A)call display(); B) display(); C) display() D) display;
9、下面哪个说法是错误的?
A) 数组中的所有元素具有相同的名称 B) 数组中的所有元素具有相同的数据类型 C) 数组中的所有元素具有相同的下标 D) 数组中的元素在内存是连续存放的
10、二维数组的第一个元素的行下标和列下标是 A)0,0 B)0,1 C)1,0 D)1,1
二、填空题(每空2分,共20分) 1、编写C表达式:b2-4ac(1)
2、编写C语句,声明int变量来存储4个整数(2)
3、假定int x=5,y;,在执行语句“y=x++;”后,x,y的值是(3)
4、将复合赋值语句x*=5-z;写成等效的简单赋值语句(4)
5、编写C语句,该语句显示12.3的平方根(5)
14
6、编写C语句,如果gender是?M?,那么输出Male(6)
7、假设输入:38 45 71 4 –1,下面代码的输出是什么?(7) sum=0;
scanf(“%d”,&num); while(num!=-1){ sum+=num;
scanf(“%d”,&num); }
printf(“%d”,sum);
8、为了使用库函数sqrt(),必须在程序中包含命令(8) 9、设int numbers[5]={17,25,30,56,58};编写C的while语句,将数组numbers中的每个元素减去数字3。使用变量i跟踪下标,假设变量的初值为0。(9)
10、设有函数定义: 设有函数定义: int s(int one) { int j; int p=1;
for(j=1;j<=3;++j)p=p*one; return p; }
语句printf(“%d”,s(2));输出什么?(10)
三、程序分析填空题(每空3分,共30分)
1、 从键盘输入一个大写字母,要求改用小写字母输出。
#include
printf(“请输入一个大写字母:”); a = getchar();
printf(“对应的小写字母是:%c\(1)); }
15