[图文]0809下C语言试卷A

奥帕文库
当前位置:首页 » 0809下C语言试卷A » 正文

[图文]0809下C语言试卷A

湖北专升本c语言试卷
湖北专升本c语言试卷0809下C语言试卷A_a 2c语言_c语言程序设计试题a卷

华东交大理工学院 2008-2009 年度第二学期试卷C 语言程序设计 课程 题号 一 二 三 四 五 课程类别:必 六 七 八 闭卷 九 十 A卷 总 分承诺:我将严格遵守考场纪律,并知道考试违纪、作弊的严重性,承担由此引起的一切后果。

分数 评卷人一.选择题(每小题 2 分,共 50 分)得分学生签名: 专业 班级 学号1、以下叙述不正确的是:( ) A)一个 C 源程序可由一个或多个函数组成 B)一个 C 源程序必须包含一个 main 函数 C)C 程序的基本组成单位是函数 D)在 C 程序中,注释说明只能位于一条语句的后面 2、C 语言规定:在一个源程序中,main 函数的位置 : ( ) A)必须在最开始 B)必须在系统调用的库函数的后面 C)可以任意 D)必须在最后 3、在 C 语言中(以 16 位 PC 机为例),5 种基本数据类型的存储空间长度的排列顺序为( ) A)char

D)当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值。

第 1 页 共 5 页

0809下C语言试卷A

9、在 C 语言中,要求运算数必须是整型的运算符是: ( ) A) / B) ++ c) != D)% 10、表达式 18/4*sqrt(4.0)/8 值的数据类型为: ( ) A) int B)float C)double D)不确定 11、printf 函数中用到格式符%5s ,其中数字 5 表示输出的字符串占用 5 列。

如果字符串长度小 于 5,则输出按方式: ( ) A)从左起输出该字串,右补空格 B)按原字符长从左向右全部输出 C)右对齐输出该字串,左补空格 D)输出错误信息 12、已有定义 int x; f1oat y;且执行 scanf("%3d%f",&x,&y);语句,若从第一列开始输 入数据 12345 678(回车),则 y 的值为: ( ) A)无定值 B)45.000000 C) 678.000000 D) 123.000000 13、能正确表示"当 x 的取值在[1,10]和[200,210]范围内为真,否则为假"的表达式是( )。

A) (x>=1) &&(x<=10) &&(x> = 200) &&(x<=210) B) (x>=1) || (x<=10) ||(x>=200) ||(x<=210) C) (x>=1) &&(x<=10)||(x>= 200) &&(x<=210) D) (x > =1)||(x< =10) && (x> = 200)||(x<=210) 14、以下 if 语句语法正确的是( )。

A)if(x>0) printf("%f",x) else printf("%f",- -x); B) if (x>0) {x=x+y;printf("%f",x);} else printf("f",-x); C) if(x>0) {x=x+y; prinrf("%f",x);}; else printf("%f",-x); D) if(x > 0) { x = x +y;printf("%f",x)} else printf("%f",-x); 15、语句 while(!E)中的表达式!E 等价于: ( ) A) E==0 B) E!=1 C) E!=0 D) E==1 16、以下正确的描述是: ( ) A)continue 语句的作用是结束整个循环的执行 B)只能在循环体内和 switch 语句体内使用 break 语句 C)在循环体内使用 break 语句或 continue 语句的作用相同 D)从多层循环嵌套中退出时, 只能使用 goto 语句 17、若有说明:int a[10];则对 a 数组元素的不正确引用是( )。

A)a[10] B) a[3.5] C) a[5] D) a[10-10] 18、若有说明:int a[]「4」={0,0};则下面不正确的叙述是( )。

A)数组 a 的每个元素都可得到初值 0 B)二维数组 a 的第一维大小为 1 C)因为二维数组中第二维大小的值除以初值个数的商为 1,故数组 a 行 数为 1 D)只有元素 a[0]「0」和 a[0]「1」可得初值 0,其余元素均得不到初值 0 19、若程序中有宏定义行:#define N 100 则以下叙述中正确的是( )第 2 页 共 5 页

0809下C语言试卷A

A)宏定义行中定义了标识符 N 的值为整数 100 B)在编译程序对 C 源程序进行预处理时用 100 替换标识符 N C) 对 C 源程序进行编译时用 100 替换标识符 N D)在运行时用 100 替换标识符 N 20、 在一个 C 语言源程序文件中所定义的全局变量,其作用域为:( ) A) 所在文件的全部范围 B) 所在程序的全部范围 C) 所在函数的全部范围 D) 由具体定义位置和 extern 说明来决定范围 21、以下关于 typedef 的叙述错误的是( ) A)用 typedef 可以增加新类型 B)typedef 只是将已存在的类型用一个新的名字来代表 C)用 typedef 可以为各种类型说明一个新名,但不能用来为变量说明一个新名 D)用 typedef 为类型说明一个新名,通常可以增加程序的可读性 22、为了避免在嵌套的条件语句 If 一 else 中产生二义性,C 语言规定 else 子句 总是与( )配对。

A)缩排位置相同的 if B)其之前最近的 if C) 之后最近的 if D)同一行上的 if 23、若 w=1,x = 2,y= 3,z=4,则条件表达式 w

A) int a[10]=(0,0,0,0,0) B)int a[10]={} C) int a[]={0}; D) int a[10]={10*1}; 二.程序填空题(每小题 3 分,共 9 分)得分1、下面程序的功能是从键盘输入的一组字符中统计出大写字母的个数 m 和小写字母的个数 n, 并输出 m、n 中的较大者,请填空: #indude "stdio.h" main() {int m=0,n=0; char c; while((【1】 )!='\n') { if(c>='A' && C<='Z') m++ ; if(c>='a' && c<='z') n++; } printf("%d\n", m

#include main() {int a,max= 0;第 3 页 共 5 页

0809下C语言试卷A

scanf("%d",&a) while(【2】 ) {if(max

#i nclude main() {int n,sum=0; n=123 do{ sum=sum+(n%10)*n%10}; n=【3】 ; }while(n); printf("sum=%d",sum);} 三.程序分析题(每小题 5 分,共 25 分) 1、执行以下语句后 a 的值为: int a,b,c; a= b= c= 1; ++a||++b&&++c 2、以下程序的输出结果是: main() {int a=100,x =10,y=20,okl=5,ok2=0; if (x

0809下C语言试卷A

1 2 3 4 5 6 7 8main() { int a[3]={1}; int i; scanf("%d",&a); for(i=1;i<3;i++) a[0]=a[0]+a[i]; printf("a[0]=%d\n",a[0]); }5、下面程序的运行结果是: main( ) { int n[3]; int i,j,k; for(i=0;i<3;i+ +) n[i]=0; k=2; for( i=0; i

2、用指针表示的下标法输入输出二维数组 a[3][4]各元素。

得分第 5 页 共 5 页

0809下C语言试卷A

0809下C语言试卷A